<Sebelum | Contents [show] | Seterusnya>
8.4.2. Skrip Konfigurasi
Sebagai tambahan kepada kawalan fail, yang control.tar.gz arkib untuk setiap pakej Debian mungkin mengandungi beberapa skrip (postinst, postrm, preinst, prerm) dipanggil oleh dpkg pada peringkat yang berbeza dalam pemprosesan pakej. Kita boleh guna dpkg -I untuk menunjukkan fail ini kerana ia berada di a deb arkib pakej:
$ dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | kepala
pakej debian baharu, versi 2.0.
saiz 814486 bait: arkib kawalan=2557 bait.
$ dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | kepala
pakej debian baharu, versi 2.0.
saiz 814486 bait: arkib kawalan=2557 bait.
838 bait,
3327 bait,
969 bait,
348 bait,
175 bait,
175 bait, Pakej: zsh Versi: 5.3-1
20 talian
43 talian
41 talian
20 talian
5 talian
5 talian
kawalan
md5sums
* postinst
* postrm
* prasekolah
* prerm
#! / Bin / sh
#! / Bin / sh
#! / Bin / sh
#! / Bin / sh
838 bait,
3327 bait,
969 bait,
348 bait,
175 bait,
175 bait, Pakej: zsh Versi: 5.3-1
$ dpkg -I zsh_5.3-1_amd64.deb preinst
#!/bin/sh set -e
# Ditambah secara automatik oleh dh_installdeb
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/zsh zsh-common 5.0.7-3 -- ”$@”
# Tamatkan bahagian yang ditambah secara automatik
$ dpkg -I zsh_5.3-1_amd64.deb preinst
#!/bin/sh set -e
# Ditambah secara automatik oleh dh_installdeb
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/zsh zsh-common 5.0.7-3 -- ”$@”
# Tamatkan bahagian yang ditambah secara automatik
Dasar Debian menerangkan setiap fail ini secara terperinci, menyatakan skrip yang dipanggil dan hujah yang mereka terima. Urutan ini mungkin rumit, kerana jika salah satu skrip gagal, dpkg akan cuba kembali ke keadaan yang memuaskan dengan membatalkan pemasangan atau pengalihan keluar yang sedang dijalankan (setakat yang boleh).
. dpkg Pangkalan Data Anda boleh melintasi dpkg pangkalan data pada sistem fail di /var/lib/dpkg/. Direktori ini mengandungi rekod berjalan semua pakej yang telah dipasang pada sistem. Semua skrip konfigurasi untuk pakej yang dipasang disimpan dalam /var/lib/dpkg/info/ direktori, dalam bentuk fail yang diawali dengan nama pakej: | |
$ 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 | |
Direktori ini juga termasuk fail dengan senarai sambungan untuk setiap pakej, mengandungi senarai fail yang dimiliki oleh pakej itu: | |
$ kepala /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/status fail mengandungi satu siri blok data (dalam format permintaan pengepala mel terkenal untuk ulasan, RFC 2822) yang menerangkan status setiap pakej. Maklumat daripada kawalan fail pakej yang dipasang juga direplikasi di sana. | |
$ lagi /var/lib/dpkg/status Pakej: gnome-characters Status: pasang ok dipasang Keutamaan: pilihan Bahagian: gnome Dipasang-Saiz: 1785 Penyelenggara: Penyelenggara GNOME Debian ➥ [e-mel dilindungi]> Seni bina: amd64 Versi: 3.20.1-1 [...] | |
Mari kita bincangkan fail konfigurasi dan lihat cara ia berinteraksi. Secara amnya, preinst skrip dilaksanakan sebelum pemasangan pakej, manakala postinst mengikutinya. Begitu juga, prerm digunakan sebelum mengeluarkan pakej dan postrm selepas itu. Kemas kini pakej adalah bersamaan dengan mengalih keluar versi sebelumnya dan pemasangan yang baharu. Tidak mungkin untuk menerangkan secara terperinci semua senario yang mungkin di sini tetapi kami akan membincangkan dua yang paling biasa: pemasangan/kemas kini dan penyingkiran.
Urutan ini boleh menjadi agak mengelirukan, tetapi perwakilan visual boleh membantu. Manoj Srivastava membuat rajah ini menerangkan bagaimana skrip konfigurasi dipanggil oleh dpkg. Gambar rajah yang serupa juga telah dibangunkan oleh projek Debian Women; mereka agak mudah untuk difahami, tetapi kurang lengkap.
➨ https://people.debian.org/~srivasta/MaintainerScripts.html
➨ https://wiki.debian.org/MaintainerScripts
Awas Urutan yang diterangkan dalam bahagian ini memanggil skrip konfigurasi dengan nama tertentu,
Awas Urutan yang diterangkan dalam bahagian ini memanggil skrip konfigurasi dengan nama tertentu,
Nama Simbolik bagi
skrip
seperti lama-prerm or new-postinst. Mereka, masing-masing, adalah prerm skrip con-
tercemar dalam versi lama pakej (dipasang sebelum kemas kini) dan postinst
skrip yang terkandung dalam versi baharu (dipasang oleh kemas kini).
Nama Simbolik bagi
skrip