Рейтинг:5

apt-get autoremove хочет удалить более 1000 пакетов и все такое

флаг in

В нем перечислены 1546 пакетов, которые необходимо удалить. В том числе xorg, xсервер и другие основные пакеты. Я ввел «да» в прошлом, и, как и ожидалось, ОС заблокировалась, и мне пришлось переустанавливать ее с нуля. На этот раз я ответил «нет» и попробовал:

sudo apt-get -y update --fix-missing

но он все еще хочет удалить все. Как я могу это исправить, пожалуйста!

Organic Marble avatar
флаг us
Что вы сделали, чтобы вызвать ситуацию? Вероятно, вы удалили какой-то метапакет, например рабочий стол.
Terrance avatar
флаг id
Посмотрите в `/var/log/apt/history.log` что-то недавно удаленное. Возможная команда, которая может помочь, будет `cat /var/log/apt/history.log | grep -удалить`
guiverc avatar
флаг cn
Мы не знаем ваш продукт или версию (*хотя описание подразумевает установку на настольный компьютер, лучше, если нам предоставили эту информацию и не нужно гадать*), но я предполагаю, что вы добавили источник, предназначенный для другой системы/ выпуск, который вызвал конфликты пакетов и, следовательно, где вы сейчас находитесь (*удаление множества пакетов было исправлением для созданного пользователем конфликта*), но без подробностей мы можем только догадываться. Предоставление нам вашей ОС, сведений о выпуске и фактических пакетов (чтобы мы могли найти некоторые из них и указать конкретную причину, а не просто угадывать *причину* описанного вами *эффекта*)
U.V. avatar
флаг cn
Это случилось со мной в 3-летней системе, запущенной с Ubuntu-Studio 18.04, но работающей с приложениями xfce4 и mate, а также с некоторыми приложениями gnome. Много обновлений и тонны вещей. Внезапно Thunderbird, Firefox и многое другое исчезли. Допустим, структуры зависимостей, которые создает apt, просто ломаются после такого длительного времени установки, обновления и удаления. Я всегда задавался вопросом о математической полноте этой системы, и теперь я знаю, что она несовершенна. Это означает, что состав слишком большого количества графов зависимостей не является правильно обратимым. Так что надо быть осторожным (или чаще переустанавливать) ;)
Рейтинг:4
флаг cn

Чаще всего это происходит, когда люди подключают рабочий стол к минимальной установке.Но это может произойти, когда вы подключаете ЛЮБОЙ основной стек к системе Ubuntu.

В примере с настольным компьютером это означает, что весь стек рабочего стола висит на одном метапакете (например, Ubuntu-рабочий стол упаковка). Когда вы удаляете какой-либо элемент или приложение рабочего стола, что приводит к удалению метапакета рабочего стола, это действие делает весь стек рабочего стола пригодным для автоматического удаления.

Профилактика

  • Когда люди используют настоящий установщик рабочего стола, появляется дополнительный уровень защиты от маркировки apt, чтобы люди не могли автоматически удалить весь свой рабочий стол.

  • Вы также можете явно установить (или пометить) приложения, которые используете. Таким образом, большинство зависимостей рабочего стола не будут удалены автоматически.

    sudo apt install shotwell # Пример явной установки
    sudo apt-mark manual shotwell # Пример apt-marking
    
  • установить с помощью пакетов задач, например, Ubuntu MATE можно установить с помощью

    sudo apt-get установить ubuntu-mate-desktop^
    

    Обратите внимание ^, это означает задачу; установка таким образом предотвратит разрушение системы, если кто-то захочет запустить потенциально опасные команды, такие как sudo apt autopurge ubuntu-mate-desktop для мета-пакета.

Восстановление

  • Вы можете просто переустановить пакет задач рабочего стола.

    sudo apt install --reinstall ubuntu-desktop^ # Пример переустановки задачи рабочего стола Ubuntu
    
  • Вы также можете скопировать длинный список удалений и вставить этот список в команду установки. Обратите внимание, что именование пакет делает его непригодным для автоматического удаления в будущем, но вас беспокоит слишком много автоматических удалений, а не слишком мало. Если вам нужно восстановить этот список, он находится в вашем /var/log/apt/history.log файл.

N0rbert avatar
флаг zw
Слишком много ошибок. Использование минимального Ubuntu абсолютно нормально. Позор Canonical, что они [отбросили] (https://discourse.ubuntu.com/t/poll-about-possible-netboot-mini-iso-revival-in-future-ubuntu-releases/19457) это. Установка настольных систем должна выполняться с помощью пакетов задач, таких как `sudo apt-get install ubuntu-mate-desktop^`. Метапакеты нормального дизайна не должны приводить к огромным автоудалениям. Запуск `sudo apt autopurge ubuntu-mate-desktop` не разрушает систему. Сначала почините свой замечательный и полезный рабочий стол ubuntu. `apt-mark` ненадежен, используйте вместо него PIN-код.
user535733 avatar
флаг cn
@N0rbert N0rbert, ты прав - я пропустил пакеты задач. Не могли бы вы отредактировать дополнительный маркер для этого?
N0rbert avatar
флаг zw
Готово, надеюсь, теперь это лучше любого отказоустойчивого.
Рейтинг:0
флаг in

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

  • использовать дпкг -л | grep $shortpackagename чтобы проверить, установлена ​​ли более новая версия, и в этом случае можно удалить старую версию
  • использовать apt rdepends $packagename чтобы увидеть, есть ли родительский пакет, который вам также нужен. Если есть, установите этот родительский пакет или обратную зависимость от этого родителя.
  • Если нет (очевидного) родительского пакета зависимостей, который вы хотите сохранить, но вы все равно хотите его сохранить, apt установить $packagename чтобы он не удалялся автоудалением.

Хороший пример вышеизложенного (как упоминалось в комментариях), если autoremove хочет удалить xorg затем установите Ubuntu-рабочий стол и вы, вероятно, обнаружите, что многие из автоудалений теперь будут иметь установленную родительскую зависимость, и список станет короче.

Как только список станет достаточно коротким, чтобы остались либо устаревшие пакеты, либо вещи, которые, как вы уверены, вам не нужны, тогда автоматическое удаление безопасно.

Эта ситуация не является нормальной, это не происходит автоматически. Это вызвано тем, что в какой-то момент что-то критическое удаляется из системы, что приводит к удалению некоторого важного родительского пакета (например, ubuntu-desktop).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.