Битлента
Windows, macOS, Android, iOS5 мин чтения·

apt update, upgrade и full-upgrade: чем они отличаются и в каком порядке запускать

Разбор команд apt в Debian и Ubuntu: что делает update, чем upgrade отличается от full-upgrade, remove от purge, как очистить лишнее и что значит ошибка блокировки.

Кратко

apt update только обновляет список доступных пакетов и ничего не устанавливает. apt upgrade ставит новые версии уже установленных пакетов, а full-upgrade может ещё удалять и добавлять зависимости. Обычно сначала update, потом upgrade.

Update обновляет список, upgrade обновляет программы

Главная путаница вокруг apt связана с названием первой команды. apt update не обновляет программы. Она скачивает свежие списки пакетов из репозиториев, которые перечислены в настройках системы, чтобы менеджер знал, какие версии сейчас доступны. После неё на компьютере ничего нового не появляется, только обновляется каталог.

Реальную установку выполняет apt upgrade: она сравнивает установленные версии со списком и ставит более новые. Поэтому правильный порядок такой: сначала update, затем upgrade. Если запустить upgrade без свежего списка, менеджер будет опираться на устаревшие сведения и может не увидеть новые версии.

Обе команды требуют прав администратора, то есть запуска через sudo. Перед upgrade apt показывает, что именно будет обновлено и сколько данных нужно скачать, и спрашивает подтверждение. Читайте этот список: он помогает заметить неожиданные изменения, например удаление нужной программы. Ключ -y отвечает «да» автоматически и подходит для скриптов, а не для первого знакомства.

upgrade, full-upgrade и dist-upgrade

Разница между ними — в том, насколько смело менеджер меняет набор пакетов.

КомандаЧто делает
apt upgradeставит новые версии (при необходимости с новыми зависимостями), но не удаляет установленные пакеты
apt full-upgradeможет удалять пакеты и ставить новые, если это нужно для разрешения зависимостей
apt-get dist-upgradeто же поведение, что у full-upgrade, в старой форме команды

Бывает, что upgrade оставляет часть пакетов «удержанными»: в сообщении появляется строка о том, что эти пакеты не обновлены. Обычно причина в том, что для обновления пришлось бы удалить какой-то из установленных пакетов. Тогда помогает full-upgrade, но внимательно прочитайте, что будет удалено.

Для обычной настольной или серверной системы достаточно регулярного upgrade, а full-upgrade уместен при переходах между версиями дистрибутива, где набор пакетов меняется шире. Сами переходы между версиями делают по инструкции разработчика дистрибутива, а не набором команд из памяти.

Установка, удаление и поиск пакетов

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

  • apt search слово — искать пакеты по описанию;
  • apt show имя — посмотреть версию, размер, зависимости и описание перед установкой;
  • apt install имя — установить пакет вместе с зависимостями;
  • apt remove имя — удалить программу, оставив её настройки;
  • apt purge имя — удалить вместе с системными файлами настроек;
  • apt autoremove — убрать пакеты, которые ставились как зависимости и больше никому не нужны;
  • apt list --upgradable — показать, что можно обновить, не обновляя.

Разница между remove и purge важна, когда вы хотите вернуть систему «как было»: remove сохраняет конфигурацию, чтобы при повторной установке не потерять настройки, purge стирает её. Личные данные в домашней папке ни та ни другая команда обычно не затрагивает, но это зависит от пакета.

Перед apt autoremove читайте список: иногда в него попадает то, что вы считаете нужным. Если пакет нужен, установите его явно, и он перестанет считаться лишним.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Ошибки блокировки и как их разбирать

Самое частое сообщение — что не удаётся получить блокировку: файл /var/lib/dpkg/lock или подобный занят другим процессом. Это защита от одновременной работы двух менеджеров пакетов.

Порядок действий при таком сообщении:

  1. Подождите несколько минут: в фоне могло начаться автоматическое обновление, которое само завершится.
  2. Проверьте, что действительно запущено: ps aux | grep -E 'apt|dpkg'. Если видите работающий процесс, дайте ему закончить.
  3. Не удаляйте файлы блокировки вручную, пока уверены, что другой процесс работает: так можно повредить базу пакетов.
  4. Если процесса нет, а установка была прервана, система обычно предлагает команду sudo dpkg --configure -a, которая достраивает прерванные операции.
  5. Для повреждённых зависимостей используют sudo apt --fix-broken install.

Ещё одна категория сбоев связана с репозиториями: сообщения о недоступности адресов, истёкших ключах подписи или переименованных ветках. Они означают проблему настройки источников или сети, а не самого apt. Проверьте подключение, актуальность списка источников и документацию вашего дистрибутива.

Привычки, которые экономят нервы

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

Обновляйтесь регулярно, но не за пять минут до важного дела: после обновления иногда нужна перезагрузка, особенно когда обновилось ядро. Если после upgrade система просит перезапустить службы, соглашайтесь в удобное время.

На сервере перед крупным обновлением сделайте резервную копию нужных данных и убедитесь, что есть второй способ входа, если служба SSH откажется стартовать. Часть обновлений автоматические; включена ли такая настройка, зависит от дистрибутива и выбранных параметров.

Периодически очищайте кэш скачанных пакетов командой apt clean: он занимает место на диске, а искать, что занимает место, помогают команды df и du.

И наконец, ставьте программы из репозиториев вашего дистрибутива, пока этого достаточно. Добавление сторонних источников увеличивает риск конфликтов и требует доверия к тому, кто их ведёт. Каждый добавленный источник стоит записывать, чтобы потом можно было понять, откуда на компьютере взялась конкретная версия.

Чем apt отличается от apt-get

В инструкциях встречаются оба названия, и это вызывает вопросы. apt-get — более старый инструмент, поведение которого меняется редко, поэтому им привыкли писать скрипты. apt — более новая оболочка для интерактивной работы: у неё аккуратный вывод, индикатор прогресса и объединённые в одной команде действия, которые раньше требовали разных программ вроде apt-cache.

Для повседневной работы в терминале подойдёт apt. В автоматических сценариях и в примерах, написанных несколько лет назад, чаще используют apt-get, и такие команды продолжают работать. Различие в выводе: apt сам предупреждает, что его интерфейс не рассчитан на разбор программами, поэтому скриптам лучше полагаться на apt-get.

Ещё один инструмент в той же семье — dpkg. Он работает с отдельными файлами пакетов и не решает зависимости за вас. Когда нужно установить загруженный файл пакета, apt install с путём к файлу сам подтянет недостающее, а dpkg -i ограничится одним пакетом и сообщит о недостающих зависимостях.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
linuxaptпакетыubuntu

Часто задаваемые вопросы

Читайте также