Як підключити backports в debian rusadmin
Якщо ви користуєтеся стабільним випуском дистрибутива Debian, то знаєте, що в ньому присутні пакети тільки певної версії. Наприклад, php 5.6. І, поки не буде оновлено сам дистрибутив в цій гілці, ви не зможете встановити більш свіжу версію ПО ...
... До тих пір, поки не підключите додатковий, але офіційний репозиторій пакетів backports. Він надає більш нові версії певних пакетів. Наприклад, якщо в стандартному репозиторії розташовується nginx версії 1.6.2, то з backports ви можете встановити версію 1.9.10, що включає в себе безліч необхідних поліпшень.
Щоб додати цей репозиторій, необхідно в каталозі /etc/apt/sources.list.d/ створити файл backports.list і прописати там єдиний рядок:
Або будь-яке інше найближчим до вашого сервера дзеркало.
Все це справа можна виконати однією командою:
Потім оновити список доступних пакетів: aptitude update.
Пакети зі сховищ backports НЕ будуть встановлюватися за замовчуванням, як найсвіжіші версії. Їх установку потрібно виконувати командою:
Де, замість «packagename», потрібно вказати ім'я пакету.
Оновлення вже встановлених пакетів з гілки stable на гілку jessie-backports проводиться тією ж самою командою.
Конфлікти з іншими репозиторіями
Конфлікт може виникнути, наприклад, при використанні сховища dotdeb. У моєму випадку, знадобилася установка тільки php7. Але при повному відновленні командою aptitude upgrade зі сховищ dotdeb тягнеться nginx іншою версією.
Все було б непогано, якби не факт, що nginx в dotdeb зібраний без підтримки openssl 1.0.2h. А це потрібно для роботи ALPN.
Вихід з цієї ситуації наступний: для пакетів з dotdeb, які не потрібно оновлювати, слід знизити пріоритет. Створюємо файл dotdeb в каталозі /etc/apt/preferenses.d/ і прописуємо туди вміст:
У прикладі - nginx. Але його можна замінити на ім'я іншого пакета.
Коли ви збережете цей файл, менеджер пакетів більше не буде пропонувати поновлення зі сховищ dotdeb.