Repositori Lokal DVD RHEL

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 ~]#

Leave a Reply