yum (Yellow dog Updater, Modified)의 활용 및 yum mirror serv
1. yum ?
yum은 rpm기반 시스템에서 자동으로 패키지를 업데이트, 설치, 삭제를 해주는 유틸리티입니다.
rpm의 의존성 문제를 자동적으로 처리하여 쉽게 패키지를 유지 관리할 수 있습니다.
또한 쉽게 레드햇의 release도 변경할 수 있습니다.
fedora project에는 기본적으로 내장되어 있습니다 :)
현재 레드햇은 updates.redhat.com등에서
RHEL과 Fedora Project를 제외하고 RedHat의 모든 버전의 업데이트가 중지되고 있다.
(RedHat 7.3은 2003년 12월 말부터, RedHat 9는 2004년 4월부로 공식지원이 중단됨)
RHN은 회원가입의 번거로움과 기능의 단순함, 막대한 비용에 대한 부담으로 실증을 느끼셨다면
yum을 이용해 보시기 바랍니다.
1-1. 설치
http://linux.duke.edu/projects/yum/download.ptml
에서 자신의 release에 맞는 yum을 설치한다.
1-2. 기본 사용법
최신 패키지로 업데이트
# yum update
패키지 설치
# yum install 패키지명
패키지 업데이트
# yum update 패키지명
패키지 삭제
# yum remove 패키지명
1-3. yum을 이용한 레드햇 release update
ftp://ftp.quicknet.nl/pub/Linux/ftp.redhat.com/
에서 업그레이드 하고 싶은 버전의 redhat-release***.rpm을 받아서 설치
# yum upgrade
자세한 이용법은
http://www.linux.duke.edu/projects/yum
http://wiki.kldp.org/wiki.php/Yum-HOWTO 에서 참조하세요..
2. yum mirror 구축하기
2-1. yum mirror 서버
yum mirror를 구축하기 위해서는 충분한 네트워크 대역폭과 디스크 용량을 확보하고 있어야 한다.
다음은 rootda.org의 /etc/crontab의 일부분이다.
# fedoralegacy.org mirror update RedHat Linux
01 20 * * * root /root/bin/yum/redhat7.3.sh
30 1 * * * root /root/bin/yum/redhat9.sh
40 7 * * * root /root/bin/yum/redhat8.0.sh
38 8 * * * root /root/bin/yum/redhat7.2.sh
# centos mirror update
#05 22 * * * root /root/bin/yum/centos.sh
# KERNEL v2.4 Mirroring
01 6 * * * root /root/bin/kernel.sh
이상에서 보듯이 충분한 네트워크 대역폭을 확보하고 있는 rootda.org 서버에서도 받아오는 source측의 대역폭을 감안하여 충분한 시간차를 두고 미러링을 하고 있다.
다음은 해당 스크립트의 내용이다.
[root@mirror yum]# cat redhat7.2.sh
#!/bin/sh
cd /data5/yum_mirror; wget -nH -r -N -nr -l0 -m -np -X /7.2 -X /8.0 -X /9 --cache=off http://download.fedoralegacy.org/redhat/7.2/
[root@mirror yum]# cat redhat7.3.sh
#!/bin/sh
cd /data5/yum_mirror; wget -nH -r -N -nr -l0 -m -np -X /7.2 -X /8.0 -X /9 --cache=off http://download.fedoralegacy.org/redhat/7.3/
[root@mirror yum]# cat redhat8.0.sh
#!/bin/sh
cd /data5/yum_mirror; wget -nH -r -N -nr -l0 -m -np -X /7.2 -X /8.0 -X /9 --cache=off http://download.fedoralegacy.org/redhat/8.0/
[root@mirror yum]# cat redhat9.sh
#!/bin/sh
cd /data5/yum_mirror; wget -nH -r -N -nr -l0 -m -np -X /7.2 -X /8.0 -X /9 --cache=off http://download.fedoralegacy.org/redhat/9/; find /dedi/yum_mirror/redhat -name "index.*" -exec rm -f {} \;
[root@mirror yum]# cat centos.sh
#!/bin/sh
cd /data5/yum_mirror; wget -nH -r -N -nr -l0 -m -np -X --cache=off http://caos.oregonstate.edu/centos-3/3.3/; find /dedi/yum_mirror/centos-3 -name "index.*" -exec rm -f {} \;
[root@mirror yum]# cat /root/bin/kernel.sh
#!/bin/sh
cd /home/KERNEL; wget -nH -r -N -nr -l0 -m -np --cache=off http://www.kernel.org/pub/linux/kernel/v2.4/; find /home/KERNEL -name "index.*" -exec rm -f {} \; chown -R rootdaorg.rootdaorg /home/KERNEL
이상과 같은 스크립트를 심어두고 테스트를 한다.(테스트는 마지막에 하세요 ^^;;)
다음으로 중요한 부분은 apache 데몬 설정이다.
httpd.conf의 중요한 몇 부분이다.
DocumentRoot "/data5/yum_mirror"
Directory "/data5/yum_mirror"
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
Directory
이상과 같은 설정을 마치면 yum mirror 서버로서 작동이 가능하다.
2-2. yum client
다음은 mirror.rootda.org 를 이용한 클라이언트의 yum.conf 화일이다.
[root@mirror yum]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
#exactarch=1
#exclude=kernel*
[base]
name=Red Hat Linux 7.3 base
baseurl=http://mirror.rootda.org/redhat/7.3/os/i386/
[updates]
name=Red Hat Linux 7.3 updates
baseurl=http://mirror.rootda.org/redhat/7.3/updates/i386/
안타깝게도 fedoralegacy.org에서는 더 이상 redhat 7.2, redhat 8.0에 대한 지원을 불가능하다고 합니다.
yum.conf 수정이 불편하시다면 redhat7.2, 7.3, 8.0, 9.0에 수정된 yum.conf로 빌드된 yum rpm을 다운로드하셔서 사용하시기 바랍니다.
자세한 문의는 rootda.org QnA 섹션을 이용하시기 바랍니다.
댓글 달기