Ao trabalhar com o comando rpm
, percebi que se instalei some-package-1.0
e, em seguida, executei outro rpm -ivh some-package-1.1
ambos os pacotes serão listados quando eu fizer um rpm -qa | grep some-package
como o seguinte :
some-package-1.0 some-package-1.1
No entanto, em vez de instalar o 1.1, se eu atualizar por meio do rpm -Uvh some-package-1.1
, obtenho o resultado desejado de um pacote único (1.1) quando eu faço rpm -qa | grep some-package
.
Agora, o mesmo comportamento se aplica a yum install
e yum update
?
Eu pergunto porque com o comando rpm -U
(atualizar) um pacote não precisa existir para atualizar / instalar, mas com yum update
(se não me engano) um pacote já deve existir.
Estou particularmente interessado em saber o resultado da especificação de pacotes com seus versões como some-package-1.0
. Resumindo, o que quero saber é se tenho duas versões específicas, como some-package-1.0
e some-package-1.1
:
- Executando um
yum install
no 1.1 depois que o 1.0 já está instalado, listará 2 pacotes? - Executará
yum update some-package-1.1
substituiu com sucessosome-package-1.0
?
Resposta
O principal as diferenças entre o YUM e o RPM são que yum
sabe como resolver dependências e pode fornecer esses pacotes adicionais ao fazer seu trabalho. Embora rpm
possa alertá-lo sobre essas dependências, ele não pode fornecer pacotes adicionais.
Quanto à instalação versus atualização. Ambas as ferramentas podem executar uma instalação, e o RPM permitirá até que você instale várias versões simultaneamente, mas o YUM informará que o pacote já está instalado. Portanto, nenhum YUM não permitirá que você instale várias versões.
Quanto a yum update
, isso vai reagir de duas maneiras. Se você informar um pacote que deseja atualizar, ele tentará fazer isso, baixando todas as dependências necessárias e instalando-as também. Se você executá-lo sem nenhum nome de pacote, yum update
tentará atualizar todos os pacotes instalados em seu sistema.
Se você usar yum upgrade
fará o mesmo que yum update
, exceto que tentará remover quaisquer pacotes que tenham sido marcados como “obsoletos”.
Exemplo
Aqui está um cenário não muito diferente do seu. Uma nova versão de vim-X11
está disponível.
$ 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 estou atualmente nesta versão:
$ rpm -q vim-X11 | expand vim-X11-7.4.179-1.fc19.x86_64
Quando tentamos instalá-lo:
$ 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
Resumindo
- Executando um
yum install
no 1.1 depois que o 1.0 já está instalado, listará 2 pacotes?
Não. O YUM ainda executará uma atualização, mesmo quando você lhe disser para fazer uma instalação, se o pacote já estiver instalado.
- A execução de
yum update some-package-1.1
substituirá some-package-1.0 com sucesso?
Sim.
yum install
ao especificar o nome do pacote com a versão e não me preocupar com a instalação de várias versões. Uma situação em que eu gostaria de usaryum update
seria quando eu apenas especificasse o nome do pacote, correto?yum install
detectará que um pacote já está instalado e passará a atualizá-lo em vez de instalá-lo, como meu exemplo mostrou.rpm
é comodpkg
, só se preocupa com o gerenciamento dos arquivos do disco local. Para repositório " gerenciamento " b / w seu sistema + um repo, você precisa de algo comoyum
oudnf
.rpm
quando usado para instalar a partir de um url não ' não faça qualquer dep de pacote para puxá-los também, ele simplesmente baixa o rpm localmente e então o instala.