Как избавиться от сообщения `run apt-get autoremove`?

Вы можете использовать параметр cut -d , чтобы определить разделитель (который исключается из результирующих полей):

echo "<xml:attribute>{41c33a-4893b-3627a-617a}</xml:attribute>" | cut -d\> -f2 | cut -d\< -f1

Это разбивается на > и выводит второе поле, оставляя {41c33a-4893b-3627a-617a} , затем снова на < и выводит первое поле.

Поля описывают текст между разделителями, а также между началом текста и первым разделителем, а также последним разделителем и концом текста. Используя > в исходном тексте, вы получите:

  1. {41c33a-4893b-3627a-617a}
  2. пустая строка

(разделитель опускается). Затем использование < в поле 2 дает

  1. {41c33a-4893b-3627a-617a}
  2. / xml: attribute

и поле 1 содержит результат, который вы ищете.

1
27.06.2016, 22:39
3 ответа

Я нашел команду apt-mark (которую нужно запускать от имени пользователя root). Запустите apt-mark manual <имя пакета> , чтобы пометить пакет как установленный вручную, чтобы ваша система не удаляла его при запуске apt-get autoremove .

2
29.04.2021, 00:13

Самый простой, вероятно, просто установить их, как предлагает Стивен в другом ответе, но вы также можете просто пометить их как установленные вручную с помощью aptitude unmarkauto ... .

4
29.04.2021, 00:13

У вас должна быть возможность выполнить sudo apt-get install .... и пакеты, которые вы хотите сохранить. Это сообщит системе, что пакеты были установлены «вручную», и поэтому удалим их из области автоматического удаления

, например, мы видим, что моя система хочет автоматически удалить несколько пакетов:

# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... The following packages were automatically installed and are no longer required:
  bluetooth bluez-cups libboost-filesystem1.55.0
  libboost-program-options1.55.0 libdumbnet1 libgssapi3-heimdal
  libheimntlm0-heimdal libkdc2-heimdal powertop zerofree
Use 'apt-get autoremove' to remove them.
Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Если я вручную установил bluetooth, мы теперь увидим он просто устанавливает для него значение «установлена ​​вручную», и bluetooth (и его зависимости) больше не помечаются

# apt-get install bluetooth
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bluetooth is already the newest version.
bluetooth set to manually installed.
The following packages were automatically installed and are no longer required:
  libboost-filesystem1.55.0 libboost-program-options1.55.0 libdumbnet1
  libgssapi3-heimdal libheimntlm0-heimdal libkdc2-heimdal powertop zerofree
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
3
29.04.2021, 00:13

Теги

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