Раньше я просто с радостью делал это sudo apt update && sudo apt upgrade
часто; однако, как раз сегодня я обновился и обнаружил, что обновление долго зависало на обновлении ядра, в частности на обновлении-initramfs.
Замедление было драматичным. Раньше установка занимала максимум минуту. Теперь это может занять более часа или дольше. Что может быть причиной?
решение1
У меня была эта проблема, и загрузка также была очень медленной (на старой машине). Это было связано с компрессией и изменением метода с gzip на bz.
Я полностью исключил сжатие, используя COMPRESS="cat" в /etc/initramfs-tools/initramfs.conf, и теперь и сборка, и загрузка выполняются очень быстро. (Имя файла и каталог могут различаться в зависимости от дистрибутива и версии дистрибутива.)
Это заполняет большую часть моего каталога /boot, но в любом случае это не близко к его емкости.
решение2
Я тоже изучил этот вопрос. В Ubuntu 21.10 у меня по умолчанию /etc/initramfs-tools/initramfs.conf
было COMPRESS=zstd
, что является хорошим выбором, но, к сожалению, оно не позволяет нам настроить уровень сжатия. Уровеньжестко закодированов /usr/sbin/mkinitramfs
:
case "${compress}" in
#--snip--
zstd) compress="zstd -q -19 -T0" ;;
Я изменил -19 на -6 и добился того, что он запустился за более разумное время, около 43 секунд update-initramfs -u -k all
с двумя установленными версиями ядра. До изменения требовалось 150 секунд. В результате initrd-образы выросли с 60 МБ до 80 МБ, что для меня является хорошим компромиссом.
Обратите внимание, что sudo apt autoremove -y
это хорошее дополнение к команде обновления. Она удаляет старые ненужные ядра, поэтому не будет тратить время на их обработку.