Установка, обновление, удаление пакетов
|
|
Disel | Дата: Вс, 29.07.2012, 19:40 | Сообщение # 1 |
Генерал-лейтенант
Группа: Бывалый
Сообщений: 489
| Установка или обновление пакета Установка пакета с помощью APT, выполняется командой
# apt-get install имя_пакета
Иногда, в результате операций с пакетами без использования APT, целостность системы нарушается и apt-get отказывается выполнять операции установки, удаления или обновления. В этом случае необходимо повторить операцию, задав опцию -f, заставляющую apt-get исправить нарушенные зависимости, если это возможно. В этом случае необходимо внимательно следить за сообщениями, выдаваемыми apt-get, анализировать их и чётко следовать рекомендациям программы.
Команда apt-get install имя_пакета используется и для обновления уже установленного пакета или группы пакетов. В этом случае apt-get дополнительно проверяет, не обновилась ли версия пакета в репозитории по сравнению с установленным в системе. Если вы не знаете точное название пакета, для его поиска можно воспользоваться утилитой apt-cache, описанной ниже.
Code Пример 6.1. Установка пакета clanbomber командой apt-get install clanbomber приведёт к следующему диалогу с APT:
Обработка файловых зависимостей... Завершено Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие дополнительные пакеты будут установлены: clanlib clanlib-mikmod clanlib-sound libmikmod Следующие НОВЫЕ пакеты будут установлены: clanbomber clanlib clanlib-mikmod clanlib-sound libmikmod 0 пакетов будет обновлено, 5 будет добавлено новых, 0 будет удалено(заменено) и 0 не будет обновлено. Необходимо получить 0B/2577kB архивов. После распаковки 3862kБ будет использовано. Продолжить? [Y/n] y Выполняется программа RPM (/bin/rpm -Uv --replacepkgs -h)... Подготовка... ########################################## libmikmod ########################################## clanlib ########################################## clanlib-mikmod ########################################## clanlib-sound ########################################## clanbomber ##########################################
Code Внимание
apt-get всегда спрашивает подтверждение выполнения операции установки и обновления, за исключением случая, когда реально требуется установить в систему (или обновить) только один пакет. Если вы не уверены в том, что в результате выполнения операции система останется работоспособной, запустите apt-get с опцией -S, которая покажет отчёт выполнения операции обновления, но реально обновление произведено не будет.
В случае обнаружения противоречий между установленными в системе пакетами следует запустить команду apt-get -f install, и APT постарается разрешить найденные конфликты, предложив удалить или заменить конфликтующие пакеты. Любые действия в этом режиме обязательно требуют подтверждения со стороны пользователя.
|
|
| |
Disel | Дата: Вс, 29.07.2012, 19:41 | Сообщение # 2 |
Генерал-лейтенант
Группа: Бывалый
Сообщений: 489
| Удаление установленного пакета Для удаления пакета используется команда apt-get remove имя_пакета. Для того, чтобы не нарушать целостность системы, будут удалены и все пакеты, зависящие от удаляемого: если отсутствует необходимая для работы приложения библиотека, то само приложение становится бесполезным). В случае удаления пакета, который относится к базовым компонентам системы, apt-get потребует дополнительного подтверждения производимой операции с целью предотвратить возможную случайную ошибку.
Запрос на подтверждение операции удаления базовой компоненты системы выглядит следующим образом:
# apt-get remove filesystem Обработка файловых зависимостей... Завершено Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие пакеты будут УДАЛЕНЫ: basesystem filesystem ppp sudo Внимание: следующие базовые пакеты будут удалены: В обычных условиях этого не должно было произойти, надеемся, Вы точно представляете, что требуете! basesystem filesystem (по причине basesystem) 0 пакетов будет обновлено, 0 будет добавлено новых, 4 будет удалено(заменено) и 0 не будет обновлено. Необходимо получить 0B архивов. После распаковки 588kБ будет освобождено. Вы собираетесь предпринять что-то потенциально вредное Для продолжения, наберите по-английски 'Yes, I understand this may be bad' (Да, я понимаю, что это может быть плохо).
Каждую ситуацию, в которой APT генерирует такое сообщение, необходимо рассматривать отдельно. Однако, вероятность того, что после выполнения этой команды система окажется неработоспособной, очень велика.
|
|
| |
Disel | Дата: Вс, 29.07.2012, 19:42 | Сообщение # 3 |
Генерал-лейтенант
Группа: Бывалый
Сообщений: 489
| Обновление всех установленных пакетов Для обновления всех установленных пакетов используется команда apt-get upgrade. Она позволяет обновить те и только те установленные пакеты, для которых в репозиториях, перечисленных в /etc/apt/sources.list, имеются новые версии; при этом из системы не будут удалены никакие другие пакеты. Этот способ полезен при работе со стабильными пакетами приложений, относительно которых известно, что они при смене версии изменяются несущественно.
Иногда, однако, происходит изменение в именовании пакетов или изменение их зависимостей. Такие ситуации не обрабатываются командой apt-get upgrade, в результате чего происходит нарушение целостности системы: появляются неудовлетворённые зависимости. Например, переименование пакета MySQL-shared, содержащего динамически загружаемые библиотеки для работы с СУБД MySQL, в libMySQL, отражая общую тенденцию к наименованию библиотек в дистрибутиве, не приводит к тому, что установка обновлённой версии libMySQL требует удаления старой версии MySQL-shared. Для разрешения этой проблемы существует режим обновления в масштабе дистрибутива — apt-get dist-upgrade.
В случае обновления всего дистрибутива APT проведёт сравнение системы с репозиторием и удалит устаревшие пакеты, установит новые версии присутствующих в системе пакетов, а также отследит ситуации с переименованиями пакетов или изменения зависимостей между старыми и новыми версиями программ. Всё, что потребуется поставить (или удалить) дополнительно к уже имеющемуся в системе, будет указано в отчёте apt-get, которым APT предварит само обновление.
При работе с Sisyphus для обновления системы рекомендуется использовать командуapt-get dist-upgrade.
|
|
| |