Як встановити пакет з yum без оновлення інформації про сховища?


10

Я хочу встановити деякі пакети з сховища, але завжди, коли я намагаюся yum install packagenameоновити db:

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.


3
Чому? Оновлення БД означає, що у вас є останні версії списку пакунків
Smudge

Про що ми говоримо? Кеш yum repo / пакет?
thinice

1
@sam, оскільки моя швидкість Інтернету занадто повільна, щоб оновлювати репо для кожної установки.
Кларк

1
@thinice так, як ви бачите в журналі, там оновлення трапляється для будь-якого сховища. Мені це не потрібно, я просто хочу встановити пакет без оновлення репозиторію.
Кларк

1
@purple Тоді вам слід використовувати локальне сховище, yum призначений для роботи з повним доступом до даних репо, будь то віддалений або локальний yum не хвилює, але він повинен мати його.
Мазок

Відповіді:


12

Якщо ви хочете yumповодитись так apt-get(не оновлювати метадані кожного запуску), відредагуйте /etc/yum.confта поставте:

metadata_expire=never

або

metadata_expire=7d

якщо ви хочете оновити метадані через тиждень. Якщо ви запустите yum makecache, ваші метадані будуть оновлені, як apt-get updateу Debian.

Але майте на увазі, що якщо ви використовуєте "ніколи" у конфігураційному файлі, вам доведеться подбати про це вручну. Якщо ви використовуєте, наприклад, "7d", ви збережете пропускну здатність даних, але через тиждень метадані будуть оновлені для вас автоматично.

Ось metadata_expireдокументація:

Ви також можете змінити за замовчуванням використання секунд на використання днів, годин або хвилин, додавши оголошення, год або м відповідно. За замовчуванням - 6 годин, щоб комплімент yum-updatesd працював раз на годину. Можна також використовувати слово "ніколи", тобто метадані ніколи не закінчуються.


буде 2wпрацювати також?
Себастьян Годелет

Ніхто 2wне працює. За замовчуванням - 6 годин, щоб комплімент yum-updatesd працював раз на годину. Ви можете змінити типовий режим використання секунд на використання днів, годин або хвилин, додавши a d, h or mвідповідно.
Shubham Chaudhary

4

Те, про що ви запитуєте, є душевним у певному відношенні. Yum - всеосяжний пакет і залежність менеджер . Для того, щоб виконати свою роботу, а не накручувати вашу систему шляхом сумішування та узгодження несумісних пакетів, їй потрібно мати ті дані, які ви не хочете оновлювати.

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

Якщо у вас немає того, щоб мати останній час, це виглядає як незвичайний запит, незалежно від обставин ...


Але чому apt-get не оновлює сховище, коли ви вводите команду install? Він оновлюватиме лише сховище та лише під час введення оновлення. Я хочу, щоб ти зробив те саме.
Кларк

1
Якщо ви запустите apt-get install foo - і версія віддаленого пакета змінилася, ви отримаєте такі повідомлення: bitbucket.org/ianb/silverlining/issue/26/… - Так само і з будь-якими залежностями, оновленими в репо так само. (По суті, змушує запустити оновлення).
thinice

2
Так, але коли я запускаю yum, щоб встановити додаток, який не було змінено, оновлення також db.
Кларк

4

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

rpm -ivh packagename

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


Так, але чому, наприклад, apt-get не оновлює сховище, коли ви просто скажете йому встановити пакет? А для оновлення ви використовуєте команду "apt-get update".
Кларк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.