คำถามของฉันง่าย - ฉันต้องการทราบเพิ่มเติมเกี่ยวกับ dpkg - ทำอะไรได้บ้าง
คำถามของฉันง่าย - ฉันต้องการทราบเพิ่มเติมเกี่ยวกับ dpkg - ทำอะไรได้บ้าง
คำตอบ:
ดังที่ได้กล่าวไว้dpkg
เป็นเครื่องมือระบบระดับต่ำในการแยกวิเคราะห์แกะและติดตั้งหรือลบไฟล์. deb อย่างไรก็ตามจะเป็นการดีกว่าถ้าจะใช้Software Centre
หรือGdebi
ติดตั้งหรือลบไฟล์. deb ที่ได้รับมาจากแหล่งอื่นเนื่องจากโปรแกรมทั้งสองนี้มีการแก้ปัญหาการพึ่งพา
แต่สิ่งที่ยังไม่ได้รับการอธิบายเป็นลักษณะทางกายวิภาคของการปรับปรุงการใช้และdpkg
apt-get
ตัวอย่างเช่นหากเราเรียกapt-get
ติดตั้งcheese
ต้นไม้อ้างอิงจะถูกวิเคราะห์และไฟล์ที่จำเป็นจะถูกดึงมาจากapt-get
นั้นส่งผ่านไปdpkg
ยังเพื่อแยกวิเคราะห์และติดตั้งไปยังตำแหน่งที่ถูกต้องและกำหนดค่าตามสคริปต์ที่อยู่ภายใน
สคริปต์ที่อ่านโดยdpkg
ภายในแต่ละไฟล์. deb มีความสำคัญเนื่องจากให้ข้อมูลกับโปรแกรมเกี่ยวกับการติดตั้งการลบและการกำหนดค่าของแพ็คเกจ ดังนั้นเมื่อคุณดู/var/log/dpkg.log
มีรายละเอียดมากมายเกี่ยวกับ 'ทริกเกอร์' และแพคเกจจะผ่านขั้นตอนที่แตกต่างกันของการเปิดออกและการกำหนดค่า ในบล็อกของเขา Raphael Hertzog (ซึ่งเป็นผู้พัฒนา Debian คนสำคัญและเป็นผู้ดูแลdpkg
แพ็คเกจ) อธิบายเพิ่มเติมเกี่ยวกับทริกเกอร์ dpkgและวิธีการdpkg
ตรวจสอบและกำหนดค่าแพ็คเกจ
ตอนนี้เราไปถึงหัวใจของสิ่งที่dpkg
ทำ; มันจัดการกับแพคเกจ Debian อย่างเชี่ยวชาญมากกว่าการพึ่งพาของพวกเขา ด้วยdpkg-deb
ตัวอย่างเช่นคุณสามารถดำเนินการต่าง ๆ ในการวิเคราะห์และแยกไฟล์ด้วยตนเองจากไฟล์เก็บถาวร. deb ดูman dpkg-deb
ข้อมูลเพิ่มเติม
สถานะของแต่ละแพ็คเกจมีการระบุไว้ใน/var/lib/dpkg/status
ซึ่งสามารถใช้กับgrep
เพื่อตรวจสอบแพคเกจเฉพาะ Dpkg
ยังสามารถถูกเรียกให้กำหนดค่าแพคเกจเฉพาะที่ได้รับการกำหนดค่า (ดูman dpkg-reconfigure
):
sudo dpkg-reconfigure <package>
หรือทำการกำหนดค่าแพคเกจที่ไม่ได้กำหนดค่าทั้งหมดหากมีปัญหากับการอัปเดตและการกำหนดค่าแพ็คเกจบางอย่างยังคงค้างอยู่:
sudo dpkg --configure -a
สำหรับบทช่วยสอนที่ดีที่มุ่งเน้นไปที่dpkg
และapt-get
ดูบทที่ 5 และ 6 ของDebian Handbookซึ่งเป็นการสนทนาที่ดีที่สุด เข้าสู่man dpkg
เครื่องเทอร์มินัลของคุณหรือดูmanpages ของ Ubuntuออนไลน์เพื่อดูตัวเลือกทั้งหมดที่มีเช่นการใช้dpkg -l
เพื่อแสดงรายการแพ็คเกจที่ติดตั้งอยู่ในปัจจุบัน
dpkg เป็นวิธีบรรทัดคำสั่งในการติดตั้งจาก. deb หรือลบแพ็คเกจที่ติดตั้งไว้แล้ว ตัวอย่างเช่นหากคุณมีไฟล์. deb ในโฮมไดเร็กตอรี่ของคุณการรันdpkg -i yourpackage.deb
จะติดตั้งแพ็คเกจนั้นให้คุณ ฉันพบว่ามันมีประโยชน์อย่างน้อยสำหรับฉันเพราะบางครั้งเมื่อคลิกที่ไฟล์. deb มันจะโหลด Ubuntu Software Center แต่ไม่เคยติดตั้งหรือมีปัญหาจริงๆ
เช่นเคยman
คำสั่งเป็นจุดเริ่มต้นที่ดี
man dpkg
สามารถให้ตัวเลือกทั้งหมดแก่คุณได้อย่างไรก็ตาม:
dpkg เป็นตัวจัดการแพ็กเกจสำหรับระบบที่ใช้ Debian มันสามารถติดตั้งลบและสร้างแพ็คเกจ แต่ต่างจากระบบการจัดการแพ็คเกจอื่น ๆ มันไม่สามารถดาวน์โหลดและติดตั้งแพ็คเกจและการพึ่งพาโดยอัตโนมัติ
ดังนั้นโดยทั่วไปมันเป็น apt-get โดยไม่มีการแก้ไขการพึ่งพาและใช้ในการติดตั้งไฟล์. deb
ฉันเตือนคุณว่า: ไม่แนะนำให้ทำการถอนการติดตั้งแพ็คเกจโดยใช้ dpkg เป็นการดีกว่าที่จะใช้ตัวจัดการแพคเกจที่จัดการการอ้างอิงเพื่อให้แน่ใจว่าระบบอยู่ในสถานะที่สอดคล้องกัน
ตัวอย่างเช่นการใช้dpkg -r zip
คุณสามารถลบแพ็กเกจ zip ได้ แต่แพ็คเกจใด ๆ ที่ขึ้นอยู่กับแพคเกจนั้นจะยังคงติดตั้งอยู่และอาจทำงานไม่ถูกต้องอีกต่อไป
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับมันบางในคู่มือเซิร์ฟเวอร์และอื่น ๆ