Jak zainstalować pakiet z yum bez aktualizacji informacji o repozytorium?

10

Chcę zainstalować niektóre pakiety z repozytorium, ale zawsze, gdy próbuję yum install packagenamepobrać aktualizację 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     

Tak więc używanie yum install packagename -Crównież nie działa (występuje błąd „nie znaleziono pamięci podręcznej” i yum makecachenie daje również wyników). Ale chcę tylko zainstalować pakiety bez aktualizacji db.

Clark
źródło
3
Dlaczego? Aktualizacja DB oznacza, że ​​masz najnowsze wersje listy pakietów
Smudge
O czym mówimy? Pamięć podręczna repo / pakietu?
cienkie
1
@sam, ponieważ moja prędkość Internetu jest zbyt wolna, aby aktualizować repo dla każdej instalacji.
Clark,
1
@ cienkie tak, jak widać w dzienniku, następuje aktualizacja dla zawsze repozytorium. Nie muszę tego robić, chcę tylko zainstalować pakiet bez aktualizacji repozytorium.
Clark,
1
@purple W takim razie powinieneś używać lokalnego repozytorium, yum jest zaprojektowany do pracy z pełnym dostępem do danych repo, niezależnie od tego, czy jest to zdalne, czy lokalne yum nie obchodzi, ale powinno go mieć.
Smudge,

Odpowiedzi:

12

Jeśli chcesz yumsię zachowywać apt-get(nie aktualizować metadanych przy każdym uruchomieniu), edytuj /etc/yum.confi umieść tam:

metadata_expire=never

lub

metadata_expire=7d

na wypadek, gdybyś chciał zaktualizować metadane po tygodniu. Jeśli uruchomisz yum makecache, twoje metadane zostaną zaktualizowane tak jak apt-get updatew Debianie.

Pamiętaj jednak, że jeśli użyjesz „nigdy” w pliku konfiguracyjnym, będziesz musiał się tym zająć ręcznie. Jeśli użyjesz np. „7d”, zapiszesz przepustowość danych, ale po tygodniu metadane zostaną automatycznie zaktualizowane.

Oto metadata_expiredokumentacja:

Możesz także zmienić z domyślnego używania sekund na używanie dni, godzin lub minut, dodając odpowiednio reklamę, h lub m. Domyślnie jest to 6 godzin, aby uzupełnić aktualizację yum raz na godzinę. Można również użyć słowa „nigdy”, co oznacza, że ​​metadane nigdy nie wygasną.

Rafael van Horn
źródło
będzie również 2wdziałać?
Sebastian Godelet
Nie 2w, nie działa. Domyślnie jest to 6 godzin, aby uzupełnić aktualizację yum raz na godzinę. Możesz zmienić z domyślnego używania sekund na używanie dni, godzin lub minut, dodając a d, h or modpowiednio.
Shubham Chaudhary
4

To, o co prosisz, pod pewnymi względami pochodzi z ducha mniszka. Yum to wszechstronny menedżer pakietów i zależności . Aby wykonać swoje zadanie i nie spieprzyć systemu przez łączenie i dopasowywanie niekompatybilnych pakietów, musi on posiadać dane, których nie chcesz aktualizować.

Możesz ręcznie przeanalizować, jakie zależności ma pakiet, używając go deplist <packagename>i zainstalować ręcznie.

Nieobecność Yum wydaje się dziwną prośbą niezależnie od okoliczności ...

cienki lód
źródło
Ale dlaczego apt-get nie aktualizuje repozytorium po wpisaniu komendy install? Aktualizuje repozytorium tylko i wyłącznie po wpisaniu aktualizacji. Chcę, żeby yum zrobił to samo.
Clark,
1
Jeśli uruchomisz apt-get install foo - a wersja pakietu zdalnego uległa zmianie, otrzymasz następujące komunikaty: bitbucket.org/ianb/silverlining/issue/26/... - Podobnie z wszelkimi zależnościami, które zostały zaktualizowane w repozytorium także. (Zasadniczo, zmuszając Cię do uruchomienia aktualizacji).
cienkie
2
Tak, ale kiedy uruchamiam yum, aby zainstalować aplikację, która nie została zmieniona, aktualizuje również db.
Clark,
4

Jeśli chcesz zainstalować pakiet bez aktualizacji db, pobierz rpm bezpośrednio (albo przez yumdownloader, ftp lub przeglądarkę internetową), a następnie zainstaluj go bezpośrednio z rpm:

rpm -ivh packagename

Nie polecam tego robić, ponieważ śledzenie zależności jest znacznie bardziej pracochłonne (dlatego właśnie powstaje yum) i może to zepsuć przyszłe instalacje za pomocą yum.

Rilindo
źródło
Tak, ale dlaczego na przykład apt-get nie aktualizuje repozytorium, kiedy po prostu każesz mu zainstalować pakiet? Do aktualizacji użyj polecenia „apt-get update”.
Clark,