Tiap kali menggunakan Ubuntu atau Debian, saya selalu menggunakan repositori online saat perlu memasang paket/aplikasi tertentu (software). Perintah apt-get
atau aptitude
akan otomatis mengunduh instaler paket dari repositori di Internet. Memang perlu koneksi internet tiap kali akan memasang paket. Dulu saat saya masih kesulitan mendapat akses internet, saya mengoleksi banyak CD/DVD repositori Ubuntu. Kalau tidak salah ingat dulu Ubuntu 7.04 punya 5 atau 6 CD repositori. Debian lebih fantastis lagi, jumlah CD repositorinya sampai puluhan. DVD Debian terbaru versi 7.4.0 jumlahnya sampai 9 buah. Sangat tidak praktis mengoleksi semua DVD repositori tadi. Menggunakan media CD/DVD tentu rentan hilang, rusak tidak bisa terbaca, dan repot karena harus menggonta-ganti CD/DVD saat memasang paket tertentu. Memang masih bisa diakali dengan menyimpan ISO image dari CD/DVD tadi, tapi ini juga tidak praktis karena membutuhkan ruang yang cukup besar dalam harddisk.
Dulu saya pernah tulis cara menjadikan DVD Ubuntu Linux sebagai sumber repositori lokal. Tadi saya kembali ingat hal ini saat menginstal Red Hat Linux. Tidak seperti Debian atau Ubuntu, Red Hat Enterprise Linux (RHEL) menyediakan online repositori hanya bagi pengguna yang membeli lisensinya. Namun demikian saya masih tetap bisa menggunakan DVD instalasi sebagai repositori lokal. Saya tidak tahu persisnya, aplikasi apa yang tidak tersedia dalam DVD & hanya bisa didapat dari online repositori resminya RHEL.
Tulisan ini akan jadi catatan saya untuk menjadikan DVD instalasi RHEL 6.4 sebagai repositori lokal.
Tadi saya menginstal virtual mesin dengan hostname redhat6
, mesin ini menggunakan RHEL 6.4
[root@redhat6 ~]# uname -a Linux redhat6 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux [root@redhat6 ~]# [root@redhat6 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago) [root@redhat6 ~]#
Tanpa repositori lokal saya tidak bisa memasang paket nmap
. Saat mencoba mencari paket nmap
saya mendapati error seperti ini :
[root@redhat6 yum.repos.d]# yum search nmap Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Warning: No matches found for: nmap No Matches found [root@redhat6 yum.repos.d]#
RHEL menempatkan konfigurasi repositori dalam direktori /etc/yum.repos.d
:
[root@redhat6 ~]# cd /etc/yum.repos.d/ [root@redhat6 yum.repos.d]# ls rhel-source.repo [root@redhat6 yum.repos.d]#
Ada 1 berkas konfigurasi bawaan proses instalasi OS seperti berikut ini :
[root@redhat6 yum.repos.d]# cat rhel-source.repo [rhel-source] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [rhel-source-beta] name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [root@redhat6 yum.repos.d]#
Karena saya ingin menjadikan DVD instalasi RHEL sebagai repositori lokal, tentu langkah pertama adalah mengakses DVDnya terlebih dulu. Saya mount DVD RHEL 6.4 ke direktori /mnt
:
[root@redhat6 yum.repos.d]# mount -o loop /dev/cdrom /mnt [root@redhat6 yum.repos.d]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_redhat6-lv_root 5.5G 931M 4.3G 18% / tmpfs 499M 0 499M 0% /dev/shm /dev/sda1 485M 33M 427M 8% /boot /dev/sr0 3.5G 3.5G 0 100% /mnt [root@redhat6 yum.repos.d]#
Langkah selanjutnya saya buat berkas konfigurasi baru, saya pilih nama iso-rhel6.repo
. Tiap berkas konfigurasi repositori boleh menggunakan nama apa saja asalkan diakhiri dengan *.repo
.
[root@redhat6 yum.repos.d]# vi iso-rhel6.repo [ISO_RHEL64] name=ISO RHEL64_x86_64 baseurl=file:///mnt enabled=1 gpgcheck=0 [root@redhat6 yum.repos.d]#
Isi berkasnya paling tidak harus terdiri dari id
, name
& baseurl
. ID dituliskan dalam tanda kurung kotak [ISO_RHEL64]
. Sejauh yang saya tahu tidak ada aturan khusus untuk memilih ID repo tadi. Pada contoh di atas, baseurl
saya arahkan untuk mengakses direktori /mnt
(mountpoint DVD). Selanjutnya saya tinggal jalankan 2 perintah seperti berikut ini :
[root@redhat6 yum.repos.d]# yum clean all Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Cleaning repos: ISO_RHEL64 Cleaning up Everything [root@redhat6 yum.repos.d]# yum repolist Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. ISO_RHEL64 | 3.9 kB 00:00 ... ISO_RHEL64/primary_db | 3.1 MB 00:00 ... repo id repo name status ISO_RHEL64 ISO RHEL64_x86_64 3,648 repolist: 3,648 [root@redhat6 yum.repos.d]#
Setelah sistem selesai membuat repositori lokal, saya bisa memeriksanya dengan perintah yum repolist
seperti contoh berikut ini :
[root@redhat6 yum.repos.d]# yum repolist Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. repo id repo name status ISO_RHEL64 ISO RHEL64_x86_64 3,648 repolist: 3,648 [root@redhat6 yum.repos.d]#
Artinya sekarang sistem sudah punya repositori lokal dengan nama “ISO RHEL64_x86_64”. Untungnya paket nmap
tersedia dalam DVD ini :
[root@redhat6 yum.repos.d]# yum search nmap Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. =============================================================================== N/S Matched: nmap =============================================================================== nmap.x86_64 : Network exploration tool and security scanner Name and summary matches only, use "search all" for everything. [root@redhat6 yum.repos.d]#
Dengan begitu saya tinggal menggunakan perintah yum install
untuk memasang nmap
, yum
akan mengambil berkas sumber nmap
dari DVD bukan dari Internet :
[root@redhat6 yum.repos.d]# yum install nmap Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package nmap.x86_64 2:5.51-2.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================= Installing: nmap x86_64 2:5.51-2.el6 ISO_RHEL64 2.8 M Transaction Summary ================================================================================================================================================================================= Install 1 Package(s) Total download size: 2.8 M Installed size: 9.7 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 2:nmap-5.51-2.el6.x86_64 1/1 ISO_RHEL64/productid | 1.7 kB 00:00 ... Verifying : 2:nmap-5.51-2.el6.x86_64 1/1 Installed: nmap.x86_64 2:5.51-2.el6 Complete! [root@redhat6 yum.repos.d]#
CentOS sebagai salah satu varian open source Red Hat, langsung menyediakan repositori online sejak awal instalasi. Pada contoh di bawah ini terlihat CentOS langsung mendeteksi lokasi repositori online yang paling cepat diakses :
[root@centos ~]# uname -a Linux centos 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@centos ~]# [root@centos ~]# cat /etc/redhat-release CentOS release 6.4 (Final) [root@centos ~]# [root@centos ~]# yum repolist Loaded plugins: fastestmirror, security Determining fastest mirrors * base: mirror.axarva.co.id * extras: mirror.axarva.co.id * updates: mirror.axarva.co.id base | 3.7 kB 00:00 base/primary_db | 4.4 MB 00:10 extras | 3.4 kB 00:00 extras/primary_db | 19 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 2.5 MB 00:03 repo id repo name status base CentOS-6 - Base 6,367 extras CentOS-6 - Extras 14 updates CentOS-6 - Updates 718 repolist: 7,099 [root@centos ~]# [root@centos ~]# yum search nmap Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirror.axarva.co.id * extras: mirror.axarva.co.id * updates: mirror.axarva.co.id =============================================================================== N/S Matched: nmap =============================================================================== nmap-frontend.noarch : The GTK+ front end for nmap nmap.x86_64 : Network exploration tool and security scanner Name and summary matches only, use "search all" for everything. [root@centos ~]#
Saya juga bisa pakai cara yang sama untuk menjadikan DVD instalasi CentOS sebagai repositori lokal. Untuk testing, saya pindahkan dulu konfigurasi repositorinya CentOS ke dalam folder backup
:
[root@centos ~]# mkdir /etc/yum.repos.d/backup [root@centos ~]# mv /etc/yum.repos.d/*repo /etc/yum.repos.d/backup [root@centos ~]#
Selanjutnya sama persis seperti sudah ditulis di atas :
[root@centos ~]# mount -o loop /dev/cdrom /mnt [root@centos ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_centos-lv_root 3.6G 844M 2.6G 25% / tmpfs 939M 0 939M 0% /dev/shm /dev/sda1 485M 37M 423M 8% /boot /dev/sr0 4.1G 4.1G 0 100% /mnt [root@centos ~]# [root@centos ~]# vi /etc/yum.repos.d/iso-centos64.repo [ISO_CentOS64] name=ISO CentOS64_x86_64 baseurl=file:///mnt gpgcheck=0 [root@centos ~]# [root@centos ~]# yum repolist Loaded plugins: fastestmirror, security Determining fastest mirrors ISO_CentOS64 | 4.0 kB 00:00 ... ISO_CentOS64/primary_db | 4.4 MB 00:00 ... repo id repo name status ISO_CentOS64 ISO CentOS64_x86_64 6,381 repolist: 6,381 [root@centos ~]# [root@centos ~]# yum install -q nmap ================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================= Installing: nmap x86_64 2:5.51-2.el6 ISO_CentOS64 2.7 M Transaction Summary ================================================================================================================================================================================= Install 1 Package(s) Is this ok [y/N]: y [root@centos ~]#