Os gerenciadores de pacotes baseados em RPM suportam subcomandos como requer, recomenda, conflitos, obsoletos, sugestões e suplementos.
Ao ler as páginas man do rpm e a documentação de dependências, não está claro como elas diferem.
Por exemplo, se eu executar o comando rpm --query --info MozillaFirefox
, a saída a seguir será retornada.
Name : MozillaFirefox
Version : 60.4.0
Release : lp150.3.30.1
Architecture: x86_64
Install Date: Sun 06 Jan 2019 07:43:50 AM NZDT
Group : Productivity/Networking/Web/Browsers
Size : 161608776
License : MPL-2.0
Signature : RSA/SHA256, Thu 13 Dec 2018 08:35:09 PM NZDT, Key ID b88b2fd43dbdc284
Source RPM : MozillaFirefox-60.4.0-lp150.3.30.1.src.rpm
Build Date : Wed 12 Dec 2018 10:35:10 PM NZDT
Build Host : cloud138
Relocations : (not relocatable)
Packager : http://bugs.opensuse.org
Vendor : openSUSE
URL : http://www.mozilla.org/
Summary : Mozilla Firefox Web Browser
Description :
Mozilla Firefox is a standalone web browser, designed for standards
compliance and performance. Its functionality can be enhanced via a
plethora of extensions.
Se eu executar o comando rpm --query --recommends MozillaFirefox
, a seguinte saída será retornada.
libavcodec-full >= 0.10.16
libcanberra0
libpulse0
Presumo que libpulse0 se refira ao pacote PulseAudio. Se sim, o comando rpm --query --info pulseaudio
retorna
Name : pulseaudio
Version : 11.1
Release : lp150.4.1
Architecture: x86_64
Install Date: Sun 06 Jan 2019 06:49:12 AM NZDT
Group : System/Sound Daemons
Size : 3605819
License : GPL-2.0+ AND LGPL-2.1+
Signature : RSA/SHA256, Mon 23 Apr 2018 10:39:20 AM NZST, Key ID b88b2fd43dbdc284
Source RPM : pulseaudio-11.1-lp150.4.1.src.rpm
Build Date : Mon 23 Apr 2018 10:38:51 AM NZST
Build Host : build70
Relocations : (not relocatable)
Packager : https://bugs.opensuse.org
Vendor : openSUSE
URL : http://pulseaudio.org
Summary : A Networked Sound Server
Description :
pulseaudio is a networked sound server for Linux, other Unix like
operating systems and Microsoft Windows. It is intended to be an
improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
Se o pulseaudio
pacote já está instalado, por que há uma recomendação de instalação libpulse0
?
- A que se referem as recomendações, conflitos, obsoletos, sugestões e suplementos?
- Qual é a diferença entre recomendações, sugestões e suplementos?
- Quando devem ser usados?
lista os pacotes que o
MozillaFirefox
pacote recomenda (explicarei isso mais adiante). Como acontece com a maioria das coisas interpretadas por um computador, a saída deve ser interpretada literalmente; então alibpulse0
recomendação diz respeito aolibpulse0
pacote, não aopulseaudio
pacote.A lista de pacotes é estática e mostrada conforme definido no
MozillaFirefox
pacote; ele não leva em conta os pacotes que já estão instalados em seu sistema.As relações do pacote são as seguintes:
Isso deve ajudá-lo a entender a que esses termos se referem, quais são as diferenças entre eles e quando devem ser usados.
Se os relacionamentos são realmente levados em consideração depende da ferramenta de gerenciamento de pacotes que está sendo usada.
rpm
em si lida com pacotes individuais, então apenas dependências fortes importam para ele (“requer”). Tanto quanto sei,yum
também leva em consideração apenas fortes dependências.dnf
está configurado para instalar dependências fracas por padrão; veja ainstall_weak_deps
bandeira emdnf.conf
. Zypper eurpm
também pode ser configurado para considerar dependências fracas.Uma sutileza adicional é a diferença entre o par recomendar/sugerir e suplementos/melhorar, ou seja , por que precisamos de ambos. Eles representam o conhecimento que está disponível em diferentes lugares. Por exemplo, um pacote que pode opcionalmente usar uma biblioteca “sabe” que pode fazê-lo; a relação apropriada então é “recomenda” ou “sugere”. No entanto, um pacote como o Firefox não pode conhecer todos os seus plugins, então ele não tenta listar todos os plugins disponíveis em “recomendações” ou “sugestões”; cada plug-in individual pode indicar que adiciona funcionalidade ao Firefox, indicando que o “suplementa” ou “aprimora” em sua especificação RPM.
Consulte a documentação do RPM para obter detalhes.