별의 공부 블로그 🧑🏻‍💻
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 작업용 저장소 파일
  • /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 리포지터리 설치
# yum install epel-release

 

  • ntfs-3g 설치
# yum install ntfs-3g

 

  • mount 명령어를 사용해서 마운트 ​
# mount -t ntfs-3g /dev/sdb1 /mnt

 

  • X 윈도 기반으로 사용한 경우, 패키지 설치만 하면 대부분 자동으로 마운트가 된다.

 

 

문제 해결 전략

  • man yum 명령을 사용하여 메뉴얼을 보며 문제를 해결해 나간다.
728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖