Как использовать определенный способный репозиторий

Я пытаюсь установить imagemagick пакет из своего собственного репозитория. Вот мое пошаговое:

Я создал способный репозиторий с помощью reprepro утилиту с conf:

Origin: custom-repo.s3.amazonaws.com
Label: custom-repo.s3.amazonaws.com
Codename: precise
Components: main
Architectures: i386 amd64
Description: Custom APT Repository
SignWith: 12312312
DebOverride: override.precise
DscOverride: override.precise

На целевом экземпляре я добавил этот пользовательский repo к/etc/apt/sources.list.d/custom.list:

deb     http://custom-repo.s3.amazonaws.com precise main

И измененные предпочтения APT (/etc/apt/preferences):

Package: *
Pin: release o=custom-repo.s3.amazonaws.com
Pin-Priority: 999

Вот политика APT (после того, как обновление):

imagemagick:
  Installed: (none)
  Candidate: 8:6.6.9.7-5ubuntu3.3
  Version table:
     8:6.6.9.7-5ubuntu3.3 0
        500 http://archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
        999 http://custom-repo.s3.amazonaws.com/ precise/main amd64 Packages
     8:6.6.9.7-5ubuntu3 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

Теперь я пытаюсь установить imagemagick пакет из своего собственного репозитория (но он установлен из archive.ubuntu.com):

apt-get install imagemagick
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  imagemagick-doc autotrace cups-bsd lpr lprng enscript ffmpeg gimp gnuplot grads hp2xx html2ps libwmf-bin mplayer povray radiance sane-utils texlive-base-bin transfig xdg-utils ufraw-batch
The following NEW packages will be installed:
  imagemagick
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 49.2 kB of archives.
After this operation, 213 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ precise-updates/main imagemagick amd64 8:6.6.9.7-5ubuntu3.3 [49.2 kB]
Fetched 49.2 kB in 0s (96.8 kB/s)
Selecting previously unselected package imagemagick.
(Reading database ... 94215 files and directories currently installed.)
Unpacking imagemagick (from .../imagemagick_8%3a6.6.9.7-5ubuntu3.3_amd64.deb) ...
Processing triggers for man-db ...
Setting up imagemagick (8:6.6.9.7-5ubuntu3.3) ...
0
задан 28 July 2014 в 14:59
1 ответ

Я думаю, что короткий ответ: apt выбирает версии пакетов, а не репозиториев.

apt_preferences(1) говорит, что apt "установит самую приоритетную версию", что она и делает. Но в нем не сказано, что он установит ее из репозитория с наивысшим приоритетом. Это может быть просто выбор первого репозитория в списке, имеющего такую версию

apt знает, версия пакета в вашем репозитории и archive.ubuntu.com одинаковы, так как у них одинаковые номера версий. Если они одинаковы, то в этом нет никакой проблемы, за исключением того, что вы не можете протестировать свой репозиторий. Если они не совпадают, то у вас проблема с упаковкой, и вы должны изменить номер версии в вашем пакете.

Если вы хотите заставить apt использовать ваш репозиторий, чтобы протестировать его, вы можете попробовать поднять Пин-приоритет imagemagick более чем до 1000. Это приводит в действие другую логику в apt, которая заставит его понизить рейтинг пакета, и это может заставить его выбрать ваш репозиторий. Или установите другую версию пакета в ваш репозиторий и посмотрите, выбрала ли apt правильную.

.
1
ответ дан 4 December 2019 в 17:22

Теги

Похожие вопросы