Установка программ в Linux: сравнение apt, dpkg, snap и сборки из исходников
Сложности установки софта в Linux
Пользователи, перешедшие с Windows, привыкли скачивать один установщик .exe. В экосистеме Linux существует сразу 4 основных метода инсталляции программ. Попытка установить одно и то же приложение разными способами часто приводит к дублированию пакетов, конфликтам версий и захламлению файловой системы.
Сравнительная таблица методов установки:
| Метод | Откуда берет файлы | Управление зависимостями | Изоляция | Кому подходит |
|---|---|---|---|---|
| APT | Официальные онлайн-репозитории | Автоматически скачивает всё нужное | Нет (системные папки) | Основной выбор для 95% задач |
| DPKG | Локальный скачанный файл .deb | Не умеет скачивать зависимости сам | Нет | Когда программы нет в репозитории |
| SNAP | Snap Store (упакованные контейнеры) | Все зависимости уже внутри пакета | Полная песочница | Для свежих версий сложных программ |
| Make (Исходники) | Архивы исходного кода .tar.gz | Нужно вручную компилировать | Нет | Для разработчиков и тонких правок кода |
Как правильно пользоваться каждым методом
1. Менеджер пакетов APT (Рекомендуемый стандарт)
Самый простой и безопасный способ. APT сам находит программу в сети, проверяет совместимость и обновляет ее:
sudo apt update sudo apt install curl git htop -y # Удаление: sudo apt remove curl -y2. Утилита DPKG (Для отдельных .deb файлов)
Используется, если разработчик отдает готовую сборку файлом (как Google Chrome или VS Code):
# Установка скачанного deb-пакета: sudo dpkg -i package_name.deb # Если вылезла ошибка зависимостей, исправляем ее через apt: sudo apt install -f -y3. Пакеты SNAP (Самодостаточные пакеты)
Программы упакованы со всеми библиотеками. Работают изолированно, обновляются автономно:
# Поиск и установка: snap find certbot sudo snap install --classic certbot # Удаление: sudo snap remove certbot4. Сборка из исходников (Make install)
Используется только тогда, когда готовых пакетов нет в природе:
# Распаковываем архив и собираем программу: tar -xzvf program.tar.gz cd program/ ./configure make sudo make install
Частые вопросы (FAQ)
Почему snap-пакеты занимают больше места на диске?
Потому что snap упаковывает программу вместе со всеми необходимыми библиотеками, дублируя системные файлы ради стабильности и изолированности от ОС.
Можно ли удалить программу, собранную через make install?
Если автор кода предусмотрел такую опцию, перейдите в папку с исходниками и выполните sudo make uninstall. Если опции нет — придется вручную удалять бинарники из /usr/local/bin.
Что будет, если установить одну программу и через apt, и через snap?
В системе появятся две независимые копии программы. Какая именно запустится в терминале, зависит от порядка папок в системной переменной $PATH.
Как узнать, каким способом была установлена конкретная программа?
Выполните which имя_программы. Если путь ведет в /snap/bin/ — это Snap, если в /usr/bin/ — чаще всего APT или DPKG.