Управление пакетами

Управление сломанными пакетами

Теперь, когда вы можете перемещаться по списку пакетов, пора начать использовать aptitude для того, чтобы устанавливать и удалять пакеты. В этом разделе вы узнаете как отмечать пакеты для установки, удаления или обновления.

[Подсказка]Подсказка

Вы можете изменять настройки вашей системы лишь будучи пользователем root. Если вы хотите поэкспериментировать с aptitude, вы можете безопасно запустить её от имени любого пользователя, отличного от root не повредив никоим образом вашу систему. aptitude сообщит вам, когда вы попытаетесь сделать что-то, что может сделать только root, и если вы захотите продолжить, вам необходимо будет ввести пароль пользователя root.

Все изменения состояния пакета осуществляются путём его выделения в списке пактов, и затем нажатием клавиши, соответствующей выполняемому действию. Базовыми клавишами действий [2] являются + для установки или обновления пакета, - для удаления пакета, и = для предотвращения автоматического обновления пакета (это действие известно как фиксация пакета). Указанные действия не выполняются тотчас же; aptitude лишь обновит список пакетов, чтобы показать запрошенное изменение.

Например, на снимке экрана ниже, был выбран пакет kaffeine-mozilla и нажата клавиша +. Пакет в настоящий момент подсвечен зелёным, а слева от его имени появилась буква «i», что означает, что этот пакет будет установлен; дополнительно отображается оценка пространства на диске, которое будет использоваться этим пакетом.

[окно пакетов, будет установлен пакет kaffeine-mozilla]
[Подсказка]Подсказка

В любое время вы можете использовать ОткатОткат (Control+u), чтобы «откатить» любое изменение одного или нескольких пакетов. Это очень полезно, если действие имеет непредвиденные последствия, и вы хотите «вернуть все назад».

В дополнение к действиям, которые затрагивают отдельные пакеты, доступно другое важное действие: ввод U приведёт к попытке обновить все пакеты, которые могут быть обновлены в настоящий момент. Вы должны регулярно использовать эту команду, чтобы поддерживать свою систему в актуальном состоянии.

Управление сломанными пакетами

Иногда изменение состояния пакета приводит к тому, что зависимости оказываются неудовлетворенными; пакеты с неудовлетворенными зависимостями называются сломанными. aptitude оповестит вас, когда такое произойдет, и объяснит, почему это произошло. Например, вот что произойдет, если я попытаюсь удалить пакет libreoffice-base:

[окно пакетов, пакеты, сломанные после попытки удалить sound-juicer]

Как вы можете видеть, aptitude отображает три индикатора о том, что что-то пошло не так: во-первых, количество сломанных пакетов отображается в верхней синей области; во-вторых, нижняя половина окна меняется на описание сломанных пакетов, связанных с выбранным в данный момент пакетом; в-третьих, внизу экрана появляется полоса с предложением того, как разрешить проблему. Чтобы быстро найти сломанные пакеты в списке пакетов, вы можете нажать клавишу b или ввести поисковой запрос ?broken.

[Примечание]Примечание

Текст [1(1)/...] показывает прогресс решателя зависимостей aptitude. Первое число — решение, выбранное вами в данный момент, а второе — количество уже сгенерированных решенийaptitude. Наличие текста «...» обозначает, что могут иметься дополнительные решения помимо тех, что уже сгенерированы; если aptitude точно известно, что было сгенерировано единственное возможное решение, этот индикатор бы выглядел так: [1/1].

Чтобы увидеть больше информации о том, как aptitude предлагает вам разрешить эту проблему, нажмите клавишу e. Появится окно похожее на следующее:

[решатель зависимостей #1]

В этом окне вы можете увидеть больше решений, нажимая клавишу . или возвратиться к решениям, которые вы ранее рассмотрели, нажимая ,. Чтобы применить текущее решение и вернуться к списку пакетов, нажмите !. Например, нажатие . на снимке экрана, расположенном выше, приведёт к тому, что будет представлено следующее решение:

[решатель зависимостей #2]

В дополнение к базовым командам навигации по решениям, вы можете нажать r, чтобы «отказаться» от действий, которые вы не одобряете. Например, первое решение удалит пакет libreoffice. Нажимая r, когда выбран объект, соответствующий этому действию, мы сообщаем aptitude, что он не должен удалять пакет libreoffice.

[решатель зависимостей #3]

Как вы можете видеть, объект списка, соответствующий удалению libreoffice в его текущей версии выделен красным и обозначен символом «R», означающим, что это действие отклонено. Решения, которые вы сгенерируете в будущем (то есть, всякое решение, которое вы ещё не просмотрели) не будет включать это действие, хотя уже сгенерированные решения, содержащие это действие, всё ещё будут доступны.

[Примечание]Примечание

На снимке экрана, приведенном выше, описание пакета libreoffice отображается в середине окна; под ним вы можете видеть зависимость, которая послужила причиной того, что текущая версия пакета libreoffice будет удалена, вместе со всеми другими способами разрешения этой зависимости, о которых известно aptitude.

Например, если бы этот отказ был установлен сразу же после попытки удаления libreoffice-base, нажатие клавиши . привело бы к обнаружению следующего решения и, соответственно, пропуску решений, которые бы удаляли пакет libreoffie.

[решатель зависимостей #4]

Отказы применяются только к новым решениям; то есть, решениям, создаваемым при нажатии клавиши . во время просмотра последнего из созданных решений. Ранее созданные решения могут содержать действия, от которых вы отказались. Вы можете отменить отказ в любое время, выбрав действие, которому вы ранее отказали в выполнении, и нажав r; это снова разрешит создавать решения, содержащие данное действие, включая все решения, которые ранее были «пропущены».

Противоположностью отказа от действия является его одобрение. Чтобы одобрить действие, выберите его и нажмите a; это заставит решатель проблем выбирать этой действие всегда, если это возможно[3]. Одобренные действия будут окрашены зелёным цветом и будут обозначены символом «A», как на следующем снимке экрана:

[решатель зависимостей #5]
[Важно]Важно

Если вы не разрешите какие-либо сломанные зависимости, aptitude автоматически выполнит своё текущее предложение когда вы зафиксируете свой выбор, нажав клавишу g. Тем не менее, довольно трудно разрешать проблемы с зависимостями автоматически, и вы можете быть не рады результатам, поэтому обычно хорошо бы просмотреть то, что aptitude планирует сделать до того, как зафиксировать свой выбор.



[2] Вы также можете изменять пакеты, используя меню Пакет; более подробную информацию см. в разделе «Меню Пакет».

[3] Одобрение действия несколько отличается от требования ко всем решениям содержать данное действие; одобрение предполагает, что когда возникает выбор между одобренным и не одобренным действием, решатель всегда будет выбирать одобренное действие. Если имеется несколько возможных одобренных действий, все они будут кандидатами на помещение их в решение.