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 섹션을 이용하시기 바랍니다.

Forums: 

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.