Confira algumas dicas úteis de uso do Zypper para gerenciar pacotes pelo terminal no openSUSE.
Confira algumas dicas de uso do zypper para gerenciar pacotes e repositórios no seu openSUSE utilizando o terminal.
O zypper é um gerenciador de pacotes de linha de comando do openSUSE e SUSE Linux Enterprise para instalar, atualizar e remover pacotes, bem como para gerenciar repositórios. Tanto o zypper como o poderoso YaST utilizam a biblioteca libzypp.
Para mais informações acesse:
https://www.suse.com/pt-br/documentation/sled11/book_sle_admin/data/sec_zypper.html
Uso geral
A sintaxe geral do zypper é a seguinte:
zypper [--opções-globais] comando [--opções-do-comando] [argumentos]
Os componentes entre colchetes não são obrigatórios. A maneira mais simples de executar o zypper é digitar seu nome seguido de um comando. Por exemplo, para aplicar todos os patches necessários ao sistema, basta digitar:
zypper patch
Além disso, você pode escolher dentre uma ou mais opções globais, digitando-as antes do comando. Por exemplo, --non-interactive significa executar o comando sem perguntar nada (aplicando as respostas padrão automaticamente):
zypper --non-interactive patch
Para usar as opções específicas de um comando em particular, digite-as logo após o comando. Por exemplo, --auto-agree-with-licenses significa aplicar todos os patches necessários ao sistema sem solicitar confirmação de nenhuma licença (eles serão aceitos automaticamente):
zypper patch --auto-agree-with-licenses
Alguns comandos requerem um ou mais argumentos. Ao usar o comando install, por exemplo, é preciso especificar o(s) pacotes(s) a instalar:
zypper install audacity
Algumas opções também requerem um argumento. O comando a seguir lista todos os padrões conhecidos:
zypper search -t pattern
Você também pode combinar todos os anteriores. Por exemplo, o comando a seguir instala os pacotes vlc e mplayer do repositório Packman durante o modo verboso:
zypper -v install --from Packman vlc mplayer
A opção --from trata de manter todos os repositórios habilitados (para resolução de dependências) enquanto solicita o pacote do repositório especificado.
Quase todos os comandos zypper possuem uma opção dry-run que simula o comando indicado. Ela pode ser usada para fins de teste.
zypper remove --dry-run MozillaFirefox
O Zypper suporta a opção global --userdata string para fins de identificação da transação. A string definida pelo usuário é passada para os registros de histórico do Zypper em
/var/log/zypp/history
e no Snapper.zypper --userdata string patch
Gerenciamento de Repositórios
Listando os repositórios
- Para listar todos os repositórios definidos no seu sistema, basta executar:zypper repos
Ou:
zypper lr
- Para listar os repositórios com seus respectivos URI base, execute:
zypper lr -u
- Para exibir os repositórios e também a prioridade de cada um, basta digiar:
zypper lr -p
Atualizando os repositórios
- Para atualizar todos os repositórios do sistema, basta executar:zypper refresh
Ou:
zypper ref
- Para forçar a atualização dos repositórios (opção -f):
zypper ref -f
- Já para atualizar um repositório em específico (opção -r), a sintaxe a ser usada é a seguinte:
zypper ref -r [ APELIDO, URI ou NÚMERO ]
EXEMPLO
- Forçando a atualização de um repositório em específico (no caso, do Packman):
zypper ref -r Packman
Adicionando um novo repositório
A sintaxe para adicionar um repositório no sistema é a seguinte:zypper ar [opções] [ URI ] [ APELIDO ]
EXEMPLOS
- Adicionando o Repositório Packman no openSUSE Tumbleweed:
zypper ar http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ Packman
- Adicionando o Repositório Packman no openSUSE Tumbleweed e habilitando a atualização automática do mesmo (opção -f):
zypper ar -f http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ Packman
Removendo um repositório
A sintaxe de uso do zypper para remover repositórios é a seguinte:zypper rr [opções] [ APELIDO, URI ou NÚMERO ]
EXEMPLOS
- Removendo o repositório Packman do sistema (utilizando o APELIDO/ALIAS do mesmo):
zypper rr Packman
- Removendo o repositório de número 20 do sistema (para conferir o número de cada repositório, execute
zypper lr
:sudo zypper rr 20
Modificando um repositório
Para modificar um repositório com o zypper, atente-se à sintaxe de uso:zypper mr [opções] [ APELIDO, URI ou NÚMERO ]
EXEMPLOS
- Desabilitando o repositório Packman (opção -d) (utilizando o APELIDO/ALIAS do mesmo):
sudo zypper mr -d Packman
- Desabilitando o repositório de número 19 do sistema:
sudo zypper mr -d 2
- Habilitando novamente o repositório Packman (opção -e):
zypper mr -e Packman
Para renomear repositórios, você deve utilizar a seguinte sintaxe:
zypper nr [ APELIDO, URI ou NÚMERO ] [ NOVO APELIDO ]
EXEMPLO
- Renomeando o repositório "Packman" para "Repo-Packman":
zypper nr Packman Repo-Packman
Limpando o cache dos repositórios
A sintaxe de uso do zypper para limpar o cache dos repositórios é a seguinte:zypper cc [opções] [ APELIDO, URI ou NÚMERO ]
EXEMPLOS
- Para limpar o cache de todos os repositórios:
zypper cc
- Para limpar o cache de um repositório em específico (opção -r):
zypper cc -r Repo-Packman
Gerenciamento de pacotes
Instalando e removendo pacotes
Para instalar novos pacotes com o zypper, atente-se à sintaxe abaixo:zypper in [opções] [ NOME DO PACOTE OU LOCALIZAÇÃO DO PACOTE .RPM ]
EXEMPLOS
- Instalando o Steam no openSUSE:
sudo zypper in steam
- Instalando o Steam, mas não instalar os pacotes recomendados, apenas os necessários (opção --no-recommends):
zypper in --no-recommends steam
- Forçar a reinstalação de um pacote (opção -f):
zypper in -f kdenlive
- Instalando um pacote .RPM local:
zypper in /home/usuario/Downloads/VirtualBox*.rpm
Caso queira instalar os pacotes fonte, você deverá seguir a seguinte sintaxe:
zypper si [opções] [ NOME DO PACOTE ]
EXEMPLOS
- Instalando os pacotes fonte do zypper:
zypper si zypper
- Baixar os pacotes fonte do zypper, mas não instalá-los (opção --download-only):
zypper si --download-only zypper
Também é possível instalar pacotes/softwares de um repositório em específico. Para isso, você deve seguir a seguinte sintaxe:
zypper in [--from] [ NOME DO PACOTE ]
EXEMPLO
- Instalando o K3b e o k3b-codecs a partir do repositório Packman (opção --from):
zypper in --from Repo-Packman k3b k3b-codecs
Para instalar um pacote e desinstalar outro ao mesmo tempo, basta seguir a sintaxe:
zypper in [PACOTE A SER INSTALADO] -[PACOTE A SER REMOVIDO]
EXEMPLO
- Instalando o Vim e removendo o WinFF do sistema (observe que há um - antes do nome do pacote a ser removido):
zypper in vim -winff
Já para remover pacotes utilizando o zypper, você deve seguir a seguinte sintaxe:
zypper rm [opções] [ NOME DO PACOTE ]
EXEMPLOS
- Removendo um pacote do sistema (no meu caso, o Google Chrome):
zypper rm google-chrome-stable
- Removendo um pacote do sistema e todas as dependências desnecessárias (opção -u):
zypper rm -u google-chrome-stable
Gerenciamento de atualizações
Verificando e listando as correções
- Para verificar se existem correções para o sistema:zypper pchk
- Para listar todas as correções disponíveis:
zypper pch
- Para listar apenas as correções aplicáveis:
zypper lp
- Para instalar todas as correções necessárias:
zypper patch
Listando as atualizações e atualizando pacotes
- Para listar todas as atualizações de pacotes disponíveis:zypper lu
- Para atualizar todos os pacotes com novas versões:
zypper up
Também é possível atualizar pacotes individualmente, confira a sintaxe a ser utilizada:
zypper up [NOME DO PACOTE]
EXEMPLO
- Para atualizar um único pacote, ao invés de todos os pacotes do sistema (no caso, o MozillaFirefox:
zypper up MozillaFirefox
- Para fazer uma atualização na distribuição (use com cuidado):
zypper dup
Pesquisa de pacotes e utilitários
Pesquisando por pacotes disponíveis
Para realizar uma busca de pacotes com o zypper, utilize como referência a sintaxe abaixo:zypper se [NOME DO PACOTE]
EXEMPLO
- Pesquisando por um pacote (no caso, o VirtualBox):
zypper se virtualbox
Para obter informações sobre um determinado pacote, a sintaxe a ser usada é:
zypper if [NOME DO PACOTE]
EXEMPLO
- Obtendo informações sobre um pacote (no caso, do MozillaThunderbird):
sudo zypper if MozillaThunderbird
Verificando as dependências de pacotes
- Para verificar se não há dependências quebradas no seu sistema:zypper ve
Bloqueio de pacotes
Para bloquear (travar) um pacote (evitando a sua remoção, atualização ou instalação), você deverá usar a seguinte sintaxe:zypper al [NOME DO PACOTE]
EXEMPLO
- Para bloquear a atualização de um pacote (no caso, do LibreOffice):
zypper al libreoffice
Caso queira listar os bloqueios de pacotes ativos, use a sintaxe:
zypper ll [opções]
EXEMPLO
- Listando todos os pacotes bloqueados no sistema:
zypper ll
Já para remover o bloqueio de pacotes, utilize a seguinte sintaxe:
zypper rl [opções] [ NÚMERO DO BLOQUEIO ou NOME DO PACOTE ]
EXEMPLO
- Removendo o bloqueio de um pacote (no caso, do LibreOffice):
zypper rl libreoffice
Verificando os processos ativos
Para listar os processos em execução que ainda podem usar arquivos e bibliotecas removidas por atualizações recentes, utilize a seguinte sintaxe:zypper ps [opções]
EXEMPLO
- Listando os processos em execução que usam arquivos removidos:
zypper ps
Instalando pacotes recomendados
Para instalar os pacotes recomendados para o seu sistema, o comando a ser utilizado possui a seguinte sintaxe:zypper inr [opções]
EXEMPLOS
- Instalando novos pacotes recomendados pelos pacotes já instalados no sistema:
zypper inr
- Testando a instalação dos pacotes recomendados (opção -D):
zypper inr -D
Nesta dica, listei apenas alguns comandos e opções do zypper disponíveis na documentação oficial do SUSE Linux Enterprise Desktop 11 e no Guia de uso do Zypper (Wiki do openSUSE). Para visualizar todos os comandos e opções disponíveis, basta digitar no terminal:
zypper --help
Ou:
man zypper
Então é isso! Caso tenha alguma dúvida, sugestão ou crítica a respeito deste tutorial, basta deixar o seu comentário logo abaixo, ou se preferir, entre em contato conosco!
Aproveite e cadastre-se para receber todas as novidades do Blog Opção Linux no seu e-mail, ou siga-nos no Google+, no Twitter ou na nossa página no Facebook! :)
Muito obrigado pela visita e até o próximo tutorial!
COMENTÁRIOS