Может ли пакет ядра Linux иметь файлы конфигурации, которые остаются в хранилище после удаления пакета?
Есть ли польза от очистки пакета ядра вместо удаления? Я спрашиваю об этом, потому что автоматическое удаление пакетов не очищает все пакеты, которые он удаляет. (Я настроил это автоматическое удаление в /etc/apt/apt.conf.d/50unattended-upgrades
и говорят, что это эквивалентно apt-get autoremve
) По крайней мере dpkg-query -L
за такой пакет дает
Package 'linux-image-4.2.0-21-generic' does not contain any files (!)
так что можно предположить, что нет никаких конфигурационных файлов. dpkg-query
показывает статус deinstall ok config-files
за linux-image-4.2.0-21-generic
, Для соответствующего пакета заголовка linux-headers-4.2.0-21-generic
, dpkg-query
показывает статус not-installed
, и для linux-headers-4.2.0-21
он не показывает совпадение после операции автоматического удаления.
Для чего это стоит, вот выдержка /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
:
Removing linux-headers-4.2.0-21-generic (4.2.0-21.25) ...
Removing linux-headers-4.2.0-21 (4.2.0-21.25) ...
Removing linux-image-extra-4.2.0-21-generic (4.2.0-21.25) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
Error! Your kernel headers for kernel 4.2.0-21-generic cannot be found.
Please install the linux-headers-4.2.0-21-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
Error! Your kernel headers for kernel 4.2.0-21-generic cannot be found.
Please install the linux-headers-4.2.0-21-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
update-initramfs: Generating /boot/initrd.img-4.2.0-21-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.2.0-23-generic
Found initrd image: /boot/initrd.img-4.2.0-23-generic
Found linux image: /boot/vmlinuz-4.2.0-22-generic
Found initrd image: /boot/initrd.img-4.2.0-22-generic
Found linux image: /boot/vmlinuz-4.2.0-21-generic
Found initrd image: /boot/initrd.img-4.2.0-21-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done
Removing linux-image-4.2.0-21-generic (4.2.0-21.25) ...
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
update-initramfs: Deleting /boot/initrd.img-4.2.0-21-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.2.0-21-generic /boot/vmlinuz-4.2.0-21-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.2.0-23-generic
Found initrd image: /boot/initrd.img-4.2.0-23-generic
Found linux image: /boot/vmlinuz-4.2.0-22-generic
Found initrd image: /boot/initrd.img-4.2.0-22-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done
1 ответ
Нет linux-{image,image-extra,header}-<version>-generic
пакет добавляет что-нибудь к /etc
, Вы можете подтвердить это с помощью быстрой проверки установленных пакетов ядра:
grep /etc /var/lib/dpkg/info/linux-{image,headers}*.list
На выходе ничего не будет. Это также подкрепляется отсутствием .conffiles
для этих пакетов в /var/lib/dpkg/info/
, Таким образом, вам не нужно очищать эти пакеты; удаление и очистка фактически одинаковы для пакетов ядра.
После удаления этих пакетов остается информация, которая dpkg
сама магазины (в /var/lib/dpkg/info
): postrm
скрипт сопровождающего пакета, список файлов и т. д. Последний шаг в очистке выполняется postrm
и удаление postrm
сама (и любая другая информация dpkg
может иметь, например, списки файлов) - что обычно не делается для нормального удаления. Вы можете увидеть кучу linux-image*.postrm
файлы в /var/lib/dpkg/info/
,