LINUX.ORG.RU

Как подружить репозитарии raspbian и debian?

 debian arm


0

1

Версия дебиан для RPi по слухам пересобрана с оптимизацией под железо и пакеты лежат в другом репозитарии и похоже подписаны другими ключами. Версии пакетов аналогичны, но некоторых пакетов не хватает. Конкретно в этот раз мне не хватило пакетов unrar и p7zip-rar. В официальном репозитарии дебиан все недостающие пакеты обычно есть.

Чтобы получить доступ к нужным пакетам я прописал в sources.list:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi firmware
# deb-src http://archive.raspbian.org/raspbian/ jessie rpi non-free contrib main

deb http://ftp.debian.org/debian jessie-backports main contrib non-free
deb http://ftp.ru.debian.org/debian jessie main contrib non-free

Возникла проблема: версии пакетов на ftp://ftp.ru.debian.org (выбрал его как официальное зеркало в РФ по данным официального сайта дебиан) те же, что и на http://mirrordirector.raspbian.org, но с индексом +b*, т.е. как я понимаю какая то маловажная пересборка тех же исходников или в лучшем случае патч на безопастность. За счёт этого индекса пакетный менеджер считает эту версию более старшей и хочет обновить кучу библиотек разной важности. Имеется разница в размерах пакетов до +-10%, так что видимо они отличаются не только файлом Readme. Предполагаю появление случайных крахов, глюков и местами снижение производительности.

Вопрос: есть ли какой то способ оставить подключенными оба репозитария, но чтобы версия пакета в debian игнорировалась, если такой есть в raspbian? Или какое то другое решение, которое не будет требовать постоянного ручного вмешательства. Просьба не предлагать make_install, gentoo, ubuntu, debian9 и т.п.

В качестве пакетного менеджера предпочитаю aptitude, в synaptic так же не нашёл нужного функционала.

★★★★★

Последнее исправление: kirill_rrr (всего исправлений: 2)

Ответ на: комментарий от Deleted

man apt маленткий и бесполезный, man apt_preferences большой и сложный, а https://yandex.ru/yandsearch?&clid=2186621&text=apt pinning&lr=54 длинный и бестолковый. Но это явно та штука, которая мне нужна. Спасибо.

Настроил так:

Package: *
Pin: origin mirrordirector.raspbian.org
Pin-priority: 700

Package: *
Pin: origin ftp.ru.debian.org
Pin-priority: 600

Package: *
Pin: release a=jessie-backports
Pin-priority: 500

Приоритеты расставлены так:

oot@raspberrypi:/etc/apt# apt-cache policy e2fslibs
e2fslibs:
  Установлен: 1.43.3-1~bpo8+1
  Кандидат:   1.43.3-1~bpo8+1
  Таблица версий:
     1.43.3-1~bpo8+1 0
        600 http://ftp.ru.debian.org/debian/ jessie-backports/main armhf Packages
 *** 1.43.3-1~bpo8+1 0
        100 /var/lib/dpkg/status
     1.42.12-2+b1 0
        600 http://ftp.ru.debian.org/debian/ jessie/main armhf Packages
     1.42.12-2 0
        700 http://mirrordirector.raspbian.org/raspbian/ jessie/main armhf Packages

aptitude (и похоже apt-get) хочет установить версию 1.43.3-1~bpo8+1 из http://ftp.ru.debian.org/debian/ jessie/main (именно заменить пакет с той же версией из другого источника). Во первых третье правило из конфига было проигнорировано, а во вторых выбрана версия с меньшим приоритетом.

Можете объяснить или дать ссылку, как на самом деле работает этот конфиг?

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от SysoevDV

Просьба не предлагать make_install, gentoo, ubuntu, debian9 и т.п.

kirill_rrr ★★★★★
() автор топика

Предположение: Выставленные приоритеты ниже 1000 недостаточны чтобы пакет был автоматически обновлён с понижением версии. Выставил 1001 для распбиана, смотрю что получится. aptitude увидел сломанную зависимость и единственным приемлимым решением произвёл обновление libreoffice до 5.2 из бэкпортов, так что придётся потестировать прежде чем сказать что это работает.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от kirill_rrr

После долгой войны, сломаных зависимостей и потпыток пакетника обновиться неизвестно откуда, выяснилось что у raspbian есть 2 различных репозитария. Система была восстановлена из бэкапа, файл /etc/apt/preferences написан такой:

Package: *
Pin: origin mirrordirector.raspbian.org
Pin-Priority: 1001

Package: *
Pin: origin archive.raspberrypi.org
Pin-Priority: 1001

А /etc/apt/sources.list такой:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi firmware
deb http://archive.raspberrypi.org/debian/ jessie main ui

deb http://ftp.ru.debian.org/debian jessie-backports main contrib non-free
deb http://ftp.ru.debian.org/debian jessie main contrib non-free

Статью с хорошим описанием работы переменной Pin-Priority нашёл по адресу: https://interface31.ru/tech_it/2016/03/ispolzuem-apt-pinning-dlya-zakrepleniy...

kirill_rrr ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.