Repo Yum Lokal Fedora 8
Ditulis oleh Husni Ilyas di/pada 22 September 2008
Tutorial ini memperlihatkan cara membuat repository lokal menggunakan Linux Fedora 8 yang berikutnya dapat digunakan oleh semua worsktation yang tersambung ke dalam jaringan. Ini cocok diterapkan pada suatu LAN yang biasanya menyediakan kecepatan tinggi sampai 100 Mbps atau 1 GBps. Administrator cukup mengupate satu server repo ini dan seluruh workstation dapat memanfaatkan update tersebut. Lebih hemat bandwidth bukan? Daripada setiap workstation melakukan update langsung ke Internet.
Oh ya, tutorial ini tidak menjamin apa yang anda coba terapkan berhasil dengan baik. Kemampuan dan pengalaman troubleshooting masih sangat diperlukan.
1. Contoh kasus
Dalam tutorial ini digunakan host bernama server1.example.com dengan IP address 192.168.0.100. Seting ini mungkin berbeda dengan kondisi di tempat anda, silakan disesuaikan.
Kita akan membuat repository yang dapat diakses melalui http; root dokumen default dari web server Apache pada Linux Fedora adalah /var/www/html, sehingga kita akan membuat repository di dalam direktori /var/www/html/yum. Jika anda menggunakan virtual host, vhost, silakan atur path tersebut secara tepat.
2. Menginstal Apache
Apache dapat diinstal sekaligus dengan Instalasi sistem Linux. Jika belum, lakukan dengan perintah berikut:
yum install httpd
Kemudian buat agar system startup menghubungi Apache sehingga Apache dimulai secara otomatis saay sistem boot:
chkconfig –levels 235 httpd on
Sekarang, jalankan Apache secara manual, tidak perlu restart:
/etc/init.d/httpd start
3. Membangun Repository
Pertama, instal tool bernama createrepo yang akan digunakan nanti:
yum install createrepo
Kita akan menempatkan paket-paket RPM dasar Fedora 8 untuk i386 dalam /var/www/html/yum/base/8/i386 dan paket-paket update dalam /var/www/html/yum/updates /8/i386, sehingga kita membuat direktori-direktori baru ini.:
mkdir -p /var/www/html/yum/base/8/i386
mkdir -p /var/www/html/yum/updates/8/i386
Sekarang, silakan isi direktori /var/www/html/yum/base/8/i386. Cara paling mudah adalah memanfaatkan DVD Fedora 8 yang digunakan untuk instalasi, dapat didownload di: http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8, mount DVD tersebut, salin paket RPM kee /var/www/html/yum/base/8/i386:
mount /dev/cdrom /mnt
cd /mnt/Packages
cp -v * /var/www/html/yum/base/8/i386
cd /
umount /mnt
DVD tersebut hanya berisi paket-paket dasar. Jika anda ingin mempunyai semua paket Fedora 8 dalam direktori /var/www/html/yum/base/8/i386, silakan download paket (menggunakan rsync) dari folder Everything pada suatu mirror Fedora 8. Silakan akses http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8, untuk mendapatkan dafatr mirror yang menawarkan rsync, dan download paket sebagai berikut (ini menghabiskan banyak waktu, so sabarlah):
rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8 \
/Everything/i386/os/Packages/ /var/www/html/yum/base/8/i386
Pastikan kita menggunakan semua slash (/) seperti di atas – harus ditulis rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages/, bukan rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages.
Kemudian jalankan perintah createrepo:
createrepo /var/www/html/yum/base/8/i386
Ini akan membuat direktori repodata di dalam direktpri /var/www/html/yum/base/8/i386. Isi direktori tersebut akan sebagai berikut:
ls -l /var/www/html/yum/base/8/i386/repodata/
[root@server1 /]# ls -l /var/www/html/yum/base/8/i386/repodata/
total 9268
-rw-r–r– 1 root root 2227275 2007-12-18 21:11 filelists.xml.gz
-rw-r–r– 1 root root 6487453 2007-12-18 21:11 other.xml.gz
-rw-r–r– 1 root root 747714 2007-12-18 21:11 primary.xml.gz
-rw-r–r– 1 root root 951 2007-12-18 21:11 repomd.xml
[root@server1 /]#
Sekarang adalah mengisi direktori updates /var/www/html/yum/updates/8/i386. Silakan akses http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8 sekali lagi, temukan mirror yang menawarkan rsync, dan download paket sebagai berikut:
rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ \
–exclude=debug/ /var/www/html/yum/updates/8/i386
Sekali lagi, pastikan anda menggunakan slash (/) seperti di atas!
Aar mirror lokal mendownload update terakhir secara otomais dari sejak on, kita dapat membuat suatu cron job. Sebagai contoh, sistem akan mendownload update terbaru setiap hari ke-2 (selasa?) pada jam 04:23h, kita memasukkan cron job berikut:
crontab -e23 4 */2 * * /usr/bin/rsync \
-avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ \
–exclude=debug/ /var/www/html/yum/updates/8/i386
Mirror yum lokal hasil karya sendiri sudah siap digunakan.
4. Konfigurasi Client
Agar sistem Fedora 8 kita menggunakan repository yum lokal yang baru, lakukan perubahan terhadap /etc/yum.conf pada setiap sistem Fedora 8 (pertama, lakukan pada server yang dijadikan mirror, bukahkah juga mengunakan Fedora 8?). Buka file /etc/yum.conf:
vi /etc/yum.conf
Temukan dua baris berikut
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
Dan tambahkan baris-baris berikut, di bawahnya:
[base-local]
name=Fedora $releasever – $basearch
failovermethod=priority
baseurl=http://192.168.0.100/yum/base/$releasever/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=0
[updates-local]
name=Fedora $releasever – $basearch – Updates
failovermethod=priority
baseurl=http://192.168.0.100/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0
Isi lengkap dari file ini menjadi:
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
installonly_limit=2
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[base-local]
name=Fedora $releasever – $basearch
failovermethod=priority
baseurl=http://192.168.0.100/yum/base/$releasever/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=0
[updates-local]
name=Fedora $releasever – $basearch – Updates
failovermethod=priority
baseurl=http://192.168.0.100/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0
Sekarang, kapanpun anda menggunakan yum dan repository lokal dapat melayani paket yang diminta, maka paket-paket akan didownload dan diinstal dari repository yum lokal tersebut.
5. Link
Fedora: http://fedoraproject.org







tika berkata
thx
ahmad zakyi berkata
mass klo di CentOS 5.3 gmn konfigurasi server repo n client reponya sama aja y file CentOS-Base.repo-nya di edti truus yg di repo.conf juga d edit ya mas,,,??? pleas bgt pencerahannya ya mas….
Husni Ilyas berkata
Kayaknya gak jauh beda sih tapi saya belum coba di CentOS. Mungkin site:
http://blog.georgerushby.com/creating-a-local-yum-repository-on-centos-5x/
http://howtoforge.org/creating_a_local_yum_repository_centos
dapat memberikan pencerahan.