No caso do SUSE Linux (openSUSE, SUSE Enterprise e derivados), zypper e YaST são os gerenciadores de pacotes. Embora o YaST (outra ferramenta de configuração) seja para administrar, instalar e configurar o SUSE Linux, o zypper é a interface CLI do gerenciador de pacotes ZYpp. ZYpp está no centro do zypper e do YaST.
Neste artigo, vamos nos aprofundar no uso do zypper para todos os tipos de propósitos.
Nota: Como os comandos zypper realizam mudanças em todo o sistema, esses comandos devem ser executados como root. Caso contrário, os comandos falharão.
Sem mais delongas, vamos começar! Todos esses exemplos são mostrados no openSUSE Tumbleweed. No entanto, esses comandos são universais para o gerenciador de pacotes zypper.
Ajuda do zypper
Executar o zypper sem nenhum comando imprimirá uma lista de todos os comandos disponíveis.
$ zypper
É uma grande lista! Se você precisar de ajuda em relação a algum comando específico, execute o seguinte comando.
ajuda $ zypper
Atualizar o banco de dados Zypper
Esta é uma das funções mais comuns do zypper para manter seu banco de dados de pacotes local atualizado com o servidor de pacotes.
$ sudo zypper refresh
Em vez de usar "atualizar", você também pode usar a abreviatura "ref".
$ sudo zypper ref
Também é possível forçar o zypper a reconstruir seu banco de dados local. Isso pode ser útil em situações, por exemplo, se o banco de dados estiver corrompido.
$ sudo zypper refresh -fdb
Atualizar pacotes do sistema
Para obter e instalar todas as atualizações de pacote mais recentes do openSUSE, execute o seguinte comando.
atualização $ sudo zypper
No entanto, eu recomendo usar a seguinte estrutura para o benefício máximo.
$ sudo zypper fresh && sudo zypper update
Se você estiver interessado em verificar os pacotes que têm atualizações disponíveis, execute o seguinte comando. Zypper irá gerar uma lista de atualizações disponíveis para você.
$ zypper list-updates --all
Instalando um pacote
Para instalar um pacote, use o seguinte comando.
$ sudo zypper install vlc
Existem algumas abreviações interessantes de comandos zypper. Neste caso, o seguinte comando também é válido e fará o mesmo trabalho.
$ sudo zypper em vlc
Se você tiver que instalar vários pacotes ao mesmo tempo, basta incluir o nome do pacote, um após o outro, separados por um espaço.
$ sudo zypper install
Ao executar uma ação, o zypper pedirá confirmação. Para desligar o modo interativo, adicione a sinalização “-non-interactive” ou “-n”.
$ sudo zypper --não interativo em vlcsudo zypper -n em vlc
O recurso curinga também é compatível com zypper. Por exemplo, vamos tentar instalar todos os pacotes que começam com o nome
Pitão.$ sudo zypper em 'python *'
Fonte instalar um pacote
Nota: Antes de realizar as etapas a seguir, não se esqueça de verificar se o repositório de origem está ativado. Caso contrário, as instalações de origem não serão bem-sucedidas. Habilite o repositório de origem de “YaST Software Repositories”.
Se você precisar instalar o pacote fonte de um pacote específico, use a sinalização “source-install”.
$ sudo zypper source-install vlc
Por padrão, este comando também solicitará a instalação de todas as dependências de compilação. Para evitar as dependências de construção, adicione o sinalizador “-D”.
$ sudo zypper source-install -D vlc
Caso você queira apenas instalar as dependências de compilação, use “-d” ao invés.
$ sudo zypper install source-install -d vlc
Procurando um pacote
Existem milhares de pacotes no repositório openSUSE. Para realizar uma pesquisa usando zypper, use a seguinte estrutura.
$ zypper searchPor exemplo, vamos pesquisar todos os pacotes com o termo “python” nele.
$ zypper search python
Essa pesquisa pode imprimir uma lista LONGA de pacotes. Em tal situação, usar "grep" ou exportar o resultado e, em seguida, executar pode oferecer algum conforto.
A opção “pesquisar” também tem uma abreviatura “se”.
$ zypper -n se
Observe que, para pesquisar, não precisamos usar "sudo" no início. Isso ocorre porque o zypper não está realizando nenhuma alteração em todo o sistema.
Removendo um pacote
Se você quiser se livrar de um determinado pacote, use a opção “remover”.
$ sudo zypper removePor exemplo, vamos remover o VLC do sistema.
$ sudo zypper remove vlc
Em vez de “remover”, vamos usar “rm”. É a abreviatura do termo “remover”.
$ sudo zypper rm vlc
Se você quiser pular o modo interativo, use a sinalização “-non-interactive” ou “-n”.
$ sudo zypper --não-interativo rm vlc$ sudo zypper -n rm vlc
Instalando e removendo ao mesmo tempo
É um recurso interessante do zypper que permite instalar e remover pacotes ao mesmo tempo! Vamos dar uma olhada.
Por exemplo, vamos instalar o VLC enquanto remove o Python. Neste exemplo, a principal tarefa do zypper é instalar, não remover. Aqui, o sinalizador “-n” é usado por conveniência.
$ sudo zypper -n em vlc -python
Correção
Esta é uma parte interessante do ecossistema openSUSE. Enquanto ambos correção e atualizar operam da mesma maneira, ambos são fundamentalmente diferentes. Confuso?
No caso de “atualizar”, no termo do openSUSE, irá atualizar o pacote para a última versão disponível no repo. No caso de “patch”, no entanto, ele instalará apenas atualizações de pacote destinadas a correções de bugs e segurança.
Se você apenas instalar remendos, pode ou não atualizar todos os pacotes. No entanto, a realização de atualizações garantirá que todos os pacotes mais recentes sejam instalados.
Com isso resolvido, vamos começar!
Primeiramente, instalando o patch. O seguinte comando irá instalar todos os patches lançados oficialmente.
patch $ sudo zypper
No meu caso, não há nada a fazer. Se houver algum patch mais recente, o comando irá instalá-lo.
Para ver a lista de patches disponíveis, use este. Não requer raiz permissão para correr.
patches $ zypper
O zypper pode listar todos os patches que não estão instalados atualmente. Execute o seguinte comando.
$ zypper list-patches
A “lista de patches” também está disponível na forma abreviada de “lp”.
$ zypper lp
Interessado em listar apenas os patches marcados como correções de segurança?
$ zypper lp - segurança da categoriaPara verificar o número de patches necessários, execute este comando.
verificação de patch $ sudo zypper
Gerenciamento de repositório
O Zypper oferece métodos integrados de gerenciamento de todos os repositórios. Aqui estão alguns dos comandos que são realmente úteis em muitas situações.
Já cobrimos como atualizar o banco de dados local de todos os repositórios.
$ sudo zypper refresh
Precisa de uma lista rápida de todos os repositórios?
$ zypper reposTambém podemos usar “lr”, a forma abreviada de “repos”.
$ zypper lr
Precisa do URI dos repos? Basta adicionar a sinalização “-u” após “lr” ou “repos”.
$ zypper lr -u
Se você não sabia, os repositórios do openSUSE são ordenados em uma hierarquia. Para listar os repositórios com base em sua prioridade, use a sinalização “-p”.
$ zypper lr -p
Ao executar “atualizar”, o Zypper atualizará o banco de dados local para todos os repositórios. Para atualizar um repositório específico, execute o seguinte comando.
$ sudo zypper refresh
Repos podem ser ativados / desativados sem excluí-los. Para desativar um repositório específico, execute o seguinte comando. Observe que precisamos do número do repositório da lista de repositórios.
$ sudo zypper mr -d
É necessário habilitar um repo desativado? Vamos executar o seguinte comando.
$ sudo zypper mr -e
Adicionar um novo repositório também é muito simples. Neste exemplo, irei adicionar o Packman. É um repositório externo que oferece pacotes openSUSE adicionais. Dependendo de qual versão do openSUSE você está executando, o URI do repo vai mudar. No entanto, a estrutura de comando permanecerá a mesma. Saiba mais sobre Packman
$ sudo zypper addrepoNo caso do openSUSE Tumbleweed, o comando será parecido com este. Aqui, “ar” é a forma abreviada de “addrepo”.
$ sudo zypper ar -cfp 90 http: // ftp.gwdg.de / pub / linux / misc / packman / suse / openSUSE_Tumbleweed /packman
Para remover um repo, você precisa do alias do repo. Pegue o alias de repo da lista de repo e use o seguinte comando.
$ sudo removerepoVocê pode trocar “removerepo” por sua forma abreviada “rr”.
$ sudo rr
Gerenciamento de cache
O cache é um mecanismo útil onde o zypper pode manter uma cópia de todos os pacotes RPM que obtém da Internet em um local específico. Sempre que você pede ao zypper para instalar o mesmo pacote, ele primeiro examina o cache. Se estiver no cache, o zypper usa o pacote RPM do cache para realizar a instalação. Dessa forma, ele pode acelerar a instalação e economizar tempo e largura de banda.
O cache é armazenado no seguinte local. Cada repositório tem sua própria pasta dedicada no diretório.
$ tree / var / cache / zypp / packages
Para limpar o cache, execute o seguinte comando.
$ sudo zypper clean
Isso irá limpar todos os pacotes RPM armazenados do cache. Eu recomendo habilitar o cache, a menos que você esteja de alguma forma restrito pelo armazenamento. O seguinte comando irá habilitar o cache para todos os repositórios no sistema.
$ sudo zypper mr -ka
Pensamentos finais
O Zypper inclui uma tonelada de recursos. Embora esses métodos de uso do zypper sejam mais do que suficientes para usuários regulares, existem muitos recursos avançados que não foram apresentados aqui.
Para a documentação completa do zypper, verifique a página do manual.
$ man zypper
Apreciar!