728x90
728x170
yum
yum의 개요
yum(Yellowdog Updater, Modified)
- rpm 기반의 시스템에서 패키지를 손쉽게 설치해주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티
- rpm 설치 시에 가장 많이 발생하는 의존성 문제를 자동으로 해결해준다.
- 소프트웨어 저장소(Repository)에 관련 패키지들을 모아둔다.
- 네트워크를 통해서 의존성을 검사하여 설치 및 업데이트 등을 수행한다.
- 데비안(Debian) 계열 리눅스의 APT(Advanced Packaging Tool)와 유사하다.
yum 관련 파일 및 디렉터리
- /etc/yum.conf
- yum의 환경 설정 파일
- /etc/yum.repos.d 디렉터리
- 설치 및 업데이트를 위한 저장소(Repository) 관련 파일들이 저장되는 디렉터리
- 다음의 파일들이 존재
- CentOS-Base.repo
- 네트워크 작업용 저장소 파일
- 주요 항목
- [base] : yum 패키지 서버의 기본 경로 설정
- [updates] : 업데이트된 패키지를 위한 경로 설정
- [extras] : 유용하게 쓸 수 있는 추가 패키지 경로 설정
- [centosplus] : 존재하는 패키지들의 기능적 확장과 관련 있는 패키지 경로 설정
- [contrib] : CentOS 사용자들에 의해 제작된 패키지 경로 설정
- CentOS-Media.repo : CD-ROM 이나 DVD-ROM 작업용 저장소 파일
- CentOS-Base.repo
- /var/cache/yum/x86_64/7/base 디렉터리
- 작업과 관련된 정보가 저장되는 디렉터리
- /var/log/yum.log
- yum 관련 작업 로그가 저장되는 파일
# tail /var/log/yum.log
Feb 19 20:30:41 Updated: iwl6000g2a-firmware-18.168.6.1-80.el7_9.noarch
Feb 19 20:30:43 Updated: iwl100-firmware-39.31.5.1-80.el7_9.noarch
Feb 19 20:30:49 Updated: iwl3160-firmware-25.30.13.0-80.el7_9.noarch
Feb 19 20:30:50 Updated: iwl6050-firmware-41.28.5.1-80.el7_9.noarch
Feb 19 20:30:51 Updated: iwl6000g2b-firmware-18.168.6.1-80.el7_9.noarch
Feb 19 20:30:53 Updated: iwl5000-firmware-8.83.5.1_1-80.el7_9.noarch
Feb 19 20:30:54 Updated: iwl6000-firmware-9.221.4.1-80.el7_9.noarch
Feb 19 20:30:57 Updated: iwl2000-firmware-18.168.6.1-80.el7_9.noarch
Feb 19 20:31:03 Updated: iwl105-firmware-18.168.6.1-80.el7_9.noarch
Feb 19 20:31:07 Updated: iwl4965-firmware-228.61.2.24-80.el7_9.noarch
리포지터리 파일의 주요 항목
- [base] : yum 패키지 서버의 기본 경로를 설정하는 항목
- [updates] : 업데이트된 패키지를 위한 경로를 설정하는 항목
- [extras] : 유용하게 쓸 수 있는 추가 패키지 경로를 설정하는 항목
- [centosplus] : 존재하는 패키지들의 기능적 확장과 관련 있는 패키지 경로를 설정하는 항목
- [contrib] : CentOS 사용자들에 의해 제작된 패키지 경로를 설정하는 항목
yum 사용법
사용법
# yum [option] [command] [패키지_파일명]
주요 옵션
옵션 | 설명 |
-y | - 모든 질의에 yes라고 답함. - --assumeyes |
-v | - 자세한 정보 출력 - --verbose |
command
command | 설명 |
list [항목] | - 전체 패키지에 대한 정보 출력 - installed : 설치가 되어 있는 경우 - updates : 업데이트가 가능한 경우 - 기본 항목 값 : all - installed, updates 등의 항목 값을 사용할 수 있음. |
info [패키지명] | 패키지에 대한 정보 출력 |
check-update | - 업데이트가 필요한 패키지 출력 - yum list updates 와 같음. |
update [패키지명] | 패키지를 업데이트할 때 사용 |
install [패키지명] | - 패키지를 설치할 때 사용 - 의존성 관련 패키지도 자동으로 설치 |
search [문자열..] | 문자열이 포함된 패키지를 찾아줌. |
remove 패키지명, erase 패키지명 | 패키지를 삭제할 때 사용 |
group list | 패키지 그룹에 대한 정보 출력 |
group info 패키지그룹명 | 해당 패키지 그룹명과 관련된 패키지 정보 출력 |
group update 패키지그룹명 | 지정한 그룹의 패키지를 업데이트 |
group install 패키지그룹명 | 지정한 그룹의 패키지 설치 |
group remove 패키지그룹명 | 지정한 그룹의 패키지 제거 |
whatprovides | 특정한 파일이나 기능과 관련된 패키지 정보를 검색할 때 사용 |
clean [값] | - yum 관련해서 저장된 정보를 삭제할 때 사용 - 설정 값 : all, packages, rpmdb, dbcahce 등 |
history [sub-command] | yum 명령을 사용한 작업 이력 출력 |
사용 예
- 전체 패키지에 대한 정보 출력
- 기본값 : 'yum list all'
# yum list
- 설치된 패키지에 대한 정보 출력
# yum list installed
- 업데이트가 필요한 패키지에 대한 정보 출력
- 'yum check-update'와 같은 명령
# yum list updates
- 모든 패키지에 대한 정보 출력
# yum info
- telnet-server 패키지에 대한 정보 출력
# yum info telnet-server
- 설치되어 있는 전체 패키지를 업데이트할 때 사용
# yum update
- gzip 패키지를 업데이트 할 때 사용
# yum update gzip
- telnet-server 패키지 설치
- 의존성 관련 패키지도 자동으로 설치
# yum install telnet-server
- player와 music 이라는 문자열이 들어있는 패키지 검색
# yum search player music
- rhythmbox 패키지를 설치하는데, 질의 시 무조건 [y]를 선택
# yum install -y rhythmbox
- telnet-server 패키지 제거
# yum remove telnet-server
- 패키지 그룹별 설치 정보 출력
- 설치된 그룹은 Installed Groups에 표기되고, 설치되지 않은 그룹은 Available Groups에 표기됨.
# yum grouplist
- 'High Availability'라는 그룹과 연관된 패키지 정보 출력
# yum groupinfo 'High Availability'
- 'Print Server' 그룹의 패키지 업데이트
# yum groupupdate 'Print Server'
- 'CIFS file server' 그룹의 패키지 설치
# yum groupinstall 'CIFS file server'
- Eclipse 그룹에 속한 패키지 삭제
# yum groupremove Eclipse
- portmap과 관련 있는 패키지 정보 출력
# yum whatprovides portmap
- yum 관련해서 저장된 모든 정보 삭제
# yum clean all
- yum 관련 작업 이력 출력
- 'yum history list' 또는 'yum history list all' 명령과 동일함.
# yum history
- ID가 19인 작업의 자세한 작업 정보(Command Line)을 출력함.
# yum history list 19
- ID가 20인 작업을 취소함.
# yum history undo 20
- ID가 19인 작업을 다시 실행함.
# yum history redo 19
(참고) yum을 이용한 그룹 패키지 관리
- CentOS 6 이전 버전에서는 그룹 관련 명령어가 하나의 형식이었으나, CentOS 7 버전 부터는 group 명령어 형식으로 바뀌었다.
- 예)
- CentOS 6 이전 버전 : # yum grouplist
- Centos 7 버전 : # yum group list
(참고) yum을 이용해서 rpm 패키지 파일 다운로드하기
- 기본적으로 설치되어 있는 yum-utils 라는 패키지에는 yumdownloader 라는 명령이 있는데, 이 명령어를 이용하면 rpm 패키지를 다운로드할 수 있다.
# yumdownloader --destdir=/usr/local/src vsftpd
- vsftpd 관련 rpm 파일을 /usr/local/src 에 다운로드
(참고) 확장 패키지 사용하기
- 기본 배포판에서 제공되지 않는 기능들은 확장 패키지 관련 리포지터리(Repository)를 설치하면 사용 가능하다.
- 예) NTFS 파일 시스템을 마운트하는 기능은 기본적으로 제공되지 않는다.
- 관련 패키지의 추가 설치가 요구됨.
- CentOS 6 버전을 기준으로 다음의 과정을 수행해야 한다.
- 확장 가능 사용을 위해 EPEL(Extra Packages for Enterprise Linux) Repository 설치
- 레드햇 계열 리눅스인 RHEL(Red Hat Enterprise Linux), CentOS, Scientific Linux, Oracle Linux)에서 사용 가능한 확장 패키지 모음
- Fedora Special Interest Group 에서 생성하고 유지 및 관리한다.
- NTFS 를 마운트하기 위해 필요한 패키지인 ntfs-3g를 추가하고 마운트
- 확장 가능 사용을 위해 EPEL(Extra Packages for Enterprise Linux) Repository 설치
- 예) NTFS 파일 시스템을 마운트하는 기능은 기본적으로 제공되지 않는다.
- EPEL 리포지터리 설치
# yum install epel-release
- ntfs-3g 설치
# yum install ntfs-3g
- mount 명령어를 사용해서 마운트
# mount -t ntfs-3g /dev/sdb1 /mnt
- X 윈도 기반으로 사용한 경우, 패키지 설치만 하면 대부분 자동으로 마운트가 된다.
문제 해결 전략
- man yum 명령을 사용하여 메뉴얼을 보며 문제를 해결해 나간다.
728x90
그리드형(광고전용)
'Certificate > Linux Master' 카테고리의 다른 글
[리눅스마스터 1급 실기] 핵심 정리 & 과목별 문제 정리 (2) | 2022.06.24 |
---|---|
[리눅스마스터 1급 실기] 2201회 기출 문제 (0) | 2022.06.15 |
[리눅스마스터 1급 실기] 출제 주제별 파일/디렉터리 정리 (0) | 2022.05.12 |
[리눅스마스터 1급 실기] man 명령어 사용법 (0) | 2022.05.12 |
[리눅스마스터 1급 실기] rpm (0) | 2022.05.11 |
[리눅스마스터 실기] 압축 유틸리티 정리 (tar, compress, gzip, bzip2, xz, zip, gcc) (0) | 2022.05.11 |
[리눅스마스터 1급 실기] 스왑(Swap) (0) | 2022.05.10 |
[리눅스마스터 1급 실기] 모듈 (modules.dep, depmod) (0) | 2022.05.10 |