Zypper/Uso 11.3

Ir para: navegação, pesquisa
Este artigo é sobre como usar o Zypper, o gerenciador de pacotes em linha de comando usando a biblioteca Libzypp. Ele contém informações complementares à página do manual do zypper (com man zypper). O que você não encontrar aqui, você deverá encontrar na página do manual e vice versa.
Versão: 11.3Este artigo é sobre a versão 1.4.5 do Zypper incluida no openSUSE 11.3. Para outras versões consulte versões do Zypper.


Referência rápida

Isto é o que você provavelmente irá usar mais frequentemente:

zypper                 # exibir a lista de opções e comandos globais
zypper help search     # exibir a ajuda para o comando search
zypper lp              # para ver quais correções são necessárias
zypper patch           # para aplicar as correções necessárias
zypper se sqlite       # procurar por 'sqlite'
zypper rm sqlite2      # remover o 'sqlite2'
zypper in sqlite3      # instalar o 'sqlite3'
zypper in yast*        # instalar todos os pacotes que coincidam com 'yast*'
zypper up              # atualizar todos os pacotes instalados com versões novas, onde for possível


Uso geral

A sintaxe geral do zypper é:

# zypper [opções_globais] comando [opções_do_comando] [argumentos] ...

Os componentes dentro dos colchetes não são necessários, o jeito mais simples de executar o zypper é digitar seu nome seguido de um comando. Por exemplo, para aplicar as correções necessárias ao sistema digite:

# zypper patch

Adicionalmente você pode escolher entre uma ou mais opções globais digitando-as antes do comando: (executar o comando, mas não me pergunte nada, decida sozinho)

# zypper --non-interactive patch

Para usar as opções específicas de um comando em particular, digite-o após o comando: (aplicar as correções necessárias ao sistema mas não me pergunte para confirmar nenhuma licença, eu já as li antes)

# zypper patch --auto-agree-with-licenses

Alguns dos comandos requerem um ou mais argumentos: (instalar ou atualizar o pacote 'mplayer')

# zypper install mplayer

Algumas das opções também necessitam de um argumento: (pesquisar por padrões)

# zypper search -t pattern

Todos os acima combinados: (instalar o 'mplayer' e o 'amarok' usando somente o repositório factory e com a saída do comando detalhada)

# zypper -v install --repo factory mplayer amarok

Perguntas ao usuário

Cada vez que o Zypper precisar de entradas suas, ele lista possíveis respostas entre colchetes próximo ao texto da pergunta. Para escolher a padrão, apenas pressione <Enter> (a resposta padrão é lista em letras maiúsculas (com exceção dos caracteres não ASCII)). Algumas perguntas também tem ajuda disponível, neste caso existe um ponto de interrogação '?' listado como possível resposta. Para fazer o Zypper usar as respostas padrão sem interação do usuário, use a opção global --non-interactive.


Vocabulário


  • repositório - diretório local ou remoto que contém pacotes e várias informações de pacotes (metadados de pacote). Os repositórios foram conhecidos antigamente como fontes de instalação , serviços ou catálogos).
  • apelido - o apelido do repositótio é uma versão curta do nome do repositório para usar nos comandos de manejo de repositório e em opções como removerepo ou --repo.
  • pacote - pacote de software (pacote RPM, pacote fonte). Correções, padrões e produtos também são comumente referidos como sendo tipos diferentes de pacotes.
  • correção - representa um pacote ou um grupo de pacotes necessários para instalar uma atualização (uma correção de erro geralmente).
  • padrão - representa um grupo de pacotes. Por exemplo um padrão Servidor Http tem as dependências definidas de tal modo que todos os pacotes necessários para rodar e gerenciar um servidor http são selecionados para a instalação quando se instalar esse padrão.
  • produto - representa o produto total (ex.: 'openSUSE 11.3').

Comandos


O zypper fornece um número de comando que podem ser agrupados nas seguintes categorias:

  • gerenciamento de repositórios
    refresh, repos, addrepo, removerepo, modifyrepo, namerepo
    refresh-services, services, addservice, removeservice, modifyservice
  • gerenciamento de pacotes
    install, remove, source-install
  • gerenciamento de atualizações
    patch, list-patches, patch-check, patches, update, list-updates, dist-upgrade
  • pesquisa
    search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products
  • travas
    locks, addlock, removelock, cleanlocks
  • utilitários
    verify, install-new-recommends
  • outros
    help, licenses, versioncmp, targetos


Exibindo a ajuda

Primeiro, é bom saber como conseguir ajuda. Para exibir uma ajuda geral (lista de comandos e opções globais), digite apenas zypper sem qualquer opção ou argumento. Para exibir a ajuda para um comando específico, use:

# zypper help [comandp]

Para obter ajuda específica para um comando, use:

# zypper [comando] --help

Note que usar -h ao invés de --help também é possível por conveniência.

Gerenciamento de repositórios

Você pode especificar os repositórios existente pelo seu número na lista produzida por zypper lr, pelo seu apelido ou pela URL. Quando usar números, tenha a certeza de sempre verificar zypper lr primeiro, pois os números podem mudar após algumas alterações que você tenha feito nos repositórios.

Listando os repositórios definidos

repos ou lr

Exemplo de saída:

$ zypper lr
# | Apelido               | Nome                  | Habilitado | Atualizar
--+-----------------------+-----------------------+------------+--------
1 | packman               | Packman 11.3          | Sim        | Sim
2 | updates               | openSUSE-11.3-Updates | Sim        | Sim
3 | repo-oss              | openSUSE-11.3-Oss     | Sim        | Não
4 | repo-non-oss          | openSUSE-11.3-Non-Oss | Sim        | Não
5 | repo-debug            | openSUSE-11.3-Debug   | Não        | Não

---VEJA A SAÍDA ABAIXO

# zypper lr 4 3
Apelido        : openSUSE-11.3-Non-Oss
Nome           : openSUSE-11.3-Non-Oss
URI            : http://download.opensuse.org/distribution/11.3/repo/non-oss/
Habilitado     : Sim
Prioridade     : 99
Atualização automática   : Desligado
Manter pacotes : Desligado
Tipo           : yast2                                                       
Verificação GPG: Ligado
URI da chave GPG  : 
Prefixo do caminho    : /
Serviço pai    : 
Caminho do cache MD  : /var/cache/zypp/raw/openSUSE-11.3-Non-Oss

Apelido        : openSUSE-11.3-Oss
Nome           : openSUSE-11.3-Oss
URI            : http://download.opensuse.org/distribution/11.3/repo/oss/
Habilitado     : Sim
Prioridade     : 99
Atualização automática   : Desligado
Manter pacotes : Desligado
Tipo           : yast2                                                       
Verificação GPG: Ligado
URI da chave GPG  : 
Prefixo do caminho    : /
Serviço pai    : 
Caminho do cache MD  : /var/cache/zypp/raw/openSUSE-11.3-Oss

Outros exemplos:

zypper lr -u       # incluir também a URL do repositório na tabela
zypper lr -d       # incluir várias outras propriedades dos repositórios na tabela
zypper lr -P       # incluir também a prioridade do repositório e ordenar a lista por ela
zypper lr -e meu   # exportar todas as definições dos repositórios num arquivo chamado 'meu.repo'

Adicionando repositórios

addrepo ou ar

Antes que qualquer pacote possa ser instalado, pelo menos um repositório deve ser definido. Para adicionar um repositório, use o comando addrepo:

Exemplo de saída:

$ zypper ar http://download.videolan.org/pub/vlc/SuSE/11.3 vlc
Adicionando repositório 'vlc' [concluído]
O repositório 'vlc' foi adicionado com sucesso
Habilitado: Sim
Atualização automática: Não
URI: http://download.videolan.org/pub/vlc/SuSE/11.3

Outros exemplos:

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.3/X11:XGL.repo # através de um arquivo .repo zypper ar -c ftp://algum.site.de.download meuapelido # testar o repositório antes de adicionar zypper ar meu/diretório/com/rpms local # adicionar seu diretório local de arquivos rpm como um repositório

Veja também Libzypp para a lista de tipos de mídia e URIs suportadas.

Atualizando repositórios

refresh ou ref

Após adicionar um repositório ou quando um repositório se tornar desatualizado, ele precisa ser atualizado. Isto significa baixar os metadados dos pacotes do repositório e pré processar os dados em um cache .solv para uma rápida leitura.

# zypper refresh
$ zypper refresh
Baixando os metadados do repositório 'Packman Repository' [concluído]
Construindo cache do repositório 'Packman Repository' [concluído]
Baixando os metadados do repositório 'openSUSE-11.3-Updates' [concluído]
Construindo cache do repositório 'openSUSE-11.3-Updates' [concluído]
O repositório 'openSUSE-11.3-Oss' está atualizado.
Todos os repositórios foram atualizados.

Se a atualização automática estiver habilitada para um repositório, você não precisa se preocupar com atualizações, elas acontecerão automaticamente quando forem necessárias. No entanto, algumas pessoas preferem controlar quando a atualização ocorrerá (ex.: para evitar ter que esperar a atualização completar quando você deseja somente ver 'zypper info krusader'), então eles desabilitam a atualização automática. Veja man zypper para maiores detalhes.

Outros exemplos:

zypper ref packman main # você também pode especificar qual repositório atualizar zypper ref -f updates # forçar a atualização do repositório 'updates'

Removendo repositórios

removerepo ou rr

# zypper rr vlc 1 23 foo
O repositório 23 não foi encontrado pelo apelido, número ou URL.
O repositório foo não foi encontrado pelo apelido, número ou URL.
Removendo repositório 'freetype2' [concluído]
O repositório 'freetype2' foi removido.
Removendo repositório 'vlc' [concluído]
O repositório 'vlc' foi removido.

Modificando repositórios

modifyrepo ou mr

Desabilitar o repositório #6:

# zypper mr -d 6
O repositório 'repo-non-oss' foi desabilitado com sucesso.

Habilitar a atualização automática e o cache de arquivos rpm do repositório 'packman' e definir sua prioridade em 70:

# zypper mr -rk -p 70 packman
A atualização automática para o repositório'packman' foi ativada.
O cache dos arquivos RPM foi habilitado para o repositório 'packman'.
A prioridade do repositório 'packman' foi alterada para 70.

Desabilitar o cache dos arquivos RPM para todos os repositórios:

# zypper mr -Ka
Nada a alterar para o repositório 'local'.
O cache dos arquivos RPM foi desabilitado para o repositório 'packman'.
Nada a alterar para o repositório 'updates'.
Nada a alterar para o repositório 'repo-oss'.
Nada a alterar para o repositório 'repo-non-oss'.

Habilitar o cache dos arquivos RPM para todos os repositórios:

# zypper mr -ka
O cache dos arquivos RPM foi habilitado para o repositório  'repo-non-oss'.
O cache dos arquivos RPM foi habilitado para o repositório  'repo-oss'.
O cache dos arquivos RPM foi habilitado para o repositório  'updates'.
O cache dos arquivos RPM foi habilitado para o repositório  'packman'.

Renomeando repositórios

renamerepo ou nr

# zypper nr 3 upd
O repositório 'openSUSE-11.3-Updates' foi renomeado para 'updates'.

Este comando atualmente só é capaz de renomear o apelido do repositório. Se você quiser alterar o nome do repositório, dê uma olhada no comando mr.

Mantenha os apelidos curtos e simples para um uso fácil como argumento dos comandos e opções --repo. Usar um apelido é mais seguro que utilizar o número do repositório (pois os números podem mudar e levar você facilmente a um erro) e ainda mais fácil que usar a URL (já que elas são longas, deixando você com o copiar e colar).

Exportar/importar repositórios

repos --export ou lr -e

Você pode exportar sua lista completa de repositórios para um arquivo e importá-lo mais tarde em outra máquina.

# zypper lr --export backups/repos/foo.repo
# zypper ar backups/repos/foo.repo

Gerenciamento de serviço

<a ser adicionado>

Gerenciamento de pacotes

Selecionando pacotes

Existem várias formas nas quais você pode escolher pacotes para instalação ou remoção.

  • pelo nome do recurso
    zypper in eclipse
    zypper in qt
  • pelo nome do recurso e/ou arquitetura e/ou versão
    zypper in 'zypper<0.12.10'
    zypper in zypper.i586=0.12.11
  • pelo nome exato do pacote (--name)
    zypper in -n ftp
  • pelo nome exato do pacote e repositório (implica --name)
    zypper in factory:zypper
  • pelo nome do pacote usando caracteres coringa
    zypper in yast*ftp*
  • especificando um arquivo .rpm a instalar

Instalando pacotes

install ou in

You can install packages by name...

# zypper install git
Lendo os pacotes instalados...

Os seguintes pacotes NOVOS serão instalados:
  subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git


Tamanho total do download: 1,1 M. Após a operação, 4,6 M adicionais serão utilizados.
Continuar? [SIM/não]:
Baixando pacote subversion-perl-1.5.0-96.1.i586 (1/6), 950,0 K (4,1 M descomprimido)
Baixando: subversion-perl-1.5.0-96.1.i586.rpm [concluído (97,5 K/s)]
Instalando: subversion-perl-1.5.0-96.1 [concluído]
Baixando pacote sqlite3-3.5.7-17.1.i586 (2/6), 30,0 K (40,0 K descomprimido)
Baixando: sqlite3-3.5.7-17.1.i586.rpm [concluído (88,8 K/s)]
Instalando: sqlite3-3.5.7-17.1 [concluído]
Baixando pacote perl-DBD-SQLite-1.14-41.1.i586 (3/6), 44,0 K (103,0 K descomprimido)
Baixando: perl-DBD-SQLite-1.14-41.1.i586.rpm [concluído (91,2 K/s)]
Instalando: perl-DBD-SQLite-1.14-41.1 [concluído]
Baixando pacote git-svn-1.5.4.5-26.1.i586 (4/6), 66,0 K (195,0 K descomprimido)
Baixando: git-svn-1.5.4.5-26.1.i586.rpm [concluído (63,3 K/s)]
Instalando: git-svn-1.5.4.5-26.1 [concluído]
Baixando pacote git-cvs-1.5.4.5-26.1.i586 (5/6), 63,0 K (205,0 K descomprimido)
Baixando: git-cvs-1.5.4.5-26.1.i586.rpm [concluído (99,1 K/s)]
Instalando: git-cvs-1.5.4.5-26.1 [concluído]
Baixando pacote git-1.5.4.5-26.1.i586 (6/6), 10,0 K (3,0 K descomprimido)
Baixando: git-1.5.4.5-26.1.i586.rpm [concluído (87,6 K/s)]
Instalando: git-1.5.4.5-26.1 [concluído]

...ou pelo recurso que ele fornecer:

# zypper in MozillaFirefox \< 3
Lendo os pacotes instalados...
'MozillaFirefox' que fornece 'MozillaFirefox<3' já está instalado.
Nada a fazer.
$ zypper in MozillaFirefox \>= 3
Lendo os pacotes instalados...

Os seguintes pacotes serão atualizados:
  mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs
mozilla-xulrunner190 MozillaFirefox-translations


O seguinte pacote será REMOVIDO:
  mozilla-xulrunner190-lang


Tamanho total do download: 11,0 M. Após a operação, 12,9 M será liberado.
Continuar? [SIM/não]:
$ zypper in 'libqtiff.so()(64bit)'
Lendo os pacotes instalados...
'libqt4-x11' que fornece 'libqtiff.so' já está instalado.
Nada a fazer.

Outros exemplos:

zypper in yast* # instalar todos os módulos do YaST zypper in -t pattern lamp_server # instalar o padrão 'lamp_server' (pacotes necessários para um servidor LAMP) zypper in vim -emacs # instalar o 'vim' e remover o 'emacs' ao mesmo tempo zypper in amarok packman:libxine1 # instalar o 'libxine1' do repositório do Packman e o 'amarok' de qualquer um zypper in bitchx-1.1-81.x86_64.rpm # instalar o rpm do 'bitchx' do diretório local zypper in -f subversion # forçar a reinstalação do pacote 'subversion'

Removendo pacotes

remove ou rm

O comando remove é muito parecido com o comando install, exceto que o efeito é o contrario :O)

# zypper remove sqlite
Lendo os pacotes instalados...

Os seguintes pacotes serão REMOVIDOS:
  sqlite3 perl-DBD-SQLite git-cvs git


Após a operação, 351,0 K será liberado.
Continuar? [SIM/não]: n

Pacotes fonte e dependências de compilação

source-install ou si

# zypper si zypper
Lendo os pacotes instalados...

Os seguintes pacotes NOVOS serão instalados:
  libzypp-devel libsatsolver-devel


O seguinte pacote fonte será instalado:
  zypper


Tamanho total do download: 1,5 M. Após a operação, 6,7 M adicionais serão utilizados.
Continuar? [SIM/não]:

Você também pode instalar somente as dependências de compilação ou o pacote fonte:

zypper in -D zypper # somente os pacotes fontes (sem as dependências de compilação) zypper in -d zypper # somente as dependências de compilação (sem pacote fonte)

Atualizando pacotes

update ou up

Os seguintes comandos atualizam pacotes com as versões mais novas disponíveis. Veja também Gerenciamento de atualizações para mais informações.

zypper up # atualiza todos os pacotes instalados com novas versões se possível zypper up libzypp zypper # atualizar o 'libzypp' e o 'zypper' zypper in sqlite3 # atualizar o 'sqlite3' ou instalar se ainda não estiver instalado

Pesquisa

Pesquisando por pacotes

search ou se

Por padrão, o comando search procura por pacotes de qualquer tipo, status e repositório, tendo os nomes contendo a string especificada (comparando sem sensibilidade a maiúsculas):

# zypper se sqlite
Lendo os pacotes instalados...

S | Nome                     | Resumo                                                         | Tipo
--+--------------------------+----------------------------------------------------------------+--------
  | libapr-util1-dbd-sqlite3 | DBD driver for SQLite 3                                        | pacote
i | libgda-3_0-sqlite        | Sqlite Provider for GNU Data Access (GDA)                      | pacote
  | libqt4-sql-sqlite        | Qt 4 sqlite plugin                                             | pacote
i | libsqlite3-0             | Shared libraries for the Embeddable SQL Database Engine        | pacote
  | libsqlite3-0-32bit       | Shared libraries for the Embeddable SQL Database Engine        | pacote
  | mediatomb-sqlite         | UPnP AV MediaServer                                            | pacote
i | mono-data-sqlite         | Database connectivity for Mono                                 | pacote
  | pdns-backend-sqlite2     | SQLite 2 backend for pdns                                      | pacote
  | pdns-backend-sqlite3     | SQLite 3 backend for pdns                                      | pacote
i | perl-DBD-SQLite          | The DBD::SQLite is a self contained RDBMS in a DBI driver      | pacote
i | php5-sqlite              | PHP5 Extension Module                                          | pacote
  | python-sqlite2           | Python bindings for sqlite 2                                   | pacote fonte
  | qt3-sqlite               | SQLite Database Plug-In for Qt                                 | pacote
  | rekall-sqlite            | Rekall sqlite Database Backend                                 | pacote
  | rubygem-sqlite3          | A Ruby interface for the SQLite3 database engine               | pacote
i | sqlite2                  | Embeddable SQL Database Engine                                 | pacote
  | sqlite2-32bit            | Embeddable SQL Database Engine                                 | pacote
  | sqlite2-devel            | Embeddable SQL Database Engine                                 | pacote
i | sqlite3                  | Embeddable SQL Database Engine                                 | pacote
  | sqlite3-devel            | Embeddable SQL Database Engine                                 | pacote
  | sqlite3-tcl              | Tcl binding for SQLite                                         | pacote
  | tntdb1-sqlite            | Tntdb is a c++-class-library for easy database-access - sqlite | pacote
  | ulogd-sqlite             | SQLite output plugin for ulogd                                 | pacote

A letra "i" na primeira coluna indica que o pacote já está instalado na máquina local. Para ver todas as versões disponíveis de um pacote exato, utilize a opção --details/-s:

# zypper search -s --match-exact virtualbox-ose
Lendo os pacotes instalados...

S | Nome           | Tipo    | Versão     | Arquitetura   | Repositório
--+----------------+---------+------------+---------------+------------------------------------
v | virtualbox-ose | pacote  | 1.6.2-2.1  | x86_64        | VirtualBox OSE
i | virtualbox-ose | pacote  | 1.5.6-33.1 | x86_64        | openSUSE-11.3-Oss
v | virtualbox-ose | pacote  | 1.5.6-20.5 | x86_64        | VirtualBox OSE
v | virtualbox-ose | pacote  | 1.6.2-2.1  | i586          | VirtualBox OSE
v | virtualbox-ose | pacote  | 1.5.6-33.1 | i586          | openSUSE-11.3-Oss
v | virtualbox-ose | pacote  | 1.5.6-20.3 | i586          | VirtualBox OSE

A letra "i" na primeira coluna indica que o software selecionado já está instalado na máquina local, enquanto a letra "v" na primeira coluna indica que existem outras versões do produto instalado na máquina local.

Outros exemplos:

zypper se -dC --match-words RSI # pesquisar pelo acrônimo RSI (sensível a maiúsculas), também em resumos e descrições zypper se 'yast*' # exibir todos os pacotes que iniciam com 'yast' zypper se -r packman # listar todos os pacotes do repositório 'packman' zypper se -i sqlite # exibir todos os pacotes instalados contendo 'sqlite' no nome do pacote zypper se -t pattern -r repo-oss # listar todos os padrões disponíveis no repositório 'repo-oss' zypper se -t product # listar todos os produtos disponíveis

Obtendo informações sobre pacotes

info ou if

# zypper info amarok
Lendo os pacotes instalados...

Informação para pacote amarok:

Repositório: Packman 11.3
Nome: amarok
Versão: 1.4.9.1-104.pm.1
Arquitetura: i586
Fornecedor: packman.links2linux.de
Instalados: Yes
Status: up-to-date
Tamanho Após a Instalação: 9,1 M
Resumo: Media Player for KDE
Descrição:
Amarok is a media player for all kinds of media, supported by aRts, GStreamer
or Xine (depending on the packages you install). This includes MP3, Ogg
Vorbis, audio CDs and streams.
It also supports audio effects of all kinds that are provided by aRts.
Playlists can be stored in .m3u or .pls files.

Amarok also provides audio file collection management, by using either an
embedded sqlite3, a MySQL or a PostgreSQL database.

Este comando exibe informações detalhadas sobre o pacote chamado 'amarok'.

Outros exemplos:

zypper info -t patch MozillaFirefox # exibe informações sobre a correção 'MozillaFirefox' zypper patch-info MozillaFirefox # o mesmo que o anterior zypper info -t pattern lamp_server # exibe informações sobre o padrão 'lamp_server' zypper info -t product openSUSE-FTP # exibe informações sobre o produto especificado

Dependências

what-provides ou wp

Para listar todos os fornecedores de um recurso específico, faça:

# zypper wp firefox
Lendo os pacotes instalados...
S | Nome           | Tipo    | Versão      | Arquitetura | Repositório
--+----------------+---------+-------------+-------------+-----------------
i | MozillaFirefox | package | 3.0-0.1     | x86_64      | Updates for 11.0
v | MozillaFirefox | package | 2.9.95-25.1 | x86_64      | openSUSE-11.0-Oss
v | MozillaFirefox | package | 3.0-0.1     | i586        | Updates for 11.0
v | MozillaFirefox | package | 2.9.95-25.1 | i586        | openSUSE-11.0-Oss

Este comando é similar a rpm -q --whatprovides firefox, mas o rpm só é capaz de pesquisar o banco de dados de RPMs (banco de dados de pacotes instalados). O zypper, por outro lado, informará a você os fornecedores do recurso de qualquer repositório, não apenas dos pacotes instalados.

Outras pesquisas

Os comandos patches, packages, patterns e products são similares ao search -s -t [patch,package,pattern,product], exceto que eles exibem informações adicionais específicas ao tipo correspondente de pacote. Por exemplo patches exibe também o status das correções (Necessárias/Segurança/Não Aplicável).

Os comandos list-updates e patch-check são discutidos no Gerenciamento de atualizações.

Travas de pacotes

locks ou ll addlock ou al removelock ou rl cleanlocks ou cl

As travas de pacotes servem para prevenir alterações nos pacotes do sistema. Os pacotes que coincidem com uma trava ativa não poderão mudar seu status de instalação; pacotes instalados não poderão ser removidos ou atualizados, pacotes ainda não instalados não poderão ser instalados.

Para travar todos os pacotes que começam com 'yast2', faça:

# zypper al 'yast2*'
Lendo os pacotes instalados...
A trava especificada foi adicionada com sucesso.

Novamente, tenha cuidade com a expansão do shell, utilize aspas se existe a possibilidade que yast2* coincida com algum arquivo ou pasta no diretório de trabalho.

Para listar as travas ativas:

# zypper ll
# | Nome             | Tipo    | Repositório
--+------------------+---------+-----------
1 | libpoppler3      | pacote  | (qualquer)
2 | libpoppler-glib3 | pacote  | (qualquer)
3 | yast2*            | pacote  | (qualquer)

Para remover uma trava faça:

# zypper rl yast2-packager
Lendo os pacotes instalados...
Esta consulta bloqueia alguns dos objetos que você quer desbloquear:

tipo: pacote
tipo_de_ocorrência: glob
diferenciar_maiúscula_minúscula: ligado
nome_do_resolvível: yast2*

Você deseja remover este bloqueio? [SIM/não]: s
A contagem de bloqueios diminuiu com sucesso para: 1

Outros exemplos:

zypper al zypper # trava o pacote 'zypper' (coincidência exata) zypper al -r repo-oss virtualbox* # restringir a trava do pacote 'virtualbos' ao repositório 'repo-oss' (permitindo a instalação de outros) zypper rl 3 # remove a trava pelo número

Você pode manipular as travas também editando diretamente o arquivo de travas.

Utilitários

Verificar dependências

verify ou ve

Você pode acabar ocasionalmente com um sistema quebrado quando se trata de dependências de pacotes. Se algum dos seus aplicativos falha ao iniciar com uma mensagem indicando que algo está faltando, isto é algo para o zypper verificar:

$ rpm -e --nodeps mozilla-xulrunner190 $ firefox
Could not find compatible GRE between version 1.9.0 and 1.9.0.
# zypper ve

Lendo os pacotes instalados...
Algumas das dependências dos pacotes instalados estão quebradas. Para resolver estas dependências, as seguintes ações precisam ser tomadas:

O seguinte pacote NOVO será instalado:
  mozilla-xulrunner190


Tamanho total do download: 6,5 M. Após a operação, 23,5 M adicionais serão utilizados.
Continuar? [SIM/não]: s

Instalar pacotes novos recomendados

install-new-recommends or inr

Este comando encontra e instala pacotes novos recomendados para pacotes que você já tenha instalado, por exemplo ao se adicionar um novo repositório. Isto fornece um jeito fácil de instalar pacotes de idioma para o seu software ou drivers para novo hardware adicionado.

# zypper inr
Lendo os pacotes instalados...

Os seguintes pacotes NOVOS serão instalados:
  kdebase4-openSUSE-lang bundle-lang-common-pt


Tamanho total do download: 534,0 K. Após a operação, 1,9 M adicionais serão utilizados.
Continuar? [SIM/não]:

Verificar processos

ps

Este comando exibe os processos que usam arquivos removidos por atualizações ou remoções recentes de pacotes

Existem alguns programas em execução que usam arquivos removidos pela atualização recente. Você pode querer reiniciar alguns deles. Execute 'zypper ps' para listar estes programas.
# zypper ps
Os seguintes processos em execução usam arquivos removidos:

PID   | PPID  | UID  | Login | Comando       | Serviço | Arquivos
------+-------+------+-------+---------------+---------+--------------------------------
10604 | 10603 | 1000 | geeko | chrome        |         | /usr/share/mime/mime.cache
      |       |      |       |               |         | /usr/share/mime/mime.cache
15304 | 3195  | 1000 | geeko | kio_thumbnail |         | /var/tmp/kdecache-geeko/ksycoca4
      |       |      |       |               |         | /var/tmp/kdecache-geeko/ksycoca4

Você pode querer reiniciar estes processos.
Veja 'man zypper' para informações sobre o significado dos valores na tabela acima.

Gerenciamento de atualizações

Existem duas formas de manter seu sistema atualizao. Uma é baseada em correções, a outra é baseada nos pacotes.

A forma baseada em correções é particularmente útil para pessoas que utilizam versões estáveis e querem atualizar seus sistemas com correções lançadas através dos repositórios de atualização online. Repositóros de atualização são adicionados por padrão durante a instalação ou atualização do sistema, ou podem ser adicionados através da Configuração da Atualização Online na aba Software no Centro de Controle YaST, ou manualmente usando o zypper. Aqui está a lista de repositórios de atualização do openSUSE disponíveis.

O recurso do YaST equivalente é o módulo Atualização online.

A segunda forma de atualização, baseada em pacotes é descrita na seção Atualização de pacotes e serve para atualização geral dos pacotes de qualquer repositório com suas novas versões.

Listando as correções necessárias

list-patches ou lp

Para listar todas as correções necessárias, faça:

# zypper lp
Lendo os pacotes instalados...
Correções

Repositório      | Nome               | Versão  | Categoria   | Status
-----------------+--------------------+---------+-------------+-----------
Updates for 11.1 | KDE4-fixes         | 38      | recommended | Necessário
Updates for 11.1 | MozillaFirefox     | 50      | recommended | Necessário
Updates for 11.1 | NetworkManager-kde | 49      | recommended | Necessário
Updates for 11.1 | libxcrypt          | 109     | security    | Necessário

Algumas vezes somente as atualizações que afetam o gerenciador de pacotes são listadas, já que elas precisam ser aplicadas primeiro. Uma vez aplicadas, todas as outras atualizações disponíveis serão listadas por este comando.

Este comando é equivalente a zypper up -t patch conhecido de versões anteriores do zypper. Para lista todas as atualizações de pacotes disponíveis, use:

# zypper lu

Aplicando as correções

patch

Para aplicar as correções necessárias, faça:

# zypper patch
Lendo os pacotes instalados...

Os seguintes pacotes serão atualizados:
  NetworkManager-kde mozilla-nss mozilla-nspr kde4-korganizer


As seguintes correções NOVAS serão instaladas:
  NetworkManager-kde MozillaFirefox KDE4-fixes


Tamanho total do download: 2,9 M. Após a operação, 283,0 K adicionais serão utilizados.
Continuar? [SIM/não]:

Listando todas as correções

patches

O comando list-updates lista somente as correções necessárias. Para listar todas as correções disponíveis, use:

# zypper patches
Lendo os pacotes instalados...
Catálogo         | Nome               | Versão  | Categoria   | Status
-----------------+--------------------+---------+-------------+---------------
Updates for 11.1 | KDE4-fixes         | 38      | recommended | Instalado
Updates for 11.1 | MozillaFirefox     | 50      | recommended | Instalado
Updates for 11.1 | NetworkManager-kde | 49      | recommended | Instalado
Updates for 11.1 | autoyast2          | 37      | recommended | Instalado
Updates for 11.1 | courier-authlib    | 42      | security    | Não Aplicável
Updates for 11.1 | insserv            | 47      | recommended | Instalado
Updates for 11.1 | opera              | 43      | security    | Instalado
Updates for 11.1 | libxcrypt          | 109     | security    | Instalado

Verificando por correções

patch-check

Este comando irá mostrar quando existem correções importantes disponíveis para o seu sistema e a quantidade de tais correções:

# zypper pchk
Lendo os pacotes instalados...
4 correções necessárias (1 correção de segurança)

Obtendo informações sobre as correções

patch-info
info -t patch

# zypper info -t patch MozillaFirefox
Lendo os pacotes instalados...


Informação para correção MozillaFirefox:

Nome: MozillaFirefox
Versão: 50
Arquitetura: noarch
Fornecedor: maint-coord@suse.de
Status: Instalado
Categoria: recommended
Criado Em: Qui 01 Jan 1970 01:00:00 AM BRT
Reinicialização Necessária: Não
Reinício do Gerenciador de Pacotes Necessário: Não
Interativo: Não
Resumo: Mozilla Firefox 3.0
Descrição:
This patch updates Mozilla Firefox to the final 3.0 version.

The dependend libraries mozilla-xulrunner190, mozilla-nspr
and mozilla-nss were also brought to their release version.

Atualização de pacotes

list-updates ou lu
update ou up

Para simplesmente atualizar pacotes instalados com suas novas versões disponíveis, faça:

# zypper up

Você pode obter uma lista das atualizações disponíveis com:

# zypper lu

Os comandos acima irão listar ou atualizar apenas aqueles pacotes cujas atualizações não tenham problemas de dependência. Para obter a lista bruta dos pacotes com versões mais novas que aquelas instaladas, faça:

# zypper lu -a

Isto irá listar todos os candidatos a atualização, independentemente de eles serem instaláveis ou não, ou se eles precisem da interação do usuário para resolver alguns problemas.

Atualização da distribuição

dist-upgrade ou dup

Este comando usa o algoritmo de atualização da distribuição, que maneja as divisões de pacotes, pacotes não mantidos e similares. Use-o para alterar para uma outra versão da distribuição.

# zypper dup

É recomendável habilitar apenas o repositório principal da distribuição que você quer instalar mais alguns poucos repositórios importantes que você esteja usando (melhor ainda - suas versões correspondentes ao repositório principal atual) durante a atualização da distribuição. Você pode obter isso desabilitando os repositórios antigos usando zypper mr -da, adicionando os novos repositórios via zypper ar e executando zypper dup. Você também pode especificar repositórios a serem usados usando a opção --repo: zypper dup -r repo1 -r repo2 ....

Q: É verdade que o "zypper up" apenas atualiza os pacotes quando uma versão mais nova estiver no mesmo repositório que o pacote antigo e que o "zypper dup" atualiza tudo, não importa em qual repositório o novo pacote está localizado?

A: "zypper up" atualiza os pacotes se novas versões estiverem disponíveis mas não altera o fornecedor (Nota: o OBS como um todo atualmente tem o mesmo fornecedor). "zypper dup" tentará sincronizar seus pacotes atualmente instalados com os disponíveis de (todos) os repositórios que você tem habilitado. Isto significa que ele também irá desatualizar pacotes se sua versão instalada for mais recente que a disponível nos repositórios.


Usando o zypper em scripts e aplicativos


O zypper suporta várias opções globais o que o torna adequado para o uso em processos automatizados como scripts. Também, vários códigos de saída diferentes listados na 'man page' do zypper podem ser verificados quando se usar o zypper em um processo automatizado.

Modo não interativo

--non-interactive

Neste modo, o zypper não pergunta por nada ao usuário e usa as respostas padrão. Quando usar esta opção, é garantido que o zypper não irá parar para perguntar nada.

Por exemplo, para atualizar o seu sistema automaticamente sem confirmação, você pode digitar:

# zypper --non-interactive update

Este comando não requer confirmação do usuário para proceder com a atualização, ignorando todas as correções interativas que possam necessitar confirmação e também responde automaticamente qualquer outro prompt.

Modo sem verificação GPG

--no-gpg-checks

Se esta opção for usada, o zypper sempre escolherá continuar se algumas verificações do gpg falharem, por exemplo, um arquivo de um repositório deveria ter sido assinado e não foi, o arquivo foi assinado mas a verificação gpg falha, etc.

Concordar automaticamente com as licenças

--auto-agree-with-licenses

Esta é uma opção especial para os comandos 'install', 'remove' e 'update'. Usando ela, o usuário declara que concorda com os termos das licenças que o comando irá instalar, e o zypper dirá automaticamente 'sim' no prompt de confirmação de licenças. Isto é útil para pessoas que instalam o mesmo conjunto de pacotes em várias máquinas (usando um processo automatizado) e tenha lido todas as licenças antes.

Saída silenciosa

--quiet

Previne a exibição de muitos textos como informações de progresso e somente exibe o resultado da operação e mensagens de erros.

Saída XML

--xmlout

Esta opção faz o zypper falar em XML. Isto permite scripts, interfaces gráficas ou outros tipos de aplicativos que gostariam de usar o zypper para analisar a saída do zypper de um jeito padronizado e bem definido. O esquema RNC da saída XML do zypper está disponível aqui e em /usr/share/zypper/xml/xmlout.rnc.

Nem todas (mas a maioria) da saída é atualmente em XML; a meta é ter todas as saídas possíveis em XML.

Prompts

As seguintes tabelas devem ser uma lista completa de casos onde o zypper necessita da interação do usuário junto com as respostas usadas no modo não interativo. Todas as opções adicionais mencionadas aqui tem prioridade maior que a opção --non-interactive, então, se usadas, as respostas que elas implicarem serão automaticamente usadas mesmo que a opção --non-interactive não for usada.

Prompts relacionados ao GPG

Onde a opção --no-gpg-checks for aplicada, uma mensagem é exibida ou um aviso é escrito em stderr e registrado.

Prompt Resposta padrão Com --no-gpgp-checks Nota
Aceitar arquivo não assinado? N S
Aceitar nova chave (rejeitar a chave, confiar temporariamente ou confiar sempre? [r/t/s]) R R Uma chave nova só pode ser importada ou confiada no modo interativo
Aceitar chave desconhecida? N S
A verificação do arquivo assinado falhou, continuar? N S
Sem digest para o arquivo, continuar? N S
Aceitar digest desconhecido? N S

Outros prompts

Prompt Resposta padrão Outra resposta Note
Proceder com a instalação/remoção/atualização? S Adicionalmente, a opção --no-confirm pode ser utilizada com os comandos install/remove/update mesmo que sem a opção global --non-interactive
Confirmar licença de terceiros N S se --auto-agree-with-licenses for usado Adicionalmente, para zypper update, a opção --skip-interactive pode ser utilizada para excluir correções interativas da lista a ser instalada (uma herança do rug)
Confirmar uma mensagem de correção S
Problema ao instalar/remover um resolvível, Abortar/Repetir/Ignorar? ABORTAR Isto é feio e pode ser aprimorado no futuro
Problema ao baixar o pacote, Abortar/Repetir/Ignorar? ABORTAR Isto também é feio e pode ser aprimorado no futuro
Conflito de dependências, #/i/r/c (número da solução, ignorar, repetir ou cancelar) c Sempre cancela, a interação do usuário é necessária para resolver problemas de dependências
Requisição de alteração de mídia ABORTAR
Remover trava problemática? S

Na saída XML, os prompts são indicados pela tag <prompt>, contendo o atributo id. A enumeração de todos os ids disponíveis está no arquivo prompt.h incluído no pacote do zypper em (/usr/include/zypper/prompt.h).

Compatibilidade com o Rug

A sintaxe do zypper é similar a do Rug mas os comandos e opções começaram a diferir do rug, assim como a saída e o comportamento. No entanto, o zypper é capaz de trabalhar em modo de compatibilidade com o rug e suporta a maioria dos comandos do rug. Para maiores detalhes veja man zypper, na seção COMPATIBILIDADE COM O RUG.


Veja também