Установка пакетов из локального репозитория [дубликат]

Резюме

Как я могу заставить 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 в соответствии с предложением mediageek

Использование localhost не имеет никакого эффекта. но "" имеет, но ничем не отличается от моего метода

    Package: *
    Pin: origin ""
    Pin-Priority: 1001

. Я использовал их перед тем, как опубликовать вопрос. Но я снова попробовал это (для спокойствия). Тот же результат. Политика apt-cache , показывающая, что мой локальный репозиторий действительно имеет наивысший приоритет. но когда я попытался установить, он говорит: «Нужно получить XXX / XXX КБ архива».

43
задан 12 June 2020 в 17:37

0 ответов

Другие вопросы по тегам:

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