Как я могу сделать apt-get предпочитают локальные пакеты репозитория вместо того, чтобы снова загружать ту же версию пакета из официальных репозиториев? Локальный репозиторий подписан и доверен.
Исходный вопрос: «Как назначить наивысший приоритет локальному репозиторию без использования файла sources.list»
Я установил локальный репозиторий с загруженными пакетами. Я использую его, чтобы не загружать одни и те же пакеты через Интернет, когда мне нужно переустановить мой Ubuntu. Это базовый репозиторий, созданный с помощью apt-ftparchive packages . > Packages. Я сделал это доверенным репозиторием, чтобы избежать предупреждения о неавторизованном репозитории. (Если у вас есть ненадежный репозиторий, apt или synaptic попробуйте загрузить те же пакеты через Интернет, потому что это доверено).
Я использовал этот локальный репозиторий хотя бы на 1 года. Но я должен всегда использовать мою локальную линию репозитория в верхней части файла sources.list, чтобы использовать это. Но это раздражает, так как я должен открыть терминал и набирать его каждый раз, когда я переустанавливаю Ubuntu, хотя есть лучший инструмент software-properties-gtk. Я не могу использовать этот инструмент, поскольку он помещает исходную строку в конец `sources.list.
И настоящая проблема заключается в том, что apt или synaptic всегда загружают пакет из источника, о котором упоминалось ранее, без проверки того, доступны ли пакеты в локальном репозитории. Итак, у меня нет выбора, кроме как разместить локальный источник в верхней части 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-preference, apt-cache policy правильно показывает предпочтение, например Он показывает, что локальный репозиторий имеет наивысший приоритет.
Но когда я это делаю sudo apt-get install <package-name>, apt пытается загрузить его из Интернета. Но когда я размещаю локальное репо наверху, он устанавливается из локального репозитория.
Итак, реальная проблема -> 'Можно ли заставить apt использовать локальный репозиторий, когда пакет доступен в локальном репозитории без явного размещения «локального источника» в верхней части списка моих репозиториев (например, файл sources.list)? »
Редактировать: вывод apt-cache policy $package_name выглядит следующим образом [ ! d17] 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 policy показывает, что мой локальный репозиторий имеет наивысший приоритет. но когда я попытался установить, он сказал: «Нужно получить XXX / XXX КБ архива».