Konfigurasi Repository Server pada Linux Fedora 17

Posted on Posted in Linux Networking

logo -linuxRepository Server

 Repository Server adalah server yang menyimpan berbagai aplikasi maupun update aplikasi dari sistem operasi. Ini memungkinkan sebuah sistem operasi melakukan instalasi sistem itu sendiri, penambahan aplikasi maupun update aplikasi/system tanpa bantuan media CD atau DVD. Sistem operasi akan mendownload file-file source dari software yang dibutuhkan dari repository server.

Pada sistem Linux, repository server sangat membantu, terutama untuk instalasi aplikasi yang membutuhkan dependency dengan paket aplikasi lainnya. Repository server akan secara otomatis memberikan semua paket-paket aplikasi yang dibutuhkan selama proses instalasi.

Di Internet, Repository Server untuk sistem Linux disebar diberbagai lokasi negara. Ini ditujukan untuk kecepatan akses dan pemerataan beban (load) dan backup server (mirroring). Terkadang Repository Server juga dibangun pada jaringan lokal, sehingga akan menghemat penggunaan bandwidth Internet. Sistem Linux tidak akan lagi mencari file instalasi pada Repository Server di Internet. Repository Server pada jaringan lokal juga dapat dikonfigurasikan untuk selalu meng-update paket-paket software yang dimilikinya dengan paket yang ada pada Repository Server induk yang ada di Internet.

Konfigurasi Repository Server

Repository Server yang akan dibangun akan menggunakan interface web, pastikan service httpd telah terinstall dan berjalan dengan baik. Perintah yang dapat digunakan adalah sebagai berikut.

[root@repo ~]# rpm -q httpd
httpd-2.2.22-4.fc17.i686


[root@repo ~]# systemctl start httpd.service
[root@repo ~]# systemctl status httpd.service
httpd.service – The Apache HTTP Server (prefork MPM)
          Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
          Active: active (running) since Sun, 14 Oct 2012 15:41:06 +0800; 2s ago
         Process: 617 ExecStart=/usr/sbin/httpd $OPTIONS -k start (code=exited, status=0/SUCCESS)
        Main PID: 618 (httpd)
          CGroup: name=systemd:/system/httpd.service
                  â 618 /usr/sbin/httpd -k start
                  â 620 /usr/sbin/httpd -k start
                  â 621 /usr/sbin/httpd -k start
                  â 622 /usr/sbin/httpd -k start
                  â 623 /usr/sbin/httpd -k start
                  â 624 /usr/sbin/httpd -k start
                  â 625 /usr/sbin/httpd -k start
                  â 626 /usr/sbin/httpd -k start
                  â 627 /usr/sbin/httpd -k start

Instalasi aplikasi createrepo dengan perintah sebagai berikut :

 [root@repo ~]# yum install createrepo
 
[root@repo ~]# rpm -q createrepo
createrepo-0.9.9-11.fc17.noarch

Selanjutnya, membuat direktori pada /var/www/html untuk menempatkan software-software yang akan dimiliki oleh Repository Server. Perintah yang dapat digunakan adalah sebagai berikut :

 
 [root@repo ~]# mkdir /var/www/html/yum/base/17/i386
[root@repo ~]# mkdir /var/www/html/yum/updates/17/i386

Copy semua paket aplikasi yang ada di DVD Fedora ke dalam direktori /var/www/html/yum/base/17/i386. Perintah yang dapat digunakan adalah sebagai berikut.

 [root@repo ~]# mount /dev/cdrom /mnt
[root@repo ~]# cd /mnt/Packages
[root@repo ~]# cp -avr * /var/www/html/yum/base/17/i386
[root@repo ~]# cd /
[root@repo ~]# umount /mnt

 

 Selain menggunakan media DVD untuk membangun Repository Server, paket-paket aplikasi yang ingin dikumpulkan bisa didapatkan dengan mendownload dari Repository di Internet. Untuk mendowload, dapat digunakan tool rsync.

[root@repo ~]# rpm -q rsync
rsync-3.0.9-2.fc17.i686
 
 
[root@repo ~]# rsync -avrt rsync://kambing.ui.ac.id/fedora/linux/releases/17/Everything/i386/os/Packages/               \ /var/www/html/yum/base/17/i386
 
[root@repo yum]# rsync -avrt
rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/17/Everything/i386/os/Packages/   \ /var/www/html/yum/base/17/i386
 
Welcome to the ftp-stud.hs-esslingen.de archives.
 
If have any unusual problems, please report them via e-mail to
rsync@ftp-stud.hs-esslingen.de.
 
  All transfers are logged.
  If you don’t like this policy, then disconnect now.
  This server does not support –checksum (-c)
  This server does not support –compress (-z)
 
 
receiving incremental file list
./
0/
0/0xFFFF-0.3.9-6.fc17.i686.rpm
3/
3/389-admin-1.1.29-1.fc17.i686.rpm

Periksa aplikasi yang telah berhasil dimasukkan ke dalam Repository Server dengan menggunakan perintah.

[root@repo ~]# ls -la /var/www/html/yum/base/17/i386/
total 324
drwxrwxr-x. 33  406     75  4096 May 25 21:27 .
drwxr-xr-x.  3 root root    4096 Oct 11 08:52 ..
drwxrwxr-x   2  406     75  4096 May 25 21:27 0
drwxrwxr-x   2  406     75  4096 Oct 14 15:53 3
drwxrwxr-x   2  406     75  4096 May 25 21:27 4
drwxrwxr-x   2  406     75  4096 May 25 21:27 9
drwxrwxr-x.  2  406     75 20480 May 25 22:14 a
drwxrwxr-x.  2  406     75 12288 May 25 22:14 b
drwxr-sr-x.  2 root 101737 12288 May 23 04:36 c
drwxr-sr-x.  2 root 101737  4096 May 23 04:36 d

Setelah semua file aplikasi yang dibutuhkan dimasukkan ke dalam Repository Server, langkah berikut adalah menjalankan tool createrepo, perintah yang dapat digunakan adalah sebagai berikut.

 [root@repo ~]# createrepo /var/www/html/yum/base/17/i386

 Perintah tersebut akan menghasilkan beberapa file yang diperlukan untuk operasional Repository Server. File-file tersebut dapat dilihat dengan menggunakan perintah sebagai berikut.

 [root@repo ~]# ls /var/www/html/yum/base/17/i386/repodata/
0cf9bcd92b0860a0f9694cef4e9ac61b3451016c485e6a84ead6308e5f452bbc-primary.xml.gz
10388cb545e7f1e0c7010c6d54cb0f962d95b9819c092dea40894a452c92caec-other.xml.gz
8542a2b995d0a870d003ef033a4547bb7243ed48d67f7bccec534c5b9416ea3f-primary.sqlite.bz2
ba0e0de25ddd9200cbf8aee1c15190712eb797becb3f101db3fd64a31f266291-filelists.xml.gz
f79e375a0ce83249ae35d6bc4ee965f8af5d640efe7fc6725e3b5d11768bb194-other.sqlite.bz2
fae8f896b1c073c68472c0374dc78bff6e2109ab8b2bf4ef1f41e7f87b056d2b-filelists.sqlite.bz2
repomd.xml

Sedangkan untuk direktori update, aplikasi-aplikasi dapat dimasukkan dengan menggunakan tool rsync. Perintah yang dapat digunakan adalah sebagai berikut.

[root@repo ~]# rsync -avrt

rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/17/i386/ –exclude=debug/ \ /var/www/html/yum/updates/17/i386

 

Welcome to the ftp-stud.hs-esslingen.de archives.

 

If have any unusual problems, please report them via e-mail to

rsync@ftp-stud.hs-esslingen.de.

 

  All transfers are logged.

  If you don’t like this policy, then disconnect now.

  This server does not support –checksum (-c)

  This server does not support –compress (-z)

 

 

receiving incremental file list

./

0ad-data-0.0.11-3.fc17.noarch.rpm

Konfigurasi Client

Untuk menggunakan Repository Server lokal yang sudah dibangun (dengan IP Address 20.1.1.4), maka pada Client Linux perlu dilakukan konfigurasi untuk mengarahkan pencarian aplikasi pada Repository lokal, tidak lagi menuju Internet.

Perlu dilakukan penambahan beberapa parameter pada file /etc/yum.conf, sehingga file tersebut dapat dilihat sebagai berikut.

 
[root@repo ~]# cat /etc/yum.conf
 
[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://20.1.1.4/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://20.1.1.4/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0

Parameter enable=1 harus dirubah menjadi enable=0 pada beberapa file, seperti berikut.

[root@repo ~]# cat /etc/yum.repos.d/fedora.repo
[fedora]
name=Fedora $releasever – $basearch
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
[fedora-debuginfo]
name=Fedora $releasever – $basearch – Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
[fedora-source]
name=Fedora $releasever – Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
 
[root@repo ~]# cat /etc/yum.repos.d/fedora-updates.repo
[updates]
name=Fedora $releasever – $basearch – Updates
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/$basearch/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
[updates-debuginfo]
name=Fedora $releasever – $basearch – Updates – Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
 
 
 
 
 
 
[updates-source]
name=Fedora $releasever – Updates Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/SRPMS/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
[root@repo ~]#
Share Button

Leave a Reply

Your email address will not be published. Required fields are marked *

*