Метаданные репозитория и локальные пакеты

282
admdev

Мне нужна помощь с днф . Мне часто нужно установить новый образ сервера fedora на виртуальной машине. Как только это будет сделано, каждый раз, когда я пытаюсь использовать dnf для поиска или установки пакетов в первый раз, кажется, что происходит обновление его метаданных, что занимает много времени. Есть ли способ получить эти данные и сохранить их локально, а затем, после новой установки, возможно, я смогу обновить dnf локально?

Также скажите, что мне нужно устанавливать один и тот же пакет снова и снова на новые образы. Как я могу загрузить пакет локально, а затем переместить файлы в новый образ и использовать dnf для установки из локального файла, то есть что-то вроде загрузки автономного установщика Windows?

1

1 ответ на вопрос

1
mattdm

Есть два простых способа сделать это, и один более сложный.

Более сложной была бы умная система кеширования-зеркалирования для DNF, которая знает об обновлениях пакетов. Вы можете использовать keepcache=trueфайл конфигурации DNF, а затем каким-то образом повторно экспортировать эти файлы. Но это довольно неудобно. Вместо этого я бы предложил один из самых простых:

  1. Настройте локальное зеркало. Периодически запускайте rsync (инструкции на веб-сайте зеркалирования Fedora ) и указывайте на это ваши хосты. Это довольно просто, но, вероятно, будет связано с отражением многих вещей, которые вам не нужны.
  2. Установите стандартный кеширующий прокси-сервер и используйте его. Вы можете просто настроить обычный сервер или, если хотите быть более умным, сделать то, что предлагается в посте блога Lazy distro mirror с Squid - настроить «ускоряющий» сервер, работающий на порту 80, и притвориться, что это ваш удаленный репозиторий. место нахождения.
привет, я думаю, что мне нравится твой номер 1 простой способ, и я попробую. Можете ли вы уточнить, что вы имеете в виду, говоря о зеркальном отражении многих вещей? Также какие-нибудь советы по моему второму вопросу? Спасибо. admdev 7 лет назад 0
Я имею в виду, что вы можете использовать, скажем, 1000 пакетов, а в хранилище 17000 пакетов, так что вы будете собирать много данных, которые не обязательно использовать ни для чего. Если у вас есть пропускная способность и дисковое пространство, это не проблема. mattdm 7 лет назад 0
Какой второй вопрос? Локальная вещь установки? Я в основном предполагал, что наличие локального зеркала или кэша сделает это менее значительным, но если вы хотите, вы можете просто `dnf install localfilename.rpm`. mattdm 7 лет назад 0
Отлично, локальная установка звучит так, как мне нужно. Теперь я могу спросить, как загрузить пакет в первую очередь в формате файла? Кроме того, почему я должен ждать долго, когда я впервые использую dnf для поиска пакета? Могу ли я загрузить все, что он делает (я предполагаю, что это какое-то обновление метаданных) и установить его вручную? Большое спасибо. admdev 7 лет назад 0
Я предполагаю, что это начальная загрузка метаданных, да. Если вы возьмете это из локального зеркала, это будет быстрее. Чтобы просто загрузить пакеты, вы можете использовать [`dnf download`] (http://dnf-plugins-core.readthedocs.io/en/latest/download.html). mattdm 7 лет назад 0

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