SDB:Aggiornamento con cambio di fornitore
Indice
Introduzione
Il gestore dei pacchetti Zypp utilizza il concetto della persistenza di fornitore. Questo significa che, quando si aggiorna il proprio sistema, i pacchetti già installati non verranno aggiornati ad una versione più recente, se la versione più recente è resa disponibile da un fornitore diverso.
Vantaggi della persistenza di fornitore:
- Quando si aggiorna, non si rischia di sostituire per errore versioni stabili di pacchetti installati con versioni sperimentali provenienti da un repository diverso.
- Quando lo stesso pacchetto è presente in più di un repository, non si rischia di passare continuamente ad un diverso repository ogni volta che si esegue un aggiornamento.
Svantaggi della persistenza di fornitore:
- Gli aggiornamenti che per risultare disponibili richiedono un cambio di venditore sono parzialmente nascosti in YaST.
- Aggiornare o cambiare un pacchetto verso un nuovo fornitore richiede un po' di lavoro in più.
- Ogni tanto il gestore dei pacchetti chiederà se si vuole consentire il cambio del fornitore, il che può risultare fastidioso, intimidire oppure confondere.
Eseguire aggiornamenti con cambio di fornitore
Qui si seguito si riportano i diversi metodi che si possono usare per eseguire aggiornamenti con cambio di fornitore.
Cambio di fornitore per il singolo pacchetto
Utilizzando YaST
Cercare il pacchetto che si intende aggiornare, trovarlo e quindi spostarsi nella scheda Versioni e selezionare la versione che si vuole installare.
Utilizzando Zypper
Installare il pacchetto con zypper specificando la versione che si desidera, per esempio:
Oppure specificando un certo repository:
Cambio di fornitore per tutto il repository
Utilizzando YaST
Se si vogliono passare tutti i pacchetti installati alle versioni presenti in un repository specifico, aprire la scheda Repository, selezionare il repository desiderato e fare clic su Passa i pacchetti di sistema alle versioni in questo repository.
Utilizzando Zypper
È possibile cambiare fornitore per tutti i pacchetti in un certo repository anche con zypper:
Consentire il cambio di fornitore in generale
Consentire il cambio di fornitore per alcuni repository
È possibile definire un elenco di repository con "vendors" (ovvero fornitori) differenti da considerare come equivalenti, creando un file nella directory /etc/zypp/vendors.d/ con un contenuto simile al seguente:
[main] vendors = suse,opensuse,obs://build.suse.de,Packman,http://packman.links2linux.de
- Il file può avere un nome qualsiasi, ma a ogni file in questa directory corrisponde un gruppo di fornitori equivalenti.
- Libzypp effettua un confronto fra stringhe (alla maniera di strncmp e case-insensitive), laddove vengono confrontate soltanto le parti iniziali delle stringhe, per esempio il fornitore "opensuse11.0" è confrontabile con "openSUSE".
Disabilitare la persistenza del fornitore
Volendo, è possibile disabilitare completamente la persistenza del fornitore. In questo caso il gestore dei pacchetti non chiederà il permesso per effettuare il cambio di fornitore per i pacchetti, inoltre durante l'aggiornamento verrà direttamente installato qualunque pacchetto abbia il numero di versione più elevato, indipendentemente dalla sorgente da cui provenga.
In /etc/zypp/zypp.conf impostare
solver.allowVendorChange = true
Da ora in poi zypper up installerà le versioni più recenti disponibili da qualsiasi fornitore. E YaST indicherà i pacchetti per i quali un aggiornamento è disponibile con caratteri di colore blu, anche se l'aggiornamento viene da un fornitore diverso.