Apt สามารถลบแพ็คเกจที่ซอฟต์แวร์ต้องการซึ่งผู้ใช้ติดตั้งจากแหล่งที่มาได้หรือไม่?


14

Aptจัดการการพึ่งพาระหว่างแพ็กเกจที่ติดตั้งจากที่เก็บหรือ*.debไฟล์ อย่างไรก็ตามสิ่งที่เกี่ยวกับซอฟต์แวร์ที่ผู้ใช้รวบรวมและติดตั้งจากแหล่งที่มี./configure && make && make installโดยไม่ต้องสร้าง.debไฟล์ก่อน เป็นไปได้ไหมที่Aptสามารถลบแพ็คเกจที่ต้องการโดยซอฟต์แวร์ดังกล่าวได้? จะติดตั้งซอฟต์แวร์จากแหล่งที่มา/optหรือ/usr/localสร้างความแตกต่าง?


1
คุณสามารถติดตั้งแพคเกจ equivs เป็นสแตนอินสำหรับแพ็คเกจที่ติดตั้งจากแหล่งที่มาเพื่อบังคับให้การพึ่งพาของคุณจะยังคงติดตั้ง
Faheem Mitha

คำตอบ:


13

APT ไม่รู้อะไรเกี่ยวกับซอฟต์แวร์ที่ติดตั้งด้วยตนเอง ไม่ทราบว่าไลบรารีใดที่ซอฟต์แวร์ต้องการหรืออะไรก็ตาม

เมื่อ APT ติดตั้งแพคเกจเท่านั้นเพื่อเติมเต็มการพึ่งพาของแพ็คเกจอื่นแพ็คเกจนี้จะถูกทำเครื่องหมายว่าติดตั้งโดยอัตโนมัติ หากคุณลบทุกแพคเกจที่ขึ้นอยู่กับแพคเกจที่ติดตั้งโดยอัตโนมัติที่แพคเกจจะถูกลบออกเมื่อคุณเรียกapt-get autoremove; ส่วนหน้าระดับสูงขึ้นไปที่ APT โดยทั่วไปจะเสนอให้ทำเช่นนั้นหลังจากการบำรุงรักษาอื่น ๆ เมื่อต้องการหลีกเลี่ยงการลบแพคเกจที่ต้องการโดยซอฟต์แวร์ที่ติดตั้งในเครื่องให้ทำเครื่องหมายแพ็คเกจเหล่านี้ว่าติดตั้งด้วยตนเอง: หรือคีย์ในความถนัดapt-mark manual PACKAGE-NAMEm

ldd /path/to/executableเพื่อค้นหาสิ่งที่แพคเกจความต้องการไบนารีห้องสมุดวิ่ง สำหรับแต่ละบรรทัดที่มีให้รันเพื่อแสดงชื่อของแพ็กเกจที่มีไลบรารีนั้น สำหรับสคริปต์แสดงล่ามที่ใช้โดยสคริปต์ ตรวจสอบให้แน่ใจว่าล่ามนี้ยังคงติดตั้งอยู่ การค้นหาสคริปต์ที่ห้องสมุดใช้อาจเป็นเรื่องยากไม่มีวิธีสากลในการทำเช่นนั้น/usr/lib/SOMETHINGdpkg -S /usr/lib/SOMETHINGhead -n 1 /path/to/script

หากคุณติดตั้งแพ็คเกจรุ่นล่าสุดด้วยตนเองที่มีอยู่ในการกระจายของคุณด้วยตนเองดูที่การพึ่งพาของแพ็คเกจการแจกจ่ายและทำเครื่องหมายว่าติดตั้งด้วยตนเอง


apt-getใน Debian Jessie ไม่มีmanualตัวเลือก สำหรับคำแนะนำในการติดตั้งแบบแมนนวล vs. auto (matic) เหล่านี้ฉันได้ใช้apt-markแทน ( apt-mark manual pkg, apt-mark showmanual pkg, apt-mark auto pkgฯลฯ )
Lekensteyn

@Lekensteyn ฉันหมายถึงapt-markขอบคุณ
Gilles 'หยุดความชั่วร้าย'

14

aptและdpkgสามารถลบซอฟต์แวร์ที่จำเป็นต้องใช้โดยซอฟต์แวร์อื่นที่ติดตั้งในเครื่องซึ่งอยู่นอกขอบเขตของระบบการจัดการแพ็คเกจ มีเพียงวิธีการที่ไม่มีaptและdpkgจะรู้ว่าซอฟต์แวร์ดังกล่าวอาจจะมีอยู่

ตำแหน่งที่ติดตั้งซอฟต์แวร์ดังกล่าวไม่สร้างความแตกต่าง: อาจเป็น/optหรือ/usr/localหรือในโฮมไดเร็กตอรี่ของผู้ใช้ (ในกรณีนี้แม้แต่ระบบดูแลระบบอาจไม่ทราบถึงการมีอยู่) หรือที่ใดก็ตาม

ในทางเทคนิคaptหรือdpkgอาจลบซอฟต์แวร์ที่ต้องการโดยซอฟต์แวร์อื่นที่เป็นส่วนหนึ่งของระบบการจัดการบรรจุภัณฑ์หากซอฟต์แวร์หลังไม่สามารถประกาศได้ว่าขึ้นอยู่กับซอฟต์แวร์เดิม อย่างไรก็ตามกระบวนการในการสร้างแพคเกจ deb รวมถึงระบบอัตโนมัติเพื่อช่วยป้องกันผู้ดูแลแพคเกจจากการลืมประกาศการพึ่งพาเช่นนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.