The wikis are now using the new authentication system.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/

SDB:Utilizzo di Zypper in openSUSE 12.2

(Reindirizzamento da SDB:Zypper usage 12.2)
Questo articolo spiega come usare Zypper, il gestore di pacchetti a riga di comando che fa uso della libreria Libzypp. Contiene informazioni complementari alla pagina di manuale di Zypper (man zypper). Quello che non puoi trovare qui dovrebbe essere disponibile nella pagina di manuale e viceversa.
Versione: 12.2Questo articolo riguarda zypper 1.7.3 presente su openSUSE 12.2. Per le altre versioni vedi Versioni di Zypper.

Indice

Guida rapida

Questi sono i comandi probabilmente usati pi√Ļ di frequente:

zypper                 # stampa la lista delle opzioni globali e dei comandi disponibili
zypper help search     # stampa la guida per il comando search
zypper lp              # per vedere quali patch sono necessarie
zypper patch           # per applicare le patch necessarie
zypper se sqlite       # per cercare il pacchetto sqlite
zypper rm sqlite2      # per rimuovere il pacchetto sqlite2
zypper in sqlite3      # per installare il pacchetto sqlite3
zypper in yast*        # per installare tutti i pacchetti corrispondenti a yast*
zypper up              # per effettuare l'aggiornamento di tutti i pacchetti installati con le nuove versioni, ove possibile

Cheat sheet

Le informazioni contenute in questo articolo, e altre, sono anche disponibili sotto forma di cheat sheet, ma solo per il wiki di openSUSE in lingua inglese. Se interessati visitare la pagina in inglese.


Uso Generale

La sintassi generale di zypper è:

# zypper [opzioni-globali] comando [opzioni-comando] [argomenti] ...

Le parti racchiuse tra parentesi quadre non sono richieste, cos√¨ il modo pi√Ļ semplice per eseguire zypper √® digitare il suo nome seguito da un comando. Per esempio, per applicare le patch necessarie al sistema digita:

# zypper update -t patch

In aggiunta puoi scegliere tra una o pi√Ļ opzioni globali digitandole subito prima del comando: (avvia il comando, ma non chiedermi nulla, decidi da solo)

# zypper --non-interactive patch

Per usare le opzioni specifiche di un particolare comando, digitale dopo il comando: (applica le patch necessarie al sistema ma non chiedermi la conferma di ogni licensa, le ho già lette tutte)

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

Qualche comando richiede uno o pi√Ļ argomenti: (installa o aggiorna il pacchetto mplayer)

# zypper install mplayer

Alcune delle opzioni richiedono anche un argomento: (cerca per pattern/modelli)

# zypper search -t pattern

Combinando tutto quello elencato qui sopra: (installa mplayer e amarok usando solo il repository factory, visualizza informazioni dettagliate sul processo)

# zypper -v install --repo factory mplayer amarok

Richieste Utente

Ogni volta che necessita di qualche intervento da parte dell'utente, zypper elenca le possibili risposte tra parentesi quadre vicine al testo della richiesta. Per scegliere la risposta predefinita premi su <invio> (la risposta predefinita è stampata in lettere maiuscole (ad eccezione dei caratteri non ascii)). Per alcune richieste è anche disponibile un aiuto, in quel caso c'è un punto di domanda "?" elencato come una possibile risposta. Per far usare a zypper le risposte predefinite senza interazione utente, usa l'opzione globale --non-interactive.


Dizionario

  • repository - directory locale o remota contenente pacchetti e varie informazioni sugli stessi (metadati del pacchetto). I repository erano precedentemente conosciuti come sorgenti di installazione , servizi o cataloghi).
  • alias - l'alias di un repository √® una versione abbreviata del nome di un repository da usare nei comandi e nelle opzioni per la gestione dei repository come removerepo o --repo.
  • package (pacchetto) - pacchetto software (pacchetto RPM o pacchetto sorgente). Comunemente si fa anche riferimento a patch, pattern (modelli), e prodotti come differenti tipi di pacchetti.
  • patch - rappresenta un pacchetto o un gruppo di pacchetti necessari per installare un aggiornamento (un bug fix la maggior parte delle volte).
  • pattern (modello) - rappresenta un gruppo di pacchetti. Per esempio un pattern Server Http dovrebbe avere le dipendenze definite in modo tale che tutti i pacchetti necessari per avviare e gestire un server http vengano attivati per l'installazione al momento di installare il modello (pattern).
  • product (prodotto) - rappresenta il prodotto completo (p.es. 'openSUSE 12.2').

Comandi

zypper fornisce un numero di comandi che possono essere raggruppati nelle seguenti categorie:

  • gestione repository
    refresh, repos, addrepo, removerepo, modifyrepo, namerepo
    refresh-services, services, addservice, removeservice, modifyservice
  • gestione pacchetti
    install, remove, source-install
  • gestione aggiornamenti
    patch, list-patches, patch-check, patches, update, list-updates, dist-upgrade
  • interrogazione
    search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products
  • blocco
    locks, addlock, removelock, cleanlocks
  • utilit√†
    verify, install-new-recommends
  • altro
    help, licenses, versioncmp, targetos

Stampare a video la guida

Per prima cosa, è utile sapere come ricevere aiuto. Per stampare a video la guida generale (lista dei comandi e opzioni globali), digita solo zypper senza alcuna opzione o argomento. Per stampare la guida per un comando specifico, usa:

# zypper [command] --help

Nota che, per praticità, è anche possibile usare -h al posto di --help come opzione.

Gestione dei repository

Puoi specificare i repository esistenti per mezzo dei numeri ad essi associati nell'elenco generato da zypper lr, tramite i corrispettivi alias, o gli indirizzi URI. Quando usi i numeri, assicurati sempre di controllare prima con zypper lr, poiché il numero potrebbe cambiare dopo alcune modifiche fatte alla lista dei repository.

Elenco dei repository impostati

repos o lr

Output d'esempio (i comandi se lanciati da root probabilmente visualizzeranno l'output in inglese):

$ zypper lr
#  | Alias                            | Name                               | Enabled | Refresh
---+----------------------------------+------------------------------------+---------+--------
 1 | Mewtwo:KDE:Extra                 | KDE:Extra                          | Yes     | Yes    
 2 | Mewtwo:repo-ati                  | repo-ati                           | Yes     | Yes    
 3 | Mewtwo:repo-debug                | openSUSE-12.2-Debug                | No      | Yes    
 4 | Mewtwo:repo-debug-update         | openSUSE-12.2-Update-Debug         | No      | Yes    
 5 | Mewtwo:repo-debug-update-non-oss | openSUSE-12.2-Update-Debug-Non-Oss | No      | Yes    
 6 | Mewtwo:repo-libdvdcss            | repo-libdvdcss                     | Yes     | Yes    
 7 | Mewtwo:repo-non-oss              | openSUSE 12.2 Oss                  | No      | Yes    
 8 | Mewtwo:repo-oss                  | openSUSE-12.2-Oss                  | Yes     | Yes    
 9 | Mewtwo:repo-packman              | packman                            | Yes     | Yes    
10 | Mewtwo:repo-source               | openSUSE-12.2-Source               | Yes     | Yes    
11 | Mewtwo:repo-update               | openSUSE-12.2-Update               | Yes     | Yes    
12 | Mewtwo:repo-update-non-oss       | openSUSE-12.2-Update-Non-Oss       | Yes     | Yes    
13 | Mewtwo:security                  | security                           | Yes     | Yes   
$ zypper lr 5 4
Alias          : Mewtwo:repo-debug-update-non-oss                       
Name           : openSUSE-12.2-Update-Debug-Non-Oss                     
URI            : http://download.opensuse.org/debug/update/12.2-non-oss/
Enabled        : No                                                     
Priority       : 99                                                     
Auto-refresh   : On                                                     
Keep Packages  : Off                                                    
Type           : rpm-md                                                 
GPG Check      : On                                                     
GPG Key URI    :                                                        
Path Prefix    :                                                        
Parent Service : Mewtwo                                                 
MD Cache Path  : /var/cache/zypp/raw/Mewtwo:repo-debug-update-non-oss   

Alias          : Mewtwo:repo-debug-update                       
Name           : openSUSE-12.2-Update-Debug                     
URI            : http://download.opensuse.org/debug/update/12.2/
Enabled        : No                                             
Priority       : 99                                             
Auto-refresh   : On                                             
Keep Packages  : Off                                            
Type           : rpm-md                                         
GPG Check      : On                                             
GPG Key URI    :                                                
Path Prefix    :                                                
Parent Service : Mewtwo                                         
MD Cache Path  : /var/cache/zypp/raw/Mewtwo:repo-debug-update

Altri esempi:

zypper lr -u # per includere anche gli URI dei repository nella tabella
zypper lr -d # per includere molte altre proprietà dei repository nella tabella
zypper lr -P # per includere anche la priorità dei repository e ordinare la lista secondo tale parametro
zypper lr -e my # esporta tutte le definizioni dei repository nel file my.repo

Aggiungere repository

addrepo o ar

Prima che qualunque pacchetto possa essere installato, deve essere impostato almeno un repository. Per aggiungere un repository, usa il comando addrepo:

Output d'esempio:

Adding repository 'vlc' [done]
Repository 'vlc' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.videolan.org/pub/vlc/SuSE/11.1

Altri esempi:

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.1/X11:XGL.repo  # via file .repo
zypper ar -c ftp://some.download.site myalias   # controlla il repository prima di aggiungerlo
zypper ar mia/dir/con/rpm locale                # aggiunge come repository una directory locale contenente file rpm

Consulta anche Libzypp per l'elenco dei supporti di installazione (o media nella versione inglese) e degli URI supportati.

Aggiornare i epository

refresh o ref

Dopo aver aggiunto un repository o quando un repository diventa vecchio, deve essere aggiornato (ovvero rinfrescato, in base alla terminologia usata da libzypp). Questo significa effettuare il download dei metadati dei pacchetti e pre-processare i dati nella cache .solv, per poterne fare poi una lettura veloce.

# zypper refresh
Downloading repository 'Packman 11.1' metadata [done]
Building repository 'Packman 11.1' cache [done]
Downloading repository 'Updates for 11.1' metadata [done]
Building repository 'Updates for 11.1' cache [done]
Repository 'openSUSE-11.1-Oss' is up to date.
All repositories have been refreshed.

Se autorefresh è abilitato per un repository, non devi preoccuparti per l'aggiornamento, in quanto quest'ultimo avviene automaticamente quando richiesto. Comunque, alcune persone preferiscono avere il controllo di quando effettuare l'aggiornamento (p.es. per evitare di attendere che termini l'aggiornamento quando vuoi solo vedere il risultato di "zypper info krusader"), così disabilitano l'autorefresh. Guarda man zypper per maggiori dettagli.

Altri esempi:

zypper ref packman main  # puoi anche specificare quali repository aggiornare
zypper ref -f upd        # forza l'aggiornamento del repository "upd"

Rimuovere i repository

removerepo o rr

# zypper rr vlc 1 23 foo
Repository 23 not found by alias, number or URI.
Repository foo not found by alias, number or URI.
Removing repository 'repo-debug' [done]
Repository 'repo-debug' has been removed.
Removing repository 'vlc' [done]
Repository 'vlc' has been removed.

Modificare i repository

modifyrepo o mr

Disabilita il repository n.6:

# zypper mr -d 6
Repository 'repo-non-oss' has been sucessfully disabled.

Abilita aggiornamento automatico (autorefresh) e memorizzazione su disco (caching) dei file rpm per il repository 'packman' e imposta la sua priorità a 70:

# zypper mr -rk -p 70 packman
Autorefresh has been enabled for repository 'packman'.
RPM files caching has been enabled for repository 'packman'.
Repository 'packman' priority has been set to 70.

Disabilita il salvataggio su cache (caching) dei file RPM per tutti i repository:

# zypper mr -Ka
Nothing to change for repository 'local'.
RPM files caching has been disabled for repository 'packman'.
Nothing to change for repository 'fate'.
Nothing to change for repository 'upd'.
Nothing to change for repository 'repo-oss'.
Nothing to change for repository 'repo-non-oss'.

Abilita il salvataggio su cache (caching) dei file rpm per tutti i repository:

# zypper mr -ka
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'Main Repository (OSS)'.
RPM files caching has been enabled for repository 'Main Repository (NON-OSS)'.
RPM files caching has been enabled for repository 'openSUSE-11.1-Updates'.

Rinominare i Repository

namerepo o nr

# zypper nr 3 upd
Repository 'openSUSE-11.1-Updates' renamed to 'upd'.

Questo comando è attualmente in grado di cambiare l'alias del repository. Se desideri cambiare il nome visualizzato del repository, dai uno sguardo al comando mr.

Mantieni gli alias semplici e brevi per usarli con facilit√† come argomenti dei comandi e delle opzioni --repo. L'utilizzo di un alias √® pi√Ļ sicuro che usare il numero di repository (dato che pu√≤ cambiare ed √® facile confondersi) e pi√Ļ semplice che servirsi degli URI (dato che sono lunghi, costringendo a ricorrere al copia e incolla).

Importare ed esportare i repository

repos --export oppure lr -e

Puoi esportare la lista completa dei repository in un file e importarla successivamente su un'altra macchina.

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

Gestione dei servizi

I servizi si collocano al livello immediatamente superiore ai repository e servono a gestire i repository. Invero Libzypp supporta (almeno per ora) un solo tipo di servizio: il Repository Index Service, anche noto come RIS.

Aggiungere un servizio

addservice oppure as

Per aggiungere un servizio digita addservice

Esempio:

# zypper as -t RIS http://mewtwo.domain/ Mewtwo
El servicio 'Mewtwo' se agregó correctamente.

Aggiornare un servizio

refresh-services oppure refs

Subito dopo aver aggiunto un servizio, lo si deve aggiornare per impostare i repository che esso fornisce:

# zypper refs
Actualizando servicio 'Mewtwo'.
A√Īadiendo el repositorio 'KDE:Extra' .......................................................[hecho]
A√Īadiendo el repositorio 'repo-ati' ........................................................[hecho]
A√Īadiendo el repositorio 'openSUSE-12.2-Debug' .............................................[hecho]
A√Īadiendo el repositorio 'openSUSE-12.2-Update-Debug' ......................................[hecho]
A√Īadiendo el repositorio 'openSUSE-12.2-Update-Debug-Non-Oss' ..............................[hecho]
A√Īadiendo el repositorio 'repo-libdvdcss' ..................................................[hecho]
A√Īadiendo el repositorio 'openSUSE-12.2-Oss' ...............................................[hecho]
A√Īadiendo el repositorio 'packman' .........................................................[hecho]
A√Īadiendo el repositorio 'openSUSE-12.2-Source' ............................................[hecho]
A√Īadiendo el repositorio 'openSUSE-12.2-Update' ............................................[hecho]
A√Īadiendo el repositorio 'openSUSE-12.2-Update-Non-Oss' ....................................[hecho]
A√Īadiendo el repositorio 'security' ........................................................[hecho]
Todos los servicios fueron actualizados.

La prima volta che si aggiorna un servizio, si devono abilitare i repository con il comando zypper mr -e -a

Rimuovere un servizio

removeservice oppure rs

Si può rimuovere un servizio usando il comando rs.

Esempio:

# zypper rs Mewtwo
Eliminado servicio 'Mewtwo':
Eliminado el repositorio 'KDE:Extra' .......................................................[hecho]
Eliminado el repositorio 'repo-ati' ........................................................[hecho]
Eliminado el repositorio 'openSUSE-12.2-Debug' .............................................[hecho]
Eliminado el repositorio 'openSUSE-12.2-Update-Debug' ......................................[hecho]
Eliminado el repositorio 'openSUSE-12.2-Update-Debug-Non-Oss' ..............................[hecho]
Eliminado el repositorio 'repo-libdvdcss' ..................................................[hecho]
Eliminado el repositorio 'openSUSE-12.2-Oss' ...............................................[hecho]
Eliminado el repositorio 'packman' .........................................................[hecho]
Eliminado el repositorio 'openSUSE-12.2-Source' ............................................[hecho]
Eliminado el repositorio 'openSUSE-12.2-Update' ............................................[hecho]
Eliminado el repositorio 'openSUSE-12.2-Update-Non-Oss' ....................................[hecho]
Eliminado el repositorio 'security' ........................................................[hecho]
Se eliminó el servicio 'Mewtwo'.

Gestione pacchetti

Selezionare i pacchetti

Ci sono diversi modi con cui è possibile scegliere i pacchetti per l'installazione o la rimozione.

  • in base al nome della capacit√† (capability, in breve il nome della funzionalit√† richiesta)
    zypper in eclipse
    zypper in qt
  • in base al nome della capacit√† o all'architettura o alla versione, o a combinazioni di questi tre parametri
    zypper in 'zypper<0.12.10'
    zypper in zypper.i586=0.12.11
  • in base al nome esatto del pacchetto (--name)
    zypper in -n ftp
  • in base al nome esatto del pacchetto e al repository (implica --name)
    zypper in factory:zypper
  • in base al nome del pacchetto usando i caratteri jolly
    zypper in yast*ftp*
  • specificando un pacchetto .rpm da installare. Il percorso pu√≤ essere relativo o assoluto
  •  zypper in foo.rpm  #Relative path.
    
     zypper in /path/to/somewhere/foo.rpm  #Absolute path
    

Installare i pacchetti

install o in

Puoi installare i pacchetti in base al nome...

# zypper install git
Reading installed packages...

The following NEW packages are going to be installed:
  subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git


Overall download size: 1.1 M. After the operation, additional 4.6 M will be used.
Continue? [YES/no]:
Downloading package subversion-perl-1.5.0-96.1.x86_64 (1/6), 950.0 K (4.1 M unpacked)
Downloading: subversion-perl-1.5.0-96.1.x86_64.rpm [done]
Installing: subversion-perl-1.5.0-96.1 [done]
Downloading package sqlite3-3.5.7-17.1.x86_64 (2/6), 30.0 K (40.0 K unpacked)
Downloading: sqlite3-3.5.7-17.1.x86_64.rpm [done]
Installing: sqlite3-3.5.7-17.1 [done]
Downloading package perl-DBD-SQLite-1.14-41.1.x86_64 (3/6), 44.0 K (103.0 K unpacked)
Downloading: perl-DBD-SQLite-1.14-41.1.x86_64.rpm [done]
Installing: perl-DBD-SQLite-1.14-41.1 [done]
Downloading package git-svn-1.5.4.5-26.1.x86_64 (4/6), 66.0 K (195.0 K unpacked)
Downloading: git-svn-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-svn-1.5.4.5-26.1 [done]
Downloading package git-cvs-1.5.4.5-26.1.x86_64 (5/6), 63.0 K (205.0 K unpacked)
Downloading: git-cvs-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-cvs-1.5.4.5-26.1 [done]
Downloading package git-1.5.4.5-26.1.x86_64 (6/6), 10.0 K (3.0 K unpacked)
Downloading: git-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-1.5.4.5-26.1 [done]

...o alla capacità (capability) che forniscono:

# zypper in MozillaFirefox \< 3
Reading installed packages...
'MozillaFirefox' providing 'MozillaFirefox<3' is already installed.
Nothing to do.
# zypper in MozillaFirefox \>= 3
Reading installed packages...

The following packages are going to be upgraded:
  mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs
mozilla-xulrunner190 MozillaFirefox-translations


The following package is going to be REMOVED:
  mozilla-xulrunner190-lang


Overall download size: 11.0 M. After the operation, 12.9 M will be freed.
Continue? [Y/n/p/?]:
# zypper in 'libqtiff.so()(64bit)'
Reading installed packages...
'libqt4-x11' providing 'libqtiff.so()(64bit)' is already installed.
Nothing to do.

Altri esempi:

zypper in yast*                     # installa tutti i moduli di Yast
zypper in -t pattern lamp_server    # installa il modello (''pattern'') "lamp_server" (i pacchetti necessari per un server LAMP)
zypper in emacs pattern:lamp_server # installa il pacchetto emacs e il pattern lamp_server
zypper in vim -emacs                # installa vim e rimuovi emacs in un sol colpo
zypper in amarok packman:libxine1   # installa libxine1 da packman e amarok da qualunque repository
zypper in bitchx-1.1-81.x86_64.rpm  # installa l'rpm di bitchx dalla directory locale
zypper in -f subversion             # forza la reinstallazione di subversion

Rimuovere i Pacchetti

remove o rm

Il comando remove è molto simile al comando di installazione, ad eccezione del fatto che produce l'effetto contrario.

# zypper remove sqlite
Reading installed packages...

The following packages are going to be REMOVED:
  sqlite3 perl-DBD-SQLite git-cvs git


After the operation, 351.0 K will be freed.
Continue? [YES/no]: n

Pacchetti sorgente e dipendenze di build

source-install o si

# zypper si zypper
Reading installed packages...

The following NEW packages are going to be installed:
  libzypp-devel libsatsolver-devel


The following source package is going to be installed:
  zypper


Overall download size: 1.5 M. After the operation, additional 6.7 M will be used.
Continue? [YES/no]:

Puoi anche installare solo le dipendenze di build (compilazione e creazine pacchetti) o solo i pacchetti sorgente:

zypper si -D zypper    # solo i pacchetti sorgente (senza dipendenze di build)
zypper si -d zypper    # solo le dipendenze di build (senza pacchetti sorgente)

Aggiornare i pacchetti

update o up

I seguenti comandi servono ad aggiornare i pacchetti alle loro versioni disponibili pi√Ļ recenti. Vedi anche il paragrafo gestione degli aggiornamenti per maggiori informazioni.

zypper up                           # aggiorna tutti i pacchetti installati con la versione pi√Ļ recente, per quanto possibile,
zypper up libzypp zypper            # aggiorna ''libzypp'' e ''zypper''
zypper in sqlite3                   # aggiorna ''sqlite3'' o lo installa se non ancora presente

Interrogazione

Cercare tra i pacchetti

search o se

Per impostazione predefinita, il comando search ricerca i pacchetti di ogni tipo, stato o repository, i cui nomi contengano la stringa specificata (il confronto ignora la differenza tra maiscule e minuscle, non essendo case-sensitive):

# zypper se sqlite
Loading repository data...
Reading installed packages...

S | Name                        | Summary                                                        | Type      
--+-----------------------------+----------------------------------------------------------------+-----------
  | dovecot21-backend-sqlite    | SQLite support for Dovecot                                     | package   
  | go-gosqlite                 | Trivial SQLite binding for Go                                  | package   
  | go-gosqlite                 | Trivial SQLite binding for Go                                  | srcpackage
  | go-gosqlite-doc             | API documenation                                               | package   
  | libapr-util1-dbd-sqlite3    | DBD driver for SQLite 3                                        | package   
  | libdbi-drivers-dbd-sqlite3  | SQLite3 driver for libdbi                                      | package   
  | libgda-3_0-sqlite           | Sqlite Provider for GNU Data Access (GDA)                      | package   
  | libgda-5_0-sqlite           | Sqlite Provider for GNU Data Access (GDA)                      | package   
i | libqt4-sql-sqlite           | Qt 4 sqlite plugin                                             | package   
i | libqt4-sql-sqlite-32bit     | Qt 4 sqlite plugin                                             | package   
i | libsqlite3-0                | Shared libraries for the Embeddable SQL Database Engine        | package   
i | libsqlite3-0-32bit          | Shared libraries for the Embeddable SQL Database Engine        | package   
  | mono-data-sqlite            | Database connectivity for Mono                                 | package   
  | pdns-backend-sqlite2        | SQLite 2 backend for pdns                                      | package   
i | perl-DBD-SQLite             | Self-contained RDBMS in a DBI Driver                           | package   
  | perl-DBD-SQLite             | Self-contained RDBMS in a DBI Driver                           | srcpackage
  | perl-DBD-SQLite-devel       | Development files for perl-DBD-SQLite                          | package   
i | php5-sqlite                 | PHP5 Extension Module                                          | package   
  | proftpd-sqlite              | SQLite Module for ProFTPD                                      | package   
  | python-pysqlite             | DB-API 2.0 interface for SQLite 3.x                            | package   
  | python-pysqlite             | DB-API 2.0 interface for SQLite 3.x                            | srcpackage
  | python-pysqlite-debuginfo   | Debug information for package python-pysqlite                  | package   
  | python-pysqlite-debugsource | Debug sources for package python-pysqlite                      | package   
  | qt3-sqlite                  | SQLite Database Plug-In for Qt                                 | package   
  | rubygem-sqlite3             | A Ruby interface for the SQLite3 database engine               | package   
  | rubygem-sqlite3             | A Ruby interface for the SQLite3 database engine               | srcpackage
  | rubygem-sqlite3-doc         | RDoc documentation for sqlite3                                 | package   
  | rubygem-sqlite3-testsuite   | Test suite for sqlite3                                         | package   
i | sqlite2                     | Embeddable SQL Database Engine                                 | package   
  | sqlite2                     | Embeddable SQL Database Engine                                 | srcpackage
  | sqlite2-32bit               | Embeddable SQL Database Engine                                 | package   
  | sqlite2-devel               | Embeddable SQL Database Engine                                 | package   
  | sqlite3                     | Embeddable SQL Database Engine                                 | package   
  | sqlite3                     | Embeddable SQL Database Engine                                 | srcpackage
i | sqlite3-devel               | Embeddable SQL Database Engine                                 | package   
  | sqlite3-tcl                 | Tcl binding for SQLite                                         | package   
  | strongswan-sqlite           | OpenSource IPsec-based VPN Solution                            | package   
  | tntdb3-sqlite               | Tntdb is a c++-class-library for easy database-access - sqlite | package   
  | tntdb3-sqlite-debuginfo     | Debug information for package tntdb3-sqlite                    | package   
  | ulogd2-sqlite3              | SQLite3 output target for ulogd2                               | package   

La lettera i nella prima colonna indica che il pacchetto è già installato sulla macchina locale. Per vedere tutte le versioni disponibili dei pacchetti corrispondenti alla ricerca, usa l'opzione "--details/-s":

# zypper search -s --match-exact VirtualBox
Loading repository data...
Reading installed packages...

S | Name       | Type       | Version      | Arch   | Repository          
--+------------+------------+--------------+--------+---------------------
  | virtualbox | package    | 4.1.18-1.3.1 | x86_64 | openSUSE-12.2-Oss   
  | virtualbox | package    | 4.1.18-1.3.1 | i586   | openSUSE-12.2-Oss   
  | virtualbox | srcpackage | 4.1.18-1.3.1 | noarch | openSUSE-12.2-Source

La lettera i nella prima colonna indica che il programma selezionato è già installato sulla macchina locale, mentre la lettera v nella prima colonna indica che sono disponibili altre versioni del prodotto installato sulla macchina locale.

Altri esempi:

zypper se -dC --match-words RSI   # cerca l'acronimo RSI (in modfo case-sensitive, sensibile alle maiuscole), anche nel sommario e nella descrizione
zypper se 'yast*'                 # visualizza tutti i pacchetti che cominciano con 'yast' (attenzione all'espansione di shell, in caso di dubbi proteggi le stringhe con le virgolette!)
zypper se -r packman              # elenca tutti i pacchetti dal repository packman
zypper se -i sqlite               # mostra tutti i pacchetti installati i cui nomi contengolo la parola 'sqlite'
zypper se -t pattern -r repo-oss  # elenca tutti i modelli (''pattern'') disponibili nel repository 'repo-oss'
zypper se -t product              # elenca tutti i prodotti disponibili

Ottenere informazioni sui pacchetti

info o if

# zypper info amarok
Loading repository data...
Reading installed packages...


Information for package amarok:

Repository: packman
Name: amarok
Version: 2.6.0-7.3
Arch: x86_64
Vendor: http://packman.links2linux.de
Installed: Yes
Status: out-of-date (version 2.6.0-6.9 installed)
Installed Size: 31.0 MiB
Summary: Media Player for KDE
Description: 
Amarok is a media player for all kinds of media. This includes MP3, Ogg
Vorbis, audio CDs, podcasts and streams. Play lists can be stored in
.m3u or .pls files.

Questo comando visualizza informazioni dettagliate sul pacchetto che si chiama 'amarok'.

Altri esempi:

zypper info -t patch MozillaFirefox    # mostra informazioni sulla patch 'MozillaFirefox'
zypper patch-info MozillaFirefox       # lo stesso di sopra
zypper info -t pattern lamp_server     # mostra informazioni sul modello (''pattern'') 'lamp_server'
zypper info -t product openSUSE-FTP    # mostra informazioni sul prodotto specificato

Dipendenze

what-provides o wp

Per elencare tutti fornitori di una specificata capacità (funzionalità di pacchetto, nella versione inglese capabilty), usa:

# zypper wp firefox
Loading repository data...
Reading installed packages...
S | Name           | Type    | Version       | Arch   | Repository          
--+----------------+---------+---------------+--------+---------------------
i | MozillaFirefox | package | 15.0.1-2.11.1 | x86_64 | openSUSE-12.2-Update
v | MozillaFirefox | package | 15.0-2.7.1    | x86_64 | openSUSE-12.2-Update
v | MozillaFirefox | package | 14.0.1-2.4.1  | x86_64 | openSUSE-12.2-Oss   
v | MozillaFirefox | package | 15.0.1-2.11.1 | i586   | openSUSE-12.2-Update
v | MozillaFirefox | package | 15.0-2.7.1    | i586   | openSUSE-12.2-Update
v | MozillaFirefox | package | 14.0.1-2.4.1  | i586   | openSUSE-12.2-Oss   

Questo comando è simile a rpm -q --whatprovides firefox, ma rpm è solo in grado di interrogare il database RPM (il database dei pacchetti installati). Zypper, al contrario, ti informerà dei fornitori che rendono disponibile quella capacità da ogni repository, non solo da quelli installati.

Altre Interrogazioni

I comandi patches, packages, patterns e products sono simili a search -s -t [patch,package,pattern,product], ad eccezione del fatto che visualizzano alcune informazioni aggiuntive specifiche del corrispondente tipo di pacchetto. Per esempio patches mostra anche lo stato delle patch (Needed/Security/Not Applicable).

I comandi list-updates e patch-check sono discussi nel paragrafo sulla gestione degli aggiornamenti.

Pacchetti bloccati

locks o ll addlock o al removelock o rl cleanlocks or cl

Il blocco dei pacchetti ha lo scopo di prevenire cambiamenti ai pacchetti nel sistema. Ai pacchetti cui si applica un blocco attivo non è possibile cambiare il proprio stato di installazione; pacchetti installati non possono essere rimossi o aggiornati, pacchetti non ancora installati non possono essere installati.

Per bloccare tutti i pacchetti che cominciano con yast2, usa:

# zypper al 'yast2*'
 Reading installed packages...
 Specified lock has been successfully added.

Di nuovo, fai attenzione all'espansione di shell, usa le virgolette se c'è la possibilità che a yast* corrispondano qualche file o directory nella directory di lavoro.

Per elencare i blocchi correntementi attivi:

# zypper ll
#  | Name                          | Type    | Repository
---+-------------------------------+---------+-----------
1  | PackageKit-gstreamer-plugin   | package | (any)     
2  | PackageKit-backend-zypp       | package | (any)     
3  | PackageKit-branding-openSUSE  | package | (any)     
4  | apper                         | package | (any)     
5  | PackageKit-browser-plugin     | package | (any)     
6  | libpackagekit-glib2-14        | package | (any)     
7  | PackageKit-gtk3-module        | package | (any)     
8  | libpackagekit-qt2-2           | package | (any)     
9  | pk-update-icon                | package | (any)     
10 | libpackagekit-qt2-2-32bit     | package | (any)     
11 | libpackagekit-qt2-devel-32bit | package | (any)     
12 | gnome-packagekit              | package | (any)     
13 | libpackagekit-qt2-devel       | package | (any)     
14 | PackageKit                    | package | (any)

To remove a lock, do:

# zypper rl nano
1 lock has been successfully removed.

Altri esempi:

zypper al zypper                   # blocca il pacchetto 'zypper' (corrispondenza esatta)
zypper al -r repo-oss virtualbox*  # limita il blocco al repository 'repo-oss' (consente l'installazione da altri repo)
zypper rl 3                        # rimuove il blocco in base al numero

Puoi agire sui blocchi modificando direttamente il file dei blocchi.

Utilità

Verificare le dipendenze

verify o ve

Occasionalmente può succedere di ritrovarsi con il sistema che presenti dei problemi per quanto concerne le dipendenze dei pacchetti. Se qualcuna delle tue applicazioni fallisce l'avvio con un messaggio che indica la mancanza di qualcosa, questo è allora un problema da verificare con zypper:

$ rpm -e --nodeps mozilla-xulrunner190 $ firefox
Could not find compatible GRE between version 1.9.0 and 1.9.0.
# zypper ve
Reading installed packages...
Some of the dependencies of installed packages are broken. In order to fix these dependencies, the following actions need to be taken:

The following NEW package is going to be installed:
  mozilla-xulrunner190


Overall download size: 6.5 M. After the operation, additional 23.5 M will be used.
Continue? [YES/no]: y

Installare i nuovi pacchetti raccomandati

install-new-recommends or inr

Questo comando rileva e installa i pacchetti raccomandati aggiunti recentemente per i pacchetti che hai già installato. Questo fornisce un modo semplice per ottenere nuovi pacchetti di traduzione per il proprio software o driver per l'hardware recentemente aggiunto.

# zypper inr
Reading installed packages...

The following NEW packages are going to be installed:
  kdebase4-openSUSE-lang bundle-lang-common-cs


Overall download size: 534.0 K. After the operation, additional 1.9 M will be used.
Continue? [YES/no]:

Controllo dei processi

ps

Questo comando mostra i processi che stanno usando i file eliminati dall'aggiornamento recente dei pacchetti, o dalla loro rimozione recente di questi.

There are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs.
# zypper ps
The following running processes use deleted files:

PID   | PPID | UID  | Login   | Command                       | Service | Files                       
------+------+------+---------+-------------------------------+---------+-----------------------------
1     | 0    | 0    | root    | systemd                       |         | /lib64/libudev.so.0.13.1    
759   | 1    | 0    | root    | systemd-logind                |         | /lib64/libudev.so.0.13.1    
1827  | 1696 | 0    | root    | Xorg                          |         | /lib64/libudev.so.0.13.1   

You may wish to restart these processes.
See 'man zypper' for information about the meaning of values in the above table.

Gestione aggiornamenti

Ci sono due approcci per mantenere il sistema sempre aggiornato. Il primo è basato su patch, il secondo basato su pacchetti.

L'approccio basato su patch è particolarmente utile per le persone che usano il rilascio stabile e vogliono aggiornare i loro sistemi con le patch rilasciate attraverso i repository di aggiornamento online. I repository di aggiornamento vengono aggiunti durante l'installazione o l'aggiornamento del sistema, oppure possono essere aggiunti attraverso la Configurazione Aggiornamenti in linea dalla scheda Gestione pacchetti nel Centro di controllo di YaST, o manualmente usando zypper. Qui è disponibile l'elenco dei repository di aggiornamento di openSUSE disponibili.

La funzione di YaST equivalente è data dal modulo Aggiornamenti in linea.

Il secondo tipo, quello basato su pacchetti, è descritto nella sezione Aggiornamento pacchetti ed è usato per l'aggiornamento globale dei pacchetti forniti da ogni repository, alle loro versioni recenti.

Elencare le patch necessarie

list-patches o lp

Per elencare tutte le patch necessarie, usa:

# zypper lp
Loading repository data...
Reading installed packages...

Repository           | Name              | Version | Category    | Status | Summary                                                             
---------------------+-------------------+---------+-------------+--------+---------------------------------------------------------------------
openSUSE-12.2-Update | openSUSE-2012-651 | 1       | recommended | needed | udev: create /dev/root symlink with dynamic rule for systemd        
openSUSE-12.2-Update | openSUSE-2012-655 | 1       | recommended | needed | clamav: update to version 0.97.6                                    
openSUSE-12.2-Update | openSUSE-2012-657 | 1       | recommended | needed | NetworkManager: Several Bug fixes                                   
openSUSE-12.2-Update | openSUSE-2012-659 | 1       | recommended | needed | timezone: update to 2012f                                           
openSUSE-12.2-Update | openSUSE-2012-660 | 1       | security    | needed | security update for tor                                             
openSUSE-12.2-Update | openSUSE-2012-662 | 1       | recommended | needed | coreutils: re-enable multithreaded sort(1) if OMP_NUM_THREADS is set
openSUSE-12.2-Update | openSUSE-2012-663 | 1       | recommended | needed | suspend: Fixed double suspend issue                                 
openSUSE-12.2-Update | openSUSE-2012-665 | 1       | recommended | needed | mdadm update for openSUSE 12.2                                      
openSUSE-12.2-Update | openSUSE-2012-666 | 1       | recommended | needed | module-init-tools: Fix modprobe when /usr/local is managed by AutoFS

A volte sono elencati solo gli aggiornamenti che riguardano il sistema di gestione dei pacchetti, in quanto questi devono essere applicati per primi. Una volta applicati, saranno elencati da questo comando il resto degli aggiornamenti disponibili.

Questo comando è equivalente a zypper up -t patch noto dalle precedenti versioni di zypper. Per elencare tutti gli aggiornamenti di pacchetto disponibili, usa:

# zypper lu

Applicare le patch

patch

Per applicare le patch necessarie, usa:

# zypper patch
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW patches are going to be installed:
  openSUSE-2012-651 openSUSE-2012-655 openSUSE-2012-657 openSUSE-2012-659 openSUSE-2012-660 openSUSE-2012-662 openSUSE-2012-663 openSUSE-2012-665 openSUSE-2012-666 

The following packages are going to be upgraded:
  NetworkManager NetworkManager-devel clamav coreutils libgudev-1_0-0 libnm-glib-vpn1 libnm-glib4 libnm-util2 libudev-devel libudev0 mdadm module-init-tools suspend timezone timezone-java tor typelib-1_0-NMClient-1_0 
  typelib-1_0-NetworkManager-1_0 udev 

19 packages to upgrade.
Overall download size: 9.2 MiB. After the operation, additional 4.3 KiB will be used.
Continue? [y/n/?] (y):

Elencare tutte le patch

patches

Il comando list-updates elenca solo le patch necessarie. Per elencare tutte le patch disponibili, usa:

# zypper patches
Reading installed packages...
Catalog          | Name               | Version | Category    | Status
-----------------+--------------------+---------+-------------+---------------
Updates for 11.1 | KDE4-fixes         | 38      | recommended | Installed
Updates for 11.1 | MozillaFirefox     | 50      | recommended | Installed
Updates for 11.1 | NetworkManager-kde | 49      | recommended | Installed
Updates for 11.1 | autoyast2          | 37      | recommended | Installed
Updates for 11.1 | courier-authlib    | 42      | security    | Not Applicable
Updates for 11.1 | insserv            | 47      | recommended | Installed
Updates for 11.1 | opera              | 43      | security    | Installed

Controllo delle patch

patch-check

Questo comando riporterà se ci sono importanti patch disponibili per il sistema e il numero di tali patch:

# zypper pchk
Loading repository data...
Reading installed packages...
9 patches needed (1 security patch)

Ottenere informazioni sulle Patch

patch-info
info -t patch

# zypper info -t patch openSUSE-2012-651
Loading repository data...
Reading installed packages...


Information for patch openSUSE-2012-651:

Name: openSUSE-2012-651
Version: 1
Arch: noarch
Vendor: maint-coord@suse.de
Status: Installed
Category: recommended
Created On: Wed Sep 19 14:03:20 2012
Reboot Required: No
Package Manager Restart Required: No
Interactive: No
Summary: udev: create /dev/root symlink with dynamic rule for systemd
Description: 
This update fixes the following issue for udev:
- bnc#776882: create /dev/root symlink with dynamic rule for systemd
Provides:
patch:openSUSE-2012-651 == 1

Conflicts:
libgudev-1_0-0.i586 < 182-4.17.1
libgudev-1_0-0-32bit.x86_64 < 182-4.17.1
libgudev-1_0-0-debuginfo.i586 < 182-4.17.1
libgudev-1_0-0-debuginfo-32bit.x86_64 < 182-4.17.1
libgudev-1_0-devel.i586 < 182-4.17.1
libudev-devel.i586 < 182-4.17.1
libudev0.i586 < 182-4.17.1
libudev0-32bit.x86_64 < 182-4.17.1
libudev0-debuginfo.i586 < 182-4.17.1
libudev0-debuginfo-32bit.x86_64 < 182-4.17.1
typelib-1_0-GUdev-1_0.i586 < 182-4.17.1
udev.i586 < 182-4.17.1
srcpackage:udev < 182-4.17.1
udev-debuginfo.i586 < 182-4.17.1
udev-debugsource.i586 < 182-4.17.1
libgudev-1_0-0.x86_64 < 182-4.17.1
libgudev-1_0-0-debuginfo.x86_64 < 182-4.17.1
libgudev-1_0-devel.x86_64 < 182-4.17.1
libudev-devel.x86_64 < 182-4.17.1
libudev0.x86_64 < 182-4.17.1
libudev0-debuginfo.x86_64 < 182-4.17.1
typelib-1_0-GUdev-1_0.x86_64 < 182-4.17.1
udev.x86_64 < 182-4.17.1
udev-debuginfo.x86_64 < 182-4.17.1
udev-debugsource.x86_64 < 182-4.17.1

Aggiornamenti di pacchetto

list-updates or lu
update or up

Per aggiornare semplicemente i pacchetti installati con le loro versioni pi√Ļ recenti disponibili, eseguire:

# zypper up

Puoi ottenere l'elenco degli aggiornamenti disponibili con:

# zypper lu

I comandi qui sopra elencheranno o aggiorneranno solo quei pacchetti i cui aggiornamenti non hanno problemi di dipendenze. Per ottenere l'elenco dei pacchetti con le versioni pi√Ļ recenti rispetto a quelli installati, esegui:

# zypper lu -a

Questo elencherà tutti gli aggiornamenti candidati, indipendentemente dal fatto che siano installabili o meno, o che abbiano bisogno dell'intervento dell'utente per risolvere alcuni problemi.

Aggiornamento di distribuzione (Upgrade)

dist-upgrade or dup

Questo comando usa l'algoritmo di upgrade della distribuzione, che gestisce suddivisioni di pacchetti, pacchetti non mantenuti, e altre situazioni del genere. Usalo per passare ad un differente rilascio della distribuzione.

# zypper dup

Durante un aggiornamento di distribuzione (dist-upgrade) si raccomanda di abilitare solo il repository principale della distribuzione che si desidera installare pi√Ļ alcuni importanti repository che si stavano utilizzando (meglio ancora: la loro versione deve essere corrispondente alla versione del Repository principale). Puoi ottenere ci√≤ disabilitando i vecchi repository con il comando zypper mr -da; aggiungere i nuovi repository per mezzo di zypper ar e ottenere l'ultima release con zypper dup. √ą inoltre possibile specificare i repository che devono essere utilizzati tramite l'opzione --repo: zypper dup -r repo1 -r repo2 ....

Domanda: √ą vero che "zypper up" aggiorna i pacchetti solo quando una nuova versione √® disponibile nello stesso repository del vecchio pacchetto e "zypper dup" aggiorna qualsiasi cosa, indipendentemente dal repository in cui si trovi il nuovo pacchetto?

Risposta: "zypper up" aggiorna il pacchetto se una nuova versione √® disponibile ma non cambier√† il fornitore (Nota: L'intero build service attualmente ha lo stesso fornitore). "zypper dup" cercher√† di sincronizzare i pacchetti correntemente installati con quelli disponibili da tutti i repository che hai abilitato. Questo significa che effettuer√† anche il downgrade dei pacchetti se la versione installata √® pi√Ļ recente di quella disponibile nel repository.


Usare zypper in script e applicazioni

Zypper supporta diverse opzioni globali che lo rendono adatto per l'uso all'interno di processi automatizzati, come gli script. Inoltre, numerosi dei differenti codici di output, elencati nella pagina di manuale di zypper, possono essere controllati durante l'utilizzo di zypper in un processo automatizzato.

Modalità non interattiva

--non-interactive

In questa modalità zypper non richiede l'intervento dell'utente e per eventuali risposte utilizza quelle di default. Quando si utilizza questa opzione si è certi che zypper non stallerà per chiedere una risposta dallo standard input, o in un loop infinito.

Per esempio, per aggiornare il tuo sistema automaticamente senza conferme, puoi digitare:

# zypper --non-interactive update

Questo comando non richiede la conferma da parte dell'utente per procedere con l'aggiornamento, salta tutte le patch interattive che avrebbero bisogno di ulteriori conferme e inoltre risponde automaticamente a tutte le altre richieste.

Modalità senza verifica GPG

--no-gpg-checks

Se viene usata questa opzione, zypper sceglierà sempre di continuare se qualche verifica gpg fallisce, per esempio un file di un repository non è firmato e dovrebbe esserlo, un file è firmato e il controllo gpg fallisce, ecc.

Accetta automaticamente le licenze

--auto-agree-with-licenses

Questa √® un'opzione speciale per i comandi install, remove e update. Usandola l'utente dichiara che accetta i termini di licenza per quanto il comando installer√†, e zypper risponder√† automaticamente 's√¨' alla richiesta di conferma della licenza. Questa opzione √® utile per coloro che installano lo stesso insieme di pacchetti su pi√Ļ macchine (con un procedimento automatico) e hanno precedentemente letto tutte le licenze.

Output silenzioso

--quiet

Evita la visualizzazione di eccessivo testo di output, come le informazioni sul progresso, e visualizza solo il risultato dell'operazione e i messaggi di errore.

Output XML

--xmlout

Questa opzione "fa parlare" zypper in XML. Permette agli script, alle interfacce grafiche o ad altri tipi di applicazioni, che desiderano utilizzare zypper, di analizzare l'output di zypper in una modalità standard e ben definita. Lo schema RNC dell'output XML di zypper è disponibile qui e sotto /usr/share/zypper/xml/xmlout.rnc.

Non tutto, ma la maggior parte dell'output è attualmente disponibile in XML; l'obiettivo è di avere tutto l'output possibile in XML.

Richieste

Quello che segue mira ad essere l'elenco completo di casi in cui zypper necessita di interagire con l'utente, insieme alle risposte usate nella modalit√† non-interattiva. Tutte le opzioni aggiuntive menzionate qui hanno priorit√† pi√Ļ elevata rispetto a --non-interactive, quindi, se queste vengono usate, le risposte da esse implicate vengono usate automaticamente anche se non si fa uso di--non-interactive.

Richieste relative a GPG

Quando si applica l'opzione --no-gpg-checks, viene visualizzato un messaggio oppure viene scritto un avviso sullo standard error e nel file di log (registro).

richiesta risposta predefinita con --no-gpgp-checks nota
accettare file non firmati? N S
accettare la nuova chiave (rifiutare la chiave, fidarsi temporaneamente, fidarsi definitivamente? [r/t/a]) R R una nuova chiave può essere resa affidabile o importata solo in modalità interattiva
accettare la chiave sconosciuta? N S
verifica del file firmato fallita, continuare? N S
nessun sommario disponibile per un file, continuare? N S
accettare il sommario sconosciuto? N S

Altre richieste

richiesta risposta predefinita altra risposta nota
procedere con l'installazione/rimozione/aggiornamento? S in aggiunta, l'opzione --no-confirm può essere usata con i comandi install/remove/update anche senza l'opzione globale --non-interactive
conferma licenza di terze parti N S se si utilizza --auto-agree-with-licenses in aggiunta, per l'aggiornamento di zypper, l'opzione --skip-interactive può essere usata per escludere le patch interattive dall'elenco delle cose da installare (to-be-installed list, un'eredità di rug)
confermare un messaggio di patch S
problema durante l'installazione/rimozione di un risolvibile, Interrompi/Riprova/Ignora? INTERROMPI è brutto e si può migliorare in futuro
problema durante lo scaricamento di un pacchetto, Interrompi/Riprova/Ignora? INTERROMPI è brutto e si può migliorare in futuro
conflitto di dipendenze, #/s/r/c (numero della soluzione, salta, riprova, o annulla) c annulla sempre, è richiesto l'intervento dell'utente per risolvere le dipendenze
richiesta di cambiare il supporto INTERROMPI
rimuovere il blocco problematico? Y

Nell'output in XML le richieste all'utente sono indicate dal tag <prompt>, contenente l'attributo id. L'enumerazione di tutti gli id noti è disponibile nel file di include prompt.h, impacchettato con zypper (/usr/include/zypper/prompt.h).


Compatibilità con Rug

La sintassi di Zypper è simile a quella di Rug ma il suo corredo di comandi e opzioni ha cominciato a diversificarsi da quello di rug, così come il suo output e il suo comportamento. Comunque, zypper è in grado di lavorare anche in modalità compatibilità con rug e supporta la maggior parte dei comandi di rug. Per maggiori dettagli si veda man zypper, nella sezione "COMPATIBILITY WITH RUG", dedicata alla compatibilità con rug.


Vedi anche