Как отключить определенную версию ядра от autoremoving?

Поскольку мой статус-старый был слишком проблематичным даже с apt-get update,

Это работало довольно хорошо для меня:

(как root)

cd /var/lib/dpkg 

cp -avf status status.corrupt

tr -cd '\11\12\15\40-\176' < status.corrupt > status
Эта команда использует команды -c и -d для команды tr, чтобы удалить все символы из входного потока, отличные от восьмизначных значений ASCII, которые показаны между одинарными кавычками. Эта команда специально позволяет пропускать следующие символы через этот фильтр Unix: восьмеричный 11: tab восьмеричный 12: linefeed восьмеричный 15: возврат каретки октал 40 через восьмеричный 176: все «хорошие» символы клавиатуры Все остальные двоичные символы - «мусор» «символы в вашем файле - удаляются во время этого процесса перевода.

КРЕДИТ: http://alvinalexander.com/blog/post/linux-unix/how-remove-non-printable-ascii-characters-file-unix

Любопытно, что изменилось или где будет ущерб: (возможно, длинный)

diff /var/lib/dpkg/{status-old,status} |less
4
задан 21 May 2017 в 12:50

3 ответа

Вы должны пометить ядра, которые хотите использовать как hold, используя apt-mark.

sudo apt-mark hold kernel-version

Например:

sudo apt-mark hold linux-headers-4.4.0-77-generic

Из man apt-mark: [!d2 ] hold используется для маркировки пакета как сдержанного, что предотвратит автоматическую установку, обновление или удаление пакета.

4
ответ дан 22 May 2018 в 22:24
  • 1
    Вы имеете в виду все связанные с ним пакеты, связанные с ядром? Как linux-образ, linux-image-extra? – Cynplytholowazy 21 May 2017 в 12:59
  • 2
    Я думаю, что маркирование самого ядра отлично работает, потому что другие пакеты, связанные с ядром, не будут удалены apt, поскольку они зависят от других пакетов. – Ravexina 21 May 2017 в 13:00
  • 3
    Итак, если я этого не сделаю, все равно хорошо? потому что кажется, что они не рассматриваются как зависимости от моей системы. – Cynplytholowazy 21 May 2017 в 13:00
  • 4
    Как я знаю, да. Однако вы можете проверить его, он не имеет никакого вреда для тестирования, отметьте ядро, запустите autoremove, посмотрите, что произойдет – Ravexina 21 May 2017 в 13:02
  • 5
    Хорошо, кажется, что это нет, мне нужно также сохранить linux-образ и linux-image-extra. Но, в любом случае, спасибо, большая помощь. – Cynplytholowazy 21 May 2017 в 13:03

Вы должны пометить ядра, которые хотите использовать как hold, используя apt-mark.

sudo apt-mark hold kernel-version

Например:

sudo apt-mark hold linux-headers-4.4.0-77-generic

Из man apt-mark:

hold используется для маркировки пакета как сдержанного, что предотвратит автоматическую установку, обновление или удаление пакета.
4
ответ дан 18 July 2018 в 12:58

Вы должны пометить ядра, которые хотите использовать как hold, используя apt-mark.

sudo apt-mark hold kernel-version

Например:

sudo apt-mark hold linux-headers-4.4.0-77-generic

Из man apt-mark:

hold используется для маркировки пакета как сдержанного, что предотвратит автоматическую установку, обновление или удаление пакета.
4
ответ дан 24 July 2018 в 20:04

Другие вопросы по тегам:

Похожие вопросы: