จะทราบได้อย่างไรว่าแอปพลิเคชันใดขึ้นอยู่กับแพ็คเกจ X

มินิบทช่วยสอนสั้น ๆ นี้ปรากฏเป็น ตอบสนองต่อความกังวลของผู้อ่านคนหนึ่งของเราเฟลิเป้ใครเขียนถึงเราถามว่า: «ฉันจะรู้ได้อย่างไรว่าแอปพลิเคชันใดใช้ Java«. ฉันไม่คิดว่าจะมีวิธีรู้ แต่มีวิธีง่ายๆที่จะรู้ แพ็กเกจใด (นั่นคือแอปพลิเคชันใด) ที่แสดงรายการในที่เก็บจะขึ้นอยู่กับแพ็คเกจ JAVA. สามารถใช้วิธีเดียวกันนี้กับแพ็กเกจอื่น ๆ ได้เช่นเพื่อค้นหาว่าแอปพลิเคชันใดขึ้นอยู่กับ MONO.


สิ่งที่พบบ่อยที่สุดคือต้องการค้นหาว่าต้องติดตั้งแพ็คเกจอะไรอีกบ้างเพื่อให้แพ็คเกจ X ทำงานได้ดี แพ็กเกจที่ต้องการเหล่านี้เรียกว่าการอ้างอิงและสามารถค้นหาได้ดังนี้:

apt-cache ขึ้นอยู่กับแพ็คเกจของฉัน 

คุณยังสามารถไปที่ Synaptic ค้นหาแพ็คเกจทำ คลิกขวาที่มัน> Properties> Dependencies.

อย่างไรก็ตามวัตถุประสงค์ของโพสต์นี้คือการค้นหาสิ่งที่ตรงกันข้าม: แพ็คเกจใดที่มีแพ็คเกจ X เป็นแบบพึ่งพา กล่าวอีกนัยหนึ่งในกรณีนี้เรารู้จักแพ็กเกจ "แม่" และเราต้องการทราบว่าแพ็กเกจอื่น ๆ ต้องการให้แพ็กเกจ "แม่" นี้ติดตั้งใช้งานได้อย่างไร

มาดูตัวอย่างเพื่อทำความเข้าใจเรื่องนี้ให้ดีขึ้น มาดูวิธีตรวจจับแพ็คเกจที่ขึ้นอยู่กับแพ็คเกจ openjdk-6-jre กล่าวอีกนัยหนึ่งวิธีตรวจจับแอปพลิเคชันเหล่านั้นที่แสดงรายการในที่เก็บที่ขึ้นอยู่กับ JAVA

ฉันเปิดเทอร์มินัลและเขียนว่า:

apt-cache rd ขึ้นอยู่กับ openjdk-6-jre 

รายการแพ็กเกจยาว ๆ จะปรากฏขึ้นรวมถึง OpenOffice, FreeMind, OpenCol และอื่น ๆ

วิธีการค้นหา "แม่" แพคเกจที่ถูกต้อง?

ตกลงง่ายมาก แต่ฉันจะค้นหาแพ็คเกจ "แม่" ตามที่ฉันควรค้นหาได้อย่างไร สิ่งนี้ต้องใช้ความเชี่ยวชาญและการวิเคราะห์ก่อน

สมมติว่าฉันต้องการทราบแอปพลิเคชันที่ใช้ MONO ทั้งหมด ในกรณีนั้นสิ่งที่ฉันทำคือมองหาการอ้างอิงของแอปพลิเคชัน (GBrainy) ที่ฉันรู้ว่าใช้ MONO และจากนั้นตรวจจับแพ็คเกจ "แม่" และมองหาการอ้างอิงผกผัน Uff ดูเหมือนยาก แต่มันเป็นเรื่องไร้สาระ

ฉันเปิดเทอร์มินัลและเขียนว่า:

apt-cache ขึ้นอยู่กับ gbrainy

ผลลัพธ์มีดังนี้:

  ขึ้นอยู่กับ: โมโนรันไทม์
 | ขึ้นอยู่กับ: libc6
 | ขึ้นอยู่กับ: libc6.1
  ขึ้นอยู่กับ: libc0.1
  ขึ้นอยู่กับ: libglib2.0-cil
  ขึ้นอยู่กับ: libgtk2.0-0
  ขึ้นอยู่กับ: libgtk2.0-cil
  ขึ้นอยู่กับ: liblaunchpad-integration1.0-cil
  ขึ้นอยู่กับ: libmono-addins-gui0.2-cil
  ขึ้นอยู่กับ: libmono-addins0.2-cil
  ขึ้นอยู่กับ: libmono-cairo2.0-cil
  ขึ้นอยู่กับ: libmono-corlib2.0-cil
  ขึ้นอยู่กับ: libmono-posix2.0-cil
  ขึ้นอยู่กับ: libmono-system2.0-cil
  ขึ้นอยู่กับ: librsvg2-2
  ขึ้นอยู่กับ: mono-csharp-shell

สำหรับฉันแล้วดูเหมือนว่า mono-runtime อาจเป็นตัวเลือกที่ดีดังนั้นฉันจึงตัดสินใจค้นหาแพ็คเกจทั้งหมดที่ขึ้นอยู่กับ mono-runtime:

apt-cache rd ขึ้นอยู่กับ mono-runtime

โวลา! แพ็กเกจทั้งหมดที่ใช้ MONO จะปรากฏขึ้น

หากต้องการดูรายการแพ็คเกจทั้งหมดที่ขึ้นอยู่กับแพ็คเกจ MONO เราสามารถเขียน:

apt-cache rd ขึ้นอยู่กับโมโน *
หมายเหตุ: วิธีนี้ใช้ได้กับแอปพลิเคชันที่แสดงรายการในที่เก็บ APT เท่านั้น
ขอบคุณเฟลิ!

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   เฟลิเป้ Becerra dijo

    ขอบคุณสำหรับการตอบรับ Pablo และขอบคุณสำหรับโพสต์🙂

  2.   ไซโตะ มอร์เดรก dijo

    Pablo คุณคือไอดอลของฉัน!

    โพสต์ที่ยอดเยี่ยม

  3.   มาใช้ Linux กันเถอะ dijo

    เยี่ยมมาก! ขอบคุณสำหรับข้อมูล!

  4.   คราฟตี้ dijo

    สำหรับพวกเราที่ใช้การแจกแจงขั้นต้น…………

    สำหรับผู้ที่ใช้โปรแกรมจัดการแพ็คเกจที่ใช้ RPM คำสั่งนี้จะใช้

    rpm -qR แพ็คเกจ

    ตัวอย่าง:

    linux @ dhcppc3: ~> รอบต่อนาที -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