Uso del comando zypper in Opensuse

 

OpenSuse appartiene a quelle distribuzioni Linux cosiddette "friendly". In sostanza, quelle più facili da usare. In ambiente Unix e quindi anche in Linux, ciò significa che l'utente deve ricorrere poco a quella che si chiama "interfaccia a riga di comando". Ovvero, dare comandi al computer scrivendo direttamente dentro ad una console, come si faceva nella vecchia shell del DOS per farlo capire agli utenti di Windows. Non mi dilungo sulla controversia riguardante l'uso della riga di comando e cioè se sia più buono usarla al posto dell'interfaccia grafica. Diciamo, a grandi linee, che uno è più geek quanto più riga di comando usa. Ora, senza arrivare a queste sottigliezze, può essere utile conoscere delle alternative all'uso dell'interfaccia grafica, tenendo presente che il comando inserito in console difficilmente s'impalla ed è generalmente più performante dell'uso di un'interfaccia grafica. Senza contare che un sistema operativo (SO) sarebbe molto più leggero se non avesse bisogno sempre di un'interfaccia grafica per operare. Insomma, usare la riga di comando non è un atto d'archeologia informatica ma, anzi, è essenziale alla buona manutenzione di un ambiente informatico.

Il comando che voglio far conoscere è zypper. Si tratta di un potente comando per la gestione dei pacchetti installati.  Preciso solo che in Linux quando si parla di pacchetti si intende in genere software o applicazioni già pronte per essere installate, come i file .exe in Windows. Altro sistema per installare software è ottenere i files cosidetti sorgenti (il codice del software) e compilarli nel computer. Questo sistema, praticamente impossibile da usare sotto Windows per ovvie ragioni di proprietà e copyright del sistema operativo, caratterizza invece tutto il mondo dell'Open source e/o del software libero. Questo modo di operare comporta, però, una maggiore dimistichezza con l'uso dei computer.

Si tenga presente che tra le distribuzioni Linux spesso la preferenza verso l'una o l'altra deriva proprio dalla potenza e facilità d'uso dei pacchetti installati, nonchè dal sistema di pacchettizzazione usato (pacchetti deb, rpm, tgz, ecc.). 

OpenSuse gestisce i pacchetti con l'interfaccia grafica Yast. Tuttavia, con zypper da riga di comando, potete fare le stesse operazioni ed anche in modo più pulito. Ne è stata una prova un blocco di Yast che ho subito e che ho risolto brillantemente ricorrendo proprio a zypper.

L'uso è facile e devo dire che, superando la pigrizia di gestire i pacchetti in OpenSuse con Yast, lo strumento zypper si dimostra veloce e potente  tanto da gareggiare con il blasonato apt-get (usato nelle distribuzioni Debian e derivate) e al miracoloso pacman di Archlinux. Forse la sintassi dei comandi è un pochino difficile da ricordare, però bisogna sempre tenere presente che più si usano questi comandi e meno si dimenticano. Per fortuna, corre in aiuto una pagina esauriente nel sito di OpenSuse, in cui la sintassi è ampiamente riportata.

Qui di seguito mi limito a riportare i comandi essenziali:

zypper se <nome pacchetto> cerca l'esistenza di un pacchetto

zypper in <nome pacchetto> installa il pacchetto, se seguito da asterisco * installa tutti i moduli relativi a quel software. Ad esempio: zypper in xfce4* installerà tutto l'ambiente grafico Xfce4

zypper rm <nome pacchetto> rimuove il pacchetto

zypper patch installerà tutte le patches necessarie

zypper up farà l'update di tutti i pacchetti esistenti. Tuutavia è necessario specificare che la filosofia d'aggiornamento di OpenSuse è quella di salvaguardare rigidamente la fonte dei fornitori di pacchetti. Il che significa che qualche volta il comando zypper up potrebbe dare un messaggio di impossibilità ad aggiornare alcuni pacchetti. Per ovviare al problema si può dare il comando zypper dup che proverà a fare una revisione dei pacchetti da installare in base ai fornitori, chiedendo di risolvere delle dipendenze. Buona norma è, per l'aggiornamento del sistema, dare i seguenti comandi in successione: zypper patch, poi zypper up ed (eventualmente) zypper dup.

zypper dup farà anche l'upgrade direttamente ad una nuova versione di OpenSuse quando uscirà. Per usarlo leggere bene prima gli avvisi presenti nella pagina di istruzioni per l'upgrade alle versioni più recenti seguendo il metodo con zypper.

Naturalmente nelle pagine segnalate troverete una miriade di altre opzioni che risolveranno tutti i casi possibili, almeno si spera.

Tra questi casi segnalo l'utile possibilità di bloccare l'update di alcuni pacchetti con il comando zypper al <nome pacchetto>

Attenzione: con OpenSuse, come con tutte le distro Linux che usano i pacchetti .rpm (Fedora, Mandriva, ecc.) è possibile che si deteriori il database dei pacchetti. Se cominciate a vedere strani messaggi durante un update e addirittura non riuscite ad aggiornare o installare, dovreste dare da terminale e come amministratore il comando rpm --rebuilddb. Aggiungendo al comando -vv (rpm -vv --rebuilddb) potrete vedere i dettagli del procedimento di rebuild.

Come si vede, zypper è veramente uno strumento molto versatile che merita di essere conosciuto anche presso gli utenti meno smaliziati di OpenSuse.