Slackware Package Management

Anche la distribuzione Linux Slackware utilizza software di Package Management, che sebbene più spartano rispetto a RPM di Red Hat o a Deb di Debian, permette di mantenere in ordine i pacchetti installati nel sistema

I packages di Slackware sono dei semplici tar compressi con gzip. Questa distribuzione mette a disposizione alcune utility per gestirne l'installazione, la rimozione, l'aggiornamento e di mantenere traccia delle operazioni tramite un database.

I principali tools forniti da Slackware per il management delle applicazioni sono quattro: pkgtool, installpkg, removepkg upgradepkg.

pkgtool
Pkgtool è un'utility di tipo menu-driven che permette di visualizzare, installare e rimuovere i packages. Attraverso questo tool è possibile visualizzare il contenuto di ogni package, disinstallarlo o scegliere da dove installarne uno nuovo. Tramite pkgtool non è però possibile effettuare l'aggiornamento, prerogativa disponibile solo per le utility di tipo command line che dispongono anche di un maggior numero di opzioni.  

Passiamo agli strumenti a linea di comando.

installpkg
Installpkg gestisce l'installazione di nuovi packages nel sistema.
Sintassi:
root@Joker:/# [ROOT=<path>] installpkg [options] <nome package>...
Opzioni:
-m: Esegue un makepkg (Utility per creare i packages) nella directory corrente;
-warn: Visualizza i cambiamenti nel sistema in caso di installazione del package. Usato sulle macchine di produzione per sapere cosa accadrà installando un software;
-r: Installa ricorsivamente i packages contenuti nella directory corrente e nelle subdirectory. E' possibile utilizzare delle wildcards.

Settando la variabile ROOT è possibile utilizzare una directory a propria scelta, diversa da /, per memorizzare i dati relativi all'installazione.

Al termine dell'installazione, se presente, nella subdirectory install/ del package verrà eseguito uno script di nome doinst.sh che permette di rifinire l'installazione creando per esempio link simbolici.

Le informazioni del database dei packages installati, ovvero un file in plain text per ogni programma, si trovano in /var/log/packages mentre gli eventuali script di post installazione si trovano in /var/log/scripts/<nomepackage>.

removepkg
Removepkg si occupa di disinstallare i packages dal sistema.
Sintassi:
root@Joker:/# [ROOT=<path>] removepkg [options] <nome package>...
Opzioni:
-copy: Il package non viene rimosso ma viene copiato in in una directory in /var/log/setup/tmp/preserved_packages uguale all'originale;
-keep: Tiene traccia dei file temporanei creati durante la disinstallazione. E' comodo per scopi di debugging;
-preserve: Il package viene rimosso, ma copiato per sicurezza in un'altra directory, ovvero /var/log/setup/tmp/preserved_packages;
-warn: Visualizza quali problemi potrebbero esserci rimuovendo il package;

Settando la variabile ROOT è possibile utilizzare una directory a propria discrezione, diversa da /, per memorizzare le informazioni relative alla disinstallazione.

Se presente, removepkg esegue lo script di postinstallazioine in modo da rimuovere, oltre ai file del package, anche eventuali link simbolici presenti.

Durante il processo di disinstallazione, vengono visualizzate le informazioni sullo stato dell'operazione. Una volta terminato li processo, le informazioni del packages e lo script di post installazione sono rispettivamente spostati in /var/log/removed_packages e /var/log/removed_scripts.

upgradepkg
Upgradepkg gestisce l'aggiornamento di un package Slackware già installato.

root@Joker:/# [ROOT=<path>] upgradepkg <package name>...
oppure:
root@Joker:/# [ROOT=<path>] upgradepkg [options] <vecchio nome package> <nuovo nome package>

Upgradepkg esegue nell'ordine, l'installazione del nuovo package e la disinstallazione del vecchio. Se il nome del package è cambiato da una versione all'altra è possibile usare la seconda versione del comando.

Al fine di evitare i problemi dovuti a qualche bug di upgradepkg come per esempio la sovrascrittura accidentale dei file di configurazione, è sempre consigliato fare un backup dei propri file di configurazione.

In tutte e tre le utility è possibile specificare più di un package utilizzando nel nome le wildcards.

Privacy Policy