Nel caso di SUSE Linux (openSUSE, SUSE Enterprise e derivati), zypper e YaST sono i gestori di pacchetti. Mentre YaST (Yet Another Setup Tool) serve per l'amministrazione, l'impostazione e la configurazione di SUSE Linux, zypper è l'interfaccia CLI del gestore di pacchetti ZYpp. ZYpp è al centro di zypper e YaST.
In questo articolo, approfondiremo l'uso di zypper per tutti i tipi di scopi.
Nota: poiché i comandi zypper eseguono modifiche a livello di sistema, questi comandi devono essere eseguiti come root. In caso contrario, i comandi falliranno.
Senza ulteriori indugi, iniziamo! Tutti questi esempi sono mostrati su openSUSE Tumbleweed. Tuttavia, questi comandi sono universali per il gestore di pacchetti zypper.
Zypper aiuto
L'esecuzione di zypper senza alcun comando stamperà un elenco di tutti i comandi disponibili.
$ zypper
È una grande lista! Se hai bisogno di aiuto per quanto riguarda un comando specifico, esegui il seguente comando.
$ zypper aiuto
Aggiornamento del database Zypper
Questa è una delle funzioni più comuni di zypper per mantenere aggiornato il database dei pacchetti locale con il server dei pacchetti.
$ sudo zypper refresh
Invece di usare "refresh", puoi anche usare l'abbreviazione "ref".
$ sudo zypper ref
È anche possibile forzare zypper a ricostruire il suo database locale. Questo può essere utile in situazioni, ad esempio, se il database è danneggiato.
$ sudo zypper refresh -fdb
Aggiorna i pacchetti di sistema
Per prendere e installare tutti gli ultimi aggiornamenti dei pacchetti da openSUSE, esegui il seguente comando.
$ sudo zypper update
Tuttavia, consiglio di utilizzare la seguente struttura per il massimo beneficio.
$ sudo zypper fresh && sudo zypper update
Se sei interessato a controllare i pacchetti con aggiornamenti disponibili, esegui il seguente comando. Zypper genererà un elenco di aggiornamenti disponibili per te.
$ zypper list-updates --all
Installazione di un pacchetto
Per installare un pacchetto, usa il seguente comando.
$ sudo zypper install vlc
Ci sono alcune abbreviazioni interessanti dei comandi di zypper. In questo caso, è valido anche il seguente comando e farà lo stesso lavoro.
$ sudo zypper in vlc
Se devi installare più pacchetti contemporaneamente, includi semplicemente il nome del pacchetto uno dopo l'altro separato da uno spazio.
$ sudo zypper install
Quando si esegue un'azione, zypper chiederà conferma. Per disattivare la modalità interattiva, aggiungi il flag "-non interattivo" o "-n".
$ sudo zypper --non interattivo in vlcsudo zypper -n in vlc
La funzione dei caratteri jolly è supportata anche da zypper. Ad esempio, proviamo a installare tutti i pacchetti che iniziano con il nome
pitone.$ sudo zypper in 'python*'
Sorgente installa un pacchetto
Nota: prima di eseguire i seguenti passaggi, non dimenticare di controllare se il repository di origine è attivato. In caso contrario, le installazioni di origine non avranno successo. Abilita il repository di origine da "YaST Software Repositories".
Se devi installare il pacchetto sorgente di un particolare pacchetto, usa il flag "source-install".
$ sudo zypper source-install vlc
Per impostazione predefinita, questo comando richiederà anche l'installazione di tutte le dipendenze di compilazione. Per evitare le dipendenze di compilazione, aggiungi il flag "-D".
$ sudo zypper source-install -D vlc
Nel caso in cui desideri solo installare le dipendenze di compilazione, usa invece "-d".
$ sudo zypper install source-install -d vlc
Ricerca di un pacchetto
Ci sono migliaia di pacchetti nel repository di openSUSE. Per eseguire una ricerca utilizzando zypper, utilizzare la seguente struttura.
$ zypper ricercaAd esempio, cerchiamo tutti i pacchetti con il termine "python" sopra.
$ zypper ricerca python
Tale ricerca può stampare un LUNGO elenco di pacchetti. In una situazione del genere, usare "grep" o esportare il risultato e poi eseguire può offrire un po' di conforto.
L'opzione "cerca" ha anche l'abbreviazione "se".
$ zypper -n se
Nota che per la ricerca, non dovevamo usare "sudo" all'inizio. Questo perché zypper non sta eseguendo alcuna modifica a livello di sistema.
Rimozione di un pacchetto
Se vuoi eliminare un determinato pacchetto, usa l'opzione "rimuovi".
$ sudo zypper removeAd esempio, rimuoviamo VLC dal sistema.
$ sudo zypper rimuovere vlc
Invece di "rimuovi", usiamo "rm". È l'abbreviazione del termine “rimuovi”.
$ sudo zypper rm vlc
Se vuoi saltare la modalità interattiva, usa il flag “-non-interactive” o “-n”.
$ sudo zypper --non interattivo rm vlcl$ sudo zypper -n rm vlc
Installazione e rimozione allo stesso tempo
È una caratteristica interessante di zypper che consente di installare e rimuovere pacchetti allo stesso tempo! Controlliamolo.
Ad esempio, installiamo VLC rimuovendo Python. In questo esempio, l'attività principale di zypper è l'installazione, non la rimozione. Qui, il flag "-n" è usato per comodità.
$ sudo zypper -n in vlc -python
Patch
Questa è una parte interessante dell'ecosistema openSUSE. mentre entrambi patch e aggiornare funzionano allo stesso modo, entrambi sono fondamentalmente diversi. Confuso?
In caso di "aggiornamento", nel termine di openSUSE, aggiornerà il pacchetto all'ultima versione disponibile dal repo. Nel caso di "patch", tuttavia, installerà solo gli aggiornamenti dei pacchetti destinati a correzioni di bug e sicurezza.
Se installi solo cerotti, può o meno aggiornare tutti i pacchetti. Tuttavia, l'esecuzione degli aggiornamenti assicurerà che tutti i pacchetti più recenti siano installati.
Detto questo, iniziamo!
All'inizio, installando la patch. Il seguente comando installerà tutte le patch rilasciate ufficialmente.
$ sudo zypper patch
Nel mio caso non c'è niente da fare. Se è presente una patch più recente, il comando la installerà.
Per vedere l'elenco delle patch disponibili, usa questa. Non richiede radice permesso di correre.
$ zypper patch
Zypper può elencare tutte le patch che non sono attualmente installate. Esegui il seguente comando.
$ zypper list-patch
Le “list-patch” sono disponibili anche nella forma abbreviata di “lp”.
$ zypper lp
Interessato a elencare solo le patch contrassegnate come correzioni di sicurezza?
$ zypper lp --categoria sicurezzaPer controllare il numero di patch richieste, esegui questo comando.
$ sudo zypper patch-check
Gestione dell'archivio
Zypper offre metodi senza soluzione di continuità per la gestione di tutti i repository. Ecco alcuni dei comandi che sono davvero utili in molte situazioni.
Abbiamo già spiegato come aggiornare il database locale di tutti i repository.
$ sudo zypper refresh
Hai bisogno di un rapido elenco di tutti i repository?
$ zypper repositoryPossiamo anche usare “lr”, la forma abbreviata di “repos”.
$ zypper lr
Serve l'URI del repository? Basta aggiungere il flag "-u" dopo "lr" o "repos".
$ zypper lr -u
Se non lo sapevi, i repository di openSUSE sono ordinati in una gerarchia. Per elencare i repository in base alla loro priorità, usa il flag "-p".
$ zypper lr -p
Quando si esegue "refresh", Zypper aggiornerà il database locale per tutti i repository. Per aggiornare un repository specifico, esegui il seguente comando.
$ sudo zypper refresh
I repository possono essere abilitati/disabilitati senza eliminarli. Per disabilitare un particolare repository, esegui il seguente comando. Nota che abbiamo bisogno del numero del repository dall'elenco dei repository.
$ sudo zypper mr -d
Necessità di abilitare un repository disabilitato? Eseguiamo il seguente comando.
$ sudo zypper mr -e
Anche l'aggiunta di un nuovo repository è molto semplice. In questo esempio, aggiungerò Packman. È un repository esterno che offre pacchetti openSUSE aggiuntivi. A seconda della versione di openSUSE in esecuzione, l'URI del repository cambierà. Tuttavia, la struttura dei comandi rimarrà la stessa. Scopri di più su Packman
$ sudo zypper addrepoNel caso di openSUSE Tumbleweed, il comando sarà simile a questo. Qui, "ar" è la forma abbreviata di "addrepo".
$ sudo zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/packman
Per rimuovere un repository, è necessario l'alias del repository. Prendi l'alias del repository dall'elenco dei repository e usa il seguente comando.
$ sudo removerepoPuoi scambiare “removerepo” con la sua forma abbreviata “rr”.
$ sudo rr
Gestione della cache
La memorizzazione nella cache è un meccanismo utile in cui zypper può conservare una copia di tutti i pacchetti RPM acquisiti da Internet in una posizione specifica. Ogni volta che chiedi a zypper di installare lo stesso pacchetto, prima guarda nella cache. Se è nella cache, zypper usa il pacchetto RPM dalla cache per eseguire l'installazione. In questo modo, può accelerare l'installazione e risparmiare tempo e larghezza di banda.
La cache è memorizzata nella seguente posizione. Ogni repository ha la propria cartella dedicata sotto la directory.
$ albero /var/cache/zypp/packages
Per pulire la cache, esegui il seguente comando.
$ sudo zypper clean
Questo pulirà tutti i pacchetti RPM memorizzati dalla cache. Consiglio di abilitare la memorizzazione nella cache a meno che non si sia in qualche modo vincolati dall'archiviazione. Il seguente comando abiliterà la memorizzazione nella cache per tutti i repository nel sistema.
$ sudo zypper mr -ka
Pensieri finali
Zypper racchiude un sacco di funzioni. Sebbene questi metodi di utilizzo di zypper siano più che sufficienti per gli utenti regolari, ci sono molte funzionalità avanzate che non erano presenti qui.
Per la documentazione completa di zypper, controlla la pagina man the.
$ man zypper
Godere!