Mini-tutorial singkat ini muncul sebagai menanggapi kepedulian salah satu pembaca kami, Felipe, yang menulis kepada kami menanyakan: «Bagaimana saya tahu aplikasi mana yang menggunakan Java?«. Saya rasa tidak ada cara untuk mengetahuinya, tapi ada cara sederhana untuk mengetahuinya paket mana (yaitu, aplikasi mana) yang terdaftar dalam repositori bergantung pada paket JAVA. Metode yang sama dapat digunakan untuk paket lain, misalnya untuk mengetahui aplikasi mana yang bergantung MONO. |
Yang paling umum adalah ingin mengetahui paket lain apa yang harus diinstal agar paket X berfungsi dengan baik. Paket-paket yang dibutuhkan itu disebut dependensi dan dapat ditemukan seperti ini:
apt-cache tergantung paket saya
Anda juga dapat pergi ke Synaptic, temukan paketnya, lakukan klik kanan padanya> Properties> Dependencies.
Namun, tujuan dari posting ini adalah untuk mengetahui kebalikannya: paket mana yang memiliki paket X sebagai dependensi. Dengan kata lain, dalam hal ini kita tahu paket "mother" dan kita ingin tahu paket lain apa yang mengharuskan paket "mother" ini diinstal agar bisa bekerja.
Mari beralih ke contoh untuk lebih memahami masalah ini. Mari kita lihat cara mendeteksi paket yang bergantung pada paket openjdk-6-jre. Dengan kata lain, cara mendeteksi aplikasi yang terdaftar di repositori, yang bergantung pada JAVA.
Saya membuka terminal dan menulis:
apt-cache rtergantung pada openjdk-6-jre
Daftar panjang paket akan muncul, termasuk OpenOffice, FreeMind, OpenCol, dll.
Bagaimana menemukan paket "ibu" yang benar?
Oke, sejauh ini sangat mudah, tetapi bagaimana cara mengetahui paket "ibu" yang harus saya cari? Nah, ini membutuhkan keahlian dan analisis sebelumnya.
Misalkan saya ingin mengetahui semua aplikasi berbasis MONO. Dalam hal ini, yang saya lakukan adalah mencari dependensi aplikasi (GBrainy) yang saya tahu menggunakan MONO dan, berdasarkan itu, mendeteksi paket "mother" dan mencari dependensi terbalik. Uff, sepertinya sulit tapi itu tidak masuk akal.
Saya membuka terminal dan menulis:
apt-cache tergantung gbrainy
Hasilnya adalah sebagai berikut:
Tergantung: mono-runtime
| Tergantung: libc6
| Tergantung: libc6.1
Tergantung: libc0.1
Tergantung: libglib2.0-cil
Tergantung: libgtk2.0-0
Tergantung: libgtk2.0-cil
Tergantung: liblaunchpad-integration1.0-cil
Tergantung: libmono-addins-gui0.2-cil
Tergantung: libmono-addins0.2-cil
Tergantung: libmono-cairo2.0-cil
Tergantung: libmono-corlib2.0-cil
Tergantung: libmono-posix2.0-cil
Tergantung: libmono-system2.0-cil
Tergantung: librsvg2-2
Tergantung: mono-csharp-shell
Bagi saya, mono-runtime bisa menjadi kandidat yang baik, jadi saya memutuskan untuk mencari semua paket yang bergantung pada mono-runtime:
apt-cache r bergantung pada mono-runtime
Voila! Semua paket yang menggunakan MONO muncul.
Untuk melihat daftar lengkap semua paket yang bergantung pada beberapa paket MONO, kami dapat menulis:
apt-cache rdepends mono *
Terima kasih telah menjawab Pablo, dan terima kasih atas kirimannya 🙂
Pablo kamu idola saya!
Posting yang bagus.
Bagus! Terima kasih untuk datanya!
Bagi kita yang menggunakan distribusi kotor ………… lelucon
bagi mereka yang menggunakan manajer paket berbasis RPM perintah ini digunakan
rpm -qR
Contoh:
linux @ dhcppc3: ~> rpm -qR xmms
/ Bin / sh
/ Bin / sh
rpmlib (PayloadFilesHavePrefix) <= 4.0-1
rpmlib (CompressedFileNames) <= 3.0.4-1
libICE.so.6
libSM.jadi.6
libX11.so.6
libXxf86vm.so.1
libc.so.6
libc.so.6 (GLIBC_2.0)
libc.so.6 (GLIBC_2.1)
libc.so.6 (GLIBC_2.3)
libc.so.6 (GLIBC_2.3.4)
libc.so.6 (GLIBC_2.4)
libc.so.6 (GLIBC_2.7)
libdl.so.2
libdl.so.2 (GLIBC_2.0)
libdl.so.2 (GLIBC_2.1)
libgdk-1.2..so.0
libglib-1.2.so.0
libgthread-1.2.so.0
libgtk-1.2.so.0
libpthread.so.0
libpthread.so.0 (GLIBC_2.0)
libpthread.so.0 (GLIBC_2.1)
libpthread.so.0 (GLIBC_2.3.2)
libxmms.so.1
rpmlib (PayloadIsLzma) <= 4.4.6-1