Come usare Zypper da Opensuse e Suse

Continuiamo con i gestori di pacchetti delle più importanti distribuzioni del settore server, questa volta ne parleremo Zypper che funziona con RPM ed è stato creato da SuSE per le tue distribuzioni private e pubbliche così come sono SLE e Opensuse.
In modo personale Zypper Penso che sia uno dei migliori manager che esistono oggi. Suse si è impegnata molto in Yast e Zypper offrendo 2 prodotti molto stabili e facili da usare, è vero che in passato Zypper ha avuto molti problemi con le dipendenze ma questo è tutto finito e offre prestazioni eccezionali.
1 Come usare Zypper.
Inizieremo con il più semplice, se lanciamo il comando senza alcun argomento ci offrirà una sinossi di base di come usarlo e un elenco di tutte le opzioni globali non aver paura della quantità di opzioni che mi occuperò di spiegare quelli più utili.
 jcarrillo @ linux-bp4q: ~> zypper Utilizzo: zypper [--global-options] [--command-options] [arguments] Opzioni globali: --help, -h Help. --version, -V Emette il numero di versione. --promptids Visualizza un elenco di prompt utente di zypper. --config, -c Usa il file di configurazione specificato invece di quello predefinito. --userdata ID transazione definito dall'utente utilizzato nella cronologia e nei plugin. --quiet, -q Sopprime l'output normale, stampa solo i messaggi di errore. --verbose, -v Aumenta la verbosità. - [no-] color Se usare i colori nell'output se tty lo supporta. --no-abbrev, -A Non abbrevia il testo nelle tabelle. --table-style, -s Stile tabella (intero). --non-interactive, -n Non chiedere nulla, usa le risposte predefinite automaticamente. --non-interactive-include-reboot-patches Non tratta le patch come interattive, che hanno il flag rebootSuggested impostato. --xmlout, -x Passa all'output XML. --ignore-unknown, -i Ignora i pacchetti sconosciuti. --reposd-dir, -D Utilizza la directory del file di definizione del repository alternativa. --cache-dir, -C Usa una directory alternativa per tutte le cache. --raw-cache-dir Usa una directory cache dei metadati non elaborata alternativa. --solv-cache-dir Usa la directory cache del file solv alternativa. --pkg-cache-dir Usa la directory cache dei pacchetti alternativa.
Se vogliamo un aiuto per un argomento, ad esempio install, usiamo.
 jcarrillo @ linux-bp4q: ~> zypper help in install (in) [opzioni]… Installa pacchetti con capacità specificate o file RPM con posizione specificata. Una capacità è NAME [.ARCH] [OP], dove OP è uno di <, =,>. Opzioni del comando: --from Seleziona i pacchetti dal repository specificato. -r, --repo Carica solo il repository specificato. -t, --type Tipo di pacchetto (pacchetto, patch, modello, prodotto, pacchetto src). Predefinito: pacchetto. -n, --name Seleziona i pacchetti per nome semplice, non per capacità. -C, --capability Seleziona i pacchetti in base alla capacità. -f, --force Installa anche se l'elemento è già installato (reinstalla), declassato o cambia fornitore o architettura. --oldpackage Consente di sostituire un elemento più recente con uno più vecchio. Utile se stai facendo un rollback. A differenza di --force, non imporrà una reinstallazione. --replacefiles Installa i pacchetti anche se sostituiscono file di altri pacchetti già installati. L'impostazione predefinita è trattare i conflitti di file come un errore. --download-as-necessario disabilita il fileconflict… 
Per cercare un pacchetto usiamo l'opzione se o search useremo l'esempio di Firefox.
 jcarrillo @ linux-bp4q: ~> zypper se firefox Caricamento dei dati del repository… Lettura dei pacchetti installati… S | Nome | Sommario | Tipo - + --------------------- + ------------------------ - ----------------- + --- - -------- io | Firefox | Browser Web | applicazione | MozillaFirefox | Browser Web Mozilla Firefox | srcpackage i | MozillaFirefox | Browser Web Mozilla Firefox | pacchetto | MozillaFirefox-branding-openSUSE | marchio openSUSE di MozillaFirefox | srcpackage i | MozillaFirefox-branding-openSUSE | marchio openSUSE di MozillaFirefox | pacchetto | MozillaFirefox-branding-upstream | Marchio a monte per Firefox | pacchetto | MozillaFirefox-buildsymbols | Simboli di build Breakpad per Firefox | pacchetto | MozillaFirefox-devel | Pacchetto di sviluppo per Firefox | pacchetto | MozillaFirefox-traduzioni-comuni | Traduzioni comuni per Firefox | pacchetto | MozillaFirefox-traduzioni-altro | Traduzioni extra per Firefox | pacchetto | mhtml-firefox | Fornisce a Firefox la compatibilità con l'archivio web MHTML | pacchetto src | mhtml-firefox | Fornisce a Firefox la compatibilità con l'archivio web MHTML | pacchetto
Possiamo vedere che cerca nell'elenco dei repository e quindi offre tutti i pacchetti che contengono la parola Firefox poiché ho già installato Firefox, appare una "i" per differenziare.
Possiamo cercare pattern o gruppi di pacchetti, ad esempio possiamo installare il pattern lamp che include php, apache e mariadb, vediamo che include una descrizione molto utile per automatizzare le installazioni.
 zypper info -t pattern lamp_server Caricamento dei dati del repository… Lettura dei pacchetti installati… Informazioni per pattern lamp_server: ------------------------------- ----- Repository: openSUSE-13.2-Nome aggiornamento: lamp_server Versione: 20141007-5.1 Arch: x86_64 Fornitore: openSUSE Installato: No Visibile all'utente: Sì Riepilogo: Server Web e LAMP Descrizione: Software per configurare un server Web che è in grado di servire contenuti statici, dinamici e interattivi (come un negozio Web). Ciò include Apache HTTP Server, il sistema di gestione del database MySQL e linguaggi di scripting come PHP, Python, Ruby on Rails o Perl. Contenuto: S | Nome | Tipo | Dipendenza - + ------------------------------- + --------- + ---- - ------ | apache2-mod_php5 | pacchetto | | php5-iconv | pacchetto | io | patterns-openSUSE-base | pacchetto | io | apache2-prefork | pacchetto | | php5-dom | pacchetto | | php5-mysql | pacchetto | io | apache2 | pacchetto | | apache2-pagine-esempio | pacchetto | | mariadb | pacchetto | | apache2-mod_perl | pacchetto | | php5-ctype | pacchetto | | apache2-doc | pacchetto | | yast2-http-server | pacchetto | | patterns-openSUSE-lamp_server | pacchetto | 

1.1 Usa Zypper Shell


Come yum possiamo lanciare a shell zypper se lavoreremo a lungo con lui.
 # zypper shell OPPURE # zypper sh zypper> help Utilizzo: zypper [--global-options]
2 Gestire i repository con Zypper
Possiamo aggiungere, rimuovere, aggiornare e modificare i repository di sistema ufficiali ed esterni utilizzando Zypper.

2.1 Elenco dei repository


Possiamo elencare i Repository usando l'argomento repos o lr un elenco viene visualizzato filtrando per abilitati e se vengono aggiornati.
 # zypper repository OPPURE # zypper lr jcarrillo @ linux-bp4q: ~> zypper lr # | Alias ​​| Nome | Abilitato | Controllo GPG | Aggiorna --- + --------------- + --------------- ---------------------- + --------- + ----------- + ----- --- 1 | download.opensuse.org-4.4 | openSUSE BuildService - LibreOffice | Sì | (r) Sì | Sì 2 | download.opensuse.org-Apps | openSUSE BuildService - GNOME: App | Sì | (r) Sì | Sì 3 | download.opensuse.org-Extra | openSUSE BuildService - KDE: Extra | Sì | (r) Sì | Sì 4 | download.opensuse.org-games | openSUSE BuildService - Giochi | Sì | (r) Sì | Sì 5 | download.opensuse.org-oss | Repository principale (fonti) | Sì | (r) Sì | Sì 6 | ftp.gwdg.de-suse | Repository Packman | Sì | (r) Sì | Sì 7 | giochi: strumenti | giochi: strumenti | Sì | (r) Sì | Sì 8 | geeko.ioda.net-amd-fglrx | Driver di grafica AMD/ATI | Sì | (r) Sì | Sì 9 | google-chrome | google-chrome | Sì | (r) Sì | Sì 10 | libdvdcss repository | libdvdcss repository | Sì | (r) Sì | Sì 11 | openSUSE-13.2-0 | openSUSE-13.2-0 | No ---- | Sì 12 | repo-debug | openSUSE-13.2-Debug | No ---- | Sì 13 | aggiornamento-debug-repo | openSUSE-13.2-Update-Debug | No ---- | Sì 14 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No ---- | Sì 15 | repo-non-oss | openSUSE-13.2-Non Oss | Sì | (p) Sì | Sì 16 | repo-oss | openSUSE-13.2-Oss | Sì | (p) Sì | Sì 17 | repo-source | openSUSE-13.2-Source | No ---- | Sì 18 | aggiornamento repo | openSUSE-13.2-Aggiornamento | Sì | (r) Sì | Sì 19 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sì | (p) Sì | E questo è
Se necessario, possiamo elencare per URI ideale se disponiamo di repository locali e vogliamo eseguire il backup o l'aggiornamento.
 # zypper lr -u # | Alias ​​| Nome | Abilitato | Aggiorna | URI - + --------------------------- + ---- - ----------------- + --------- + --------- + ----------- - -------------------------------------------------- - -- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Sì | No cd: ///? device = / dev / disk / by-id / ata-VBOX_CD-ROM_VB2-01700376 2 | repo-debug | openSUSE-13.2-Debug | Sì | Sì | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 3 | aggiornamento-debug-repo | openSUSE-13.2-Update-Debug | No Sì | http://download.opensuse.org/debug/update/13.2/ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No Sì | http://download.opensuse.org/debug/update/13.2-non-oss/ 5 | repo-non-oss | openSUSE-13.2-Non Oss | Sì | Sì | http://download.opensuse.org/distribution/13.2/repo/non-oss/ 6 | repo-oss | openSUSE-13.2-Oss | Sì | Sì | http://download.opensuse.org/distribution/13.2/repo/oss/ 7 | repo-source | openSUSE-13.2-Source | No Sì | http://download.opensuse.org/source/distribution/13.2/repo/oss/ 8 | aggiornamento repo | openSUSE-13.2-Aggiornamento | Sì | Sì | http://download.opensuse.org/update/13.2/ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sì | Sì | http://download.opensuse.org/update/13.2-non-oss/ 
Dovrebbero sapere che i repository sono gestiti in base alla priorità, ad esempio abbiamo il pacchetto mysql nel REPO locale e ufficiale per risparmiare larghezza di banda, una buona pratica è offrire una priorità maggiore ai REPO locali. Possiamo elencare i REPO per priorità con -P
 # zypper lr -P # | Alias ​​| Nome | Abilitato | Aggiorna | Priorità - + --------------------------- + ---- - ----------------- + --------- + --------- + --------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Sì | No 99 2 | repo-debug | openSUSE-13.2-Debug | Sì | Sì | 99 3 | aggiornamento-debug-repo | openSUSE-13.2-Update-Debug | No Sì | 99 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No Sì | 99 5 | repo-non-oss | openSUSE-13.2-Non Oss | Sì | Sì | 85 6 | repo-oss | openSUSE-13.2-Oss | Sì | Sì | 99 7 | repo-source | openSUSE-13.2-Source | No Sì | 99 8 | aggiornamento repo | openSUSE-13.2-Aggiornamento | Sì | Sì | 99 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sì | Sì | 99 

2.2 Aggiornare i repository


Abbiamo un comando globale per aggiornare tutto contemporaneamente o l'opzione di uno specifico
In caso di refresh usiamo tutti ref o refresh
 # zypper refresh O # zypper ref Il repository 'openSUSE-13.2-0' è aggiornato. Il repository 'openSUSE-13.2-Debug' è aggiornato. Il repository 'openSUSE-13.2-Non-Oss' è aggiornato. Il repository 'openSUSE-13.2-Oss' è aggiornato. Il repository 'openSUSE-13.2-Update' è aggiornato. Il repository 'openSUSE-13.2-Update-Non-Oss' è aggiornato. Tutti i repository sono stati aggiornati. In caso di aggiornamento di uno specifico, ad esempio Non-oss # zypper refresh repo-non-oss Il repository 'openSUSE-13.2-Non-Oss' è aggiornato. I repository specificati sono stati aggiornati.
A volte zypper non consente l'aggiornamento tramite certificati di sicurezza che possiamo forzare in quel caso con -f
 # zypper ref -f repo-non-oss Forzare l'aggiornamento dei metadati non elaborati Recupero dei metadati del repository 'openSUSE-13.2-Non-Oss'… [fatto] Forzare la creazione della cache del repository Creazione del repository 'openSUSE-13.2-Non-Oss' della cache… [fatto] I repository specificati sono stati aggiornati. 

2.3 Modifica repository


Quando parliamo di modifica, intendo abilitare o disabilitare un REPO o modificarne la priorità prima di modificare qualsiasi REPO, dobbiamo sapere che in Zypper ogni repository ha un ID univoco che viene utilizzato per abilitare un REPO, possiamo elencare il suo numero con zypper lr .
 # zypper lr # | Alias ​​| Nome | Abilitato | Aggiorna - + --------------------------- + ---- - ----------------- + --------- + -------- 1 | openSUSE-13.2-0 | openSUSE-13.2-0 | Sì | N. 2 | repo-debug | openSUSE-13.2-Debug | Sì | Sì 3 | aggiornamento-debug-repo | openSUSE-13.2-Update-Debug | No Sì 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No Sì 5 | repo-non-oss | openSUSE-13.2-Non Oss | Sì | Sì 6 | repo-oss | openSUSE-13.2-Oss | No Sì 7 | repo-source | openSUSE-13.2-Source | No Sì 8 | aggiornamento repo | openSUSE-13.2-Aggiornamento | Sì | Sì 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Sì | E questo è
In caso di disabilitazione dell'ID 6, che sarebbe Oss, usiamo
 # zypper mr -d 6 Il repository 'repo-oss' è stato disabilitato con successo.
Per abilitarlo di nuovo usiamo -e esempio
 # zypper mr -e 6 Il repository 'repo-oss' è stato abilitato con successo. 
Passiamo a opzioni più avanzate, ad esempio abilitiamo l'aggiornamento automatico e mettiamo una priorità di 85 al repository non-oss.
 # zypper mr -rk -p 85 repo-non-oss La priorità 'repo-non-oss' del repository è stata lasciata invariata (85) Nulla da cambiare per il repository 'repo-non-oss'.
Oppure possiamo limitare la memorizzazione nella cache di tutti i repository nel caso in cui siamo a corto di spazio.
 # zypper mr -Ka La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'openSUSE-13.2-0'. La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'repo-debug'. La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'repo-debug-update'. La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'repo-debug-update-non-oss'. La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'repo-non-oss'. La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'repo-oss'. La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'repo-source'. La memorizzazione nella cache dei file RPM è stata disabilitata per il "repo-update" del repository. La memorizzazione nella cache dei file RPM è stata disabilitata per il repository 'repo-update-non-oss'.
Nel caso in cui vogliamo riattivarli li usiamo.
 # zypper mr -ka La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'openSUSE-13.2-0'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug-update'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug-update-non-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-non-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-source'. La memorizzazione nella cache dei file RPM è stata abilitata per il "repo-update" del repository. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-update-non-oss'.
Ma possiamo anche filtrare tra repository locale e remoto ed è possibile disabilitare la memorizzazione nella cache solo del repository remoto.
 # zypper mr -Kt La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug-update'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug-update-non-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-non-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-source'. La memorizzazione nella cache dei file RPM è stata abilitata per il "repo-update" del repository. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-update-non-oss'.
Per riattivarli usiamo quasi lo stesso argomento ma con K in minuscolo.
 # zypper mr -kt La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug-update'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-debug-update-non-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-non-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-oss'. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-source'. La memorizzazione nella cache dei file RPM è stata abilitata per il "repo-update" del repository. La memorizzazione nella cache dei file RPM è stata abilitata per il repository 'repo-update-non-oss'.

2.4 Aggiunta di REPO con Zypper


Stiamo per aggiungere repository, non confondere con l'abilitazione, è consigliabile aggiungere REPO con l'attuale controllo GPG per evitare di essere vittime di attacchi.
Iniziamo aggiungendo un REPO ufficiale ma dalla vecchia versione di Opensuse.
 # zypper ar http://download.opensuse.org/update/11.1/ update Aggiunta di 'aggiornamento' al repository…. [fatto] 'aggiornamento' del repository aggiunto con successo Abilitato: Sì Aggiornamento automatico: No Controllo GPG: Sì URI: http: // download.opensuse.org/update/11.1/
Nota che Zypper ci fornisce un riepilogo del REPO dopo che l'opzione GPG è stata aggiunta in modo importante.
Nel caso in cui ti trovi intrappolato con nomi REPO simili, possiamo modificare il suo ALIAS per identificarlo meglio, diciamo che vogliamo cambiare il nome del repository 10 in upd8, prima dobbiamo sapere che il suo ID nel mio caso è 10 e poi lanciamo
 # zypper nr 10 upd8 Repository 'update' rinominato in 'upd8'.

2.5 Rimozione dei repository


Per rimuovere usiamo rr o removerepo, dopo aver eliminato un REPO non saremo in grado di recuperarlo senza conoscerne l'indirizzo di origine, fai attenzione qui.
 # zypper rr upd8 # Rimozione del repository 'upd8'… [fatto] Il repository 'upd8' è stato rimosso. 
3 Gestione dei pacchetti con Zypper
Con Zypper possiamo semplificare molte delle funzioni RPM, parleremo di tutta la sua gestione dei pacchetti.

3.1 Installa un pacchetto con Zypper


Per installare un nuovo pacchetto che usiamo o installeremo faremo l'esempio con il browser firefox.
 # zypper in MozillaFirefox Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 128 NUOVI pacchetti: 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-inuktitdule immodule-thai gtk2-immodule-vietnamita gtk2-metatheme-adwaita gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theming-theme-branding-libatk 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 libkgtbgt2 libkberraject2 libcanberra-gtk3-module 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_0-0 libgtread- 2_0-0 libgtreamer 2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg.webp8 libjson-c2 liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborc-0_4-0 libpackagekit-glib2-18 libpango-1_0pix3-0 libpciasccess0 libfpulto1_0pix1-0 libpciasccess0 libilepulto1_0pix1-0 libpciasccess0 libfpulto1_0pix1-0 libpciasccess0 libfpulto libstartup-notifica-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 render 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 comune tablewa-GL0M Mesapiillax1-MesagGL086 libitamex-GLM0 Mesa irefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop I seguenti 10 pacchetti consigliati sono stati selezionati 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 nuovi pacchetti da installare. Dimensione complessiva del download: 77,2 MiB. Già memorizzato nella cache: 0 B Dopo l'operazione, verranno utilizzati ulteriori 200.0 MiB. Continua? [s / n /? mostra tutte le opzioni] (y): y Recupero pacchetto cantarell-fonts-0.0.16-1.1.noarch (1/128), 74.1 KiB (115,6 KiB decompresso) Recupero: cantarell-fonts-0.0.16-1.1.noarch.rpm ….[Fatto (63.4 KiB/s)] Recupero pacchetto hicolor-icon-theme-0.13-2.1.2.noarch (2/128), 40.1 KiB (50.5 KiB non imballato) Recupero: hicolor-icon-theme-0.13-2.1 .2.noarch.rpm… [fatto] Recupero del pacchetto sound-theme-freedesktop-0.8-7.1.2.noarch (3/128), 372.6 KiB (460.3 KiB spacchettato)
Possiamo persino installare una versione di un pacchetto specifico.
 # zypper in 'gcc <5.1' Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 13 NUOVI pacchetti: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmp.webpc3 libmp.webpfr4 libtsan0-gcc49 13 nuovi pacchetti da installare. Dimensione complessiva del download: 14,5 MiB. Già memorizzato nella cache: 0 B Dopo l'operazione, verranno utilizzati ulteriori 49,4 MiB. Continua? [s / n /? mostra tutte le opzioni] (y): y 
Poiché sappiamo che i pacchetti sono precompilati per varie architetture, possiamo installare una versione specifica, può essere utile se abbiamo 64 bit ma un software funziona solo con 32 bit, è meglio creare un PATH per 32 bit e quindi installare il pacchetto.
 # zypper in gcc.i586 Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 13 NUOVI pacchetti: cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libfrmpc3 lib1 -gcc49 libmp.webpc3 libmp.webpfr4 -gcc49 13 nuovi pacchetti da installare. Dimensione complessiva del download: 14,5 MiB. Già memorizzato nella cache: 0 B Dopo l'operazione, verranno utilizzati ulteriori 49,4 MiB. Continua? [s / n /? mostra tutte le opzioni] (y): y Recupero del pacchetto libasan0-4.8.3 + r212056-2.2.4.x86_64 (1/13), 74,2 KiB (166.9 KiB spacchettato) Recupero: libasan0-4.8.3 + r212056-2.2.4 .x86_64.rpm… [done (79.2 KiB/s)] Recupero del pacchetto libatomic1-gcc49-4.9.0 + r211729-2.1.7.x86_64 (2/13), 14,3 KiB (26,1 KiB spacchettato) Recupero: libatomic1-gcc49- 4.9.0 + r211729-2.1.7.x86_64.rpm… [fatto (55.3 KiB/s)]
Per installare una versione e un'architettura usiamo.
 # zypper in 'gcc.i586 <5.1' Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti…….
È possibile installare un pacchetto da un REPO specifico. Esempio Cercherò il pacchetto libxinel dal REPO amarok per una migliore compatibilità.
 # zypper in amarok upd: libxine1 Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 202 NUOVI pacchetti: amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query- caricatori 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-openSUSE- - kdelibs4 kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l… 
È possibile utilizzare i caratteri jolly per le ricerche
 # zypper in php5 * Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Problema: php5-5.6.1-18.1.x86_64 richiede smtp_daemon, ma questo requisito non può essere fornito provider non installabili: 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- update] Soluzione 1: verranno eseguite le seguenti azioni: non installare php5-5.6.1-18.1.x86_64 non installare php5-pear-Auth_SASL-1.0.6-7.1.3.noarch non installare php5-pear-Horde_Http- 2.0.1-6.1.3.noarch non installa php5-pear-Horde_Image-2.0.1-6.1.3.noarch non installa php5-pear-Hor de_Kolab_Format-2.0.1-6.1.3.noarch non installa php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch non installa php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch non installa php5-pear-Horde_Mime-2.0.2-6.1.3.noarch non installa php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch non installa php5-pear-Horde_Pdf-2.0.1-6.1.3. noarca….
Come ho detto prima è possibile utilizzare i gruppi ad esempio per installare l'intero stack di lamp-server
 # zypper in -t pattern lamp_server ading dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 29 NUOVI pacchetti: 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-Protocol-https perl-Net-HTTP perl-Net-SSLeay perl-Tie-IxHash perl -TimeDate perl-URI perl-WWW-RobotRules yast2-http-server Verrà installato il seguente NUOVO pattern: lamp_server I seguenti 10 pacchetti consigliati sono stati selezionati 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 nuovi pacchetti da installare. Dimensione complessiva del download: 7,2 MiB. Già memorizzato nella cache: 1,2 MiB Dopo l'operazione, verranno utilizzati ulteriori 34,7 MiB. Continua? [s / n /? mostra tutte le opzioni] (e):
Un'opzione possibile e utile è installare un nuovo pacchetto e rimuovere la sua alternativa, ad esempio installa nano e rimuovi vi.
 # zypper in nano -vi Caricamento dei dati del repository… Lettura dei pacchetti installati… '-vi' non trovato nei nomi dei pacchetti. Capacità di prova. Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 2 NUOVI pacchetti: nano nano-lang Il seguente pacchetto verrà RIMOSSO: vim Il seguente pacchetto consigliato è stato selezionato automaticamente: nano-lang 2 nuovi pacchetti da installare, 1 da rimuovere. Dimensione complessiva del download: 550.0 KiB. Già memorizzato nella cache: 0 B Dopo l'operazione, verranno liberati 463.3 KiB. Continua? [s / n /? mostra tutte le opzioni] (e):… 
Se abbiamo scaricato un pacchetto RPM esternamente e vogliamo installarlo con zypper per risolverne le dipendenze (consigliato) avviamo
 zypper in teamviewer * .rpm Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 24 NUOVI pacchetti: 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-librex3bit-librren32bit-librren32bitramafix32bitX librren32fixrama libXtst6-32bit libz1-32bit teamviewer Il seguente pacchetto consigliato è stato selezionato automaticamente: alsa-oss-32bit 24 nuovi pacchetti da installare. Dimensione complessiva del download: 41,2 MiB. Già memorizzato nella cache: 0 B Dopo l'operazione, verranno utilizzati 119,7 MiB aggiuntivi. Continua? [s / n /? mostra tutte le opzioni] (e):… 

3.2 Rimuovere i pacchetti con Zypper


Per rimuovere i pacchetti possiamo usare zypper remove o semplicemente rm per esempio rimuoveremo il pacchetto apache2.
 # zypper remove apache2 Oppure # zypper rm apache2 Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… I seguenti 2 pacchetti verranno RIMOSSI: apache2 apache2-prefork 2 pacchetti da rimuovere. Dopo l'operazione, saranno liberati 4.2 MiB. Continua? [s / n /? mostra tutte le opzioni] (y): y (1/2) Rimozione apache2-2.4.10-19.1… [fatto] (2/2) Rimozione apache2-prefork-2.4.10-19.1…. [fatto] 

3.3 Aggiorna i pacchetti usando Zypper


Possiamo usare il comando universale zypper up per aggiornare tutto.
 # zypper up OPPURE # zypper update Caricamento dei dati del repository… Lettura dei pacchetti installati… Niente da fare.
Oppure aggiorna solo un pacchetto specifico, ideale in un ambiente di produzione controllato.
 # zypper up apache2 openssh Caricamento dei dati del repository… Lettura dei pacchetti installati… Nessun candidato all'aggiornamento per 'apache2-2.4.10-19.1.x86_64'. La versione più alta disponibile è già installata. Nessun candidato all'aggiornamento per 'openssh-6.6p1-5.1.3.x86_64'. La versione più alta disponibile è già installata. Risoluzione delle dipendenze del pacchetto… Niente da fare.
Ogni volta che lanciamo uno zypper in, verifica che il pacchetto sia installato, se è installato, verifica se è aggiornato.
 # zypper in mariadb Caricamento dei dati del repository… Lettura dei pacchetti installati… 'mariadb' è già installato. Nessun candidato all'aggiornamento per 'mariadb-10.0.13-2.6.1.x86_64'. La versione più alta disponibile è già installata. Risoluzione delle dipendenze del pacchetto… Niente da fare.
Se abbiamo problemi quando installiamo un pacchetto che è molto raro, possiamo provare a installare direttamente dal sorgente nel più puro stile arch linux. Usiamo zypper source-install o zypper si.
 # zypper si mariadb Lettura dei pacchetti installati… Caricamento dei dati del repository… Risoluzione delle dipendenze dei pacchetti… Verranno installati i seguenti 36 NUOVI pacchetti: 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 libttavel4 make-gccread-devel4 make-gccline-49 devel zcib config tavel-devel zcib site config-devel-devel-devel-devel -devel Verrà installato il seguente pacchetto sorgente: mariadb 36 nuovi pacchetti da installare, 1 pacchetto sorgente. Dimensione complessiva del download: 71,5 MiB. Già memorizzato nella cache: 129,5 KiB Dopo l'operazione, verranno utilizzati 183,9 MiB aggiuntivi. Continua? [s / n /? mostra tutte le opzioni] (y): y
4 Usa Zypper negli script automatici.
Tutti i comandi precedenti richiedono l'interazione dell'utente e non saremo in grado di aggiungerli agli script ma non preoccuparti parleremo di quali opzioni abbiamo a disposizione.

4.1 Installa un pacchetto per gli script.


Usiamo l'opzione --non-interactive e continueremo con l'esempio di mariadb.
 # zypper --non-interactive in mariadb Caricamento dei dati del repository… Lettura dei pacchetti installati… 'mariadb' è già installato. Nessun candidato all'aggiornamento per 'mariadb-10.0.13-2.6.1.x86_64'. La versione più alta disponibile è già installata. Risoluzione delle dipendenze del pacchetto… Niente da fare.

4.2 Rimuovere un pacchetto per gli script.


Usiamo la stessa opzione ma con rm.
 # zypper --non-interactive rm mariadb Caricamento dei dati del repository… Lettura dei pacchetti installati… Risoluzione delle dipendenze dei pacchetti… Il seguente pacchetto verrà RIMOSSO: mariadb 1 pacchetto da rimuovere. Dopo l'operazione verranno liberati 71,8 MiB. Continua? [s / n /? mostra tutte le opzioni] (y): y (1/1) Rimozione mariadb-10.0.13-2.6.1… [fatto] 
5 Cancella la cache con Zypper
Di default zypper ha una quota per la cache quando questa quota raggiunge il massimo, la nuova cache sostituisce quella vecchia ma se abbiamo problemi ad installare un pacchetto potrebbe essere corrotto al momento del download ed è consigliabile pulire la cache.

5.1 Cancella cache REPO


Qui eliminiamo solo la cache scaricata da REPO.
 # zypper clean Tutti i repository sono stati ripuliti.

5.2 Cancella metadati e cache


La pulizia dei metadati può risolvere alcuni problemi.
 # zypper clean -a Tutti i repository sono stati ripuliti. 
6 Aggiorna Distro usando Zypper
Infine, è possibile eseguire l'aggiornamento a una nuova versione di SuSE, ad esempio abbiamo OpenSuSE 12.3 e vogliamo migrare alla 13.2 che abbiamo lanciato.
 # zypper dist-upgrade Stai per eseguire un aggiornamento della distribuzione con tutti i repository abilitati. Assicurati che questi repository siano compatibili prima di continuare. Vedere 'man zypper' per maggiori informazioni su questo comando. Creazione della cache del repository 'openSUSE-13.2-0'… [fatto] Recupero dei metadati del repository 'openSUSE-13.2-Debug'… [fatto] Creazione della cache del repository 'openSUSE-13.2-Debug'… [fatto] Recupero del repository 'openSUSE-13.2-Non -Metadati Oss'…. [Fatto] Creazione della cache 'openSUSE-13.2-Non-Oss' del repository… [Fatto] 
Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave