Lavorando con il comando rpm
ho notato che se ho installato some-package-1.0
e poi ho eseguito un altro rpm -ivh some-package-1.1
entrambi i pacchetti verranno elencati quando eseguo un rpm -qa | grep some-package
come il seguente :
some-package-1.0 some-package-1.1
Tuttavia, invece di installare 1.1, se eseguo laggiornamento tramite rpm -Uvh some-package-1.1
ottengo il risultato desiderato di un pacchetto singolo (1.1) quando eseguo rpm -qa | grep some-package
.
Ora si applica lo stesso comportamento con yum install
e yum update
?
Chiedo perché con il comando rpm -U
(upgrade) non deve “t esistere un pacchetto per aggiornare / installare ma con yum update
(se non mi sbaglio) un pacchetto deve già esistere.
Sono particolarmente interessato a conoscere il risultato della specifica di pacchetti con il loro versioni come some-package-1.0
. Quindi, riassumendo, quello che voglio sapere è se ho due versioni specifiche come some-package-1.0
e some-package-1.1
:
- Eseguirà un
yum install
su 1.1 dopo che 1.0 è già installato, elencherà 2 pacchetti? - Eseguirà
yum update some-package-1.1
sostituire correttamentesome-package-1.0
?
Risposta
Il maggiore le differenze tra YUM e RPM sono che yum
sa come risolvere le dipendenze e può procurarsi questi pacchetti aggiuntivi quando fa il suo lavoro. Sebbene rpm
possa avvisarti di queste dipendenze, non è in grado di fornire pacchetti aggiuntivi.
Per quanto riguarda linstallazione e laggiornamento. Entrambi gli strumenti possono eseguire uninstallazione e RPM ti consentirà persino di installare più versioni contemporaneamente, ma YUM ti dirà che quel pacchetto è già installato. Quindi nessun YUM non ti permetterà di installare più versioni.
Per quanto riguarda yum update
, questo reagirà in uno dei due modi. Se gli dici un pacchetto che vuoi aggiornare, tenterà di farlo, scaricando tutte le dipendenze necessarie e installandole anche loro. Se lo esegui senza alcun nome di pacchetto, yum update
tenterà di aggiornare ogni pacchetto installato sul tuo sistema.
Se se utilizzi yum upgrade
farà lo stesso di yum update
, tranne che tenterà di rimuovere tutti i pacchetti che sono stati contrassegnati come “obsoleti”.
Esempio
Qui “uno scenario non diverso dal tuo. È disponibile una nuova versione di vim-X11
.
$ yum check-update vim-X11 | expand Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit vim-X11.x86_64 2:7.4.417-1.fc19 updates
E io “sono attualmente a questa versione:
$ rpm -q vim-X11 | expand vim-X11-7.4.179-1.fc19.x86_64
Quando proviamo a installarlo:
$ sudo yum install vim-X11 ... ================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================= Updating: vim-X11 x86_64 2:7.4.417-1.fc19 updates 1.2 M Updating for dependencies: vim-common x86_64 2:7.4.417-1.fc19 updates 5.9 M vim-enhanced x86_64 2:7.4.417-1.fc19 updates 1.0 M .... Running transaction Updating : 2:vim-common-7.4.417-1.fc19.x86_64 1/6 Updating : 2:vim-enhanced-7.4.417-1.fc19.x86_64 2/6 Updating : 2:vim-X11-7.4.417-1.fc19.x86_64 3/6 Cleanup : 2:vim-X11-7.4.179-1.fc19.x86_64 4/6 Cleanup : 2:vim-enhanced-7.4.179-1.fc19.x86_64 5/6 Cleanup : 2:vim-common-7.4.179-1.fc19.x86_64 6/6 Verifying : 2:vim-enhanced-7.4.417-1.fc19.x86_64 1/6 Verifying : 2:vim-X11-7.4.417-1.fc19.x86_64 2/6 Verifying : 2:vim-common-7.4.417-1.fc19.x86_64 3/6 Verifying : 2:vim-enhanced-7.4.179-1.fc19.x86_64 4/6 Verifying : 2:vim-X11-7.4.179-1.fc19.x86_64 5/6 Verifying : 2:vim-common-7.4.179-1.fc19.x86_64 6/6
Quindi, in sintesi
- Lesecuzione di un
yum install
su 1.1 dopo che 1.0 è già installato, elencherà 2 pacchetti?
No. YUM eseguirà comunque un aggiornamento anche quando gli hai detto di eseguire uninstallazione se il pacchetto è già installato.
- Lesecuzione di
yum update some-package-1.1
sostituirà con successo some-package-1.0?
Sì.
yum install
quando specifico il nome del pacchetto con la versione e non mi preoccupo dellinstallazione di più versioni. Una situazione in cui vorrei utilizzareyum update
sarebbe quando indico solo il nome del pacchetto, giusto?yum install
rileverà che un pacchetto è già installato e passerà allaggiornamento anziché allinstallazione, come mostrato dal mio esempio.rpm
è comedpkg
, si occupa solo di gestire i file sul disco locale. Per la " gestione del repository " b / n il tuo sistema + un repo hai bisogno di qualcosa comeyum
odnf
.rpm
se utilizzato per linstallazione da un URL non ' Non esegue alcun dep di pacchetto per inserirli, semplicemente scarica lrpm localmente e poi lo installa.