Os pacotes RPM não contêm atualizações incrementais (como ao contrário do Solaris, por exemplo). Assim, cada pacote contém tudo o que é necessário para atualização e instalação limpa.
Quando você liga
yum install firefox
E firefox
já está instalado, então o yum deve se recusar a continuar, mesmo quando houver uma versão mais nova disponível. Você deveria ligar:
yum upgrade firefox
Isso instalará a nova versão do pacote e os removerá automaticamente. Portanto, nenhuma sobra deve permanecer no seu sistema.
Embora você possa ligar:
yum install http://foo.bar/firefox-40-1.rpm
e se for mais recente, então o pacote atualmente instalado, então yum automaticamente convertê-lo para o comando yum upgrade
.
E há uma outra exceção - kernel.
yum install kernel
instalará o novo kernel (quando disponível), mas não removerá o antigo (assim você poderá inicializar com o antigo, se o novo não funcionar). Na verdade, também se aplica a alguns outros pacotes. Vou citar a partir de man
page de yum.conf
:
installonlypkgs
List of package provides that should only ever be
installed, never updated. Kernels in particular fall into this cat-
egory. Defaults to kernel, kernel-bigmem, kernel-enterprise, kernel-smp, kernel-modules, kernel-debug,
kernel-unsupported, kernel-
source, kernel-devel, kernel-PAE, kernel-PAE-debug.
Note that because these are provides, and not just package names, kernel-devel will also apply to kernel-debug-devel,
etc.
installonly_limit
Number of packages listed in installonlypkgs
to keep installed at the same time. Setting to 0
disables this feature.
Default is '3'. Note that this functionality used to be in the "installonlyn" plugin, where this option was altered via
tokeep. Note
that as of version 3.2.24, yum will now look in the yumdb for a installonly attribute on installed packages. If that
attribute is
"keep", then they will never be removed.
Então você pode ter até 3 pacotes do kernel instalados simultaneamente. Mas não 4, pois o yum começará a removê-las automaticamente. Como você afirmou - você pode remover kernels antigos por package-cleanup --oldkernels
se você realmente quiser.
Não há necessidade de fazer algo semelhante para pacotes normais, pois o yum faz isso toda vez durante a transação upgrade
.
Você pode verificar isso executando:
rpm -q kernel
que provavelmente listará 3 pacotes. Enquanto
rpm -q httpd
Deve listar apenas um pacote. E
rpm -q glibc
provavelmente listará 2 pacotes na máquina de 64 bits - um x86_64
e outro i686
se você tiver alguns pacotes que exijam multilib
(por exemplo, wine
).