Pengikut Blog

Masalah Dependensi RPM

Ditulis oleh Wiryadi 2006/04/21


Bagi Linuxer pemula, salah satu halangan dalam menggunakan Linux adalah menginstalasi paket RPM. Mungkin yang pertama kita bisa membahas langkah-langkah menginstalasi paket RPM.

Perintah yang dapat digunakan untuk menginstalasi sebuah paket RPM adalah:
# rpm -ivh [paketRPM]

atau jika paket yang ingin diinstalasi lebih dari satu, gunakan perintah:
# rpm -ivh [paketRPM 1] [paketRPM 2] [paketRPM 3] dst

Kalau paket tersebut sudah ada dan ingin mengupgrade, gunakan perintah:
# rpm -Uvh [paketRPM]

Nah, mending kalau paket tersebut bisa langung terinstalasi dengan baik. Bagaimana kalau ternyata paket RPM tersebut membutuhkan paket-paket dependensi?
Nah, saya ada skrip BASH kecil yang bisa digunakan untuk mencari tahu paket-paket apa aja yang menjadi dependensi dari paket yang ingin diinstalasi:

#!/bin/bash
# Program kecil memeriksa dependensi paket RPM

if [ $1 ]; then
for i in $( rpm -q --requires -p $1 );
do
j=$( rpm -q --whatprovides $i )
j=${j%%-*}
j=${j%% *}
if [ $j = "no" ]; then
for k in $( rpm -q --whatprovides $i );
do
k=$k
done
l=$k
l=${l%-*.*}
l=${l%%.*}
if [ ${l%(*} != "rpmlib" ]; then
if [ ${l%(*} != "config" ]; then
if [ $l != "<=" ]; then
if [ $l != ">=" ]; then
if [ $l != "=" ]; then
if [ $l != "0" ]; then
if [ $l != "1" ]; then
if [ $l != "2" ]; then
if [ $l != "3" ]; then
if [ $l != "4" ]; then
if [ $l != "5" ]; then
if [ $l != "6" ]; then
if [ $l != "7" ]; then
if [ $l != "8" ]; then
if [ $l != "9" ]; then
for x in $( rpm -qa | grep $l );
do
y=${x%-*-*}
if [ "$y" = "$l" ]; then
z1=true
fi
done
if [ $z1 ]; then
echo "paket '$l' sudah terinstalasi"
else
echo "paket '$l' belum terinstalasi"
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
if [ $j != "no" ]; then
for k in $( rpm -q --whatprovides $i );
do
l=${k%-*-*}
for x in $( rpm -qa | grep $l );
do
y=${x%-*-*}
if [ "$y" = "$l" ]; then
z2=true
fi
done
if [ $z2 ]; then
echo "paket '$l' sudah terinstalasi"
else
echo "paket '$l' belum terinstalasi"
fi
done
fi
done
else
echo "jalankan perintah: cekDep [paket RPM]"
fi

Ketik skrip tersebut dengan menggunakan aplikasi teks editor, kemudian simpan dengan nama file "cekDep". Kemudian, ubah atributnya agar bisa dieksekusi dari konsol, dengan perintah:
# chmod +x cekDep

Kemudian, taruh file tersebut ke direktori /bin, agar bisa dijalankan dari mana saja:
# cp cekDep /bin/

Nah, sekarang jika ingin menginstalasi paket RPM, jalankan perintah:
# cekDep [paketRPM]

Maka, akan menghasilkan keluaran paket-paket dependensi dari paket RPM tersebut. Sekarang Anda bisa langsung mengetahui paket-paket dependensi apa saja yang diperlukan.

Skrip tersebut masih sederhana, jika ada yang mengembangkan menjadi lebih baik, bagi dong buat kita-kita!

, , , | edit post

1 Responses to Masalah Dependensi RPM

  1. Priyadi Says:
  2. skripnya gak ngecek dependency dari dependency. sebenernya cukup install paket rpmdb-fedora (untuk fedora), nanti rpm akan bilang paket apa aja yang diperlukan. itu kalo rpm-nya berasal dari fedora.

     

Tentang Penulis

Label

Catatan

Semua tulisan pada blog ini bersifat bebas dan terbuka di bawah lisensi GNU Free Documentation License (FDL).

Semua trademark (logo, nama, sandi, tulisan) yang hadir di blog ini adalah hak milik dari pemiliknya masih-masing.
All trademarks are the property of their respective owners.

Valid HTML 4.01 Transitional

Creative Commons License

IP

Hits

hit counter for blogger

Site Meter