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 |