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

apt-get в Ubuntu: установка и управление пакетами

9 min read Linux Обновлено 26 Dec 2025
apt-get в Ubuntu: установка и управление пакетами
apt-get в Ubuntu: установка и управление пакетами

Быстрые ссылки

  • APT
  • Поиск пакетов
  • Добавление репозиториев
  • Обновление источников
  • Установка
  • Удаление пакетов
  • Обновление ПО
  • Очистка
  • Проверка установленных пакетов
  • Секрет

Как использовать apt-get для установки программ в Ubuntu из командной строки

Введение в APT

APT (Advanced Packaging Tool) — это система управления пакетами в Debian-производных, включая Ubuntu. Пакет — это отдельная единица ПО: возможный исполняемый файл, библиотеки, метаданные и скрипты установки. APT управляет зависимостями между пакетами, разрешает их и автоматизирует установку, удаление и обновление.

Кратко:

  • Пакет — один программный компонент или библиотека.
  • Репозиторий — хранилище пакетов, доступное по сети.
  • apt-get/apt — интерфейсы для APT. Для системных изменений требуется привилегия суперпользователя (sudo).

Важно: в Ubuntu большинство команд APT нужно выполнять с sudo.

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

Чтобы найти пакет по имени или описанию, используйте apt-cache search:

apt-cache search [search term 1] [search term 2] … [search term n]

Например, чтобы найти карточные игры:

apt-cache search solitaire

Если результатов много, отобразите их постранично:

apt-cache search [search term] | less

Команда less позволяет прокручивать вывод стрелками, PageUp/PageDown, пробелом и клавишей b; для выхода нажмите q.

Примечание: apt-cache ищет строки в названиях и описаниях пакетов.

Результаты поиска пакетов в APT

Добавление репозиториев

Репозитории позволяют получать пакеты, которых нет в стандартных источниках Ubuntu. Ранние методы требовали правки /etc/apt/sources.list, но для PPA и популярных репозиториев удобнее использовать add-apt-repository.

Редактирование вручную:

sudo nano /etc/apt/sources.list

Добавление PPA:

sudo add-apt-repository ppa:tualatrix/ppa

После добавления репозитория обязательно обновите списки пакетов (см. ниже).

Добавление внешнего репозитория в Ubuntu

Обновление источников

После изменения репозиториев APT нужно обновить локальную базу данных пакетов:

sudo apt-get update

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

Обновление индекса пакетов APT

Установка пакетов

Установка одного или нескольких пакетов:

sudo apt-get install [package name 1] [package name 2] … [package name n]

APT скачает пакет и необходимые зависимости. Часто вместе с основным пакетом предлагаются рекомендуемые или опциональные пакеты — вы увидите их в подсказке перед подтверждением.

Если требуется установить пакет по локальному .deb файлу, лучше использовать dpkg с последующей коррекцией зависимостей:

sudo dpkg -i package.deb sudo apt-get install -f

Совет: если вы не уверены, что установка вызовет побочные эффекты, сначала выполните симуляцию (см. раздел «Безопасная установка» ниже).

Установка пакета через apt-get

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

Чтобы удалить пакет, но сохранить его конфигурацию (возможен откат):

sudo apt-get remove [package name]

Чтобы удалить вместе с конфигурационными файлами и директориями, используйте –purge:

sudo apt-get remove –purge [package name]

Чтобы автоматически удалить пакеты, которые стали неиспользуемыми после удаления других пакетов:

sudo apt-get autoremove

autoremove полезен для очистки неиспользуемых библиотек и зависимостей.

Удаление пакета и очищение

Обновление программного обеспечения

Обновление установленных пакетов происходит двумя основными способами.

Мягкое обновление (замена версий без установки/удаления новых имен пакетов):

sudo apt-get upgrade

Если указать конкретные пакеты, будут обновлены только они:

sudo apt-get upgrade [package name]

Если новая версия пакета требует установки или удаления других пакетов (изменение зависимостей), используйте dist-upgrade, который более агрессивен в решении зависимостей:

sudo apt-get dist-upgrade

dist-upgrade может устанавливать новые пакеты и удалять старые, чтобы удовлетворить зависимости.

Можно предварительно выполнить симуляцию, чтобы увидеть, что будет сделано:

sudo apt-get –s upgrade

Используйте симуляцию перед критическими обновлениями (например, для серверов с PHP, базами данных, почтовыми серверами).

dist-upgrade в действии

Очистка кэша и освобождение места

APT кеширует скачанные .deb файлы в /var/cache/apt/archives. Для очистки кеша используйте:

sudo apt-get clean

Если хотите удалить только старые файлы пакетов, оставив текущие версии в кеше:

sudo apt-get autoclean

clean удалит весь кэш, а autoclean — только устаревшие версии.

Проверка установленных пакетов

Просмотреть все установленные пакеты:

sudo dpkg –list

Постраничный вывод:

sudo dpkg –list | less

Поиск пакета по имени/описанию:

dpkg –list | grep [search term]

Короткий формат поиска (обращайте внимание на букву L):

dpkg –l ‘search term’

Поиск пакета через dpkg

Секрет — пасхалка

APT имеет пасхалку:

sudo apt-get moo

Попробуйте и получите свою суперкорову!

Разница между apt, apt-get и aptitude

  • apt-get — более старый и стабильный интерфейс, предназначен для скриптов и совместимости.
  • apt — более удобный, объединяет команды apt-get и apt-cache и даёт более читабельный вывод для интерактивного использования.
  • aptitude — альтернативный менеджер пакетов с интерфейсом ncurses и собственной системой разрешения зависимостей; иногда лучше подходит для сложных конфликтов.

Примеры:

sudo apt update sudo apt install package

apt выводит прогресс и цвета по умолчанию и часто удобнее на рабочей станции.

Альтернативы: Snap и Flatpak

Snap и Flatpak — форматы для изолированных приложений (контейнеризация). Они независимы от системы пакетов и полезны, если нужного пакета нет в репозиториях или нужна более свежая версия.

Плюсы Snap/Flatpak:

  • Изоляция и совместимость библиотек
  • Часто новее версии приложений

Минусы:

  • Больше места на диске
  • Отдельное управление обновлениями

Используйте их, когда пакет недоступен в APT или когда требуется sandbox.

Когда apt-get может не подойти

  • Конфликты зависимостей, которые требуют ручного вмешательства.
  • Пакеты, отсутствующие в репозиториях — тогда нужны .deb, snap, flatpak или сборка из исходников.
  • Случаи, когда требуется более тонкое разрешение зависимостей — aptitude может помочь.

Пример неудачи: обновление ядра на критическом сервере без тестовой среды может привести к несовместимости модулей.

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

Мини-методология для ответственной установки или обновления пакетов:

  1. Обновите индексы: sudo apt-get update
  2. Проведите симуляцию (если сомневаетесь): sudo apt-get –s upgrade
  3. Установите пакет: sudo apt-get install package
  4. Проверяйте конфигурационные файлы и журналы: journalctl, /var/log/apt/
  5. При проблемах верните пакет: sudo apt-get remove –purge package или восстановите из резервной копии.

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

  • Программа запускается без ошибок.
  • Зависимости установлены корректно.
  • Нет критичных ошибок в системных логах.

Лучшие практики и безопасность

  • Всегда читайте подсказки apt при установке/удалении.
  • Не добавляйте ненадёжные репозитории. Используйте репозитории, которые вы проверили.
  • Подписанные репозитории повышают доверие — apt проверяет подписи пакетов.
  • На серверах выполняйте обновления в окне обслуживания и имейте резервные копии.

Риски и смягчения

  • Риск: конфликт библиотек. Смягчение: симуляция, тестовая среда, aptitude.
  • Риск: злонамеренный репозиторий. Смягчение: проверка GPG-ключей и репутации.

Ролевые чек-листы

Администратор сервера:

  • Обновить индексы
  • Выполнить симуляцию обновления
  • Проверить зависимости критичных сервисов
  • Выполнить обновление и перезапустить сервисы
  • Проверить логи и мониторинг

Пользователь рабочего стола:

  • Поиск пакета через apt-cache
  • Добавление PPA при необходимости
  • Установка и тестирование программы
  • Очистка кеша при недостатке места

Разработчик:

  • Устанавливать локальные версии через apt или .deb
  • Использовать virtualenv/контейнеры для зависимостей
  • Документировать версии пакетов для проекта

Быстрый список команд (cheat sheet)

  • sudo apt-get update — обновить списки пакетов
  • sudo apt-get upgrade — обновить установленные пакеты
  • sudo apt-get dist-upgrade — обновление с решением зависимостей
  • sudo apt-get install package — установить пакет
  • sudo apt-get remove package — удалить пакет
  • sudo apt-get remove –purge package — удалить и очистить конфигурацию
  • sudo apt-get autoremove — удалить неиспользуемые пакеты
  • sudo apt-get clean — очистить весь кэш
  • sudo apt-get autoclean — удалить старые версии из кэша
  • apt-cache search term — поиск в репозиториях
  • dpkg –list — список установленных пакетов

Отладка и распространённые ошибки

Проблема: «Не удалось разрешить зависимости» Решение: попробуйте sudo apt-get -f install, затем sudo apt-get update и sudo apt-get upgrade. Если не поможет — aptitude может предложить альтернативы.

Проблема: «Проблемы с репозиторием (404 / не найдено)» Решение: проверьте /etc/apt/sources.list и файлы в /etc/apt/sources.list.d/. Убедитесь, что вы добавили репозиторий, подходящий для вашей версии Ubuntu.

Проблема: «Пакет находится в удерживаемом состоянии (held back)» Решение: sudo apt-get dist-upgrade или явная установка нужной версии. Проверьте конфликты версий.

Проблема: «Недостаточно места» Решение: очистите кэш (sudo apt-get clean), удалите ненужные пакеты (sudo apt-get autoremove), проверьте /var/lib/apt/archives.

Сценарий отката (rollback)

  1. Если у вас есть резервная копия системы — восстановите её.
  2. Если резервной копии нет, удалите проблемный пакет и установите предыдущую версию из кэша: sudo dpkg -i /var/cache/apt/archives/package_version.deb
  3. Зафиксируйте пакет, чтобы он не обновлялся: sudo apt-mark hold package

Совместимость и миграция

При переходе между версиями Ubuntu:

  • Используйте официальную документацию по обновлению.
  • На серверах тестируйте обновление на стэндах.
  • Не смешивайте пакеты из разных релизов в sources.list — это может привести к «dependency hell».

Примеры сценариев

Установка nginx и проверка статуса:

sudo apt-get update sudo apt-get install nginx sudo systemctl status nginx

Очистка после сборки пакета:

sudo apt-get remove –purge build-essential sudo apt-get autoremove sudo apt-get clean

Ментальные модели при работе с пакетами

  • Индекс → скачивание → установка. Всегда обновляйте индекс перед установкой.
  • Зависимость — это контракт: пакет A требует пакет B. APT решает эти контракты автоматически.
  • Симуляция — репетиция перед реальным действием.

Таблица сравнения инструментов

ИнструментКогда использоватьПлюсыМинусы
apt-getСкрипты, совместимостьСтабилен, предсказуемМенее удобен в интерактиве
aptРабочая станцияУдобный вывод, цветаМеньше совместимости в скриптах
aptitudeСложные конфликтыСильное разрешение зависимостейМожет предлагать неожиданные решения
snap/flatpakНовые/изолированные приложенияСтабильность средыЗанимают больше места

Ресурсы для дальнейшего изучения

  • man apt-get
  • man apt
  • man dpkg
  • Официальная документация Ubuntu

Управление пакетами через командную строку делает систему легче в поддержке, быстрее в реакции и удобнее для автоматизации. Если вы часто работаете с удалёнными серверами или предпочитаете клавиатуру мыши — освоение apt/apt-get значительно ускорит поток работы. Для практики попробуйте установить простую утилиту, прочитать её man-страницу и затем удалить её, наблюдая за зависимостями и кешем.

Extras: проверяйте логи в /var/log/apt/ и используйте стандартные механизмы резервного копирования перед критическими обновлениями.

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

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

Освободите место на Mac с macOS Sierra
macOS

Освободите место на Mac с macOS Sierra

Устранение дрейфа стика DualSense на PS5
Руководство

Устранение дрейфа стика DualSense на PS5

Управление паролями в Google Chrome
Инструкции

Управление паролями в Google Chrome

AirPlay в Mountain Lion: настройка и советы
Подключение

AirPlay в Mountain Lion: настройка и советы

Ускорение Windows 11 для игр — простые шаги
Windows

Ускорение Windows 11 для игр — простые шаги

Режим блокировки Lockdown Mode: что это и как включить
Безопасность

Режим блокировки Lockdown Mode: что это и как включить