Гид по технологиям

apt против apt‑get: что изменилось и как пользоваться

7 min read Linux Обновлено 22 Dec 2025
apt vs apt‑get: как и почему перейти
apt vs apt‑get: как и почему перейти

Фрагмент терминала с командой apt и прогресс-баром

Linux постоянно развивается. Часть изменений происходит «за кулисами» — в ядре и библиотеках. Но иногда пользователям приходится привыкать к новому способу взаимодействия с системой. Появление команды apt — именно такой случай, хотя и менее болезненный, чем многие другие изменения.

Вместо радикальной замены, Debian-подобные системы (Ubuntu, Linux Mint, Raspbian и др.) ввели apt как более простой и унифицированный интерфейс поверх существующих инструментов apt-get и apt-cache. В этой статье мы объясним, что изменилось, зачем это сделано и как это использовать в реальных сценариях.

Что такое apt и чем он отличается

apt — это командная утилита для управления пакетами, которая сочетает в себе наиболее часто используемые возможности apt-get и apt-cache. Цели и преимущества:

  • Упрощение: короче команды, меньше дублирующихся опций.
  • Улучшённый UX: прогресс-бар при установке/удалении, более понятные сообщения.
  • Новые полезные команды и параметры (full-upgrade, list с несколькими режимами, –no-upgrade и –only-upgrade и др.).

Важно: apt не ломает совместимость. Сценарии, которые работали с apt-get, продолжают работать, но apt даёт более удобную и современную оболочку для повседневных задач.

Когда использовать apt, а когда apt-get

Правило простое:

  • Для интерактивной работы в терминале используйте apt. Он удобнее и информативнее.
  • Для сценариев автоматизации и скриптов (особенно где важна стабильность вывода) продолжайте использовать apt-get, если вы полагаетесь на строгий и неизменный формат вывода.

Почему? apt ориентирован на человека — прогресс-бар, упрощённые сообщения. apt-get исторически даёт более предсказуемый формат, который может быть важен для парсинга скриптами.

Краткая шпаргалка по эквивалентам

  • apt-get update → sudo apt update
  • apt-get upgrade → sudo apt upgrade
  • apt-get install → sudo apt install
  • apt-get remove → sudo apt remove
  • apt-get purge → sudo apt purge
  • apt-get autoremove → sudo apt autoremove

Обновление: full-upgrade против upgrade

Команда apt добавила удобную команду full-upgrade:

sudo apt full-upgrade

Разница:

  • sudo apt upgrade — обновляет установленные пакеты, но не удаляет пакеты, если это требуется для решения конфликтов версий.
  • sudo apt full-upgrade — обновляет пакеты и при необходимости удаляет устаревшие или конфликтующие пакеты, чтобы завершить обновление.

Когда использовать full-upgrade: если вы хотите чтобы система применила все доступные обновления, даже если для этого придётся удалить некоторые пакеты. Если вы хотите более консервативный подход — используйте обычный upgrade.

Установка нескольких пакетов одной командой

apt позволяет перечислить несколько пакетов для установки в одной строке:

sudo apt install package1 package2 package3

Если пакет уже установлен, apt проверит, доступна ли более новая версия, и предложит её установить. Это удобно для сценариев быстрой настройки новой машины.

Установка без обновления и только обновление

Иногда нужно переустановить пакет без одновременного обновления до новой версии или наоборот — загрузить новую версию, но не устанавливать её. apt предоставляет опции для таких случаев:

Переустановить пакет без обновления его до более новой версии:

sudo apt install packagename --no-upgrade

Загрузить обновление для пакета, не устанавливая его (редкий сценарий):

sudo apt install packagename --only-upgrade

Примечание: –only-upgrade полезна, если вы хотите подготовить кэш обновлений заранее.

Установка конкретной версии пакета

Если новая версия приложения нарушает нужную вам функциональность, можно установить конкретную версию:

sudo apt install packagename=1.2.3-1ubuntu0.1

Где версия пакета берётся из списка доступных версий (apt list –all-versions или apt-cache policy packagename). Учтите, что последующие общесистемные обновления могут заменить эту версию, если не зафиксировать её отдельными мерами (например, держать пакет заблокированным через apt-mark hold).

Просмотр списков пакетов

Команда apt list умеет выводить пакеты по разным условиям.

  • Пакеты, доступные для обновления:
apt list --upgradeable
  • Установленные пакеты:
apt list --installed
  • Все доступные версии пакетов для текущих репозиториев (обратите внимание на количество дефисов):
apt list --all-versions

(внимание: правильный вариант — два дефиса перед all-versions; в документации иногда встречаются опечатки с большим количеством дефисов)

Список пакетов и их статусы в терминале

Удаление: remove vs purge

  • sudo apt remove packagename — удаляет бинарные файлы пакета, оставляя конфигурационные файлы в системе (они могут понадобиться при переустановке).
  • sudo apt purge packagename — удаляет пакет и его конфигурационные файлы полностью.

Обычно используйте purge, если хотите полностью избавиться от следов программы. Если вы планируете возможное возвращение пакета и хотите сохранить настройки — используйте remove.

Очистка: autoremove и другие команды

apt упрощает очистку с помощью одной унифицированной команды:

sudo apt autoremove

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

Раньше в apt-get использовали комбинацию clean и autoclean для управления локальным кэшем пакетов. Эти команды по-прежнему доступны, но autoremove решает задачу удаления ненужных зависимостей наиболее часто применяемым способом.

Удаление неиспользуемых зависимостей apt autoremove

Дополнительные возможности apt

apt предоставляет несколько удобных улучшений по сравнению с классикой:

  • Информативный прогресс-бар при установке и удалении пакетов.
  • Объединение распространённых команд apt-cache и apt-get.
  • Удобный вывод списков с фильтрацией.
  • Дополнительные параметры управления версиями пакетов.

Тем не менее, для автоматизированных скриптов и CI/CD иногда остаётся разумным использовать apt-get ради стабильного машинного вывода.

Сценарии и советы по переходу

  1. Личное рабочее окружение (интерактивный терминал): переходите на apt. Он быстрее печатать и удобнее читать.
  2. Скрипты и автоматизация: оставляйте apt-get, если ваш скрипт парсит вывод утилиты. Если вы контролируете формат вывода и он не критичен, можно перейти на apt.
  3. Серверы с критическими службами: тестируйте full-upgrade на стендах, прежде чем применять в проде; некоторые обновления требуют удаления пакетов.

Ментальные модели и чек-листы

Ментальная модель: apt — это удобная «рабочая лошадка» для людей, apt-get — «инструмент для машин и сценариев».

Чек-лист системного администратора перед крупным обновлением:

  • Сделать бэкап конфигураций сервисов.
  • Проверить доступность репозиториев и свободное место на диске.
  • На тестовом стенде выполнить sudo apt update && sudo apt full-upgrade.
  • Проверить логи и запустить smoke-тесты сервисов.
  • Выполнить обновление на продакшене в окне обслуживания.

Роль-ориентированные чек-листы

  • Для разработчика: использовать sudo apt install для быстрой установки dev-зависимостей; держать пакеты, критичные для сборки, зафиксированными.
  • Для администратора: использовать sudo apt full-upgrade на тестах перед продакшеном; документировать удаляемые пакеты.
  • Для новичка: начинать с sudo apt update && sudo apt upgrade, изучить apt list –installed.

Решение «когда удалить, когда оставить» — диаграмма

flowchart TD
  A[Нужно обновление пакетов?] --> B{Есть критичные зависимости?}
  B -- Да --> C[Тестируем на стенде: sudo apt full-upgrade]
  B -- Нет --> D[Используем sudo apt upgrade]
  C --> E{Все сервисы работают?}
  E -- Да --> F[Внедряем на прод]
  E -- Нет --> G[Откат/исследование причин]
  D --> F
  G --> H[Рассмотреть pinned-version или rollback]

Критерии приёмки

  • Команды apt выполняют те же действия, что и эквивалентные apt-get, для интерактивного использования.
  • Скрипты, которые полагались на точный формат вывода apt-get, продолжают работать, если не были изменены.
  • После миграции пользователи получают более читабельный вывод и прогресс-бар.

Тест-кейсы и приёмка изменений

  • Проверить, что sudo apt install пакет устанавливает тот же набор файлов, что и apt-get install.
  • Проверить поведение sudo apt full-upgrade при наличии пакетов, требующих удаления.
  • Проверить, что sudo apt autoremove очищает ненужные зависимости без удаления требуемых пакетов.

Когда apt может не подойти (контрпримеры)

  • Скрипты, которые парсят вывод apt, могут сломаться из-за более «человеческого» формата сообщений и прогресс-бара.
  • Узкоспециализированные команды apt-get или apt-cache всё ещё могут предоставлять дополнительные опции для сложных сценариев отладки.

Практическая шпаргалка: часто используемые команды

# Обновить информацию о пакетах
sudo apt update

# Обновить установленные пакеты (консервативно)
sudo apt upgrade

# Обновить и при необходимости удалить конфликтующие пакеты
sudo apt full-upgrade

# Установить пакет(ы)
sudo apt install package1 package2

# Установить конкретную версию пакета
sudo apt install packagename=1.2.3-1

# Переустановить без апгрейда
sudo apt install packagename --no-upgrade

# Удалить пакет (оставляет конфиг)
sudo apt remove packagename

# Удалить пакет и конфигурацию
sudo apt purge packagename

# Удалить неиспользуемые зависимости
sudo apt autoremove

# Показать установленные пакеты
apt list --installed

# Показать пакеты, доступные для обновления
apt list --upgradeable

Сопоставление совместимости и миграции

  • Версии Debian/Ubuntu выпускают apt в репозитории после тщательного тестирования. Если у вас стабильная LTS‑сборка — установка apt уже доступна из стандартных репозиториев.
  • Миграция не требует удаления apt-get; обе команды могут сосуществовать.
  • Для автоматизации: по возможности продолжайте использовать apt-get в скриптах, пока не убедитесь, что формат вывода apt приемлем.

1‑строчная глоссарий

  • apt — современная команда для управления пакетами, объединяющая часто используемые функции apt-get и apt-cache.
  • apt-get — классическая наборная утилита для управления пакетами; полезна для скриптов.
  • apt-cache — инструмент для запроса информации о пакетах.
  • full-upgrade — команда apt для обновления с удалением конфликтующих пакетов.
  • autoremove — удаление автоматически установленных, но неиспользуемых зависимостей.

Заключение

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

Если вы ещё не пробовали apt — начните с sudo apt update && sudo apt upgrade на тестовой машине. А затем решите, какой инструмент требованиям вашего окружения подходит больше.

Image Credits: Brian A Jackson/Shutterstock

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Google Assistant для Home Assistant — шаг за шагом
Умный дом

Google Assistant для Home Assistant — шаг за шагом

Как аннотировать презентации в Google Slides
Презентации

Как аннотировать презентации в Google Slides

Как перенести номер в Google Voice
Мобильная связь

Как перенести номер в Google Voice

Как подключить гарнитуру к устройству с одним аудиоразъёмом
Аудио

Как подключить гарнитуру к устройству с одним аудиоразъёмом

PowerPoint не может найти Word — исправление ошибки
Microsoft Office

PowerPoint не может найти Word — исправление ошибки

Резервная копия и восстановление PS4
Гайды

Резервная копия и восстановление PS4