본문으로 바로가기

Day-22 Network 관리 1

category Linux 2017. 1. 16. 22:35

RPM - RPM패키지 관리


형식 : rpm [옵션]

 

rpm 패키지 설치 (-ivh )
i - install
v - verbose (설치과정 출력)
h - hash (#)

 

#mount -r -t iso9660 /dev/cdrom /mnt
#cd /mnt
#pwd
#ls
#cd Packages
#ls | grep xterm
#rpm -ivh xterm-253-1.el6.x86_64.rpm

 

오류: Failed dependencies:
 libXaw.so.7()(64bit) is needed by xterm-253-1.el6.x86_64


RPM단점 : 패키지 의존성에 따라 관련패키지가 먼저 설치되어 있지 않으면 설치 할 수 없다.

 

#rpm -ivh xterm-253-1.el6.x86_64.rpm   //의존성 문제 (3)
#rpm -ivh libXaw-1.0.11-2.el6.x86_64.rpm  //의존성 문제 (2)
#rpm -ivh libXpm-3.5.10-2.el6.x86_64.rpm  //설치 완료   (1)

 

 

 

VMware의 GUI환경


#/usr/bin/xterm     //xterm 실행

 

 

 

#rpm -ivh wireshark-1.8.10-17.el6.x86_64.rpm  //의존성 문제
#rpm -ivh wireshark-1.8.10-17.el6.x86_64.rpm --nodeps //의존성에 상관없이 강제 설치

 

의존성 무시(강제)하고 설치 (--nodeps, --force)
두 옵션 모두 정상 설치는 보장 할 수 없다.

 

업그레이드하여 설치과정
rpm -Uvh [패키지명].rpm

 

//기존에 있던 패키지는 업그레이드 하여 설치하고,  새로운 패키지는 그대로 설치한다.

 

패키지 정보 검색
rpm -q [질의옵션]
-a : 전체 패키지 목록
-f : 파일명을 포함한 패키지명을 출력 (절대 경로)
-i : 패키지 상세정보 확인 하기 (패키지명)
-l : 패키지가 설치한 파일의 목록을 출력 (패키지명)
-R : 패키지 의존성 확인 (패키지명)

 

#rpm -qa | grep xterm
#rpm -qa | grep wire
#rpm -qi coreutils
#rpm -ql coreutils | more

 

 

 

 

패키지 삭제
#rpm -e 패키지명

 

# rpm -e xterm                  xterm 패키지 삭제
# rpm -qa | grep xterm      xterm 패키지 삭제 확인

아래와 같이 프롬프트가 잘 떨어지면 정상적으로 삭제 된 것이다.

 

 

 


yum (yelldog updater modifier)
- rpm기반의 패키지 관리도구로 의존성 문제를 자동으로 해결한다.
- 패키지를 분석하여 패키지의 의존성을 해결하고 원격 자동 업데이트와 설치를 할 수 있다.
- DVD이미지 혹은 네트워크가 연결되어야 한다.

 

yum - rpm 패키지 자동으로 설치
형식 yum [옵션] [명령] [패키지명]
옵션
-h 도움말
-y 설치과정 모든 질문에 yes로 대답
-v 자세한 메세지 출력

 

명령
- install                 //패키지를 설치
- update                //패키지를 업데이트 한다.
- check-update     //업데이트 가능한 패키지를 확인
- remove               //패키지를 삭제
- list                     //패키지 목록 확인
- info [패키지명]   //패키지 정보 확인

 

# yum check-update
# yum info util-linux-ng

 

#yum list all - 이미 설치되어있거나 설치 가능한 모든 패키지의 목록을 출력
#yum list available - yum 저장소에서 설치 가능한 모든 패키지의 목록을 출력
#yum list update - 업데이트 가능한 패키지 목록을 출력
#yum list installed - 이미 설치된 패키지의 목록을 출력
#yum list installed [패키지명] - 해당 패키지 설치 유무 확인

 

#yum localinstall [패키지명].rpm
- rpm 패키지가 있을 경우 설치해주면서, 의존성 문제가 있을 경우 repository(저장소)에서 자동으로 다운을 받아 의존성 문제를 해결해 준다.

 

#rpm -e wireshark
#yum localinstall wireshark-1.8.10-17.el6.x86_64.rpm

 

#yum -y install xterm
#yum update cronie
#yum info cronie

 

#yum search cron [패키지명]  //repository에서 해당 패키지명의 rpm파일을 검색

 

#yum provides [파일이름]       //특정 파일이 어느 패키지에 들어 있는지 확인


#yum provides /bin/ls

 

#yum clean all                         //기존에 다운로드한 패키지 목록을 지워 install시 새로운 목록을 다운로드

 

#yum -y install [A] [B] [C]       // 동시에 여러개 설치
#yum remove [A] [B] [C]         // 동시에 여러개 삭제
#yum grouplist | more            // 여러 패키지들이 그룹으로 구성되어 사용 할 수 있는 리스트 출력
          
#yum groupinstall [패키지 그룹명] // 그룹 패키지 설치

 

#yum clean all                    // 캐쉬 되어 있는 패키지 삭제
#yum list update                // 설치된 패키지 업데이트

 

#echo $LANG
#LANG=en_US.UTF-8      //영어로 바꾸기

 

 



yum 동작 방식과 설정 파일
설정 파일 (1) /etc/yum.conf   //설정파일
               (2) /etc/yum.repo.d/  //디렉토리
   
repository -> repo(레포)

 

(1)server-a : yum install 입력
(2)server-a : /etc/yum.repos.d/ 디렉토리의 repo파일을 열어 URL확인  (핵심파일 -> CentOS-Base.repo)
(3)server-a : 전체 패키지 목록 파일을 repo에게 요청
(4)repo  : 전체 패키지 목록 파일을 server-a에게 전달        //실제 패키지 파일을 다운로드 하는게 아닌 목록만 다운로드
(5)server-a : 설치할 패키지와 관련된 패키지의 이름을 화면에 출력
(6)server-a : y를 입력하면 설치에 필요한 패키지 파일을 repo서버에 요청
(7)repo  : 설치할 패키지 파일 server-a에게 전달
(8)server-a : 다운로드한 패키지 자동 설치

/etc/yum.repos.d/CentOS-Base.repo (CentOS원본 패키지 저장소 파일)

 

 

[base] - CentOS6버전이 출시되는 시점에서 제작된 "원본 패키지" 저장소 위치

 

[updates] - 버그 수정이나, 기능 개선한 패키지, "업데이트 패키지" 저장소 위치

 

[extras] - 추가 배포되는 패키지는 "추가 패키지" 저장소 위치

 

[] - 저장소 식별자

 

mirrorlist
 baseurl에 설정값(URL)이 생략되어 있으면, 대신 mirrorlist에 적혀 있는 URL이 사용된다.
 
 해당 mirrorlist는 전세계에 분포된 여러개의 repository서버와 연결되어 있다.
 
baseurl
 URL이 적혀 있는 부분으로, http, ftp, file 중 한가지가 올 수 있다.

 

gpgcheck

 패키지 GPG 서명을 확일할지 여부를 지정한다. 1(사용), 0(사용안함)

 1로 지정할 경우 gpgkey 항목을 반드시 설정해야 한다.

 

gpgkey

 아스키 GPG키가 들어 있는 저장소의 URL이 적혀 있다.

 

enabled

 저장소를 사용할 지 여부 1(사용), 0(사용안함)

 생략할 경우 기본값은 1이다.


$basearch - x86_64 같은 시스템 아키텍쳐 문자열 치환
$releaserver - CentOS의 메인 릴리즈 버전으로 치환
 

 

 

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

Day-24 Network 관리 3  (0) 2017.01.18
Day-23 Network 관리 2  (0) 2017.01.17
Day-21 VMware Network & 실습 환경 구축  (0) 2017.01.16
Day-20 소프트 웨어 관리하기  (0) 2017.01.14
Day-19 부팅 프로세스  (0) 2017.01.13