Глиф Учебники

Урок 4. Установка программ: apt, snap и .deb

Курс «Ubuntu» · урок 4 из 8 · 5 минут чтения

В Windows программу обычно скачивают с сайта и запускают установщик. В Ubuntu почти всё ставится из репозиториев — хранилищ программ, которые ведёт Ubuntu. Программа лежит там в виде пакета: архива с файлами и списком того, что ей нужно для работы, — зависимостей. Менеджер пакетов apt сам скачивает пакет, ставит зависимости, а потом обновляет всё это вместе с системой.

В Ubuntu Desktop то же можно делать мышью, в магазине приложений App Center. Здесь — команды: они одинаковы на компьютере и на сервере.

Обновить список и систему

Bash
sudo apt update
sudo apt upgrade

apt update скачивает свежий список пакетов и их версий — сам ничего не ставит. apt upgrade ставит обновления по этому списку. Поэтому команды идут в паре и именно в таком порядке.

Репозиторий хранилище Ubuntu список пакетов и их версий пакеты программ Ваш компьютер менеджер пакетов apt список пакетов свежая копия установленные программы 1 sudo apt update скачивает только список 2 sudo apt upgrade ставит новые версии по этому списку
apt update скачивает из репозитория только свежий список пакетов, а apt upgrade по этому списку ставит новые версии программ.

Перед изменениями apt показывает, что собирается сделать, и спрашивает Do you want to continue? [Y/n] (в русской системе — по-русски). Заглавная буква — ответ по умолчанию, так что Enter означает согласие. Ключ -y отвечает «да» заранее: sudo apt upgrade -y.

Сообщение The following upgrades have been deferred due to phasing — не ошибка. Ubuntu выпускает часть обновлений постепенно, не всем компьютерам сразу; отложенные пакеты придут позже сами.

Найти и установить

Bash
apt search htop
apt show htop
sudo apt install htop

После установки программа запускается по имени (htop), а если у неё есть окно — появляется и в списке приложений.

Удалить

Bash
sudo apt remove htop
sudo apt purge htop
sudo apt autoremove

Файлы в домашней папке — документы и личные настройки программ — не удаляет ни одна из этих команд.

программа htop её настройки /etc ваши файлы в домашней папке sudo apt remove htop удаляет оставляет оставляет sudo apt purge htop удаляет удаляет оставляет
apt remove удаляет программу и оставляет её настройки в /etc, apt purge удаляет и их, а файлы в домашней папке не трогает ни одна из команд.

Прочитайте список, прежде чем согласиться. Если apt собирается удалить много пакетов, особенно ubuntu-desktop или другие пакеты рабочего стола, ответьте n и разберитесь, почему так вышло: иначе можно остаться без графического входа в систему.

Что установлено

Bash
apt list --installed
apt list --installed | grep python3
apt policy htop

apt policy показывает установленную и доступную версии и откуда пакет берётся. Когда вывод apt передают через |, появляется предупреждение apt does not have a stable CLI interface — оно о скриптах и на результат не влияет. В скриптах вместо apt принято писать apt-get.

Откуда apt берёт пакеты

Список источников в Ubuntu 24.04 и новее — файл /etc/apt/sources.list.d/ubuntu.sources (в старых версиях — /etc/apt/sources.list). Пакеты Ubuntu делятся на разделы:

РазделЧто в нём
mainсвободные программы, которые поддерживает Canonical
universeсвободные программы, которые поддерживает сообщество
restrictedнесвободные драйверы устройств
multiverseпрограммы с ограничениями лицензии

Сторонние источники — например, репозиторий разработчика программы — добавляются отдельными файлами в папку /etc/apt/sources.list.d/.

PPA (Personal Package Archive) — личный репозиторий на сайте Launchpad; создать его может кто угодно. Подключается он одной командой, которая сама обновит список пакетов:

Bash
sudo add-apt-repository ppa:имя/ppa

Вместо имя/ppa — имя PPA, которое указывает разработчик программы.

Пакеты из PPA и сторонних репозиториев ставятся с правами администратора, и Ubuntu их не проверяет. Подключайте только источники, которым доверяете, — обычно их указывает на своём сайте сам разработчик программы. Лишние PPA к тому же мешают переходу на новую версию Ubuntu.

Snap

Snap — другой формат приложений. Snap-пакет несёт все нужные библиотеки с собой, работает в изоляции от остальной системы и обновляется сам, в фоне. В Ubuntu Desktop так установлен, например, браузер Firefox.

apt пакеты делят библиотеки htop git общие библиотеки обновляются вместе с системой snap всё нужное — внутри пакета firefox библиотеки vlc библиотеки обновляется сам, в фоне
Пакеты apt пользуются общими библиотеками системы, а каждый snap-пакет несёт свои библиотеки внутри и обновляется сам.
Bash
snap find vlc
sudo snap install vlc
snap list
sudo snap refresh
sudo snap remove vlc

Snap-пакеты занимают больше места, чем обычные. Каждый подключён к системе как отдельный маленький диск loop — поэтому в списках дисков (df, lsblk) их много, и все они заполнены на 100 %. Это нормально.

Файлы .deb

Некоторые программы разработчики выкладывают на своих сайтах файлом .deb — это такой же пакет, как в репозитории. Ставится он тем же apt, с ./ перед именем файла:

Bash
sudo apt install ./program_1.0_amd64.deb

Подробно — в справке Как установить .deb файл.

Пакет .deb при установке выполняет свои скрипты с правами администратора. Скачивайте его только с официального сайта программы.

Что выбрать

СпособКогда
aptпочти всегда: системные программы, серверы, библиотеки, инструменты
snapпрограммы для рабочего стола, когда нужна свежая версия
.deb с сайтапрограммы, которых нет ни в apt, ни в snap

Ставьте программу каким-то одним способом. Если одна и та же программа стоит и через apt, и через snap, легко запутаться, какая из них запускается.

Частые ошибки

Коротко

Проверьте себя

1. В каком порядке выполнять команды обновления?
2. Чем apt purge отличается от apt remove?
3. Как установить скачанный файл program.deb из текущей папки вместе с зависимостями?
4. Что отличает snap-пакеты?