Menambah Paket dari Repository pada Fedora

Siapa yang belum mengenal Fedora? Distro Linux yang satu ini memang pantas untuk diperhitungkan pada jajaran distro-distro linux lainnya. Alasannya antara lain karena keandalannya saat digunakan menjadi server. Memang distro ini masih membawa sifat pendahulunya, Red Hat. Pada awal kemunculannya Red Hat sudah menempati kelas tertinggi sebagai distro yang sangat mendukung aplikasi server dan terus dikembangkan. Hingga pada suatu saat pihak Red Hat memutuskan untuk menghentikan dukungannya untuk Komunitas Open Source. Tetapi langkah tersebut diikuti dengan dibentuknya suatu komunitas dibawah bendera Red Hat namun dengan nama project yang berbeda, yaitu Fedora Project. Fedora Project mengembangkan Distro Fedora Core 1 sampai 6 dan sampai saat ini bernama Fedora 7. Paket yang disertakan tidak jauh berbeda dengan distribusi Red Hat .
Saya kenalan dengan Fedora sejak rilis Fedora Core 4. Ketika itu saya membeli buku karya seorang ‘hacker’ yang cukup tersohor di negeri ini. Dari buku itu, saya mendapat banyak pencerahan dari kegelapan saat karena memang saat itu awal-awalnya saya mencoba Linux. Ternyata, materi dari Fedora Core 6 dapat saya aplikasikan pada distro lain karena memang perbedaannya tidak terlalu signifikan.
Mungkin pendahuluannya cukup sampai situ. Saya akan mendongeng lagi lain waktu. Sekarang masuk ke inti tulisan ini. Sebenarnya sederhana, saat pertama kali menginstall distro Fedora (mengenai cara instalasinya mudah-mudahan dapat saya tulis pada artikel lain) maka kita akan memiliki beberapa software yang berasal dari CD/DVD sumber. Namun tidak semua aplikasi tercakup disitu. Masih banyak software lain yang dikumpulkan pada suatu media. Media itulah yang bernama Repository. Repository (repo) dapat berupa CD, DVD, ataupun suatu link di internet. Bila kita akan menambahkan paket yang belum kita miliki, maka kita harus menginstallnya dari repo. Pada contoh ini akan digunakan repo berupa DVD yang saya dapatkan dari suatu majalah Linux.
Berikut langkah-langkahnya :
Buka Console atau Terminal kemudian login sebagai root agar dapat melakukan instalasi. Lalu ikuti command berikut ini :
Memindahkan file konfigurasi repository ke file sementara.

[root@localhost ~]# mv /etc/yum.repos.d/ /etc/temp-yum.repos.d

Kemudian kita menginstall paket yang bernama createrepo.

[root@localhost ~]# cp /media/FedoraCore-6/Fedora/RPMS/createrepo-0.4.4-2.fc6.noarch.rpm /data/Software/linux/
 [root@localhost ~]# mv /etc/temp-yum.repos.d/ /etc/yum.repos.d
 [root@localhost ~]# rpm -ivh /data/Software/linux/createrepo-0.4.4-2.fc6.noarch.rpm
 warning: /data/Software/linux/createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
 Preparing... ########################################### [100%]
 1:createrepo ########################################### [100%]

Lalu kita mulai membuat database repository dari kumpulan software yang sebelumnya sudah dicopy ke harddisk.

[root@localhost ~]# createrepo /data/rpms/
 2242/2242 - zsh-html-4.2.6-1.i386.rpm
 Saving Primary metadata
 Saving file lists metadata
 Saving other metadata

Pada tahap ini berdoalah semoga tidak mati lampu dan baterai laptop anda habis , atau anda akan mengulanginya dari awal. Sekarang anda bisa menuggunya, mungkin sambil mencuci pakaian karena memang prosesnya agak lama.

Pindahkan kembali file kita backup di awal.

[root@localhost ~]# mv /etc/yum.repos.d/ /etc/temp-yum.repos.d
 You have mail in /var/spool/mail/root

Sampai pada langkah ini, kita sudah memiliki database repo yang dapat kita gunakan sewaktu-waktu saat ingin menambah paket untuk Fedora kita.

Kali ini saya mencoba mencontohkan menambah paket GNU C Compiler (GCC) untuk keperluan programming dan compiling. Caranya sebagai berikut:

 [root@localhost ~]# yum install gcc gcc-c++ gcc-objc gcc-objc++ cpp pkgconfig compat-libstdc++-33
 Loading "installonlyn" plugin
 Setting up Install Process
 Setting up repositories
 installer 100% |=========================| 951 B 00:00
 Reading repository metadata in from local files
 primary.xml.gz 100% |=========================| 656 kB 00:00
 ################################################## 2242/2242
 Parsing package install arguments
 Resolving Dependencies
 --> Populating transaction set with selected packages. Please wait.
 ---> Downloading header for gcc to pack into transaction set.
 gcc-4.1.1-30.i386.rpm 100% |=========================| 51 kB 00:00
 ---> Package gcc.i386 0:4.1.1-30 set to be updated
 ---> Downloading header for gcc-c++ to pack into transaction set.
 gcc-c++-4.1.1-30.i386.rpm 100% |=========================| 44 kB 00:00
 ---> Package gcc-c++.i386 0:4.1.1-30 set to be updated
 ---> Downloading header for gcc-objc++ to pack into transaction set.
 gcc-objc++-4.1.1-30.i386. 100% |=========================| 41 kB 00:00
 ---> Package gcc-objc++.i386 0:4.1.1-30 set to be updated
 ---> Downloading header for gcc-objc to pack into transaction set.
 gcc-objc-4.1.1-30.i386.rp 100% |=========================| 44 kB 00:00
 ---> Package gcc-objc.i386 0:4.1.1-30 set to be updated
 ---> Downloading header for compat-libstdc++-33 to pack into transaction set.
 compat-libstdc++-33-3.2.3 100% |=========================| 7.4 kB 00:00
 ---> Package compat-libstdc++-33.i386 0:3.2.3-61 set to be updated
 --> Running transaction check
 --> Processing Dependency: libstdc++-devel = 4.1.1-30 for package: gcc-c++
 --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc
 --> Processing Dependency: libobjc.so.1 for package: gcc-objc
 --> Processing Dependency: libobjc = 4.1.1-30 for package: gcc-objc
 --> Processing Dependency: libgomp = 4.1.1-30 for package: gcc
 --> Processing Dependency: libgomp.so.1 for package: gcc
 --> Restarting Dependency Resolution with new changes.
 --> Populating transaction set with selected packages. Please wait.
 ---> Downloading header for libstdc++-devel to pack into transaction set.
 libstdc++-devel-4.1.1-30. 100% |=========================| 122 kB 00:00
 ---> Package libstdc++-devel.i386 0:4.1.1-30 set to be updated
 ---> Downloading header for libgomp to pack into transaction set.
 libgomp-4.1.1-30.i386.rpm 100% |=========================| 42 kB 00:00
 ---> Package libgomp.i386 0:4.1.1-30 set to be updated
 ---> Downloading header for libobjc to pack into transaction set.
 libobjc-4.1.1-30.i386.rpm 100% |=========================| 41 kB 00:00
 ---> Package libobjc.i386 0:4.1.1-30 set to be updated
 ---> Downloading header for glibc-devel to pack into transaction set.
 glibc-devel-2.5-3.i386.rp 100% |=========================| 103 kB 00:00
 ---> Package glibc-devel.i386 0:2.5-3 set to be updated
 --> Running transaction check
 --> Processing Dependency: glibc-headers = 2.5-3 for package: glibc-devel
 --> Processing Dependency: glibc-headers for package: glibc-devel
 --> Restarting Dependency Resolution with new changes.
 --> Populating transaction set with selected packages. Please wait.
 ---> Downloading header for glibc-headers to pack into transaction set.
 glibc-headers-2.5-3.i386. 100% |=========================| 136 kB 00:00
 ---> Package glibc-headers.i386 0:2.5-3 set to be updated
 --> Running transaction check
Dependencies Resolved
=============================================================================
 Package Arch Version Repository Size
 =============================================================================
 Installing:
 compat-libstdc++-33 i386 3.2.3-61 installer 232 k
 gcc i386 4.1.1-30 installer 4.7 M
 gcc-c++ i386 4.1.1-30 installer 3.3 M
 gcc-objc i386 4.1.1-30 installer 2.5 M
 gcc-objc++ i386 4.1.1-30 installer 2.7 M
 Installing for dependencies:
 glibc-devel i386 2.5-3 installer 2.0 M
 glibc-headers i386 2.5-3 installer 602 k
 libgomp i386 4.1.1-30 installer 62 k
 libobjc i386 4.1.1-30 installer 83 k
 libstdc++-devel i386 4.1.1-30 installer 9.5 M
Transaction Summary
 =============================================================================
 Install 10 Package(s)
 Update 0 Package(s)
 Remove 0 Package(s)
Total download size: 26 M
 Is this ok [y/N]: y
 Downloading Packages:
 Running Transaction Test
 warning: compat-libstdc++-33-3.2.3-61: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
 Finished Transaction Test
 Transaction Test Succeeded
 Running Transaction
 Installing: libobjc ####################### [ 1/10]
 Installing: libgomp ####################### [ 2/10]
 Installing: libstdc++-devel ####################### [ 3/10]
 Installing: glibc-headers ####################### [ 4/10]
 Installing: glibc-devel ####################### [ 5/10]
 Installing: gcc ####################### [ 6/10]
 Installing: gcc-objc ####################### [ 7/10]
 Installing: gcc-c++ ####################### [ 8/10]
 Installing: compat-libstdc++-33 ####################### [ 9/10]
 Installing: gcc-objc++ ####################### [10/10]
Installed: compat-libstdc++-33.i386 0:3.2.3-61 gcc.i386 0:4.1.1-30 gcc-c++.i386 0:4.1.1-30 gcc-objc.i386 0:4.1.1-30 gcc-objc++.i386 0:4.1.1-30
 Dependency Installed: glibc-devel.i386 0:2.5-3 glibc-headers.i386 0:2.5-3 libgomp.i386 0:4.1.1-30 libobjc.i386 0:4.1.1-30 libstdc++-devel.i386 0:4.1.1-30
 Complete!

Akhirnya setelah penantian yang cukup mendebarkan, selesai juga kita menambahkan paket GCC dan sekarang kita bisa segera mulai programming. Yeah.. Linux Programming..!! (mudah-mudahan saya sempat juga untuk membahasnya).
Sementara cukup sekian yang dapat saya sampaikan, mudah-mudahan berguna dan mohon maaf bila ada ‘salah-salah kata’.

Wassalam.

31-10-07

PROUDLY PRESENT FOR

 _________ __________________________
 ___ ____/_____________ _____ __ ____/__ ___/__ ____/
 __ /_ __ ___/_ _ \_ _ \_ / _____ \ _ / __
 _ __/ _ / / __// __// /___ ____/ / / /_/ /
 /_/ /_/ \___/ \___/ \____/ /____/ \____/

F R E E C O M P U T E R S T U D Y G R O U P

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: