Очень много проблем особенно у новичков вызывает не верная настройка репозиториев. Новичёк не вдумываясь добавляет репозитории, а они приносят ему проблемы:
- Проблемы с зависимостями, причём они могу всплыть через некоторое время после установки реп.
- Сегфолты — они случаются при не соответствии версий библиотек и пакетов когда система обновляется с разных репозиториев одновременно.
- Поломки системы вплоть до потери работоспособности
В данной статье я дам репозитории которые использую сам и расскажу как правильно настроить приоритеты репозиториев, чтобы у Вас не было проблем с зависимостями.
Последовательность действий такая, сначала добавляем репозитории, потом устанавливаем на них приоритеты. Если Вы не установите приоритеты на репозитории, то с большой вероятностью поломаете систему, будь осторожны и читайте что тут написано.
- Добавляем репозитории:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
deb http://security.debian.org wheezy/updates main contrib non-free deb http://ftp.debian.org/debian jessie main contrib non-free deb http://security.debian.org jessie/updates main contrib non-free deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb http://security.debian.org stretch/updates main contrib non-free deb http://ftp.de.debian.org/debian stretch main contrib non-free deb http://ftp.de.debian.org/debian stretch-backports main contrib non-free deb http://ftp.de.debian.org/debian stretch-proposed-updates main contrib non-free deb http://ftp.de.debian.org/debian stretch-updates main contrib non-free deb http://ftp.de.debian.org/debian testing main contrib non-free deb http://ftp.de.debian.org/debian unstable main contrib non-free deb http://ftp.de.debian.org/debian experimental main contrib non-free |
2. Устанавливаем приоритеты на репозитории:
Для этого нам надо в файл
1 |
nano /etc/apt/preferences |
Вот такое содержимое(будьте осторожны, на пустых строчках не должно быть пробелов иначе приоритеты не правильно применятся):
Package: *
Pin: release a=stretch
Pin-Priority: 500
Package: *
Pin: release a=stretch/updates
Pin-Priority: 500
Package: *
Pin: release a=stretch-backports
Pin-Priority: 500
Package: *
Pin: release a=stretch-proposed-updates
Pin-Priority: 500
Package: *
Pin: release a=stretch-updates
Pin-Priority: 500
Package: *
Pin: release a=testing
Pin-Priority: -8
Package: *
Pin: release a=unstable
Pin-Priority: -9
Package: *
Pin: release a=experimental
Pin-Priority: -10
И теперь обновим список доступных пакетов:
1 |
apt update |
В списке репозиториев которые мы сейчас добавили есть бекпорты, а значит если у Вас их не было, а вероятно так и есть, то у Вас сейчас пришло много обновлений. На бекпорты при желании можно понизить приоритет, но не вижу причин для этого. Теперь 99% программ можно ставить без добавления репозиториев, + теперь можно ставить проги с более свежих веток если Вас не устраивает версия в стабильном Debian, хотя не стоит этим злоупотреблять чтобы не сломать систему. Я к примеру так поставил свежий файрфокс из нестабильного репозитория.
1 |
apt install --no-install-recommends -t unstable firefox |
Аргумент —no-install-recommends нужен чтобы не тянуло лишнего из не стабильного репозитория, ну, а аргумент -t unstable как раз и заставляет ставиться пакет из не стабильного репозитория.
Статья будет дополняться если будет необходимость.
2 комментария to “Настраиваем репозитории для Debian 9”
Павел Дугинов - 08.05.2018
Скопировал себе репы, создал файл preferences в итоге система обновила около 100 пакетов и почти ничего теперь не пашет -_-
wladi - 08.05.2018
С какой репы поставились те пакеты которые не пашут?