728x90
RPM 관련 패키지 정보 확인 명령어
RPM 사용법
- 프로그램(패키지)을 쉽게 설치하기 위한 도구
- 설치된 패키지 확인 가능
- 제거된 패키지 파일 잔재 추적
- 지원 패키지 확인
- 업데이트 시 기존 패키지 제거 후 새 버전 설치
- 패키지 이름을 보고 아래처럼 정보를 유추할 수 있다.
RPM 단점
- 반드시 .rpm 파일이 있어야 한다.
- 의존성을 해결하지 못한다.
여기서 말하는 의존성이란? 어떤 프로그램을 설치하기 위해 또 다른 프로그램이 있어야 설치를 할 수 있다는 말이다.
CDRom
CDrom 에 CentOS-7-x86_64-DVD-1804.iso 파일을 넣은 후에 /media/cdrom 에 마운트를 한다.
이제 이 CDrom 에서 rpm 파일들을 검색해서 다운로드 받는 것이다. 인터넷에서 다운을 받는 것이 아니다.
$ mkdir /media/cdrom
$ mount /dev/cdrom /media/cdrom
$ ls /media/cdrom/Packages
xxx.rpm 이라는 파일들이 존재한다. 패키지 이름을 보고 정보를 유추할 수 있다.
rpm 관련 패키지 정보 확인 명령어
rpm -q 에 아래 옵션들을 붙여서 사용할 수 있다.
- -a : 시스템에 설치되어 있는 모든 패키지
- rpm -qa | grep [패키지명] ⇒ 패키지 설치 여부 확인
- -i : 패키지에 대한 정보
- rpm -qi [패키지명]
- -c : 패키지의 설정 파일들을 보여준다.
- rpm -qc [패키지명]
- -d : 패키지의 문서(document)를 보여준다.
- rpm -qd [패키지명]
- -l : 패키지의 모든 파일 보여준다.
- rpm -ql [패키지명]
- -f : 파일이나 디렉토리가 어떠한 패키지로 인해서 파생되었는지 알려준다.
- rpm -qf [파일 또는 디렉토리 경로]
RPM 관련 패키지 설치 및 업데이트 명령어
- rpm -Uvh [패키지파일 경로]
RPM 관련 패키지 삭제 명령어
- rpm -e [패키지명]
YUM(Yellowdog Updater Modified)
인터넷을 통하여 필요한 파일을 저장소에서 자동으로 모두 다운로드 해서 설치하는 방식이다.
YUM 의 패키지 종속성 완화
rpm 은 의존성 문제가 해결되지 않아 모든 패키지를 하나하나 찾아서 설치해야 했다.
yum 은 패키지가 의존성을 필요로 하면 패키지를 설치하면서 자동으로 의존성을 같이 설치한다.
YUM 파일 구성
- /etc/yum.conf 에 기본 구성 파일 저장
- /etc/yum.repo.d/ 에 추가 리포지토리 구성 파일
- /var/log/yum.log 에 모든 설치 및 제거 트랜잭션 기록이 수집된다.
- less /var/log/yum.log
YUM 동작 순서
- yum install [패키지명] 명령어 입력
- 레포지토리 파일 확인
- 해당 url 주소에서 해당 패키지 다운로드
- 추가적인 의존성 패키지 설치 확인
- y 키 입력 시 추가 다운로드 및 설치
YUM 명령어
- yum [sub-command] [패키지명]
- yum install [패키지명] : 패키지 설치
- -y 옵션을 사용하면 yes no 물어보지 않고 모두 yes 처리로 다운받아 준다.
- yum remove [패키지명] : 패키지 삭제
- -y 옵션을 사용하면 yes no 물어보지 않고 모두 yes 처리로 삭제한다.
- yum update [패키지명] : 패키지 업데이트
- yum info [패키지명] : 패키지 정보확인
- yum list : repository 의 패키지 리스트 출력
- yum provides [파일 또는 디렉토리 경로] : 해당 파일이나 디렉토리가 어떠한 패키지로 인해서 파생되었는지 알려줌( = rpm -qf 와 동일한 작용), 다른 점은 저장소에 물어본다는 점이다.
- yum provides /etc/rsyslog.conf → rsyslog.conf 에 대한 파일 정보를 알려준다.
- yum repolist all : repository 에 등록된 모든 패키지에 대한 활성화 정보를 확인할 수 있다.
- yum install [패키지명] : 패키지 설치
- yum groups [sub-command] “그룹 패키지명”
- yum groups list : 그룹 패키지 리스트 출력
- yum groups install “그룹 패키지명” : 그룹 패키지 설치
- yum groups install “보안 툴”
- yum groups remove “그룹 패키지명” : 그룹 패키지 삭제
- yum groups remove “보안 툴”
- yum groups update “그룹 패키지명” : 그룹 패키지 업데이트
- yum groups update “보안 툴”
- yum groups info “그룹 패키지명” : 그룹 패키지 정보
- yum groups info “보안 툴” → 해당 그룹 패키지 안에 어떤 패키지들이 있는지 확인한다.
- yum localinstall [패키지 파일명] : rpm 패키지 파일을 yum으로 설치
- yum localinstall /media/cdrom/Packages/mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm
- 내 Packages 디렉토리에 있는 mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm 이 패키지 파일을 레포지토리에서 찾아서 설치하겠다는 뜻이다.
- yum repository [파일 설정]
- yum repolist
- 아래와 같은 작업은 먼저 선행한다.
$ cd /etc/yum.repos.d
$ mkdir backup
$ mv C* b* - vi /etc/yum.repos.d/xxx.repo 로 아래와 같이 내용을 구성해야 하고, 확장자가 반드시 .repo 여야 한다.
-
# [id] # name=repo name # baseurl = http://web address # file://절대경로 (file:///a/b/c) # enabled = 0 또는 1 (0이면 비활성화 1이면 활성화) # gpgcheck = 0 또는 1 (0이면 무료 레포지토리 1이면 유료 저장소에서 인증키를 받았을 경우) # gpgkey = file://절대경로 (gpgcheck=1 일 경우에만 설정) [dvd] name=dvd repo baseurl=file:///media/cdrom enabled=1 gpgcheck=0 [net] name=network baseurl=http://mirror.centos.ort/centos/7/os/x86_64 enabled=1 gpgcheck=0
- yum repolist 명령어를 입력하면 .repo 파일의 설정값들로 레포지토리에서 패키지를 다운받을 때 해당 패키지가 /media/cdrom 에 존재할 경우엔 dvd 에서 설치하고 그 외의 경우 http://mirror.centos.ort/centos/7/os/x86_64 에서 다운을 받는다.
- yum repolist all 을 사용해서 해당 설정 파일의 활성화 상태를 확인할 수 있다.
- 아래와 같은 작업은 먼저 선행한다.
- yum-config-manager 를 이용해서 .repo 파일 만들기
- yum -y install yum-utils
- yum-config-manager —add-repo=http://web address
- 해당 파일에 gpgcheck=0 cnrk
실습
# 처음 설정으로 스냅샷
# DVD 가 장착되어 있다는 가정 하에
# DVD를 /media/cdrom으로 마운트
$ umount /dev/cdrom
$ mkdir /media/cdrom
$ mount /dev/cdrom /media/cdrom
# Repository 설정 - DVD 와 인터넷
# ([http://mirror.centos.org/centos/7/os/x86_64]
# (http://mirror.centos.org/centos/7/os/x86_64))
$ cd /etc/yum.repos.d
$ mkdir backup
$ mv C* b*
$ vi /etc/yum.repos.d/test.repo
[dvd]
name=dvd
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
[net]
name=network
baseurl=http://mirror.centos.org/centos/7/os/x86_64
enabled=1
gpgcheck=0
# repo 활성화 상태 확인
$ yum repolist all
# repo 중에서 dvd repo를 비활성화 시키시오.
$ vi /etc/yum.repos.d/test.repo
[dvd]
name=dvd
baseurl=file:///media/cdrom
enabled=0
gpgcheck=0
# repo 활성화 상태 확인
$ yum repolist all
dvd repo 가 disabled 로 변경돼 있다.
# 저장소에 telnet에 대한 패키지가 어떠한 것이 있는지 확인해보시오.
$ yum list | grep telnet
# telnet 관련 패키지 설치 및 telnet.socket (service 아님) 시작 및 활성화
$ yum install telnet*
$ systemctl start telnet.socket
$ systemctl enable telnet.socket
또는
$ systemctl enable telnet.socket --now
# telnet 패키지의 설정 파일 및 문서(document) 확인
$ rpm -qc telnet
$ rpm -qd telnet
# rsyslog.conf 파일이 어떠한 패키지로 인해서 생성된 것인지 확인(2가지 방법)
$ yum provide /etc/rsyslog.conf
$ rpm -qf /etc/rsyslog.conf
# 위에 패키지의 정보를 확인 (2가지 방법)
$ yum info rsyslog
$ rpm -qi rsyslog
# 그룹 패키지 중에서 패키지명으로 security(보안) 가 들어간 패키지는?
$ yum groups list | egrep '(security|보안)'
# 해당 그룹 패키지는 어떤 패키지들로 구성이 되어 있는가?
$ yum groups info "보안 도구"
또는
$ yum groups info "Security"
# zsh-xxxxxxxxxxxxxx.rpm 파일을 yum 명령어를 사용해서 설치하시오.
$ yum localinstall /media/cdrom/Packages/zsh-5.0.2-28.el7.x86_64.rpm
728x90