<Sebelumnya | Konten | Selanjutnya>
8.4.2. Script Konfigurasi
Selain kontrol file, file kontrol.tar.gz arsip untuk setiap paket Debian dapat berisi sejumlah skrip (postinst, postrm, sebelum, premi) dipanggil oleh dpkg pada berbagai tahap dalam pemrosesan paket. Kita bisa gunakan dpkg -aku untuk menampilkan file-file ini saat mereka berada di a deb arsip paket:
$ dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | kepala
paket debian baru, versi 2.0.
ukuran 814486 byte: arsip kontrol = 2557 byte.
$ dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | kepala
paket debian baru, versi 2.0.
ukuran 814486 byte: arsip kontrol = 2557 byte.
838 byte,
3327 byte,
969 byte,
348 byte,
175 byte,
175 byte, Paket: zsh Versi: 5.3-1
20 baris
43 baris
41 baris
20 baris
5 baris
5 baris
kontrol
md5sum
* pasca-inst
* pasca-rm
* sebelum
*prem
# / Bin / sh
# / Bin / sh
# / Bin / sh
# / Bin / sh
838 byte,
3327 byte,
969 byte,
348 byte,
175 byte,
175 byte, Paket: zsh Versi: 5.3-1
$ dpkg -I zsh_5.3-1_amd64.deb prainst
#!/bin/sh mengatur -e
# Secara otomatis ditambahkan oleh dh_installdeb
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/zsh zsh-common 5.0.7-3 -- ”$@”
# Akhiri bagian yang ditambahkan secara otomatis
$ dpkg -I zsh_5.3-1_amd64.deb prainst
#!/bin/sh mengatur -e
# Secara otomatis ditambahkan oleh dh_installdeb
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/zsh zsh-common 5.0.7-3 -- ”$@”
# Akhiri bagian yang ditambahkan secara otomatis
Kebijakan Debian menjelaskan masing-masing file ini secara rinci, menentukan skrip yang dipanggil dan argumen yang mereka terima. Urutan ini mungkin rumit, karena jika salah satu skrip gagal, dpkg akan mencoba untuk kembali ke keadaan yang memuaskan dengan membatalkan penginstalan atau penghapusan yang sedang berlangsung (sejauh mungkin).
Grafik dpkg Basis Data Anda dapat melintasi dpkg database pada sistem file di /var/lib/dpkg/. Direktori ini berisi catatan berjalan dari semua paket yang telah diinstal pada sistem. Semua skrip konfigurasi untuk paket yang diinstal disimpan di /var/lib/dpkg/info/ direktori, dalam bentuk file yang diawali dengan nama paket: | |
$ 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 menyertakan file dengan .daftar ekstensi untuk setiap paket, berisi daftar file milik paket itu: | |
$ kepala /var/lib/dpkg/info/zsh.list /. /tempat sampah /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 [...] | |
Grafik /var/lib/dpkg/status file berisi serangkaian blok data (dalam format permintaan komentar header email terkenal, RFC 2822) yang menjelaskan status setiap paket. Informasi dari kontrol file paket yang diinstal juga direplikasi di sana. | |
$ lainnya /var/lib/dpkg/status Paket: gnome-characters Status: instal ok terinstal Prioritas: opsional Bagian: gnome Ukuran Terpasang: 1785 Pengelola: Pengelola GNOME Debian ➥ [email dilindungi]> Arsitektur: amd64 Versi: 3.20.1-1 [...] | |
Mari kita bahas file konfigurasi dan lihat bagaimana mereka berinteraksi. Secara umum, sebelum skrip dieksekusi sebelum instalasi paket, sedangkan postinst mengikutinya. Juga, premi dipanggil sebelum penghapusan paket dan postrm setelah itu. Pembaruan paket setara dengan penghapusan versi sebelumnya dan pemasangan yang baru. Tidak mungkin untuk menjelaskan secara rinci semua skenario yang mungkin terjadi di sini, tetapi kita akan membahas dua yang paling umum: instalasi/pembaruan dan penghapusan.
Urutan ini bisa sangat membingungkan, tetapi representasi visual dapat membantu. Manoj Srivastava membuat diagram ini menjelaskan bagaimana skrip konfigurasi dipanggil oleh dpkg. Diagram serupa juga telah dikembangkan oleh proyek Debian Women; mereka sedikit lebih sederhana untuk dipahami, tetapi kurang lengkap.
➨ https://people.debian.org/~srivasta/MaintainerScripts.html
➨ https://wiki.debian.org/MaintainerScripts
Peringatan Urutan yang dijelaskan di bagian ini memanggil skrip konfigurasi dengan nama tertentu,
Peringatan Urutan yang dijelaskan di bagian ini memanggil skrip konfigurasi dengan nama tertentu,
Nama Simbolik dari
Script
seperti tua-prem or baru-postinst. Mereka masing-masing adalah premi naskah con-
disimpan dalam versi paket yang lama (diinstal sebelum pembaruan) dan postinst
skrip yang terdapat dalam versi baru (diinstal oleh pembaruan).
Nama Simbolik dari
Script