คำถามของฉันง่าย - ฉันต้องการทราบเพิ่มเติมเกี่ยวกับ 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 ได้ แต่แพ็คเกจใด ๆ ที่ขึ้นอยู่กับแพคเกจนั้นจะยังคงติดตั้งอยู่และอาจทำงานไม่ถูกต้องอีกต่อไป
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับมันบางในคู่มือเซิร์ฟเวอร์และอื่น ๆ