Назад | Перейти на главную страницу

Как установить пакет с yum без обновления информации о репозитории?

Я хочу установить некоторые пакеты из репозитория, но всегда, когда пытаюсь yum install packagename yum обновляет базу данных:

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Determining fastest mirrors
updates/metalink                                                                                                                      |  23 kB     00:00     
 * fedora: nl.mirror.eurid.eu
 * rpmfusion-free: ftp.astral.ro
 * rpmfusion-free-updates: ftp.astral.ro
 * rpmfusion-nonfree: ftp.astral.ro
 * rpmfusion-nonfree-updates: ftp.astral.ro
 * updates: nl.mirror.eurid.eu
fedora-awesome                                                                                                                    | 3.3 kB     00:00     
google-chrome                                                                                                                     |  951 B     00:00     
rpmfusion-free-updates                                                                                                        | 3.3 kB     00:00     
rpmfusion-free-updates/primary_db                                                                                             | 272 kB     00:08     
rpmfusion-nonfree-updates                                                                                                     | 3.3 kB     00:00     
rpmfusion-nonfree-updates/primary_db                                                                                          |  93 kB     00:05     
updates                                                                                                                       | 4.7 kB     00:00     
updates/primary_db                                                                                                            | 4.6 MB     02:35     
updates/group                                                                                                                     | 1.9 MB     00:33     

Итак, используя yum install packagename -C также не работает (возникает ошибка "кеш не найден" и yum makecache тоже не дают результатов). Но я просто хочу устанавливать пакеты без обновления db.

Если вы хотите yum вести себя как apt-get (чтобы не обновлять метаданные при каждом запуске), отредактируйте /etc/yum.conf и положи туда:

metadata_expire=never

или

metadata_expire=7d

на случай, если вы захотите обновить метаданные через неделю. Если ты бежишь yum makecache, ваши метаданные будут обновлены как apt-get update в Debian.

Но имейте в виду, что если вы используете "never" в файле конфигурации, вам придется позаботиться об этом вручную. Если вы используете, например, «7d», вы сэкономите полосу пропускания данных, но через неделю метаданные будут обновлены для вас автоматически.

Здесь metadata_expire документация:

Вы также можете изменить использование секунд по умолчанию на дни, часы или минуты, добавив d, h или m соответственно. По умолчанию это 6 часов, что дополняет запуск yum-updatesd один раз в час. Также можно использовать слово «никогда», означающее, что срок действия метаданных никогда не истечет.

Если вы хотите установить пакет без обновления базы данных, вы загружаете rpm напрямую (через yumdownloader, ftp или веб-браузер), а затем устанавливаете его напрямую с rpm:

rpm -ivh packagename

Я не рекомендую вам это делать, поскольку отследить зависимости намного сложнее (именно поэтому создается yum), и это может нарушить будущие установки через yum.

То, что вы спрашиваете, в некотором смысле не соответствует духу yum. Yum - это комплексный пакет, зависимость управляющий делами. Чтобы выполнить свою работу и не испортить вашу систему из-за смешивания несовместимых пакетов, в ней должны быть данные, которые вы не хотите обновлять.

Вы можете вручную проанализировать, какие зависимости имеет пакет, используя deplist <packagename> и установите их вручную.

Отсутствие обновлений у yum кажется странным запросом при любых обстоятельствах ...