BEM VINDO AO PORTAL zypper.comunidade.net
O comando ##$$ zypper
O zypper é um gerenciador de pacotes de linha de comando para instalar, atualizar e remover pacotes, bem como para gerenciar repositórios. A sintaxe do zypper é semelhante à do rug. Ao contrário do rug, o zypper não requer que o daemon zmd seja executado nos bastidores. Para obter mais informações sobre compatibilidade com o rug, consulte man zypper, seção COMPATIBILIDADE COM O RUG
. Ele é especialmente útil para realizar tarefas de gerenciamento remoto de software ou gerenciar software de scripts de shell.
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 lu # ver quais correções são necessárias zypper up # aplicar as correções 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 -t package # atualizar todos os pacotes instalados com versões novas, onde for possível
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 update
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 update
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 update --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: (atualizar o sistema com pacotes novos)
zypper update -t package
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
O zypper fornece um número de comando que podem ser agrupados nas seguintes categorias:
Adicionalmente, os comandos update, list-updates, patch-check, e patches também podem ser referidos como comandos de gerenciamento de atualizações.
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 [comando]
zypper -h [comando] e zypper [comando] -h também é possível por conveniência.
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.
repos
Exemplo de saída:
$ zypper lr # | Apelido | Nome | Habilitado | Atualizar --+-----------------------+-----------------------+------------+-------- 1 | packman | Packman Repository | Sim | Sim 2 | updates | openSUSE-11.0-Updates | Sim | Sim 3 | oss | openSUSE-11.0-Oss | Sim | Não 4 | non-oss | openSUSE-11.0-Non-Oss | Sim | Não 4 | freetype2 | freetype2 | Não | Não
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'
addrepo
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 https://download.videolan.org/pub/vlc/SuSE/11.0 vlc Adicionando repositório 'vlc' [concluído] O repositório 'vlc' foi adicionado com sucesso Habilitado: Sim Atualização automática: Não URI: https://download.videolan.org/pub/vlc/SuSE/11.0
Outros exemplos:
zypper ar https://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.0/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/URI para a lista de tipos de mídia e URLs suportadas.
refresh
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 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.0-Updates' [concluído] Construindo cache do repositório 'openSUSE-11.0-Updates' [concluído] O repositório 'openSUSE-11.0-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 # você também pode especificar qual repositório atualizar zypper ref -f updates # forçar a atualização do repositório 'updates'
removerepo
$ zypper rr 23 foo 4 vlc 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.
modifyrepo
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 'upd'. 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 'upd'. O cache dos arquivos RPM foi habilitado para o repositório 'packman'.
namerepo
$ zypper nr 3 upd O repositório 'openSUSE-11.0-Updates' foi renomeado para 'upd'.
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).
repos -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
install
Você pode instalar pacotes pelo nome:
$ 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' 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'
remove
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
source-install
$ 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)
update -t package
dist-upgrade
Os seguintes comandos são sobre atualizar pacotes com as versões mais novas disponíveis. Veja também Gerenciamento de atualizações para uma outra forma de atualização.
zypper dup # usar o algoritmo de atualização da distribuição (maneja a quebra de pacotes, pacotes não mantidos e similares) zypper up -t package # atualiza todos os pacotes instalados com novas versões se possível zypper up -t package libzypp zypper # atualizar o 'libzypp' e o 'zypper' zypper in libzypp sqlite3 # atualizar o 'sqlite3' e o 'libzypp' ou instalar se ainda não estiverem instalados
search
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
O i na primeira coluna significa que o pacote já está instalado. 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 (OBS, openSUSE 11.0) i | virtualbox-ose | pacote | 1.5.6-33.1 | x86_64 | openSUSE-11.0-Oss v | virtualbox-ose | pacote | 1.5.6-20.5 | x86_64 | VirtualBox OSE (OBS, openSUSE 11.0) v | virtualbox-ose | pacote | 1.6.2-2.1 | i586 | VirtualBox OSE (OBS, openSUSE 11.0) v | virtualbox-ose | pacote | 1.5.6-33.1 | i586 | openSUSE-11.0-Oss v | virtualbox-ose | pacote | 1.5.6-20.3 | i586 | VirtualBox OSE (OBS, openSUSE 11.0)
O i significa que esta versão em particular está instalada, o v significa que outra versão deste pacote está atualmente instalada.
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
info
$ zypper info amarok Lendo os pacotes instalados... Informação para pacote amarok: Repositório: Packman 11.0 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
what-provides
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.
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.
locks
addlock
removelock
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... This query locks some of objects, wich you want unlock: type: package match_type: glob case_sensitive: on solvable_name: yast2* Do you want remove this lock? [SIM/não]: s Lock count has been succesfully decreased by: 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.
verify
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
install-new-recommends
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]:
O seguinte é 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 (para atualizações de pacotes, veja Atualizando pacotes). 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.
list-updates
Para listar todas as correções necessárias, faça:
$ zypper lu Lendo os pacotes instalados... Correções Repositório | Nome | Versão | Categoria | Status -----------------+--------------------+---------+-------------+----------- Updates for 11.0 | KDE4-fixes | 38 | recommended | Necessário Updates for 11.0 | MozillaFirefox | 50 | recommended | Necessário Updates for 11.0 | NetworkManager-kde | 49 | recommended | Necessário Updates for 11.0 | 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.
O padrão deste comando é -t patch. Para lista todas as atualizações de pacotes disponíveis, use:
zypper lu -t package
update
Para aplicar as correções necessárias, faça:
$ zypper up 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]:
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.0 | KDE4-fixes | 38 | recommended | Instalado Updates for 11.0 | MozillaFirefox | 50 | recommended | Instalado Updates for 11.0 | NetworkManager-kde | 49 | recommended | Instalado Updates for 11.0 | autoyast2 | 37 | recommended | Instalado Updates for 11.0 | courier-authlib | 42 | security | Não Aplicável Updates for 11.0 | insserv | 47 | recommended | Instalado Updates for 11.0 | opera | 43 | security | Instalado Updates for 11.0 | libxcrypt | 109 | security | Instalado
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)
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.
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.
--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.
--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.
--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.
--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.
--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.
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.
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 | |
Importar chave para o chaveiro? | N | N | Uma chave nova só pode ser importada no modo interativo |
Aceitar chave desconhecida? | N | S | |
Confiar na chave? | 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 |
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 , 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).
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.
Joaquim C. F. da Costa
Consultor de Segurança de Informações
CCNA | CCNP | LPI ComPTIA e Novell | CEH CHFI.