Установка пакетов на Debian и Ubuntu: apt, dpkg, репозитории | Руководство | AdminWiki

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

17 декабря 2025 7 мин. чтения #apt #debian #dpkg #linux #ubuntu #пакеты #репозитории #установка

Представь, что ты только что развернул свежий сервер Debian или Ubuntu и тебе нужно установить необходимые инструменты для работы. Установка пакетов — фундаментальный навык любого разработчика или системного администратора. Давай разберем все методы от базовых до продвинутых, чтобы ты мог уверенно управлять программным обеспечением в своей системе.

Основы управления пакетами в Debian-системах

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

  • APT — высокоуровневая утилита для работы с репозиториями
  • dpkg — низкоуровневая утилита для установки отдельных .deb файлов
  • Репозитории — онлайн-хранилища пакетов с зависимостями

Обновление списка пакетов перед установкой

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

bash
sudo apt update
Важно: Команда apt update не обновляет сами пакеты, а только синхронизирует информацию о них из репозиториев. Для обновления установленных пакетов используй apt upgrade.

Базовые методы установки пакетов

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

Самый простой способ — установка через APT с автоматическим разрешением зависимостей:

bash
sudo apt install nginx

Установка нескольких пакетов за раз

Можно установить несколько пакетов одной командой:

bash
sudo apt install git curl wget htop

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

Иногда требуется конкретная версия. Сначала узнай доступные версии:

bash
apt show nginx -a | grep Version
# Затем установи нужную
sudo apt install nginx=1.18.0-6ubuntu14.4

Работа с пакетами .deb через dpkg

Когда пакета нет в репозиториях, можно установить его вручную. Например, скачанный .deb файл:

bash
sudo dpkg -i package-name.deb
# Если возникли проблемы с зависимостями:
sudo apt --fix-broken install
Внимание: dpkg не разрешает зависимости автоматически. Всегда проверяй зависимости перед установкой или используй apt для установки локальных .deb файлов: sudo apt install ./package-name.deb

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

Официальные репозитории не всегда содержат нужные пакеты. Давай добавим репозиторий Node.js в качестве примера:

bash
# 1. Установи необходимые зависимости
sudo apt install curl gnupg

# 2. Добавь ключ репозитория
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

# 3. Обнови список пакетов
sudo apt update

# 4. Установи Node.js
sudo apt install nodejs

Поиск пакетов и получение информации

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

bash
# Поиск пакета по имени
apt search nginx

# Показать подробную информацию
apt show nginx

# Показать зависимости пакета
apt depends nginx

# Какие пакеты зависят от этого
apt rdepends nginx

Сравнение методов установки пакетов

Метод Преимущества Недостатки Когда использовать
apt install Автоматические зависимости, обновления из репозиториев Только пакеты из настроенных репозиториев Ежедневное использование, установка стандартного ПО
dpkg -i Установка любых .deb файлов, прямой контроль Нет автоматического разрешения зависимостей Локальные пакеты, проприетарное ПО
snap install Изоляция, актуальные версии, кроссплатформенность Больший размер, возможные проблемы с производительностью Когда нужна последняя версия или изоляция

Полезные команды для управления пакетами

  • Просмотр установленных пакетов: apt list --installed
  • Обновление всех пакетов: sudo apt upgrade
  • Полное обновление системы: sudo apt full-upgrade (может удалять пакеты)
  • Удаление пакета с конфигами: sudo apt purge nginx
  • Очистка кеша пакетов: sudo apt autoclean && sudo apt autoremove

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

В чем разница между apt и apt-get?

apt — это современная, удобная для пользователя оболочка над apt-get и apt-cache. Она объединяет наиболее часто используемые команды и добавляет прогресс-бар. Для скриптов всё ещё рекомендуется использовать apt-get, так как его вывод стабильнее.

Как установить пакет без sudo?

Официально установка пакетов в системные директории требует прав суперпользователя. Однако можно использовать:

  • Snap или Flatpak с поддержкой изоляции
  • Установку в домашнюю директорию через pip install --user (для Python)
  • Менеджеры версий типа nvm для Node.js
  • Контейнеризацию (Docker)

Что делать, если пакет не найден в репозиториях?

Попробуй следующие варианты:

  1. Проверь правильность названия: apt search часть_имени
  2. Обнови список пакетов: sudo apt update
  3. Добавь репозиторий с этим пакетом (см. раздел выше)
  4. Скачай .deb файл с официального сайта
  5. Собери из исходников (редко, только если нет других вариантов)

Как откатить установку пакета?

Прямого отката в APT нет, но можно:

bash
# Удалить пакет
sudo apt remove package-name

# Узнать, какие версии доступны
apt show package-name -a

# Установить конкретную старую версию
sudo apt install package-name=старая-версия

Чем отличается установка пакетов на Ubuntu от Debian?

Ubuntu основана на Debian, поэтому базовые команды идентичны. Основные различия:

  • Репозитории: Ubuntu использует собственные репозитории с более новыми версиями пакетов
  • Цикл выпусков: Ubuntu имеет LTS (Long Term Support) версии с поддержкой 5 лет
  • PPA (Personal Package Archives) — особенность Ubuntu для сторонних репозиториев
  • По умолчанию: Ubuntu чаще включает Snap, Debian — нет

Лучшие практики и рекомендации

  1. Всегда обновляй список пакетов перед установкой
  2. Читай вывод команд APT — там может быть важная информация
  3. Используй apt show для проверки пакета перед установкой
  4. Регулярно выполняй apt update && apt upgrade для безопасности
  5. Добавляй сторонние репозитории с осторожностью — проверяй их надежность
  6. Веди список установленных пакетов: apt list --installed > packages.txt
Профессиональный совет: Для воспроизводимости окружения используй инструменты вроде Ansible, Terraform или простые bash-скрипты, которые документируют все установленные пакеты. Это особенно важно при работе с несколькими серверами.

Теперь у тебя есть полный арсенал для работы с пакетами на Debian и Ubuntu. Начни с простых apt install, постепенно осваивай более сложные сценарии. Помни: ключ к мастерству — практика. Установи несколько пакетов прямо сейчас, чтобы закрепить знания!

Поделиться:
Сохранить гайд? В закладки браузера