Коли мова про надійне встановлення та оновлення програм у Linux, важливо поєднати зручність і контроль. У цій інструкції розберемо, як безпечно працювати з apt, Snap і Flatpak: додавати репозиторії, налаштовувати пріоритети пакетів (pinning), а також автоматизувати оновлення за допомогою Unattended-Upgrades та systemd timers. Усе — простою мовою, у терміналі Linux і з GUI-варіантами.
Що обрати: apt, Snap чи Flatpak?
Коротко про різницю:
- apt — класичні пакети з репозиторіїв дистрибутива. Стабільно, інтегровано з системою. Ідеально для системних компонентів.
- Snap — контейнери з каналами (stable/candidate/beta/edge), автооновленням і ізоляцією. Добре для десктоп-додатків, що часто оновлюються.
- Flatpak — крос-дистрибутивні пакети з Flathub, ізоляція через портали. Зручно для сучасних GUI-програм.
Мій підхід: системне залишати в apt, а десктопні програми комфортно ставити через snap та flatpak — так ви отримуєте баланс стабільності й свіжих версій.
Підготовка: репозиторії та ключі
apt: додавання репозиторіїв і ключів безпечно
Замість застарілого apt-key використовуйте схему з keyring і опцію signed-by:
Для PPA в Ubuntu можна й надалі користуватись:
Snap: канали та класичне оточення
Snap зазвичай установлений у Ubuntu. Перевірте стан:
Для програм, яким потрібен доступ до системи (IDE тощо), використовуйте прапорець --classic і відповідний канал:
Flatpak: підключення Flathub
Встановіть flatpak і додайте Flathub (системно або для поточного користувача):
Надійне встановлення та керування
apt команди для контролю
- Перевірити джерела пакета та пріоритети:
- Встановити/видалити/утримати (hold) пакети:
- Налаштувати pinning (пріоритети) для джерела, наприклад знизити пріоритет PPA:
Тепер пакети з PPA не будуть переважати офіційні репозиторії, доки ви явно не вкажете джерело.
Snap: канали, оновлення та hold
- Подивитися канали й версії:
- Перемкнутися на інший канал:
- Тимчасово заборонити оновлення певного snap-пакета (не зловживайте цим):
Flatpak: гілки (branches) і маскування оновлень
- Встановити конкретну гілку (stable/beta):
- Маскувати додаток від оновлень:
Автоматичні оновлення та розклад
apt: Unattended-Upgrades і Periodic
Перевірте налаштування у файлах:
На багатьох системах існують готові systemd таймери apt-daily, але для серверів інколи краще керувати часом через cron та systemd timers самостійно.
Snap: план оновлень
Налаштуйте вікно оновлень, наприклад понеділок/середа/п’ятниця з 21:00 до 23:00:
Flatpak: системний таймер для регулярних апдейтів
Створимо користувацький systemd сервіс і таймер (оновлення щодня о 20:15):
Альтернативні способи
- aptitude — зручний резолвер залежностей у терміналі. Спробуйте
sudo aptitude install <pkg>. - nala — фронтенд до apt із паралельними завантаженнями та читабельними логами.
- Deb822-джерела — сучасний формат .sources файлів у
/etc/apt/sources.list.d/зSigned-Byі секціями.
GUI-спосіб
- GNOME Software: керує apt і flatpak (пакет
gnome-software-plugin-flatpak). Увімкніть Flathub у Налаштуваннях → ПЗʼєднані сховища. - KDE Discover: підтримує Flatpak і Snap; у Налаштуваннях додайте Flathub і оберіть пріоритет джерел.
- Snap Store (Ubuntu): керує snap-пакетами, перемикає канали та показує дозволи застосунків.
FAQ
Отримую помилку NO_PUBKEY або застаріле apt-key. Що робити?
Додайте ключ у /etc/apt/keyrings та використайте signed-by у джерелі. Приклад дивіться вище (Docker). Потім виконайте sudo apt update.
apt застряг на «dpkg was interrupted»
Як подивитися, з якого саме репозиторію прийде оновлення?
Поле 500/700/400 відображає пріоритет. Регулюйте його в /etc/apt/preferences.d/.
Snap не оновлюється, бо я встановив hold. Як повернути?
Flatpak каже «No remote 'flathub'»
Як налаштувати проксі для Snap?
Чи можна відкотити Flatpak до попередньої версії?
Так, через flatpak update --commit=<commit-id> <app-id>. Список комітів дивіться в flatpak info --log <app-id>.
Порада від Kernelka
Тримайте системні бібліотеки в apt, а ризикові новинки — у Flatpak/Snap. Так ви мінімізуєте конфлікти залежностей і збережете стабільність робочого середовища 🚀
Підсумок
- Додавайте репозиторії apt через keyring і
signed-by, не використовуйте apt-key. - Керуйте пріоритетами через
/etc/apt/preferences.d/іapt-cache policy. - Для Snap використовуйте канали та розклад
refresh.timer; для Flatpak — гілки таmask. - Увімкніть Unattended-Upgrades та налаштуйте оновлення через cron та systemd timers.
- GUI-менеджери (GNOME Software, Discover) спрощують роботу з apt, snap та flatpak.

Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.