Linux

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

Это руководство познакомит вас с основными командами APT — менеджера пакетов в Debian/Ubuntu. Вы научитесь устанавливать, обновлять и удалять программное обеспечение из командной строки.

Обновлено 16 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Debian 10/11Ubuntu 20.04/22.04/24.04

Введение / Зачем это нужно

APT (Advanced Package Tool) — это стандартный менеджер пакетов для дистрибутивов на базе Debian (включая Ubuntu, Linux Mint и другие). Он упрощает установку, обновление и удаление программного обеспечения, автоматически разрешая зависимости между пакетами. В этом руководстве вы освоите базовые команды APT, которые покрывают 90% повседневных задач. После прохождения вы сможете уверенно управлять пакетами через терминал, не полагаясь на графические утилиты.

Требования / Подготовка

Перед началом убедитесь, что:

  1. У вас есть доступ к терминалу (Ctrl+Alt+T или через меню приложений).
  2. Вы имеете права суперпользователя (можете использовать sudo). Большинство команд APT требуют повышенных привилегий.
  3. Система подключена к интернету для загрузки пакетов и обновления списков репозиториев.
  4. APT уже установлен (по умолчанию в Debian/Ubuntu). Проверить версию:
    apt --version
    

Основные команды APT

Обновление списка пакетов: apt update

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

sudo apt update

Что происходит:
APT загружает списки пакетов из источников, указанных в /etc/apt/sources.list и /etc/apt/sources.list.d/. Без этого шага система не будет знать о новых версиях или пакетах.

Пример вывода:

Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease
...
Reading package lists... Done

💡 Совет: Выполняйте apt update перед любыми операциями установки/обновления. Для автоматизации добавьте в cron раз в день.

Установка пакетов: apt install

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

sudo apt install <имя_пакета1> <имя_пакета2>

Пример: установка текстового редактора nano и утилиты curl:

sudo apt install nano curl

APT автоматически:

  • Скачает пакеты и все необходимые зависимости.
  • Запросит подтверждение (нажмите Y или Enter).
  • Установит пакеты в систему.

Установка конкретной версии (если доступно несколько):

sudo apt install <имя_пакета>=<версия>

Обновление пакетов: apt upgrade и apt full-upgrade

  • apt upgrade — обновляет все установленные пакеты до последних доступных версий, не удаляя старые пакеты и не устанавливая новые зависимости. Безопасно, но может оставить устаревшие зависимости.
  • apt full-upgrade (или apt-get dist-upgrade) — более агрессивно: удаляет устаревшие пакеты и устанавливает новые зависимости, если это необходимо для обновления. Используйте, если upgrade не может завершить обновление.

Пример:

sudo apt upgrade

Система покажет список пакетов для обновления и запросит подтверждение.

⚠️ Важно: Всегда сначала запускайте apt update, иначе upgrade не найдёт новых версий.

Удаление пакетов: apt remove и apt purge

  • apt remove <пакет> — удаляет бинарные файлы пакета, но сохраняет конфигурационные файлы (в /etc/ и elsewhere). Полезно, если планируете переустановку.
  • apt purge <пакет> — полное удаление, включая конфигурационные файлы. Аналог apt remove + очистка настроек.

Пример удаления nano:

sudo apt remove nano

Для полного удаления:

sudo apt purge nano

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

sudo apt autoremove

Эта команда удаляет "осиротевшие" пакеты (те, которые не имеют обратных зависимостей).

Ищет пакеты в локальном кэше (после apt update) по ключевому слову:

apt search <ключевое_слово>

Пример: найти пакеты, связанные с Python:

apt search python3

Вывод включает имя пакета и краткое описание.

Поиск точного имени пакета (если известна часть):

apt list | grep <часть_имени>

Просмотр информации о пакете: apt show

Показывает детальную информацию об установленном или доступном пакете: версию, размер, зависимости, описание, домашнюю страницу.

apt show <имя_пакета>

Пример:

apt show curl

Очистка кэша: apt clean и apt autoclean

APT сохраняет скачанные .deb-файлы в кэше (обычно /var/cache/apt/archives/). Со временем это может занять гигабайты.

  • sudo apt clean — удаляет все файлы кэша.
  • sudo apt autoclean — удаляет только устаревшие файлы (те, для которых уже нет соответствующей версии в репозиториях).

Рекомендация: периодически выполняйте apt autoclean для экономии места.

Дополнительные полезные команды

  • Список установленных пакетов:
    apt list --installed
    

    Можно фильтровать через grep: apt list --installed | grep python.
  • Проверка обновляемости конкретного пакета:
    apt list --upgradable | grep <пакет>
    
  • Просмотр источников репозиториев:
    cat /etc/apt/sources.list
    ls /etc/apt/sources.list.d/
    

    Редактирование: sudo nano /etc/apt/sources.list (осторожно!).

Проверка результата

После выполнения команд убедитесь, что операция прошла успешно:

  1. Код возврата: В терминале echo $? должен показать 0 (успех). Любое ненулевое значение указывает на ошибку.
  2. Сообщения об ошибке: Читайте вывод APT. Частые ошибки:
    • E: Unable to locate package <пакет> — пакет не найден. Проверьте название или добавьте репозиторий.
    • E: Could not open lock file — конфликт процессов (см. раздел "Возможные проблемы").
  3. Проверка установки пакета:
    dpkg -l | grep <имя_пакета>
    
    или
    apt list --installed | grep <имя_пакета>
    
  4. Запуск пакета: Если это исполняемый файл, попробуйте запустить его (например, nano --version).

Возможные проблемы

Ошибка доступа (Permission denied)

Симптом: E: Could not open lock file /var/lib/dpkg/lock-frontend или E: Unable to acquire the dpkg frontend lock. Причина: Другой процесс (например, Software Center, другой терминал с apt) уже использует менеджер пакетов. Решение:

  • Подождите 1-2 минуты, если другой процесс завершится.
  • Найдите и завершите процесс:
    sudo killall apt apt-get
    
  • В крайнем случае перезагрузите систему.

Пакет не найден

Симптом: E: Unable to locate package <имя>. Причина:

  • Неправильное имя пакета.
  • Репозиторий, содержащий пакет, не добавлен или не активирован.
  • Вы не выполнили apt update после добавления репозитория. Решение:
  • Проверьте название через apt search <часть_имени>.
  • Проверьте репозитории: cat /etc/apt/sources.list.
  • Добавьте репозиторий (например, для Universe в Ubuntu: sudo add-apt-repository universe) и выполните sudo apt update.

Недостаточно места на диске

Симптом: E: You don't have enough free space in /var/cache/apt/archives/. Решение:

  • Очистите кэш: sudo apt clean.
  • Удалите старые ядра или ненужные файлы.
  • Увеличьте раздел (если возможно).

Сетевые ошибки при обновлении

Симптом: Failed to fetch http://... или Could not resolve. Решение:

  • Проверьте интернет-соединение.
  • Проверьте доступность репозитория (возможно, временная проблема на стороне сервера).
  • Если используете прокси, настройте APT для работы с ним (файл /etc/apt/apt.conf.d/proxy).

Пакет завис в состоянии "не полностью установлен"

Симптом: При попытке установки/удаления пакета APT сообщает о "неконсистентном" состоянии. Решение:

sudo apt --fix-broken install

Эта команда попытается исправить зависимости и завершить прерванные операции.

Разные версии APT в скриптах

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

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

В чём разница между apt, apt-get и apt-cache?
Как установить пакет из определённого репозитория?
Что делать при ошибке 'Unable to lock the administration directory'?
Как обновить только конкретный пакет, а не всю систему?

Полезное

Обновите список доступных пакетов
Установите нужный пакет
Обновите установленные пакеты
Удалите ненужный пакет
Найдите пакет по имени