Como usar o Zypper do Opensuse e Suse

Continuamos com os gerenciadores de pacotes das distribuições mais importantes do setor de servidores, desta vez falaremos sobre Zypper que funciona com RPM e foi criado por SuSE para suas distribuições privadas e públicas, como são SLE e Opensuse.
De uma maneira pessoal Zypper Acho que ele é um dos melhores administradores que existem hoje. A Suse se esforçou muito no Yast e no Zypper, oferecendo 2 produtos muito estáveis ​​e fáceis de usar. É verdade que no passado o Zypper tinha muitos problemas com dependências, mas isso acabou e oferece um desempenho excelente.
1 Como usar o Zypper.
Começaremos com o mais básico, se lançarmos o comando sem nenhum argumento ele nos oferecerá uma sinopse básica de como usá-lo e uma lista de todas as opções globais não se assuste com a quantidade de opções que cuidarei de explicar os mais úteis.
 jcarrillo @ linux-bp4q: ~> zypper Uso: zypper [--global-options] [--command-options] [arguments] Opções Globais: --help, -h Help. --version, -V Exibe o número da versão. --promptids Exibe uma lista de prompts de usuário do zypper. --config, -c Usa o arquivo de configuração especificado em vez do padrão. --userdata ID de transação definida pelo usuário usada no histórico e plug-ins. --quiet, -q Suprime a saída normal, imprime apenas mensagens de erro. --verbose, -v Aumenta a verbosidade. - [no-] color Se usar cores na saída se o tty suportar. --no-abbrev, -A Não abrevia o texto nas tabelas. --table-style, -s Estilo da tabela (inteiro). --non-interativo, -n Não pergunte nada, use as respostas padrão automaticamente. --non-Interactive-include-reboot-patches Não trata os patches como interativos, que têm o sinalizador rebootSuggested-set. --xmlout, -x Alterna para saída XML. --ignore-unknown, -i Ignora pacotes desconhecidos. --reposd-dir, -D Usa um diretório de arquivo de definição de repositório alternativo. --cache-dir, -C Usa um diretório alternativo para todos os caches. --raw-cache-dir Usa um diretório de cache de metadados bruto alternativo. --solv-cache-dir Usa um diretório alternativo de cache de arquivo solv. --pkg-cache-dir Usa um diretório de cache de pacote alternativo.
Se quisermos ajuda para um argumento, por exemplo, instale-o.
 jcarrillo @ linux-bp4q: ~> zypper help in install (in) [options]… Instalar pacotes com recursos especificados ou arquivos RPM com localização especificada. Um recurso é NAME [.ARCH] [OP], onde OP é um de <, =,>. Opções de comando: --from Selecionar pacotes do repositório especificado. -r, --repo Carrega apenas o repositório especificado. -t, --type Tipo de pacote (pacote, patch, padrão, produto, srcpackage). Padrão: pacote. -n, --name Seleciona pacotes por nome simples, não por capacidade. -C, --capability Seleciona pacotes por capacidade. -f, --force Instala mesmo se o item já estiver instalado (reinstalar), fizer downgrade ou mudar de fornecedor ou arquitetura. --oldpackage Permite substituir um item mais novo por um mais antigo. Útil se você estiver fazendo uma reversão. Ao contrário de --force, ele não forçará uma reinstalação. --replacefiles Instala os pacotes mesmo se eles substituirem arquivos de outros pacotes já instalados. O padrão é tratar os conflitos de arquivo como um erro. --download-as-needed desativa o conflito de arquivos … 
Para pesquisar um pacote usamos a opção se ou pesquisar usaremos o exemplo do Firefox.
 jcarrillo @ linux-bp4q: ~> zypper se firefox Carregando dados do repositório… Lendo pacotes instalados… S | Nome Resumo | Digite - + ------------------------------------ + --------- - --------------------------------------------- + --- - -------- i | Firefox | Navegador da web | aplicação | MozillaFirefox | Navegador Mozilla Firefox | srcpackage i | MozillaFirefox | Navegador Mozilla Firefox | pacote | MozillaFirefox-branding-openSUSE | marca openSUSE do MozillaFirefox | srcpackage i | MozillaFirefox-branding-openSUSE | marca openSUSE do MozillaFirefox | pacote | MozillaFirefox-branding-upstream | Branding upstream para Firefox | pacote | MozillaFirefox-buildsymbols | Símbolos de construção do Breakpad para Firefox | pacote | MozillaFirefox-devel | Pacote Devel para Firefox | pacote | MozillaFirefox-traduções-comuns | Traduções comuns para Firefox | pacote | MozillaFirefox-traduções-outro | Traduções extras para Firefox | pacote | mhtml-firefox | Fornece compatibilidade de arquivo da web com MHTML ao Firefox | srcpackage | mhtml-firefox | Fornece compatibilidade de arquivo da web com MHTML ao Firefox | pacote
Podemos ver que ele pesquisa a lista de repositórios e depois oferece todos os pacotes que contenham a palavra firefox como já tenho o firefox instalado, um "i" aparece para diferenciar.
Podemos pesquisar padrões ou grupos de pacotes, por exemplo, podemos instalar o padrão lamp que inclui php, apache e mariadb, vemos que inclui uma descrição muito útil para automatizar instalações.
 zypper info -t pattern lamp_server Carregando dados do repositório… Lendo pacotes instalados… Informações para o padrão lamp_server: ------------------------------- ----- Repositório: openSUSE-13.2-Update Nome: lamp_server Versão: 20141007-5.1 Arch: x86_64 Fornecedor: openSUSE Instalado: Não Visível para o usuário: Sim Resumo: Servidor Web e LAMP Descrição: Software para configurar um servidor Web que é capaz de fornecer conteúdo estático, dinâmico e interativo (como uma loja na Web). Isso inclui o servidor Apache HTTP, o sistema de gerenciamento de banco de dados MySQL e linguagens de script como PHP, Python, Ruby on Rails ou Perl. Conteúdo: S | Nome Tipo | Dependência - + ------------------------------- + --------- + ---- - ------ | apache2-mod_php5 | pacote | | php5-iconv | pacote | eu | patterns-openSUSE-base | pacote | eu | apache2-prefork | pacote | | php5-dom | pacote | | php5-mysql | pacote | eu | apache2 | pacote | | páginas de exemplo do apache2 | pacote | | mariadb | pacote | | apache2-mod_perl | pacote | | php5-ctype | pacote | | apache2-doc | pacote | | servidor yast2-http | pacote | | patterns-openSUSE-lamp_server | pacote | 

1.1 Use o Zypper Shell


Como yum, podemos jogar um shell zypper se vamos trabalhar muito tempo com ele.
 # zypper shell OU # zypper sh zypper> help Uso: zypper [--global-options]
2 Gerenciando repositórios com Zypper
Podemos adicionar, remover, atualizar e modificar os repositórios oficiais e externos do sistema usando o Zypper.

2.1 Repositórios de listagem


Podemos listar os Repositórios usando o argumento repos ou lr uma lista é exibida filtrando por enabled e se eles forem atualizados.
 # zypper repos OU # zypper lr jcarrillo @ linux-bp4q: ~> zypper lr # | Alias ​​| Nome Habilitado | Verificação GPG | Atualizar --- + ----------------------------- + --------------- ---------------------- + --------- + ----------- + ----- --- 1 | download.opensuse.org-4.4 | openSUSE BuildService - LibreOffice | Sim | (r) Sim | Sim 2 | download.opensuse.org-Apps | openSUSE BuildService - GNOME: Apps | Sim | (r) Sim | Sim 3 | download.opensuse.org-Extra | openSUSE BuildService - KDE: Extra | Sim | (r) Sim | Sim 4 | jogos para download.opensuse.org | openSUSE BuildService - Jogos | Sim | (r) Sim | Sim 5 | download.opensuse.org-oss | Repositório principal (fontes) | Sim | (r) Sim | Sim 6 | ftp.gwdg.de-suse | Repositório Packman | Sim | (r) Sim | Sim 7 | jogos: ferramentas | jogos: ferramentas | Sim | (r) Sim | Sim 8 | geeko.ioda.net-amd-fglrx | Drivers de gráficos AMD / ATI | Sim | (r) Sim | Sim 9 | google-chrome | google-chrome | Sim | (r) Sim | Sim 10 | repositório libdvdcss | repositório libdvdcss | Sim | (r) Sim | Sim 11 | openSUSE-13.2-0 | openSUSE-13.2-0 | Não ---- | Sim 12 | repo-debug | openSUSE-13.2-Debug | Não ---- | Sim 13 | repo-debug-update | openSUSE-13.2-Update-Debug | Não ---- | Sim 14 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Não ---- | Sim 15 | repo-non-oss | openSUSE-13.2-Non-Oss | Sim | (p) Sim | Sim 16 | repo-oss | openSUSE-13.2-Oss | Sim | (p) Sim | Sim 17 | repo-source | openSUSE-13.2-Source | Não ---- | Sim 18 | repo-update | openSUSE-13.2-Update | Sim | (r) Sim | Sim 19 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sim | (p) Sim | E isso é
Se necessário, podemos listar por URI ideal se tivermos repositórios locais e quisermos fazer backup ou atualizar.
 # zypper lr -u # | Alias ​​| Nome Habilitado | Atualizar | URI - + --------------------------- + ------------------ - ----------------- + --------- + --------- + ----------- - ------------------------------------------------- - - 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Sim | Não cd: ///? devices = / dev / disk / by-id / ata-VBOX_CD-ROM_VB2-01700376 2 | repo-debug | openSUSE-13.2-Debug | Sim | Sim | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Não Sim | http://download.opensuse.org/debug/update/13.2/ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Não Sim | http://download.opensuse.org/debug/update/13.2-non-oss/ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Sim | Sim | http://download.opensuse.org/distribution/13.2/repo/non-oss/ 6 | repo-oss | openSUSE-13.2-Oss | Sim | Sim | http://download.opensuse.org/distribution/13.2/repo/oss/ 7 | repo-source | openSUSE-13.2-Source | Não Sim | http://download.opensuse.org/source/distribution/13.2/repo/oss/ 8 | repo-update | openSUSE-13.2-Update | Sim | Sim | http://download.opensuse.org/update/13.2/ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sim | Sim | http://download.opensuse.org/update/13.2-non-oss/ 
Eles devem saber que os repositórios são gerenciados por prioridade, por exemplo, temos o pacote mysql no REPO local e oficial para economizar largura de banda, uma boa prática é oferecer maior prioridade aos REPOs locais. Podemos listar REPOs por prioridade com -P
 # zypper lr -P # | Alias ​​| Nome Habilitado | Atualizar | Prioridade - + --------------------------- + ------------------ - ----------------- + --------- + --------- + --------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Sim | Não 99 2 | repo-debug | openSUSE-13.2-Debug | Sim | Sim | 99 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Não Sim | 99 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Não Sim | 99 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Sim | Sim | 85 6 | repo-oss | openSUSE-13.2-Oss | Sim | Sim | 99 7 | repo-source | openSUSE-13.2-Source | Não Sim | 99 8 | repo-update | openSUSE-13.2-Update | Sim | Sim | 99 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sim | Sim | 99 

2.2 Atualizando Repositórios


Temos um comando global para atualizar tudo ao mesmo tempo ou a opção de um específico
Em caso de atualização, todos nós usamos ref ou refresh
 # zypper refresh OU # zypper ref Repositório 'openSUSE-13.2-0' está atualizado. O repositório 'openSUSE-13.2-Debug' está atualizado. O repositório 'openSUSE-13.2-Non-Oss' está atualizado. O repositório 'openSUSE-13.2-Oss' está atualizado. O repositório 'openSUSE-13.2-Update' está atualizado. O repositório 'openSUSE-13.2-Update-Non-Oss' está atualizado. Todos os repositórios foram atualizados. No caso de atualizar um específico, por exemplo Non-oss # zypper refresh repo-non-oss Repositório 'openSUSE-13.2-Non-Oss' está atualizado. Repositórios especificados foram atualizados.
Às vezes, o zypper não permite a atualização por certificados de segurança que podemos forçar nesse caso com -f
 # zypper ref -f repo-non-oss Forçando atualização de metadados brutos Recuperando metadados do repositório 'openSUSE-13.2-Non-Oss' … [concluído] Forçando a construção do cache do repositório Construindo o cache do repositório 'openSUSE-13.2-Non-Oss' … [pronto] Repositórios especificados foram atualizados. 

2.3 Modificar Repositórios


Quando falamos em modificar, quero dizer habilitar ou desabilitar um REPO ou modificar sua prioridade antes de modificar qualquer REPO, devemos saber que no Zypper cada repositório tem um ID único que é usado para habilitar um REPO, podemos listar seu número com zypper lr .
 # zypper lr # | Alias ​​| Nome Habilitado | Atualizar - + --------------------------- + ------------------ - ----------------- + --------- + -------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Sim | No 2 | repo-debug | openSUSE-13.2-Debug | Sim | Sim 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Não Sim 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Não Sim 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Sim | Sim 6 | repo-oss | openSUSE-13.2-Oss | Não Sim 7 | repo-source | openSUSE-13.2-Source | Não Sim 8 | repo-update | openSUSE-13.2-Update | Sim | Sim 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sim | E isso é
No caso de desabilitar o ID 6, que seria Oss, usamos
 # zypper mr -d 6 Repositório 'repo-oss' foi desabilitado com sucesso.
Para habilitá-lo novamente, usamos o exemplo -e
 # zypper mr -e 6 Repositório 'repo-oss' foi habilitado com sucesso. 
Vamos para opções mais avançadas, por exemplo, habilitamos a atualização automática e colocamos uma prioridade de 85 para o repo não-OS.
 # zypper mr -rk -p 85 repo-non-oss A prioridade do repositório 'repo-non-oss' foi deixada inalterada (85) Nada a mudar para o repositório 'repo-non-oss'.
Ou podemos restringir o armazenamento em cache de todos os repo, caso tenhamos pouco espaço.
 # zypper mr -Ka O cache de arquivos RPM foi desabilitado para o repositório 'openSUSE-13.2-0'. O cache de arquivos RPM foi desabilitado para o repositório 'repo-debug'. O cache de arquivos RPM foi desabilitado para o repositório 'repo-debug-update'. O cache de arquivos RPM foi desabilitado para o repositório 'repo-debug-update-non-oss'. O cache de arquivos RPM foi desabilitado para repositório 'repo-non-oss'. O cache de arquivos RPM foi desabilitado para repositório 'repo-oss'. O cache de arquivos RPM foi desabilitado para repositório 'repo-source'. O cache de arquivos RPM foi desabilitado para o repositório 'repo-update'. O cache de arquivos RPM foi desabilitado para o repositório 'repo-update-non-oss'.
Caso queiramos reativá-los, usamos.
 # zypper mr -ka O cache de arquivos RPM foi habilitado para o repositório 'openSUSE-13.2-0'. O cache de arquivos RPM foi habilitado para repositório 'repo-debug'. O cache de arquivos RPM foi habilitado para o repositório 'repo-debug-update'. O cache de arquivos RPM foi habilitado para o repositório 'repo-debug-update-non-oss'. O cache de arquivos RPM foi habilitado para repositório 'repo-non-oss'. O cache de arquivos RPM foi habilitado para 'repo-oss' do repositório. O cache de arquivos RPM foi habilitado para repositório 'repo-source'. O cache de arquivos RPM foi habilitado para o repositório 'repo-update'. O cache de arquivos RPM foi habilitado para o repositório 'repo-update-non-oss'.
Mas podemos até filtrar entre o repo local e remoto e é possível desabilitar o armazenamento em cache apenas do repo remoto.
 # zypper mr -Kt O cache de arquivos RPM foi habilitado para o repositório 'repo-debug'. O cache de arquivos RPM foi habilitado para o repositório 'repo-debug-update'. O cache de arquivos RPM foi habilitado para o repositório 'repo-debug-update-non-oss'. O cache de arquivos RPM foi habilitado para repositório 'repo-non-oss'. O cache de arquivos RPM foi habilitado para 'repo-oss' do repositório. O cache de arquivos RPM foi habilitado para repositório 'repo-source'. O cache de arquivos RPM foi habilitado para o repositório 'repo-update'. O cache de arquivos RPM foi habilitado para o repositório 'repo-update-non-oss'.
Para reativá-los, usamos quase o mesmo argumento, mas com K em minúsculas.
 # zypper mr -kt O cache de arquivos RPM foi habilitado para o repositório 'repo-debug'. O cache de arquivos RPM foi habilitado para o repositório 'repo-debug-update'. O cache de arquivos RPM foi habilitado para o repositório 'repo-debug-update-non-oss'. O cache de arquivos RPM foi habilitado para repositório 'repo-non-oss'. O cache de arquivos RPM foi habilitado para 'repo-oss' do repositório. O cache de arquivos RPM foi habilitado para o repositório 'repo-source'. O cache de arquivos RPM foi habilitado para o repositório 'repo-update'. O cache de arquivos RPM foi habilitado para o repositório 'repo-update-non-oss'.

2.4 Adicionando REPOs com Zypper


Vamos adicionar repositórios, não confunda com habilitação, é aconselhável adicionar REPO com verificação GPG atual para evitar ser vítimas de ataques.
Vamos começar adicionando um REPO oficial, mas da versão antiga do Opensuse.
 # zypper ar http://download.opensuse.org/update/11.1/ update Adicionando repositório 'update'…. [concluído] Repositório 'update' adicionado com sucesso Habilitado: Sim Autorefresh: Sem verificação de GPG: Sim URI: http: // download.opensuse.org/update/11.1/
Observe que o Zypper nos fornece um resumo do REPO depois que a opção GPG foi adicionada de maneira importante.
Caso você se confunda com nomes REPO semelhantes, podemos modificar seu ALIAS para identificá-lo melhor. Digamos que desejemos alterar o nome do repo 10 para upd8, primeiro devemos saber seu ID no meu caso é 10 e então lançamos
 # zypper nr 10 upd8 Repositório 'update' renomeado para 'upd8'.

2.5 Removendo Repositórios


Para remover usamos rr ou removerepo, após excluir um REPO não poderemos recuperá-lo sem saber seu endereço de origem, tome cuidado aqui.
 # zypper rr upd8 # Removendo o repositório 'upd8'… [concluído] O repositório 'upd8' foi removido. 
3 Gerenciamento de pacotes com Zypper
Com o Zypper podemos tornar muitas das funções RPM mais fáceis, falaremos sobre todo o gerenciamento de pacotes.

3.1 Instalar um pacote com Zypper


Para instalar um novo pacote que usamos ou instalar faremos o exemplo com o navegador firefox.
 # zypper no MozillaFirefox Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes… Os seguintes 128 NOVOS pacotes serão instalados: adwaita-icon-theme at-spi2-atk-common at-spi2-atk-gtk2 at-spi2- core cantarell-fonts cups-libs desktop-file-utils fontconfig gdk-pixbuf-query-loaders gstreamer gstreamer-fluendo-mp3 gstreamer-plugins-base gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharic gtk2-immutodule-inuktit - immodule-thai gtk2-immodule-vietnamese gtk2-metatheme-adwaita gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theme-branding-openS 1_0-0 libatk-bridge-2_0-0 libatspi0 libcairo2 libcairo-gobject2 libcanberra0 libcanberra-gtk0 libcanberra-gtk2-module libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-gtk-module-gtk0-gobject2 libcanber-gobject2 libcanber-gobject2-módulo libra libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-gtk-module-commonautel0cddacol_interface1 libdrrano_drum_ordrano02_db_interface libFLAC8 libfreebl3 libgbm1 lib gdk_pixbuf-2_0-0 libgraphite2-3 libgstapp-1_0-0 libgstaudio-1_0-0 libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgthread-2_ 2_0-0 libgtreamer 2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg.webp8 libjson-c2 liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborcpix_0pix_4-0-libpackagekit1 libultopcess0 libciapcess2 libciapcess0 libscilepcess0 libciapcess1 libciapcess0 libciapcess1 libsccess0 libciapcess_pix_0pix_4-0 libultopcess1 libscilepcess0 libciapcess1 libciapcess0 libciapcess0 libciapcess_0pix_0_0 libfpulto1_0pix1-0 libpciasccess0 libfpulto libstartup-notification-1-0 libtheoradec1 libtheoraenc1 libtiff5 libvisual libvorbis0 libvorbisenc2 libvorbisfile3 libwayland-client0 libwayland-cursor0 libwayland-server0 libX11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glbx0 libcx present0 libxcb-glbx0 libcx tornar SYNC1 libxcb-util1 libxcb-xfixes0 libXcomposite1 libXcursor1 libXdamage1 libXevie1 libXfixes3 libXft2 libXi6 libXinerama1 libxkbcommon-0_4_3 libXrandr2 libXrender1 libxshmfence1 libXtst6 tablefXvm libthemetaxGL0 Tablewamex-GL86 comum tablewa-GL0M Mesapiillax1-MesagGL086 libitamex-GLM0 Mesa irefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop Os seguintes 10 pacotes recomendados foram selecionados automaticamente: gstreamer-fluendo-mp3 gtk2-branding-openSUSE gtk2-data gtk2 -immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-vietnamese libcanberra0 libpulse0 PackageKit-gstreamer-plugin 128 novos pacotes para instalar. Tamanho geral do download: 77,2 MiB. Já em cache: 0 B Após a operação, 200,0 MiB adicionais serão usados. Continuar? [s / n /? mostra todas as opções] (y): y Recuperando pacote cantarell-fonts-0.0.16-1.1.noarch (1/128), 74,1 KiB (115,6 KiB descompactado) Recuperando: cantarell-fonts-0.0.16-1.1.noarch.rpm …. [Concluído (63,4 KiB / s)] Recuperando o pacote hicolor-icon-theme-0.13-2.1.2.noarch (2/128), 40,1 KiB (50,5 KiB descompactado) Recuperando: hicolor-icon-theme-0.13-2.1 .2.noarch.rpm… [concluído] Recuperando pacote sound-theme-freedesktop-0.8-7.1.2.noarch (3/128), 372,6 KiB (460,3 KiB descompactado)
Podemos até instalar uma versão de um pacote específico.
 # zypper em 'gcc <5.1' Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes… Os 13 NOVOS pacotes a seguir serão instalados: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmp.webpc3 libmp.webpfr4 libtsan0-gcc49 13 novos pacotes para instalar. Tamanho geral do download: 14,5 MiB. Já em cache: 0 B Após a operação, 49,4 MiB adicionais serão usados. Continuar? [s / n /? mostra todas as opções] (y): y 
Como sabemos que os pacotes são pré-compilados para várias arquiteturas, podemos instalar uma versão específica, pode ser útil se tivermos 64bits, mas um software só funciona com 32bits, é melhor fazer um PATH para 32bits e então instalar o pacote.
 # zypper em gcc.i586 Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes… Os 13 NOVOS pacotes a seguir serão instalados: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmp.webpc3 libmp.webpitm1 libmp.webpit1 lib -gcc49 libmp.webpc3 libmp.webpfr4 -gcc49 13 novos pacotes para instalar. Tamanho geral do download: 14,5 MiB. Já em cache: 0 B Após a operação, 49,4 MiB adicionais serão usados. Continuar? [s / n /? mostra todas as opções] (y): y Recuperando pacote libasan0-4.8.3 + r212056-2.2.4.x86_64 (1/13), 74,2 KiB (166,9 KiB descompactado) Recuperando: libasan0-4.8.3 + r212056-2.2.4 .x86_64.rpm… [concluído (79,2 KiB / s)] Recuperando pacote libatomic1-gcc49-4.9.0 + r211729-2.1.7.x86_64 (2/13), 14,3 KiB (26,1 KiB descompactado) Recuperando: libatomic1-gcc49- 4.9.0 + r211729-2.1.7.x86_64.rpm… [concluído (55,3 KiB / s)]
Para instalar uma versão e uma arquitetura que usamos.
 # zypper em 'gcc.i586 <5.1' Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes …….
É possível instalar um pacote de um REPO específico. Exemplo Vou procurar o pacote libxinel do amarok REPO para melhor compatibilidade.
 # zypper no amarok upd: libxine1 Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes… Os seguintes 202 NOVOS pacotes serão instalados: amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query- loaders ghostscript-fonts-std gptfdisk gstreamer gstreamer-plugins-base hicolor-icon-theme hicolor-icon-theme-branding-openSUSE htdig hunspell hunspell-tools icoutils ispell ispell-american kde4-filesystem kdebase4-runtime kdebase4-runtime-branding- - kdelibs4 kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l… 
É possível usar curingas para pesquisas
 # zypper in php5 * Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes… Problema: php5-5.6.1-18.1.x86_64 requer smtp_daemon, mas este requisito não pode ser fornecido com provedores desinstaláveis: exim-4.83-3.1.8.x86_64 [ openSUSE-13.2-0] postfix-2.11.0-5.2.2.x86_64 [openSUSE-13.2-0] sendmail-8.14.9-2.2.2.x86_64 [openSUSE-13.2-0] exim-4.83-3.1.8. i586 [repo-oss] msmtp-mta-1.4.32-2.1.3.i586 [repo-oss] postfix-2.11.0-5.2.2.i586 [repo-oss] sendmail-8.14.9-2.2.2. i586 [repo-oss] exim-4.83-3.1.8.x86_64 [repo-oss] msmtp-mta-1.4.32-2.1.3.x86_64 [repo-oss] postfix-2.11.0-5.2.2.x86_64 [ repo-oss] sendmail-8.14.9-2.2.2.x86_64 [repo-oss] postfix-2.11.3-5.5.1.i586 [repo-update] postfix-2.11.3-5.5.1.x86_64 [repo- atualização] Solução 1: As seguintes ações serão realizadas: não instale php5-5.6.1-18.1.x86_64 não instale php5-pear-Auth_SASL-1.0.6-7.1.3.noarch não instale php5-pear-Horde_Http- 2.0.1-6.1.3.noarch não instale php5-pear-Horde_Image-2.0.1-6.1.3.noarch não instale php5-pear-Hor de_Kolab_Format-2.0.1-6.1.3.noarch não instale php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch não instale php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch não instale php5-pear-Horde_Mime-2.0.2-6.1.3.noarch não instale php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch não instale php5-pear-Horde_Pdf-2.0.1-6.1.3. noarca….
Como mencionei antes, é possível usar grupos, por exemplo, para instalar toda a pilha de servidor de lâmpadas
 # zypper no padrão -t lamp_server ading repository data… Lendo pacotes instalados… Resolvendo dependências de pacotes… Os seguintes 29 NOVOS pacotes serão instalados: apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork patterns-openSUSE-lamp_server perl-Data-Dump perl-Encode-Locale perl-File-Listing perl-HTML-Parser perl-HTML-Tagset perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-IO-HTML perl-IO-Socket-SSL perl-libwww-perl perl-Linux-Pid perl-LWP-MediaTypes perl-LWP-Protocolo-https perl-Net-HTTP perl-Net-SSLeay perl-Tie-IxHash perl -TimeDate perl-URI perl-WWW-RobotRules yast2-http-server O seguinte NOVO padrão será instalado: lamp_server Os seguintes 10 pacotes recomendados foram selecionados automaticamente: apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork perl-Data-Dump perl-IO-Socket-SSL perl-LWP-Protocol-https perl-TimeDate yast2-http-server 29 novos pacotes para instalar. Tamanho geral do download: 7,2 MiB. Já em cache: 1,2 MiB Após a operação, 34,7 MiB adicionais serão usados. Continuar? [s / n /? mostra todas as opções] (e):
Uma opção possível e útil é instalar um novo pacote e remover sua alternativa, por exemplo, instalar o nano e remover o vi.
 # zypper em nano -vi Carregando dados do repositório… Lendo pacotes instalados… '-vi' não encontrado nos nomes dos pacotes. Experimentando capacidades. Resolvendo dependências de pacote… Os 2 novos pacotes a seguir serão instalados: nano nano-lang O pacote a seguir será REMOVIDO: vim O seguinte pacote recomendado foi selecionado automaticamente: nano-lang 2 novos pacotes para instalar, 1 para remover. Tamanho geral do download: 550,0 KiB. Já em cache: 0 B Após a operação, 463,3 KiB serão liberados. Continuar? [s / n /? mostra todas as opções] (e):… 
Se baixamos um pacote RPM externamente e queremos instalar com o zypper para resolver suas dependências (recomendado), lançamos
 zypper em teamviewer * .rpm Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes… Os seguintes 24 NOVOS pacotes serão instalados: alsa-oss-32bit fontconfig-32bit libasound2-32bit libexpat1-32bit libfreetype6-32bit libgcc_s1-gcc49- 32bit libICE6-32bit libjpeg.webp62-32bit libpng12-0-32bit libpng16-16-32bit libSM6-32bit libuuid1-32bit libX11-6-32bit libXau6-32bit libxcb1-32bit libXdamage1-32bit libXext6-32bitX libXfixesrama3-32rrender32 libX32bit libXfixesrama3-32rrender32 libX32bit -32bit libXtst6-32bit libz1-32bit teamviewer O seguinte pacote recomendado foi selecionado automaticamente: alsa-oss-32bit 24 novos pacotes para instalar. Tamanho geral do download: 41,2 MiB. Já em cache: 0 B Após a operação, 119,7 MiB adicionais serão usados. Continuar? [s / n /? mostra todas as opções] (e):… 

3.2 Remover pacotes com Zypper


Para remover pacotes, podemos usar zypper remove ou apenas rm, por exemplo, removeremos o pacote apache2.
 # zypper remove apache2 Ou # zypper rm apache2 Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacotes… Os 2 pacotes a seguir serão REMOVIDOS: apache2 apache2-prefork 2 pacotes a serem removidos. Após a operação, 4,2 MiB serão liberados. Continuar? [s / n /? mostra todas as opções] (y): y (1/2) Removendo apache2-2.4.10-19.1… [concluído] (2/2) Removendo apache2-prefork-2.4.10-19.1…. [concluído] 

3.3 Atualizar pacotes usando Zypper


Podemos usar o comando universal zypper up para atualizar tudo.
 # zypper up OU # zypper update Carregando dados do repositório… Lendo pacotes instalados… Nada a fazer.
Ou atualize apenas um pacote específico, ideal em um ambiente de produção controlado.
 # zypper up apache2 openssh Carregando dados do repositório… Lendo pacotes instalados… Nenhum candidato a atualização para 'apache2-2.4.10-19.1.x86_64'. A versão mais alta disponível já está instalada. Nenhum candidato a atualização para 'openssh-6.6p1-5.1.3.x86_64'. A versão mais alta disponível já está instalada. Resolvendo dependências de pacotes … Nada a fazer.
Cada vez que lançamos um zypper no, ele verifica se o pacote está instalado, se estiver instalado, ele verifica se está atualizado.
 # zypper in mariadb Carregando dados do repositório… Lendo pacotes instalados… 'mariadb' já está instalado. Nenhum candidato a atualização para 'mariadb-10.0.13-2.6.1.x86_64'. A versão mais alta disponível já está instalada. Resolvendo dependências de pacotes … Nada a fazer.
SE tivermos problemas ao instalar um pacote que é muito raro, podemos tentar instalar diretamente do código-fonte no mais puro estilo do arch linux. Usamos zypper source-install ou zypper si.
 # zypper si mariadb Lendo pacotes instalados… Carregando dados do repositório… Resolvendo dependências de pacotes… Os seguintes 36 NOVOS pacotes serão instalados: autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c ++ gcc-c ++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog -isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10 libitm1-gcc49 libltdl7 libmp.webpc3 libmp.webpfr4 libopenssl-devel libstdc ++ 48-devel libtool libtsan0-gcc49- m4 make config-read pvel-de-devel tavel-de tavel tavel devel zcib config tavel-devel zcib site config-devel-devel-devel-devel -devel O seguinte pacote fonte será instalado: mariadb 36 novos pacotes para instalar, 1 pacote fonte. Tamanho geral do download: 71,5 MiB. Já em cache: 129,5 KiB Após a operação, serão usados ​​183,9 MiB adicionais. Continuar? [s / n /? mostra todas as opções] (y): y
4 Use o Zypper em scripts automatizados.
Todos os comandos anteriores precisam da interação do usuário e não poderemos adicioná-los aos scripts, mas não se preocupe, pois conversaremos sobre as opções que temos disponíveis.

4.1 Instale um pacote para scripts.


Usamos a opção --non-interactive e continuaremos com o exemplo mariadb.
 # zypper --non-interactive in mariadb Carregando dados do repositório… Lendo pacotes instalados… 'mariadb' já está instalado. Nenhum candidato a atualização para 'mariadb-10.0.13-2.6.1.x86_64'. A versão mais alta disponível já está instalada. Resolvendo dependências de pacotes … Nada a fazer.

4.2 Remover um pacote para scripts.


Usamos a mesma opção, mas com rm.
 # zypper --non-interactive rm mariadb Carregando dados do repositório… Lendo pacotes instalados… Resolvendo dependências de pacote… O seguinte pacote será REMOVIDO: mariadb 1 pacote a ser removido. Após a operação, 71,8 MiB serão liberados. Continuar? [s / n /? mostra todas as opções] (y): y (1/1) Removendo mariadb-10.0.13-2.6.1… [concluído] 
5 Limpe o cache com Zypper
Por padrão, o zypper tem uma cota para o cache quando esta cota atinge o topo, o novo cache substitui o antigo, mas se tivermos problemas para instalar um pacote, ele pode estar corrompido no momento do download e é aconselhável limpar o cache.

5.1 Limpar cache REPO


Aqui, excluímos apenas o cache baixado por REPOs.
 # zypper clean Todos os repositórios foram limpos.

5.2 Limpar metadados e cache


Limpar os metadados pode resolver alguns problemas.
 # zypper clean -a Todos os repositórios foram limpos. 
6 Atualize a distribuição usando o Zypper
Finalmente, é possível atualizar para uma nova versão do SuSE, por exemplo, temos o OpenSuSE 12.3 e queremos migrar para o 13.2 que lançamos.
 # zypper dist-upgrade Você está prestes a fazer uma atualização de distribuição com todos os repositórios habilitados. Certifique-se de que esses repositórios sejam compatíveis antes de continuar. Consulte 'man zypper' para obter mais informações sobre este comando. Criando repositório 'openSUSE-13.2-0' cache… [concluído] Recuperando o repositório 'openSUSE-13.2-Debug' metadados … [concluído] Criando repositório 'openSUSE-13.2-Debug' cache … [concluído] Recuperando repositório 'openSUSE-13.2-Non -Metadados do ss…. [Concluído] Construindo o cache do repositório 'openSUSE-13.2-Non-Oss'… [concluído] 
Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave