Bagaimana untuk mengetahui aplikasi mana yang bergantung pada pakej X

Tutorial mini pendek ini muncul sebagai tindak balas terhadap keprihatinan salah seorang pembaca kami, Felipe, yang menulis kepada kami bertanya: «Bagaimana saya dapat mengetahui aplikasi mana yang menggunakan Java?«. Saya rasa tidak ada cara untuk mengetahui itu, tetapi ada cara mudah untuk mengetahui pakej mana (iaitu aplikasi mana) yang disenaraikan di repositori bergantung pada pakej JAVA. Kaedah yang sama dapat digunakan untuk pakej lain, misalnya untuk mengetahui aplikasi mana yang bergantung MONO.


Yang paling biasa adalah ingin mengetahui pakej lain yang mesti dipasang agar pakej X berfungsi dengan baik. Pakej yang diperlukan dipanggil dependensi dan dapat dijumpai seperti ini:

apt-cache bergantung pada pakej saya 

Anda juga boleh pergi ke Synaptic, cari pakej, lakukan klik kanan padanya> Properties> Dependencies.

Walau bagaimanapun, objektif siaran ini adalah untuk mengetahui dengan tepat sebaliknya: pakej mana yang mempunyai pakej X sebagai pergantungan. Dengan kata lain, dalam hal ini kita tahu pakej "ibu" dan kita ingin tahu apa pakej lain yang memerlukan pakej "ibu" ini dipasang untuk berfungsi.

Mari kita beralih kepada contoh untuk memahami perkara ini dengan lebih baik. Mari lihat bagaimana mengesan pakej yang bergantung pada pakej openjdk-6-jre. Dengan kata lain, bagaimana mengesan aplikasi yang disenaraikan di repositori yang bergantung pada JAVA.

Saya membuka terminal dan menulis:

apt-cache bergantung kepada openjdk-6-jre 

Senarai pakej yang panjang akan muncul, termasuk OpenOffice, FreeMind, OpenCol, dll.

Bagaimana untuk mencari pakej "ibu" yang betul?

OK, sejauh ini sangat mudah, tetapi bagaimana saya mengetahui apakah pakej "ibu" berdasarkan yang harus saya cari? Ini memerlukan kepakaran dan analisis terlebih dahulu.

Andaikan saya ingin mengetahui semua aplikasi berasaskan MONO. Dalam kes itu, apa yang saya lakukan adalah mencari kebergantungan aplikasi (GBrainy) yang saya tahu menggunakan MONO dan, berdasarkan itu, mengesan pakej "ibu" dan mencari pergantungan terbalik. Uff, nampaknya sukar tetapi tidak masuk akal.

Saya membuka terminal dan menulis:

apt-cache bergantung kepada otak

Hasilnya adalah:

  Bergantung: masa mono-runtime
 Bergantung: libc6
 Bergantung: libc6.1
  Bergantung: libc0.1
  Bergantung: libglib2.0-cil
  Bergantung: libgtk2.0-0
  Bergantung: libgtk2.0-cil
  Bergantung: liblaunchpad-integrasi1.0-cil
  Bergantung: libmono-addins-gui0.2-cil
  Bergantung: libmono-addins0.2-cil
  Bergantung: libmono-cairo2.0-cil
  Bergantung: libmono-corlib2.0-cil
  Bergantung: libmono-posix2.0-cil
  Bergantung: libmono-system2.0-cil
  Bergantung: librsvg2-2
  Bergantung: mono-csharp-shell

Sepertinya waktu mono-runtime boleh menjadi calon yang baik, jadi saya memutuskan untuk mencari semua pakej yang bergantung pada waktu mono-runtime:

apt-cache bergantung pada masa mono-run

Voila! Semua pakej yang menggunakan MONO muncul.

Untuk melihat senarai lengkap semua pakej yang bergantung pada beberapa pakej MONO, kami mungkin menulis:

apt-cache bergantung kepada mono *
Catatan: kaedah ini hanya berfungsi untuk aplikasi yang disenaraikan di repositori APT.
Terima kasih Feli!

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Philip Becerra kata

    Terima kasih kerana menjawab Pablo, dan terima kasih untuk siaran 🙂

  2.   Saito Mordraw kata

    Pablo awak idola saya!

    Pos yang sangat baik.

  3.   Mari gunakan Linux kata

    Hebat! Terima kasih atas data!

  4.   licik kata

    Bagi kita yang menggunakan agihan kasar ………… jenaka

    bagi mereka yang menggunakan pengurus pakej berasaskan RPM arahan ini digunakan

    pakej 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.so.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