Come installare il pacchetto con yum senza aggiornare le informazioni sul repository?


10

Voglio installare alcuni pacchetti dal repository ma sempre quando sto cercando di yum install packagenameaggiornare yum 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     

Quindi yum install packagename -Canche l' utilizzo non funziona (si verifica l'errore "cache not found" e yum makecachenon si ottengono risultati). Ma voglio solo installare i pacchetti senza aggiornare db.


3
Perché? L'aggiornamento del DB significa che hai le ultime versioni dell'elenco dei pacchetti
Smudge

Di che db stiamo parlando? La cache repo / pacchetto yum?
thinice

1
@sam perché la mia velocità di Internet è troppo lenta per aggiornare il repository per ogni installazione.
Clark,

1
@thinice sì, come vedete nel registro, c'è un aggiornamento per ogni repository. Non ne ho bisogno per farlo Voglio solo installare il pacchetto senza l'aggiornamento del repository.
Clark,

1
@purple Quindi dovresti usare un repository locale, yum è progettato per funzionare con pieno accesso ai dati del repository, sia esso remoto o yum locale non importa, ma dovrebbe averlo.
Macchia

Risposte:


12

Se vuoi yumcomportarti come apt-get(non aggiornare i metadati ad ogni corsa), modifica /etc/yum.confe inserisci lì:

metadata_expire=never

o

metadata_expire=7d

nel caso in cui desideri aggiornare i metadati dopo una settimana. Se corri yum makecache, i tuoi metadati verranno aggiornati come da apt-get updateDebian.

Ma tieni presente che se usi "mai" nel file di configurazione, dovrai occupartene manualmente. Se usi ad es. "7d", risparmierai la larghezza di banda dei tuoi dati, ma dopo una settimana i metadati verranno automaticamente aggiornati.

Ecco la metadata_expiredocumentazione:

Puoi anche passare dall'impostazione predefinita dell'uso dei secondi all'utilizzo di giorni, ore o minuti aggiungendo rispettivamente l'annuncio, h o m. L'impostazione predefinita è 6 ore per completare yum-updatesd in esecuzione una volta ogni ora. È anche possibile usare la parola "mai", il che significa che i metadati non scadranno mai.


sarà 2wfunzionare così?
Sebastian Godelet,

No 2wnon funziona. L'impostazione predefinita è 6 ore, per completare yum-updatesd in esecuzione una volta ogni ora. È possibile passare dall'impostazione predefinita dell'utilizzo dei secondi all'utilizzo di giorni, ore o minuti aggiungendo a d, h or mrispettivamente.
Shubham Chaudhary,

4

Per alcuni aspetti, quello che stai chiedendo è fuori dallo spirito di yum. Yum è un gestore completo di pacchetti e dipendenze . Per fare il suo lavoro e non rovinare il tuo sistema con pacchetti incompatibili mix-and-matching, deve avere quei dati che non vuoi aggiornare.

È possibile analizzare manualmente le dipendenze di un pacchetto utilizzando deplist <packagename>e installarle manualmente.

Non avere uno yum aggiornato ti sembra una strana richiesta qualunque siano le circostanze ...


Ma perché apt-get non aggiorna il repository quando si digita il comando install? Aggiornerà il repository solo e solo quando si digita update. Voglio che yum faccia la stessa cosa.
Clark,

1
Se esegui apt-get install foo - e la versione del pacchetto remoto è cambiata, otterrai messaggi come questo: bitbucket.org/ianb/silverlining/issue/26/… - Allo stesso modo con eventuali dipendenze che sono state aggiornate nel repository anche. (Essenzialmente, costringendoti a eseguire l'aggiornamento).
thinice

2
Sì, ma quando eseguo yum per installare un'applicazione che non è stata modificata, aggiorna anche db.
Clark,

4

Se si desidera installare un pacchetto senza aggiornare il db, scaricare direttamente rpm (tramite yumdownloader, ftp o browser Web) e quindi installarlo direttamente con rpm:

rpm -ivh packagename

Non ti consiglio di farlo, in quanto è molto più lavoro per rintracciare le dipendenze (ecco perché viene creato yum) e potrebbe interrompere le installazioni future tramite yum.


Sì, ma perché apt-get, ad esempio, non aggiorna il repository quando gli dici di installare il pacchetto? E per l'aggiornamento si usa il comando 'apt-get update'.
Clark,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.