αžαžΎαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸαŸ‡αž˜αž€αž–αžΈαžŽαžΆ? [αžŠαŸαž”αŸ€αž“/αž’αŸŠαžΌαž”αŸŠαž»αž“αž‘αžΌ]

αž‚αŸ„αž›αž”αŸ†αžŽαž„αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž“αŸαŸ‡αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž“αŸ…αž€αŸ’αž“αž»αž„ debian/ubuntu αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„ "αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž”αŸ’αžšαž—αž–" αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαžŸαžΆαž€αž›αŸ’αž”αž„αŸ– αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž…αŸ†αž’αž€αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸƒαž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„ tar.gz αž“αŸƒ OS αžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŸαŸ’αžŠαžΆαžšαžœαžΆ αž“αž·αž„αžŠαŸ†αž‘αžΎαž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αžŸαžΆαžšαŸ–

update-initramfs: Generating /boot/initrd.img-4.15.0-54-generic
W: initramfs-tools configuration sets RESUME=/dev/mapper/U1563304817I0-swap
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/dm-1
I: (/dev/mapper/foobar-swap)
I: Set the RESUME variable to override this.

αž‚αŸ„αž›αž”αŸ†αžŽαž„αŸ– αž™αž›αŸ‹αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡ (U1563304817I0) αž”αžΆαž“αž˜αž€αž–αžΈ αž“αž·αž„αžšαž”αŸ€αž”αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžœαžΆαž±αŸ’αž™αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αž“αŸαŸ‡αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αž”αžΆαž“αž˜αž€ αžŠαŸ‚αž›αž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‡αžΆαž–αž·αžŸαŸαžŸαž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ’αž›αž½αž“αžœαžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αž„αŸ’αž αžΆαž‰αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž›αžΈαž“αž»αž….

αž‡αŸ†αž αžΆαž“αž‘αžΈ αŸ‘αŸ– តើ RESUME αž˜αž€αž–αžΈαžŽαžΆ?

# cd /etc
# grep -r RESUME
initramfs-tools/conf.d/resume:RESUME=/dev/mapper/U1563304817I0-swap

αž™αžΎαž„αž’αŸ’αžœαžΎαž‘αžΎαž„αžœαž·αž‰ (-r) αžšαž€αž˜αžΎαž›αž€αžΆαžšαž›αžΎαž€αž‘αžΎαž„αž’αŸ†αž–αžΈαž’αžαŸαžšαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αžαž /etc (αžŠαŸ‚αž›αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‚αžΊ)αŸ” αž™αžΎαž„αžšαž€αžƒαžΎαž‰αž’αžαŸ’αžαž”αž‘αžαŸ’αž›αžΈαŸ— conf.d αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžŠαŸ„αž™αž€αž‰αŸ’αž…αž”αŸ‹ initramfs-tools αŸ”

αžαžΎαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž˜αž€αž–αžΈαžŽαžΆ?

αž˜αžΆαž“αž‡αŸ†αžšαžΎαžŸαž”αžΈαž‚αžΊαŸˆ

  1. αžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽαžœαŸαž‘αž˜αž“αŸ’αž (αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžŠαžΆαž€αŸ‹αžœαžΆαž αžΎαž™αž—αŸ’αž›αŸαž…)
  2. αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž–αžΈαž€αž‰αŸ’αž…αž”αŸ‹
  3. αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž˜αž½αž™αž…αŸ†αž“αž½αž“αž–αžΈαž€αž‰αŸ’αž…αž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’

αžŸαžΌαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž›αŸαž 2 (αž‡αžΆαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αž)αŸ–

 dpkg -S initramfs-tools/conf.d/resume
dpkg-query: no path found matching pattern *initramfs-tools/conf.d/resume*

dpkg -S αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸƒαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αž‰αŸ’αž…αž”αŸ‹αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž―αž€αžŸαžΆαžšαž‡αžΆαž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αŸ” αž“αŸαŸ‡αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž‡αŸ„αž‚αž‡αŸαž™αŸ–

dpkg -S resolv.conf
manpages: /usr/share/man/man5/resolv.conf.5.gz
systemd: /lib/systemd/resolv.conf

αžαŸ„αŸ‡αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž—αžΆαžšαž€αž·αž…αŸ’αž…αžšαž”αžŸαŸ‹αž™αžΎαž„αžœαž·αž‰αŸ– αž―αž€αžŸαžΆαžš initramfs-tools/conf.d/resume αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž–αžΈαž€αž‰αŸ’αž…αž”αŸ‹αŸ” αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž‚αŸ’αžšαžΈαž” postinst/preinst αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹? αžαŸ„αŸ‡αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αŸ†αžŽαŸ‚αž‘αžΈ 3 αŸ”

# cd /var/lib/dpkg/info/
# grep -r initramfs-tools/conf.d/resume *
initramfs-tools-core.postrm:    rm -f /etc/initramfs-tools/conf.d/resume

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžαžΆαž‘αž»αž€ /var/lib/dpkg/info/ αž˜αžΆαž“αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αžœαŸαž…αžαŸ’αž…αž”αŸ‹αž“αŸƒ "αž―αž€αžŸαžΆαžšαž˜αŸαžαžΆ" αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ (αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ†αž‘αžΎαž„/αžŠαž€αž…αŸαž‰ αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž€αž‰αŸ’αž…αž”αŸ‹αŸ”αž›αŸ”)αŸ” αž‚αž½αžšαž±αŸ’αž™αž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž›, αž―αž€αžŸαžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž…αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„ postrm (αž“αŸ…αž›αžΎαž€αžΆαžšαž›αž»αž”) αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ initramfs-tools-core αŸ” αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒ postinst αžšαž”αžŸαŸ‹αžœαžΆ... αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αžαž conf.d αž‘αŸαŸ”

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž‰αŸ’αž…αž”αŸ‹ initramfs-tools-core.

# dpkg -L initramfs-tools-core
...
/usr/share/initramfs-tools/hooks/resume
...

αž€αŸ’αžšαž»αž˜αž€αžΆαžšαž„αžΆαžš dpkg -L αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž˜αžΎαž›αž―αž€αžŸαžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž–αžΈαž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αžšαŸ†αž›αŸαž…β€‹αž―αž€αžŸαžΆαžšβ€‹αž˜αž½αž™β€‹αžŠαŸ‚αž›β€‹αž‚αž½αžšβ€‹αž²αŸ’αž™β€‹αž…αžΆαž”αŸ‹β€‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αžŸαž·αž€αŸ’αžŸαžΆαŸ” αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž―αž€αžŸαžΆαžšαž”αž„αŸ’αž αžΆαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αžαŸαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž”αžΆαž“αž”αŸ’αžšαžΆαž”αŸ‹αžαžΆαžœαžΆαž˜αž€αž–αžΈαžŽαžΆαž‘αŸαŸ”

debconf

αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆαž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽαžšαž”αžŸαŸ‹αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αŸ” αž“αžšαžŽαžΆ? αž˜αž»αž“αž“αžΉαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Debian αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž‘αŸ€αž - αž…αž˜αŸ’αž›αžΎαž™αž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαž½αžšαŸ” αžšαžΆαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αž€αž‰αŸ’αž…αž”αŸ‹αžŸαž½αžšαžŸαŸ†αžŽαž½αžš αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž˜αž·αž“αžŸαž½αžšαžŸαŸ†αžŽαž½αžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž‘αžΆαŸ†αž„αžŸαŸ†αžŽαž½αžš αž“αž·αž„αž…αž˜αŸ’αž›αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžαŸ’αžšαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αž·αžŸαŸαžŸαž“αŸ…αž€αŸ’αž“αž»αž„ Debian αžŠαŸ‚αž›αž αŸ…αžαžΆ debconfαŸ” αž™αžΎαž„αž’αžΆαž…αž˜αžΎαž›αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸƒαž…αž˜αŸ’αž›αžΎαž™ (αž αžΎαž™αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž€αŸ†αžŽαžαŸ‹αžœαžΆαž˜αž»αž“αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ - debconf-set-selections) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ debconf-get-selections αž–αžΈαžŸαž˜αžΆαžŸαž—αžΆαž– debconf-utils. αž‡αžΆαž’αž€αž»αžŸαž› αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αž‘αŸ :(debconf-get-selections |grep -i resume αžαŸ’αžšαž‘αž”αŸ‹αž‘αž‘αŸ) αŸ”

debian- αž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž…αž˜αŸ’αž›αžΎαž™αž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαž½αžšαŸ– /var/log/installer/cdebconf/questions.dat. αž‡αžΆαž’αž€αž»αžŸαž› αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αž’αŸ†αž–αžΈαž”αŸ’αžšαžœαžαŸ’αžαž·αžšαžΌαž”αžŸαž„αŸ’αžαŸαž”αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸαŸ”
αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž“αŸ…αž€αŸ’αž”αŸ‚αžšαž“αŸ„αŸ‡ αžšαž½αž˜αž‘αžΆαŸ†αž„αŸ” syslog αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŠαŸ†αž‘αžΎαž„αž‘αžΆαŸ†αž„αž˜αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαŸ” αž€αž‰αŸ’αž…αž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž“αž·αž„αž“αŸ…αž›αžΎαžœαžΆαŸ” αž‘αŸ†αž–αŸαžš αž™αžΎαž„β€‹αž’αžΆαž…β€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αžαŸ†αžŽβ€‹αž‘αŸ…β€‹αž€αžΆαž“αŸ‹β€‹αžšαŸ‰αžΆαžœαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž½αž€αž‚αŸ αž™αžΎαž„αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž…αž˜αŸ’αž›αžΎαž™αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαž½αžšαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–

  resume="$(mapdevfs "$resume_devfs")"; then
...
    if [ "$do_initrd" = yes ]; then
     ...
            resumeconf=$IT_CONFDIR/resume
....
                echo "RESUME=$resume" >> $resumeconf

mapdevfs αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž‚αŸ„αž›αž”αŸ†αžŽαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹ αž αžΎαž™αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž™αžΎαž„αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‚αžΊ get_resume_partitionαžŠαŸ‚αž›αž’αžΆαž“ /proc/swap αž αžΎαž™αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž’αŸ†αž”αŸ†αž•αž»αžαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” Swap αž˜αž€αž–αžΈ partman αŸ”

αž…αž˜αŸ’αž›αžΎαž™αž…αŸ†αž–αŸ„αŸ‡αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ– αž―αž€αžŸαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ /target αž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„ ឧ. αž™αžΎαž„αž€αŸ†αž–αž»αž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž›αŸ’αž”αžΈ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽαž˜αž½αž™αŸ” αž˜αž·αž“αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹ αž¬αž’αŸ’αžœαžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž―αž€αžŸαžΆαžšαž“αŸαŸ‡αž”αžΆαž“αž‘αŸαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž„αŸ’αžαŸαž”αŸ”

  1. dpkg αž“αž·αž„ debconf αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αž―αž€αžŸαžΆαžšαŸ”
  2. αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αŸ’αž“αž»αž„ /var/lib/dpkg/info αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžƒαžΎαž‰αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž›αžΎαž―αž€αžŸαžΆαžšαž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŠαŸ†αž‘αžΎαž„αŸ”
  3. αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽαžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹ (αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹) αž αžΎαž™αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹