YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결해주어 RPM 패키지설치시자동적으로의존성문제를 처리하여 RPM 패키지를안전하게설치, 제거, 업그레이드등의작업을스스로하는도구 YUM 설정 (/etc/yum.conf) [main] ### yum 업데이트시다운로드하는패키지와 db 파일을저장하는디렉토리 cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 ### yum 패키지와캐시해더들을설치후보관 (1: 파일보관,0: 보관안함 ) debuglevel=2 ### Debug 메시지를보여주는레벨 (0~10 까지의레벨, Default:2) logfile=/var/log/yum.log ### yum 이업데이트한내용을 log 파일에기록, log 파일경로 exactarch=1 ### 아키텍쳐 x86_64 obsoletes=1 ### 오래된패키지를적절히삭제및교체된다. gpgcheck=1 ### GPG 서명검사여부 plugins=1 ### (0: 플러그인사용하지않음, 1: 플러그인사용 ) installonly_limit=5 ### 새커널이인스톨될때유지되길원하는커널의숫자 exclude=kernel* ### 업데이트시 kernel 이포함된패키지제외 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page. php?category=yum distroverpkg=centos-release
3rd Party repository RPMforge, EPEL Repository Repository 간의호환성문제를해결하기위한 yum-priorities 설치 # yum install yum-priorities GPG 키설치 # wget http://dag.wieers.com/rpm/packages/rpm-gpg-key.dag.txt # rpm --import RPM-GPG-KEY.dag.txt # rm RPM-GPG-KEY.dag.txt CentOS 5 / 6 rpmforge 설치 ### RHEL5 and CentOS-5 x86 64bit download : http://pkgs.repoforge.org/rpmforge-release/ # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # rm rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm ### RHEL6 and CentOS-6 x86 64bit download : http://pkgs.repoforge.org/rpmforge-release/ # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # rm rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
EPEL that is provided from Fedora project. ### RHEL5 and CentOS-5 x86 64bit # wget http://ftp.sayclub.com/pub/linux/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm # rpm -Uvh epel-release-5-4.noarch.rpm ### RHEL6 and CentOS-6 x86 64bit # wget http://ftp.sayclub.com/pub/linux/fedora/epel/6/x86_64/epel-release-6-5.noarch.rpm # rpm -Uvh epel-release-6-5.noarch.rpm 우선순위설정 # vi /etc/yum.repos.d/centos-base.repo [base], [addons], [updates], [extras] priority=1 // 추가 [centosplus], [contrib] priority=2 // 추가 # vi /etc/yum.repos.d/rpmforge.repo [rpmforge] priority=10 // 추가 # vi /etc/yum.repos.d/epel.repo [epel] priority=20 // 추가
확인 # yum repolist Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile epel/metalink 3.3 kb 00:00 * base: ftp.daum.net * epel: ftp.cuhk.edu.hk * extras: ftp.daum.net * rpmforge: ftp-stud.fht-esslingen.de * updates: ftp.daum.net repo id repo name status base CentOS-6 - Base 6,294 epel Extra Packages for Enterprise Linux 6 - x86_64 7,158 extras CentOS-6 - Extras 4 rpmforge RHEL 6 - RPMforge.net - dag 4,258 updates CentOS-6 - Updates 652 repolist: 18,366 Yum 사용법 1. 패키지찾기 설치된패키지와업데이트가능한패키지보기 # yum list 패키지그룹리스트 # yum grouplist
설치및업그레이드가가능한패키지목록 # yum list available 이미설치된패키지목록 # yum list installed 업데이트가가능한패키지목록 # yum list updates or # yum check-update 일반저장소에서설치되지않는패키지목록 # yum list extras 패키지이름중 kernel 단어가포함되는패키지목록 # yum list *kernel* 패키지이름및설명중 kernel 단어가포함되는패키지목록 # yum search kernel 특정패키지가설치되어있는지확인 # yum list installed make
특정패키지가업데이트가가능한지확인 # yum list update kernel 특정파일이속한패키지이름확인 # yum provides 특정파일경로 ex) yum provides /lib64/libz.so 패키지에포함된파일이름을갖는모든패키지 # yum provides */curses.h or # yum whatprovides */curses.h...... ncurses-devel-5.7-3.20090208.el6.x86_64 : Development files for the ncurses library Repo : base Matched from: Filename : /usr/include/ncurses/curses.h Filename : /usr/include/curses.h Filename : /usr/include/ncursesw/curses.h
2. 패키지설치 패키지설치 # yum y install 패키지명 패키지그룹설치 # yum y groupinstall 패키지그룹명 가장빠른 Repository 검색 # yum y install yum-fastestmirror 하드디스크에있는패키지설치 # yum localinstall 파일명 3. 패키지제거 패키지제거 # yum remove 패키지명 특정패키지그룹제거 # yum groupremove 패키지그룹명 패키지명 을포함한모든패키지제거 # yum remove * 패키지명 *
4. 패키지업데이트 패키지업데이트 # yum update 패키지명 패키지그룹업데이트 # yum groupupdate 패키지그룹명 모든패키지업데이트 # yum update Kernel 을제외한전체업데이트 # yum update exclude=kernel* 업데이트가능한패키지확인 # yum check-update ### yum list updates 와동일 5. 패키지의존성확인 # yum deplist 패키지명
6. 패키지정보 패키지정보확인 # yum info 패키지명 kernel 로시작하는모든패키지정보확인 # yum info kernel* 7. packages, metadata, headers 삭제 Cache 에서패키지삭제 # yum clean packages Cache 에서 Metadata 삭제 # yum clean metadata Cache 에서 Header 삭제 # yum clean headers Cache 에서 Packages, Metadata, Header 모두삭제 # yum clean all