Безопасно ли использовать команду apt-get autoremove в этом конкретном сценарии?

37

В последний раз, когда я использовал sudo apt-get autoremove, почти все важные драйверы дисплея или части были удалены. Это заставило меня очень брезгливо снова использовать команду. Однако каждый раз, когда я что-то устанавливаю или использую, apt-get updateтерминал читает:

The following packages were automatically installed and are no longer required:
  devilspie libturbojpeg:i386 libxrandr-ltsr2 language-pack-kde-en
  kde-l10n-engb language-pack-kde-en-base libxv1:i386 libllvm3.2
  libllvm3.2:i386 linux-generic-lts-raring
Use 'apt-get autoremove' to remove them.  

Я попробовал команду, cleanи сообщения перестали отображаться на некоторое время. У меня вопрос: безопасно ли выполнять autoremoveкоманду, или я снова все потеряю? Есть ли способ проверить, насколько безопасно использовать autoremoveэтот конкретный (или любой) случай?

Nkciy84
источник
autoremoveСам по себе удалит только оставшиеся зависимости пакетов, которых у вас больше нет. Если вы удалили основной пакет (например, рабочий стол Ubuntu), autoremoveвозможно, запутались и удалили другие вещи, которые, по вашему мнению, вам больше не нужны. Я много использовал autoremoveи никогда не было проблем.
Сет
1
Есть ли способ проверить, безопасно ли это? Потому что я действительно есть проблемы с его использованием.
Nkciy84
Он свяжется с вами, прежде чем удалит все пакеты.
Сет
Не нужно добавлять лишнюю строку между ними;).
Брайам
Lol @Braiam, я подумала, если ты сделаешь это более читабельным, ты, вероятно, был прав. Пытался сделать это еще лучше :)
Nkciy84

Ответы:

52

Чтобы сосредоточиться на своем прошлом опыте, если autoremoveон собирается удалить «больше, чем вы хотели», он делает это только потому, что от этих пакетов больше не зависит. Это происходит, когда вы случайно что-то удаляете :)

Типичным примером старых добрых времен было удаление чего-то связанного с Compiz. apt-getпокажет вам список пакетов Compiz, которые он собирался удалить, и вы бы пропустили, что ubuntu-desktopтакже было там. ubuntu-desktopэто просто метапакет, который зависит от всех пакетов, составляющих рабочий стол, поэтому удаление его напрямую ничего не удаляет ...

... Но когда вы делаете последующее autoremove, все те вещи, которые ubuntu-desktopбыли единственной зависимостью ... Они прощаются.

Несколько уроков:

  • sudo apt-get remove <package>предупредит вас, что он собирается удалить напрямую. Он не будет уведомлять вас о эффектах удара.
  • sudo apt-get autoremove Также следует предупредить вас, что он собирается делать.
  • Используйте apt-get -s autoremoveдля симуляции пробного прогона, если вы не уверены. Вы можете использовать это во всех apt-getкомандах.
  • Если вы перезагружаетесь и смотрите на TTY1, размышляя о том, какие обезьяны вы обстреляли на этот раз, /var/log/apt/history.logвам следует предпринять последние действия.
  • В случае сомнений, проверка ubuntu-desktopустановлена.

Является ли autoremove безопасным ? Это тяжелая техника, поэтому она так же безопасна, как и водитель ... Но, тем не менее, трудно нанести непоправимый урон.

Оли
источник
Спасибо, это был на самом деле ответ, который мне был нужен. Спасибо, что хотя бы прочитали весь пост, прежде чем делать предположения из-за названия и мышления tl; dr. Флаг -s был информацией, которую я искал.
Nkciy84
Это небезопасно! Я просто убил свою rosустановку, потому что aptподумал, что было бы неплохо автоматически удалить ее. Нет, я не могу переустановить его из-за того, что unmet Dependencies`держал сломанные
пакеты`
2
@mcExchange Он предупредит и попросит вас сделать это. По последней строчке, это так же безопасно, как и человек, использующий его.
Оли
Да, меня предупредили / попросили, затем я прочитал ваш ответ и почувствовал, что это безопасно. Однако это полу катастрофы! Я думал, что это стоит упомянуть. Ubuntu чрезвычайно чувствителен, когда дело доходит до зависимостей. Возможно, это была вина ros разработчиков, но кого это волнует? Просто ужасно, как легко можно попасть в ад зависимостей в системе Ubuntu
mcExchange
5

Следующие пакеты были установлены автоматически и больше не требуются

Если они больше не нужны, apt узнает, когда они строят зависимости. apt-get просто информирует вас: «Эй, вы удалили что-то, что установило эти пакеты. Я предпочитаю, чтобы вы решили, что с ними делать, так как вы босс ».

Теперь это безопасно? Да. Что произойдет, если вам снова понадобится их? APT загрузит их. Должен ли я проверить список? Да. Может понадобиться легкая проверка.

Braiam
источник
Извините, но меня смущает то, что я однажды использовал apt-get autoremove, и у меня остался только CLI и без x-сервера. Боль, которая стоила мне переустановить (читай: время и усилия), была уже не смешной.
Nkciy84
1
@ Nkciy84, потому что вы, вероятно, удалили метапакет. И не читал пакеты, которые вы удалите. IMO, apt спросит вас, удаляете ли вы пакет, который оставит систему поврежденной / не загружаемой, поэтому, только если вы прочитаете, что удалит около 100 пакетов, вам не о чем беспокоиться.
Брайам
он автоматически удалял ВСЕ мои сетевые драйверы. Я уверен, что они были необходимы! :(
JamesRyan
@JamesRyan у вас был список пакетов, запрашивающих подтверждение. Кроме того, я почти уверен, что вы не установили эти пакеты, так как они были помечены как автоматически установленные.
Брайам
@Braiam не просил у меня подтверждения, и были ли они установлены автоматически, не имеет значения, когда ПК теперь отключен, и мне приходится искать его, пытаясь исправить это с помощью USB-флешек. Моя основная проблема заключалась в том, что Ubuntu заполнил раздел / boot. Это не то, чего пользователь должен касаться, это плохой пользовательский опыт, созданный Ubuntu.
Джеймс Райан
1

Небезопасный пример:

apt-get remove --purge icedove*

Никогда, почти никогда не используйте звездочку, кроме libreoffice

С большой властью приходит большая ответственность. Как правило, вы должны использовать менеджер пакетов synaptic, который предлагает намного лучшее представление (предупреждения **), чем терминал.

Например, в Debian Jessie (8.2) я заметил, что imagemagick не работает, и что в меню установки по умолчанию есть два ярлыка для него. Я начал с:

apt-get remove --purge imagemagick

Это избавило от одного ярлыка, затем я запустил synaptic, и два пакета остались одним из тех, которые были imagemagick-common. Выбрав этот пакет для полного удаления, он показал inkscape как первую вещь, которую нужно было удалить как следствие среди многих других.

Теперь сделайте то же самое в терминале, и он не будет прыгать на вас почти так же. Это может совсем не помешать вам, если вы не ветеран Linux.

thmtrxhsu
источник