ไม่เหมือนกับ Windows, macOS และ Android ซอฟต์แวร์บน Ubuntu และ Linux โดยทั่วไปจะไม่ถูกแจกจ่ายเป็นแพ็คเกจเดียว เมื่อคุณติดตั้งแอปพลิเคชัน ตัวจัดการแพ็คเกจของระบบของคุณจะดาวน์โหลดหลายแพ็คเกจ ซึ่งรวมถึงแพ็คเกจแอพหลักและการขึ้นต่อกัน อย่างไรก็ตาม สิ่งนี้เป็นจริงสำหรับการติดตั้งแพ็คเกจแบบเดิมบน Linux เช่น การใช้ตัวจัดการแพ็คเกจ
การรู้ว่ามีการดาวน์โหลดการพึ่งพาเพิ่มเติมใดบ้างระหว่างการติดตั้งอาจเป็นประโยชน์สำหรับผู้ใช้มือใหม่และผู้ใช้ขั้นสูง ด้วยวิธีนี้ เราสามารถควบคุมแพ็คเกจที่ติดตั้งบนระบบได้อย่างสมบูรณ์
มาดูกันว่าคุณสามารถตรวจสอบการขึ้นต่อกันของแพ็คเกจบน Ubuntu ได้อย่างไร
การขึ้นต่อกันของแพ็คเกจคืออะไร
การพึ่งพากำลังสนับสนุนแพ็คเกจที่จำเป็นสำหรับการทำงานที่เหมาะสมของแอปพลิเคชันใน Linux ตัวอย่างเช่น หากคุณต้องการดาวน์โหลด VLC media player บน Ubuntu APT จะติดตั้งแพ็คเกจเพิ่มเติม เช่น libc6 และ gcc นอกเหนือจาก "vlc . หลัก" " แพ็คเกจ การพึ่งพาสามารถมีแพ็คเกจอื่น ๆ เป็นการพึ่งพาได้ดังนั้นจึงสร้างโครงสร้างแบบลำดับชั้น
เนื่องจากแพ็คเกจ Linux นั้นต้องพึ่งพาอาศัยกัน ซอฟต์แวร์เกือบทั้งหมดจึงต้องการแพ็คเกจเพิ่มเติมที่คุณต้องติดตั้งบนระบบของคุณ
แม้ว่าตัวจัดการแพ็คเกจเช่น APT จะทำให้การจัดการและติดตั้งการพึ่งพาดังกล่าวเป็นไปโดยอัตโนมัติ ข้อผิดพลาดเกิดขึ้นได้เมื่อคุณพยายามสร้างแพ็คเกจด้วยตนเองจากแหล่งที่มา อย่างไรก็ตาม คุณสามารถแก้ไขข้อผิดพลาดดังกล่าวได้โดยเพียงแค่ติดตั้งการพึ่งพาที่จำเป็นในระบบของคุณโดยใช้apt install คำสั่ง
วิธีตรวจสอบการขึ้นต่อกันของแพ็คเกจใน Linux
โชคดีที่บน Ubuntu มีหลายวิธีในการรับรายการการขึ้นต่อกันของแพ็คเกจ APT ซึ่งเป็นตัวจัดการแพ็คเกจเริ่มต้นใน Ubuntu และ distros ที่ใช้ Debian เสนอคำสั่งหลายคำสั่งเพื่อรับข้อมูลที่เกี่ยวข้องกับการพึ่งพาของแพ็คเกจ
การใช้ APT Package Manager
คุณสามารถใช้ APT ใน Ubuntu เพื่อรับรายการการพึ่งพาที่เกี่ยวข้องกับแพ็คเกจ ไวยากรณ์พื้นฐานของคำสั่งคือ:
sudo apt depends packagename
ตัวอย่างเช่น การตรวจสอบการขึ้นต่อกันของ rhythmbox แพ็คเกจ:
sudo apt depends rhythmbox
นอกเหนือจากรายการการพึ่งพา ผลลัพธ์ยังรวมแพ็คเกจที่แนะนำและแนะนำซึ่งคุณสามารถติดตั้งควบคู่ไปกับ rhythmbox .
หรือคุณสามารถใช้ apt-cache คำสั่งเพื่อให้ได้ผลลัพธ์ที่เหมือนกัน
sudo apt-cache depends rhythmbox
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับแพ็คเกจเฉพาะ ให้ใช้ แสดง วิธีการแทน ขึ้นอยู่กับ .
sudo apt show rhythmbox
sudo apt-cache show rhythmbox
เอาท์พุต:
แสดงรายการการพึ่งพาโดยใช้ dpkg
หากคุณได้ดาวน์โหลดแพ็คเกจ DEB ในระบบของคุณและต้องการทราบว่าจะติดตั้งการพึ่งพาใดพร้อมกับแพ็คเกจ คุณสามารถใช้ -I (ตัวพิมพ์ใหญ่ i ไม่ใช่ตัว L ตัวพิมพ์เล็ก) หรือ --info ตั้งค่าสถานะด้วยคำสั่ง
sudo dpkg -I /path/to/package.deb
sudo dpkg --info /path/to/package.deb
...โดยที่ /path/to/package.deb เป็นเส้นทางที่แน่นอนหรือสัมพันธ์กับไฟล์ DEB
ผลลัพธ์จะแสดงขนาดของแพ็คเกจ แหล่งที่มา และข้อมูลที่เป็นประโยชน์อื่นๆ พร้อมกับรายการของการพึ่งพา
ในการรับรายการการพึ่งพาสำหรับแพ็คเกจที่ติดตั้ง ให้ใช้ -s ตั้งค่าสถานะด้วย dpkg ตัวอย่างเช่น:
sudo dpkg -s firefox
เอาท์พุต:
การใช้ apt-rdepends
เพื่อให้ได้ผลลัพธ์ที่มีรายละเอียดมากขึ้น คุณสามารถใช้ยูทิลิตี้ apt-rdepends เนื่องจากไม่มีการติดตั้งมาล่วงหน้าบนลีนุกซ์รุ่นอื่น ๆ คุณจะต้องติดตั้งด้วยตนเองบน Ubuntu โดยใช้ APT
sudo apt install apt-rdepends
ใช้รูปแบบคำสั่งต่อไปนี้เพื่อรับโครงสร้างการพึ่งพาสำหรับแพ็คเกจ:
apt-rdepends packagename
ตัวอย่างเช่น:
apt-rdepends vlc
เอาท์พุต:
ผลลัพธ์ที่สร้างโดยทั่วไปจะยาวเมื่อ apt-rdepends แสดงแผนผังลำดับชั้นที่สมบูรณ์ของการพึ่งพา ซึ่งหมายความว่าคุณยังได้รับรายการการพึ่งพาของการขึ้นต่อกันด้วย
คุณยังสามารถรับรายการแพ็คเกจที่ขึ้นอยู่กับแพ็คเกจนั้นๆ ตัวอย่างเช่น เพื่อตรวจสอบว่าแพ็คเกจใดต้องการ libc เป็นที่พึ่ง:
apt-rdepends -r libc
เอาท์พุต:
ยูทิลิตี้แบบย้อนกลับ
แม้ว่าคุณลักษณะการพึ่งพาแบบย้อนกลับ (-r flag) ของ apt-rdepends ทำงานได้ดีกว่าที่คาดไว้ ยังมียูทิลิตี้อื่นที่คุณสามารถใช้เพื่อแยกการพึ่งพาแบบย้อนกลับของแพ็คเกจ คำสั่ง reverse-dependent เป็นส่วนหนึ่งของ ubuntu-dev-tools และสามารถดาวน์โหลดได้โดยใช้:
sudo apt install ubuntu-dev-tools
ไวยากรณ์เริ่มต้นของคำสั่งคือ:
reverse-depends options packagename
...ที่ ตัวเลือก คือแฟล็กที่คุณสามารถใช้กับคำสั่งและ ชื่อแพ็คเกจ เป็นชื่อของแพ็คเกจที่คุณต้องการย้อนกลับตรวจสอบการขึ้นต่อกัน
คุณยังสามารถเพิ่มแฟล็กต่างๆ ให้กับคำสั่งดังกล่าวเพื่อแก้ไขเอาต์พุต ต่อไปนี้คือรายการตัวเลือกที่มีประโยชน์ที่สุด:
- -R :แสดงรายการเฉพาะการพึ่งพาโดยตรง (ไม่มีแพ็คเกจที่แนะนำหรือแนะนำ)
- -s :รวมแพ็คเกจที่แนะนำ
- -l :นำเสนอผลงานในรูปแบบที่สะอาดตาเหมาะสำหรับการใช้งานในสคริปต์
ในกรณีที่คุณไม่ทราบวิธีใช้เครื่องมือและต้องการความช่วยเหลือเกี่ยวกับบรรทัดคำสั่ง ให้ใช้ --help หรือ -h ธง.
reverse-depends -h
reverse-depends --help
รับรายการอ้างอิงโดยใช้การจำลองการติดตั้ง/การนำออก
สำหรับผู้ที่ต้องการรายการการพึ่งพาทั้งหมดที่ไม่ได้ติดตั้งในระบบ คุณสามารถเรียกใช้การติดตั้งจำลอง (หรือถอนการติดตั้ง) ของแพ็คเกจเฉพาะได้
ในการตรวจสอบการขึ้นต่อกันที่แพ็คเกจ PHP ต้องการ เช่น ให้รันคำสั่งต่อไปนี้:
sudo apt install -s php
ผลลัพธ์จะมีส่วน "แพ็คเกจเพิ่มเติมต่อไปนี้จะถูกติดตั้ง" ชื่อแพ็คเกจทั้งหมดที่แสดงเพิ่มเติมเป็นการขึ้นต่อกันที่ไม่พบในระบบของคุณ
หากคุณต้องการรับรายการการพึ่งพาสำหรับแพ็คเกจที่ติดตั้งบน Ubuntu แล้ว คุณสามารถทำการถอนการติดตั้งจำลองเพื่อตรวจสอบว่าแพ็คเกจเพิ่มเติมใดจะถูกลบออกด้วย
sudo apt remove -s packagename
ตัวอย่าง:
sudo apt remove -s rhythmbox
เอาท์พุต:
แพ็คเกจ Linux เป็นแบบแยกส่วน
ตามที่คุณสามารถสรุปได้จากคู่มือนี้ เกือบทุกแพ็คเกจ Linux ขึ้นอยู่กับแพ็คเกจอื่น หลักการหลักที่อยู่เบื้องหลังแนวคิดนี้คือบนระบบปฏิบัติการที่ใช้ Linux แต่ละแพ็คเกจควรทำงานเดียวและทำได้ดี
หากแพ็กเกจได้รับการพัฒนาสำหรับจัดการบริการด้านเสียง โปรแกรมอื่นๆ จะแสดงรายการแพ็กเกจดังกล่าวเป็นการพึ่งพา และใช้เพื่อปฏิบัติตามข้อกำหนดด้านเสียง
นอกจากนี้ ในกรณีที่หลายแอพพลิเคชั่นต้องการแพ็คเกจเดียวกัน มันจะถูกติดตั้งบนระบบเพียงครั้งเดียว ป้องกันการซ้ำซ้อนของข้อมูลและประหยัดพื้นที่จัดเก็บบนดิสก์ คุณยังรับรายการแพ็คเกจทั้งหมดที่ติดตั้งอยู่ในระบบของคุณโดยใช้ APT ได้อีกด้วย