Intereting Posts

Управление неофициальными репозиториями в системе Debian

Несколько лет назад я добавил этот репозиторий в мои sources.list:

http://www.deb-multimedia.org/

потому что в нем были такие пакеты, как acroread или flash player, которые либо отсутствовали, либо устарели в официальных репозиториях.

Однако теперь я только понял, что некоторые пакеты из этого репозитория сломаны, например, mencoder. Отсюда несколько вопросов:

  1. Как узнать, какие пакеты установлены из этого репозитория?
  2. Как я могу сделать этот репозиторий более низким, так что только пакеты, которые мне нужны, автоматически устанавливаются / обновляются там?

EDIT: Я редактировал файл `/ etc / apt / preferences ', как кто-то предложил:

grzes:/home/ga# cat /etc/apt/preferences Package: * Pin: release a=testing Pin-Priority: 700 Package: * Pin: release a=stable Pin-Priority: 600 Package: * Pin: release a=unstable Pin-Priority: 50 Package: * Pin: origin deb-multimedia.org/ Pin-Priority: 50 

но, похоже, это не сработало (обратите внимание, что я переопределил этот пакет вручную):

 grzes:/home/ga# apt-cache policy mencoder mencoder: Installed: 2:1.0~rc4.dfsg1+svn34540-1+b2 Candidate: 3:1.1-dmo5 Version table: 3:1.1-dmo5 0 50 http://www.deb-multimedia.org/ unstable/main i386 Packages 700 http://www.deb-multimedia.org/ testing/main i386 Packages *** 2:1.0~rc4.dfsg1+svn34540-1+b2 0 50 http://ftp.uk.debian.org/debian/ unstable/main i386 Packages 700 http://ftp.uk.debian.org/debian/ testing/main i386 Packages 100 /var/lib/dpkg/status 2:1.0~rc3++final.dfsg1-1 0 600 http://ftp.uk.debian.org/debian/ stable/main i386 Packages 

Я не знаю, как перечислять все пакеты и их репозитории, но для одного можно просто выполнить apt-cache policy <package> . Строка с *** – это текущая версия с соответствующими репозиториями.

Установка приоритета для определенного источника называется apt pinning и может выполняться с помощью / etc / apt / preferences (для новых версий Ubuntu требуется, чтобы конфигурация была в /etc/apt/preferences.d/ !):

Вы можете подключаться как к выпуску , так и к исходной версии . В вашем случае вы хотите установить PIN-код для каждого источника:

 Package: * Pin: origin www.deb-multimedia.org Pin-Priority: 300 

или на выпуск и опцию o = :

 Package: * Pin: release o=Unofficial Multimedia Packages Pin-Priority: 300 

Примечание. Кажется, что используется первая конфигурация совпадающего штыря, и игнорируются дополнительные конфигурации сопоставления.

Чтобы просмотреть все известные в настоящее время источники пакетов, их приоритет, происхождение и другие атрибуты, просто вызовите apt-cache policy без какой-либо опции.

Вы можете использовать скрипт apt-show-versions .

 apt-show-versions -b | grep deb-multimedia 

предоставит вам список пакетов с deb-multimedia.org .

Оказывается, вы не можете одновременно иметь как origin и release предложения. Каждый репозиторий предоставляет ярлык, который может использоваться для фильтрации. В моем случае правильный файл /apt/cache/preferences выглядит следующим образом:

 Package: acroread acroread-data acroread-debian-files acroread-dictionary acroread-dictionary-en acroread-escript acroread-fonts-jpn acroread-l10n acroread-l10n-en acroread-plugin-speech acroread-plugins cinelerra flashplayer-mozilla mozilla-acroread w32codecs Pin: release a=testing,l=Unofficial Multimedia Packages Pin-Priority: 550 Package: acroread cinelerra flashplayer-mozilla mozilla-acroread w32codecs Pin: release a=stable,l=Unofficial Multimedia Packages Pin-Priority: 500 Package: * Pin: origin "www.deb-multimedia.org" Pin-Priority: 50 Package: * Pin: release a=testing Pin-Priority: 700 Package: * Pin: release a=stable Pin-Priority: 600 Package: * Pin: release a=unstable Pin-Priority: 50 

Чтобы получить список всех доступных ярлыков, вам необходимо запустить:

 apt-cache policy 

без указания имени пакета.

2) Вы можете узнать, какие пакеты установлены из этого конкретного репозитория с помощью aptitude ( source ).

 aptitude search '~S ~i (!~Atesting ~Aunstable ~O"Unofficial Multimedia")'