Zypper/Uso 11.3
Índice
- 1 Referência rápida
- 2 Uso geral
- 3 Vocabulário
- 4 Comandos
- 5 Usando o zypper em scripts e aplicativos
- 6 Compatibilidade com o Rug
- 7 Veja também
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 é:
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:
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)
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)
Alguns dos comandos requerem um ou mais argumentos: (instalar ou atualizar o pacote 'mplayer')
Algumas das opções também necessitam de um argumento: (pesquisar por padrões)
Todos os acima combinados: (instalar o 'mplayer' e o 'amarok' usando somente o repositório factory e com a saída do comando detalhada)
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:
Para obter ajuda específica para um comando, use:
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:
# | 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 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
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:
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:
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:
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:
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
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.
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...
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:
Lendo os pacotes instalados... 'MozillaFirefox' que fornece 'MozillaFirefox<3' já está instalado. Nada a fazer.
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]:
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)
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
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):
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:
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
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:
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:
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:
# | Nome | Tipo | Repositório --+------------------+---------+----------- 1 | libpoppler3 | pacote | (qualquer) 2 | libpoppler-glib3 | pacote | (qualquer) 3 | yast2* | pacote | (qualquer)
Para remover uma trava faça:
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:
Could not find compatible GRE between version 1.9.0 and 1.9.0.
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.
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.
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:
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:
Aplicando as correções
patch
Para aplicar as correções necessárias, faça:
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:
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:
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
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:
Você pode obter uma lista das atualizações disponíveis com:
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:
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.
É 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:
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.