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 installno 1.1 depois que o 1.0 já está instalado, listará 2 pacotes? - Executará
yum update some-package-1.1substituiu 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 installno 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.1substituirá some-package-1.0 com sucesso?
Sim.
yum installao 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 updateseria quando eu apenas especificasse o nome do pacote, correto?yum installdetectará 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 comoyumoudnf.rpmquando 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.