No Linux, pacotes podem ser entendidos como “pedaços” do software que compõe o sistema. Quando você quer adicionar uma funcionalidade ao sistema, geralmente você procura o pacote que a traz e o instala. Veja alguns exemplos do que pacotes podem trazer:
- Programas: o navegador Mozilla Firefox corresponde ao pacote MozillaFirefox;
- Traduções: o pacote libreoffice-l10n-pt_BR traz a tradução do LibreOffice para o Português Brasileiro;
- Documentações: o pacote man-pages traz informações sobre vários comandos;
- Personalizações: o pacote MozillaFirefox-branding-openSUSE traz personalizações do navegador Firefox para o openSUSE;
- Drivers: o pacote hplip adiciona suporte a impressoras da HP;
- Plugins: o pacote evince-plugin-xpsdocument faz com que o Visualizador de documentos do GNOME (Evince) consiga abrir documentos XPS;
- Bibliotecas: o pacote libavcodec58 traz codecs para vários formatos multimídia;
- Fontes: o pacote google-roboto-fonts instala a família de fontes Roboto; e
- Ícones: o pacote papirus-icon-theme traz o tema de ícones Papirus.
Provavelmente há mais exemplos de “categorias” de pacotes, mas acho que já deu pra entender a ideia. Todos os exemplos de pacotes listados acima são das distribuições do openSUSE e já vem instalados por padrão na distribuição Linux Kamarada.
Pacotes requeridos
Há casos em que um pacote X traz um recurso que só funciona se também um pacote Y estiver instalado. Nesse caso, dizemos que o pacote X depende do (ou requer o) pacote Y ou que o pacote Y é uma dependência ou requisito do pacote X. Em casos assim, se você pedir ao sistema para instalar o pacote X, o pacote Y também será instalado. Ou, se por algum motivo não for possível instalar o pacote Y, o pacote X também não será instalado.
Por exemplo, o pacote inkscape, que não vem instalado no Linux Kamarada, depende do pacote ImageMagick. Se você pedir para instalar o pacote inkscape, o pacote ImageMagick será instalado automaticamente, porque é uma dependência do pacote inkscape.
Pacotes recomendados
Há casos em que um pacote X traz um recurso que pode funcionar melhor se o pacote Y também estiver instalado. O pacote Y não é necessário para que o pacote X funcione, mas acrescenta ou melhora alguma funcionalidade do pacote X. Nesse caso, dizemos que o pacote X recomenda o pacote Y ou que o pacote Y é recomendado pelo pacote X.
Geralmente, as traduções são pacotes recomendados dos pacotes dos programas. Por exemplo, o pacote inkscape recomenda o pacote inkscape-lang. O Inkscape funciona se a tradução não estiver instalada, você pode usá-lo com a interface não traduzida em inglês, mas para os usuários brasileiros imagino que seja mais confortável usá-lo no português.
Ao instalar um pacote, os pacotes recomendados podem ser instalados junto ou não.
A configuração padrão tanto do openSUSE quanto do Linux Kamarada é instalar tanto os pacotes requeridos quanto os recomendados. Provavelmente essa é a melhor configuração para a maioria das pessoas, já que melhora a experiência dos usuários.
Mas nem sempre esse é o caso. Veja alguns cenários em que instalar os pacotes recomendados pode não ser a melhor opção:
- se você está usando o Linux Kamarada em um pendrive, por exemplo, pode preferir instalar somente os pacotes requeridos para economizar espaço
- se você está usando um LiveDVD, alterações que você faz no sistema são armazenadas na memória RAM, nesse cenário a instalação de pacotes recomendados pode esgotar a memória e travar o sistema
- se você está usando o openSUSE em um servidor, onde as prioridades são espaço em disco, desempenho e segurança, instalar apenas pacotes requeridos te dá mais controle sobre o que de fato está instalado e rodando no seu servidor
Por isso, preparei algumas dicas de como lidar com pacotes recomendados, veja a seguir.
Mudando a configuração padrão
No openSUSE e no Linux Kamarada, pacotes podem ser instalados usando o gerenciador de pacotes zypper. Por exemplo, você poderia instalar o Inkscape com o comando:
1
# zypper in inkscape
Esse in
é a abreviação de install
(instalar, em inglês). O comando também poderia ser:
1
# zypper install inkscape
Outra opção é usar o módulo Gerenciamento de software do Centro de controle do YaST:
Note que quando você marca o pacote inkscape para instalação, vários outros pacotes, tanto requeridos quanto recomendados, são marcados para instalação também.
Ambos usam nos bastidores a biblioteca libzypp, cuja configuração fica no arquivo de texto /etc/zypp/zypp.conf
. Se você ainda não alterou esse arquivo, ele tem um trecho assim:
1
2
3
4
5
6
7
8
9
##
## Whether only required packages are installed.
##
## Recommended packages, will not be regarded.
##
## Valid values: boolean
## Default value: false
##
# solver.onlyRequires = false
Você pode usar a opção solver.onlyRequires
para definir se apenas pacotes requeridos devem ser instalados. Por padrão, ela está comentada (desabilitada) e seu valor é falso (false
), ou seja, tanto pacotes requeridos quanto recomendados devem ser instalados.
Caso queira alterar esse comportamento padrão, descomente essa linha e defina se apenas pacotes requeridos devem ser instalados (true
) ou se pacotes recomendados também devem ser instalados (false
). Por exemplo:
1
2
3
4
5
6
7
8
9
##
## Whether only required packages are installed.
##
## Recommended packages, will not be regarded.
##
## Valid values: boolean
## Default value: false
##
solver.onlyRequires = true
Se prefere usar o YaST, você pode habilitar ou desabilitar a instalação de pacotes recomendados abrindo o menu Dependências e marcando ou desmarcando a opção Instalar pacotes recomendados:
Essa opção do YaST se aplica apenas ao YaST, não muda a configuração da libzypp.
Mudando a configuração pontualmente
Se não quiser modificar o comportamento padrão do zypper, você pode usar os parâmetros --recommends
ou --no-recommends
para mudar o comportamento só nessa instalação.
Por exemplo, para instalar o Inkscape junto dos pacotes requeridos e recomendados:
1
# zypper in inkscape --recommends
Para instalar o Inkscape junto dos pacotes requeridos, mas não os recomendados:
1
# zypper in inkscape --no-recommends
Usando esses parâmetros, o zypper ignora a opção solver.onlyRequires
do arquivo /etc/zypp/zypp.conf
e adota o comportamento que você pedir na hora.
Esses parâmetros também podem ser usados com outros comandos do zypper, como o que busca atualizações (updates):
1
# zypper up --no-recommends
No caso do YaST, não há como mudar a configuração pontualmente, porque ele sempre lembra a última usada. O que você pode fazer é mudar a configuração, instalar o que precisa, e depois mudar de novo.
Instalando os recomendados pelos já instalados
Se em algum momento você desabilitou a instalação de pacotes recomendados, depois mudou de ideia e agora quer instalar os pacotes recomendados que não foram instalados, pode usar o comando:
1
# zypper inr
Ou, se você preferir:
1
# zypper install-new-recommends
(instalar novos recomendados)
Esse comando pode ser útil para instalar traduções, se você acabou de mudar o idioma do sistema, ou instalar drivers, se você acabou de adicionar um componente de hardware.
No YaST, comando semelhante pode ser encontrado no menu Extras, clique em Instalar todos os pacotes recomendados correspondentes:
Consultando quais pacotes são recomendados
Para consultar quais são os pacotes recomendados pelo pacote inkscape, por exemplo, usando o zypper, execute o comando:
1
# zypper info --recommends inkscape
Ele traz informações sobre o pacote inkscape, mostrando os pacotes recomendados ao final:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Informação para pacote inkscape:
--------------------------------
Repositório : Main Update Repository
Nome : inkscape
Versão : 0.92.2-lp152.8.3.1
Arquitetura : x86_64
Fornecedor : openSUSE
Tamanho após instalação : 94,0 MiB
Instalado : Não
Status : não instalado
Pacote fonte : inkscape-0.92.2-lp152.8.3.1.src
Resumo : Vector Illustration Program
Descrição :
Inkscape is a vector illustration program for the GNOME desktop.
Recomenda : [2]
inkscape-lang
python-lxml
No caso do YaST, selecione o pacote inkscape e consulte a aba Dependências: