<ก่อนหน้านี้ | เนื้อหา | ถัดไป>
8.4.2. สคริปต์การกำหนดค่า
นอกจากนี้ยังมี ควบคุม ไฟล์ the ควบคุม.tar.gz ไฟล์เก็บถาวรสำหรับแพ็คเกจ Debian แต่ละแพ็คเกจอาจมีสคริปต์จำนวนหนึ่ง (ภายหลัง, ไปรษณีย์, ก่อน, เปรม) เรียกโดย dpkg ในขั้นตอนต่าง ๆ ในการประมวลผลแพ็คเกจ เราสามารถใช้ dpkg -ฉัน เพื่อแสดงไฟล์เหล่านี้เมื่ออยู่ใน a หญิงที่เข้าสังคมครั้งแรก ไฟล์เก็บถาวรแพ็คเกจ:
$ dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | ศีรษะ
แพ็คเกจเดเบียนใหม่ เวอร์ชัน 2.0
ขนาด 814486 ไบต์: ไฟล์เก็บถาวรควบคุม = 2557 ไบต์
$ dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | ศีรษะ
แพ็คเกจเดเบียนใหม่ เวอร์ชัน 2.0
ขนาด 814486 ไบต์: ไฟล์เก็บถาวรควบคุม = 2557 ไบต์
838 ไบต์,
3327 ไบต์,
969 ไบต์,
348 ไบต์,
175 ไบต์,
175 ไบต์ แพ็คเกจ: zsh เวอร์ชัน: 5.3-1
เส้น 20
เส้น 43
เส้น 41
เส้น 20
เส้น 5
เส้น 5
ควบคุม
md5sum
* โพสต์อิน
* ระยะหลัง
* อธิการบดี
* เปรม
# / bin / sh
# / bin / sh
# / bin / sh
# / bin / sh
838 ไบต์,
3327 ไบต์,
969 ไบต์,
348 ไบต์,
175 ไบต์,
175 ไบต์ แพ็คเกจ: zsh เวอร์ชัน: 5.3-1
$ dpkg -I zsh_5.3-1_amd64.deb ก่อนหน้า
#!/bin/sh ตั้ง -e
# เพิ่มโดยอัตโนมัติโดย dh_installdeb
dpkg-maintscript-ผู้ช่วย symlink_to_dir /usr/share/doc/zsh zsh-common 5.0.7-3 -- ”$@”
# สิ้นสุดส่วนที่เพิ่มโดยอัตโนมัติ
$ dpkg -I zsh_5.3-1_amd64.deb ก่อนหน้า
#!/bin/sh ตั้ง -e
# เพิ่มโดยอัตโนมัติโดย dh_installdeb
dpkg-maintscript-ผู้ช่วย symlink_to_dir /usr/share/doc/zsh zsh-common 5.0.7-3 -- ”$@”
# สิ้นสุดส่วนที่เพิ่มโดยอัตโนมัติ
นโยบายเดเบียนอธิบายแต่ละไฟล์เหล่านี้โดยละเอียด โดยระบุสคริปต์ที่เรียกใช้และอาร์กิวเมนต์ที่ได้รับ ลำดับเหล่านี้อาจซับซ้อน เนื่องจากหากสคริปต์ตัวใดตัวหนึ่งล้มเหลว dpkg จะพยายามกลับสู่สถานะที่น่าพอใจโดยการยกเลิกการติดตั้งหรือการลบที่กำลังดำเนินการอยู่ (เท่าที่ทำได้)
พื้นที่ dpkg ฐานข้อมูล คุณสามารถข้าม dpkg ฐานข้อมูลบนระบบไฟล์ที่ /var/lib/dpkg/. ไดเร็กทอรีนี้มีเร็กคอร์ดการรันของแพ็คเกจทั้งหมดที่ติดตั้งบนระบบ สคริปต์การกำหนดค่าทั้งหมดสำหรับแพ็คเกจที่ติดตั้งจะถูกเก็บไว้ใน /var/lib/dpkg/ข้อมูล/ ไดเร็กทอรีในรูปแบบของไฟล์ที่นำหน้าด้วยชื่อแพ็คเกจ: | |
$ ls /var/lib/dpkg/info/zsh.* /var/lib/dpkg/info/zsh.list /var/lib/dpkg/info/zsh.md5sums /var/lib/dpkg/info/zsh.postinst /var/lib/dpkg/info/zsh.postrm /var/lib/dpkg/info/zsh.preinst /var/lib/dpkg/info/zsh.prerm | |
ไดเร็กทอรีนี้ยังมีไฟล์ที่มี .รายการ ส่วนขยายสำหรับแต่ละแพ็คเกจ ประกอบด้วยรายการไฟล์ที่เป็นของแพ็คเกจนั้น: | |
$ หัว /var/lib/dpkg/info/zsh.list /. / bin /bin/zsh /bin/zsh5 / usr / usr / lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/zsh /usr/lib/x86_64-linux-gnu/zsh/5.2 /usr/lib/x86_64-linux-gnu/zsh/5.2/zsh [...] | |
พื้นที่ /var/lib/dpkg/สถานะ ไฟล์มีชุดของบล็อกข้อมูล (ในรูปแบบของส่วนหัวจดหมายที่มีชื่อเสียงขอความคิดเห็น RFC 2822) อธิบายสถานะของแต่ละแพ็คเกจ ข้อมูลจาก ควบคุม ไฟล์ของแพ็คเกจที่ติดตั้งจะถูกจำลองแบบที่นั่นด้วย | |
$ เพิ่มเติม /var/lib/dpkg/status แพ็คเกจ: gnome-characters สถานะ: ติดตั้ง ok ติดตั้งแล้ว ลำดับความสำคัญ: ทางเลือก ส่วน: gnome ติดตั้ง-ขนาด: 1785 ผู้ดูแล: ผู้ดูแล Debian GNOME ➥ [ป้องกันอีเมล]> สถาปัตยกรรม: amd64 เวอร์ชัน: 3.20.1-1 [...] | |
มาพูดถึงไฟล์การกำหนดค่าและดูว่าพวกมันโต้ตอบกันอย่างไร โดยทั่วไป ก่อน สคริปต์ทำงานก่อนการติดตั้งแพ็คเกจในขณะที่ ภายหลัง ตามมันไป เช่นเดียวกัน, เปรม ถูกเรียกใช้ก่อนที่จะถอดแพ็คเกจและ ไปรษณีย์ หลังจากนั้น การอัปเดตแพ็กเกจจะเทียบเท่ากับการนำเวอร์ชันก่อนหน้าออกและติดตั้งเวอร์ชันใหม่ เป็นไปไม่ได้ที่จะอธิบายโดยละเอียดเกี่ยวกับสถานการณ์ที่เป็นไปได้ทั้งหมดที่นี่ แต่เราจะพูดถึงสองกรณีที่พบบ่อยที่สุด: การติดตั้ง/อัปเดต และการนำออก
ลำดับเหล่านี้อาจทำให้สับสนได้ แต่การแสดงภาพอาจช่วยได้ Manoj Srivastava สร้างไดอะแกรมเหล่านี้เพื่ออธิบายว่าสคริปต์การกำหนดค่าถูกเรียกโดย dpkg. ไดอะแกรมที่คล้ายกันได้รับการพัฒนาโดยโครงการ Debian Women; เข้าใจง่ายขึ้นเล็กน้อยแต่ไม่ครบถ้วนสมบูรณ์
➨ https://people.debian.org/~srivasta/MaintainerScripts.html
➨ https://wiki.debian.org/MaintainerScripts
คำเตือน ลำดับที่อธิบายไว้ในส่วนนี้เรียกสคริปต์การกำหนดค่าตามชื่อเฉพาะ
คำเตือน ลำดับที่อธิบายไว้ในส่วนนี้เรียกสคริปต์การกำหนดค่าตามชื่อเฉพาะ
ชื่อสัญลักษณ์ของ
สคริปต์
เช่น เฒ่าเปรม or ใหม่ postinst. ตามลำดับคือ เปรม สคริปต์คอน-
มีอยู่ในแพ็คเกจเวอร์ชันเก่า (ติดตั้งก่อนการอัพเดต) และ ภายหลัง
สคริปต์ที่มีอยู่ในเวอร์ชันใหม่ (ติดตั้งโดยการอัปเดต)
ชื่อสัญลักษณ์ของ
สคริปต์