Как я могу заставить apt-get предпочитать пакеты локального репозитория вместо снова скачать ту же версию пакета из официальных репозиториев? Локальный репозиторий подписан и является доверенным. Мы уже пробовали использовать приоритетные предпочтения.
Первоначальный вопрос звучал так: «Как назначить наивысший приоритет локальному репозиторию без использования файла sources.list»
Я установил локальный репозиторий с загруженными мною пакетами. Я использую его, чтобы не загружать одни и те же пакеты через Интернет, когда мне нужно переустановить Ubuntu. Это базовый репозиторий, созданный с помощью пакетов apt-ftparchive. > Пакеты
. Я сделал это надежным репозиторием, чтобы избежать предупреждения о том, что репозиторий не прошел проверку подлинности. ( Когда у вас есть ненадежный репозиторий, apt
или synaptic
пытаются загрузить те же пакеты через Интернет, потому что это надежный ).
Я использую этот локальный репозиторий не менее 1 года. Но я всегда должен помещать строку моего локального репозитория в начало файла sources.list
, чтобы использовать это. Но это раздражает, так как я должен открывать терминал и печатать на нем каждый раз при переустановке Ubuntu, хотя есть инструмент получше software-properties-gtk
. Я не могу использовать этот инструмент, так как он помещает исходную строку в конец `sources.list.
И настоящая проблема заключается в том, что apt
или синаптический
всегда загружает пакет из источника, упомянутого ранее, без проверки того, являются ли пакеты уже есть в локальном репозитории. Итак, у меня нет другого выбора, кроме как поместить локальный источник в начало sources.list
, выполняющего терминал (на самом деле я не ненавижу терминал, но мне нужно решение).
Я пробовал этот метод . Но это мне не помогает.
Мой файл настроек находится в /etc/apt/preferences.d/local-pin-900
Package: *
Pin: release o=Local,n=ubuntu-local
Pin-Priority: 900
Мой файл выпуска - это
Origin: Local
Label: Local-Ubuntu
Description: Local Ubuntu Repository
Codename: ubuntu-local
MD5Sum:
ed43222856d18f389c637ac3d7dd6f85 1043412 Packages
d41d8cd98f00b204e9800998ecf8427e 0 Sources
Когда я включаю параметр apt, появляется apt -cache policy
правильно показывает предпочтение, например Это показывает, что локальный репозиторий имеет наивысший приоритет.
Но когда я делаю это sudo apt-get install <имя-пакета>
, apt
пытается загрузить его из Интернета. Но когда я размещаю свое локальное репо наверху, он устанавливается из локального репозитория.
Итак, Мой вопрос: -> 'Можно ли заставить apt использовать локальный репозиторий, когда пакет доступен в локальном репозитории, без явного размещения «локального источника» в верхней части моего репозитория list (например, файл sources.list)? '
Edit: вывод политики apt-cache policy $ package_name
выглядит следующим образом
nautilus-wipe: Installed: (none) Candidate: 0.1.1-2 Version table: 0.1.1-2 0 500 http://archive.ubuntu.com/ubuntu/ precise/universe i386 Packages 900 file:/media/Main/Linux-Software/Ubuntu/Precise/ Packages
Это показывает, что мой локальный репозиторий имеет более высокие предпочтения, хотя это не так тот, который идет первым в файле sources.list
.
Вот результат apt-get install nautilus-wipe
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: nautilus-wipe 0 upgraded, 1 newly installed, 0 to remove and 131 not upgraded. Need to get 30.7 kB of archives. After this operation, 150 kB of additional disk space will be used. 'http://archive.ubuntu.com/ubuntu/pool/universe/n/nautilus-wipe/nautilus-wipe_0.1.1-2_i386.deb' nautilus-wipe_0.1.1-2_i386.deb 30730 MD5Sum:7d497b8dfcefe1c0b51a45f3b0466994
Он все еще пытается получить файл из Интернета, хотя я думаю, что он должен быть доволен локальным файлом.
Использование localhost не имеет никакого эффекта. но "" имеет, но ничем не отличается от моего метода
Package: *
Pin: origin ""
Pin-Priority: 1001
. Я использовал их перед тем, как опубликовать вопрос. Но я снова попробовал это (для спокойствия). Тот же результат. Политика apt-cache
, показывающая, что мой локальный репозиторий действительно имеет наивысший приоритет. но когда я попытался установить, он говорит: «Нужно получить XXX / XXX КБ архива».