Linux 소프트웨어 설치 - 상세 소스 설치 과정

1. 프로필
       소프트웨어 의 설 치 는 Liux 가 공부 할 때 중요 한 것 입 니 다. * nux 에서 중요 한 사고 철 입 니 다.
몇 가지 작은 기능 을 조합 하여 유지 할 수 있 는 시스템 플랫폼 이 되 었 습 니 다. 그러면
운영 체제 구축 이 완료 되 었 을 때 커 널 등 지원 시스템 의 필수 소프트웨어 를 제외 하고 가능 합 니 다.
유지 가능 한 임 무 를 확대 하 는 것 은 모두 관리자 에 게 맡 겨 야 하 는데 이 안 에는 기본 적 인 것 이 포함 되 어 있다.
소프트웨어 설치. 그럼 오늘 우 리 는 Liux 에 소프트웨어 를 설치 하 는 방식 을 요약 합 시다.
방법
2. 분류
   a) 패키지 관리 도구
   rpm (redhet package manager), deb 와 yum 전단 관리
   공구.
   b) 소스 코드 형식
   src 소스 코드 를 제공 합 니 다. 흔히 볼 수 있 는 tar. gz, tar. xz, tar. zip 는 보통
   기계 에서 먼저 컴 파일 한 후에 야 설치 할 수 있다.
   c) 바 이 너 리 형식
   컴 파일 이 바 이 너 리 형식 으로 되 어 컴 파일 환경 이 없 는 기계 에서 실행 할 수 있 습 니 다.
   물론 이런 형식 은 가방 관리 도구 의 성숙 에 따라 점점 사라 지고 본 고 에서 논의 하지 않 는 다.
   논 의 범위 내 에서.
3. 사용
a) 패키지 관리 도구
   rpm 는 redhat 시스템 의 완전한 소프트웨어 설치 유지 가능성 을 포함 합 니 다.
   방안, 모든 rpm 가방 은 사실 기준 에 따라 우리 가 사용 할 때의 원 가 를 피 할 수 있 습 니 다.
   .rpm 패키지 의 이름 에 도 일정한 규칙 이 있 습 니 다. 예 를 들 어 my sql - 5.1.66 - 2. el63.
   x86_64. rpm 제품 명 - 제품 버 전 번호 - rpm 패키지 버 전 번호 - 운영 체제 에 적합
   통 - 계산 구조. rpm
       i) 설치 / 업그레이드 / 리 셋
rpm -i/U/Fvh mysql-5.1.66-2.el6_3.x86_64.rpm
i install    (      )
v verbose     
h hash sign #        2%  # 
--nodeps           

       ii) 제거
rpm -e mysql
e erase      
--nodeps              

       iii) 조회
rpm -q mysql
q query         
qa query all         
qd query document              man  
qi query information              ,  
,      ,url,license,url,      
qc query configure             
ql query list            
# p             qpa  qpi  

       iv) 검사
       우리 가 유지 하 는 절대 다수의 기 계 는 모두 생산 도구 이 므 로 게 으 름 을 피 워 서 는 안 된다. 그래서 소프트웨어 에 대해 서 는
       인터넷 콘 텐 츠 에 대해 우 리 는 비판 할 수 밖 에 없다.
       사용 하려 면 패키지 의 완전한 검사 와 신분 검 사 를 해 야 합 니 다.
       우리 가 사용 하 는 가방 이 모두 바이러스 뒷문 프로그램 이 없 는 지 확인 하 세 요.
rpm --import key          
rpm -K mysql-5.1.66-2.el6_3.x86_64.rpm

   b) yum 전단 관리 도구
       이것 은 앞의 모든 rpm 패 키 지 를 클 라 이언 트 에서 라 이브 러 리 를 찾 고 부 드 럽 게 하 는 것 입 니 다.
       부품 관리의 도 구 는 용이 성 을 크게 향상 시 켜 사용자 가 다양한 형식 으로 진행 하 는 것 을 편리 하 게 할 것 이다.
       rpm 패키지 관리 작업. 일반적인 방식 http, ftp, nfs, file 등. 물론 입 니 다.
       전 제 는 / etc / yum. repos. d / *. repo 의 인 자 를 설정 하 는 것 입 니 다.
       *.repo 매개 변수 일람
[media]    repoid  
name=media name    
baseurl=file:///media/    
enabled=0       
gpgcheck=1            
gpgkey=file:///media/RPM-GPG-KEY-CentOS-6   KEY
cost=1000                           (  )

       # yum 상용 명령 일람
yum install mysql     
yum erase mysql     
yum update mysql           
yum list mysql         
yum repolist           
yum grouplist       (     )
yum groupinstall      
yum groupremove      

   c) 소스 코드 설치
       # 0 우선 인터넷 ftp 서버 에 가서 nginx 의 소스 패 키 지 를 다운로드 하 세 요. 물론 당신 도 가능 합 니 다.
       nginx 홈 페이지 에 가서 최신 nginx 소스 를 다운로드 합 니 다.
lftp ftp://172.16.0.1/pub/Sources/sources/nginx/
get nginx-1.4.2.tar.gz
bye

       # 압축 풀기 nginx
tar -xf nginx-1.4.2.tar.gz
rm -rf nginx-1.4.2.tar.gz

       # 2 nginx 를 컴 파일 하기 전에 nginx 의존 패키지 pcre - devel 을 설치 합 니 다.
yum -y install pcre-devel

       # 3 pcre - delel 완료 후 nginx 컴 파일 bin 디 렉 터 리 및 conf 파일 디 렉 터 리 지정
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf

       # 4 컴 파일 및 설치 nginx
make && make install

       # 5 nginx 서비스 시작
/usr/local/nginx/sbin/nginx

       # 6 포트 상 태 를 보 려 면 80 포트 가 나타 나 야 합 니 다.
netstat -tnl | grep ":80"

       # 7 명령 테스트 및 파일 인증 설치 상태 보기
wget http://localhost
stat ./index.html

       # 00 여기까지 nginx 의 설치 가 일 단락 되 었 습 니 다. 우 리 는 다른 일 을 처리 할 수 있 습 니 다.
       \ # 5 단계 에서 nginx 서 비 스 를 시작 할 때 시작 디 렉 터 리 가 너무 긴 것 을 발견 할 수 있 습 니 다.
       그리고 nginx 를 멈 출 수 없습니다. 이 문제 들 은 계속 우 리 를 괴 롭 히 고 있 습 니 다. 우 리 는 다음 에 계속 처 하 겠 습 니 다.
       이 문제 들 을 정리 해라.
       # 01 디 렉 터 리 가 너무 길 어서 반감 을 해결 합 니 다. 사실 우 리 는 최 단 명령 으로 효 과 를 실현 하고 싶 습 니 다. win 32
       Liux 목표 와 일치 하면 환경 변수 가 있 습 니 다. 여 기 는 nginx 의 환경 변 수 를 수정 하 는 것 입 니 다.
       사용자 가 임의의 디 렉 터 리 에서 nginx 명령 을 직접 두 드 릴 수 있 도록 합 니 다.
vim /etc/profile.d/apache.sh
PATH=/usr/local/nginx/sbin:$PATH
.source /etc/profile.d/apache.sh  #     

       # 02. 웹 서버 를 만 들 었 습 니 다. 다른 사람들 도 이곳 에 방문 할 수 있 기 를 바 랍 니 다. 그래서 저 희 는...
       Liux 방화벽 에 출구 를 남 겨 야 합 니 다.
       하나의 큰 판도, 모든 컴퓨터 는 하나의 성 으로, 어느 날 다른 도시 의 사자 가 방문 하 였 다.
       나 에 게 묻는다. 그러면 나 는 그것 에 입 구 를 남 겨 야 한다.)
vim /etc/sysconfig/iptables
-I INPUT -p tcp --dport 80 -j ACCEPT
service iptables restart

       # 03 시동 을 걸다.
       이후 사용 할 수 없습니다. 재 부팅 후 80 포트 의 감청 이 실 효 된 것 을 확인 하 십시오 \ # 6 작업,
       이것 은 우리 가 직접 시작 할 수 있 도록 간단 한 스 크 립 트 를 완성 해 야 한다.
       물론 일반적인 상황 에서 nginx 는 이 스 크 립 트 를 가지 고 다 닙 니 다. 우 리 는 과정 을 익 혀 보 겠 습 니 다.)
vim /etc/init.d/nginx

       # 03 - a 가장 중요 한 것 Liux 는 win 32 와 마찬가지 로 서비스 라 는 말 도 있 습 니 다.
       # 현재 서비스 스 크 립 트 입 니 다. 나중에 추가 해 야 한 다 는 뜻 입 니 다.
       # 서비스 목록 시 효과 발생
       # chkconfig: 2345 55 25
       # description: nginx service
# chkconfig: 2345 55 25
# description: nginx service

       # 03 - b 먼저 기본 변 수 를 정 의 했 습 니 다.
       # 경로 포함
PATH=$PATH

       # 소프트웨어
NAME=nginx

       # sbin 경로
SBINPATH=/usr/local/nginx/sbin/$NAME

       # 파일 경로 설정
CONFIGFILE=/usr/local/nginx/$NAME.conf

       # pid 파일 (Liux 데 몬 파일, 쉽게 말 하면 스 레 드 번호, 이 파일 은 nginx 가 존재 합 니 다.
       # 시작 되 었 습 니 다. 만약 그것 이 없다 면 nginx 도 접근 할 수 없 을 것 입 니 다)
PIDFILE=/usr/local/nginx/logs/$NAME.pid

       # 03 - d sbin 파일 과 일치 하 는 파일 이 존재 하 는 지 판단 하지 않 으 면 알림
[ -e "$SBINPATH" ] || echo -n "$SBINPATH No such file or directory"
[ -e "$CONFIGFILE" ] || exit -n "$CONFIGFILE No such file or directory"

       # 03 - e nginx 명령 시작 nginx start
start() {
    $SBINPATH -c $CONFIGFILE || echo -n "nginx already running"
}

       # 03 - f nginx 명령 닫 기 nginx stop
stop() {
    kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}

       # 03 - g 사용자 입력 이 다른 명령 을 수행 하 는 지 판단
case "$1" in
    start )
        echo -n "$NAME Starting..."
        start
        ;;
    stop )
        echo -n "$NAME Stopping..."
        stop
        ;;
    restart )
        echo -n "$NAME Restarting..."
        stop
        start
        ;;
    * )
        echo "Usage: /etc/init.d/$NAME  {start | stop | restart }" &> /dev/null
        exit 1
        ;;
esac
exit 0

       # 전체 코드 startup. sh
#!/bin/bash
#
PATH=$PATH
NAME=nginx
SBINPATH=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
[ -e "$SBINPATH" ] || echo -n "$SBINPATH No such file or directory"
[ -e "$CONFIGFILE" ] || exit -n "$CONFIGFILE No such file or directory"
start() {
    $SBINPATH -c $CONFIGFILE || echo -n "nginx already running"
}
stop() {
    kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}
case "$1" in
    start )
        echo -n "$NAME Starting..."
        start
        ;;
    stop )
        echo -n "$NAME Stopping..."
        stop
        ;;
    restart )
        echo -n "$NAME Restarting..."
        stop
        start
        ;;
    * )
        echo "Usage: /etc/init.d/$NAME  {start | stop | restart }" &> /dev/null
            exit 1
        ;;
esac
exit 0

       # 03 - h vim 편집 기 를 종료 하고 현재 스 크 립 트 에 실행 권한 부여
chmod +x /etc/init.d/nginx

       # 03 - i 서비스 목록 에 nginx 서 비 스 를 추가 합 니 다.
       당신 이 의견 을 듣 지 않 았 다 면 여 기 는 완성 할 방법 이 없습니다.)
chkconfig --add nginx

       # 03 - j nginx 서비스 에 추 가 된 켜 기 옵션 의 345 단계
       # 마지막 설 레 는 순간 에 다시 한 번 잔소리 하 는 것 을 용서해 주 십시오.
       # chkconfig -- level 은 모두 0 - 6 7 단계 로 나 뉜 다.
       # 이 과정 은 Liux 의 시작 과 매우 관련 이 있 으 므 로 참고 할 수 있 습 니 다.
       # http://apprectice.blog.51cto.com/2214645/1362564
       # 345 기본적으로 그 위의 로드 과정 에 대응 할 수 있다.
chkconfig --level 345 nginx on

       # 03 - k 이 럴 때 마음대로 할 수 있 는 nginx {start | stop | restart}
       # 멈 춰 도 문제 가 없다.)
nginx start

   d) bin 파일 설치
       빈 파일 의 설 치 는 매우 간단 합 니 다. 셸 과 rpm 의 결합 체 이기 때문에 일반적인 상황 입 니 다.
       기본적으로 추가 설정 을 하지 않 고 빈 을 직접 실행 하면 됩 니 다.

좋은 웹페이지 즐겨찾기