Analyze SlackPkg.sh
Indice
Introduzione
Questo script visualizza alcune informazioni interessanti riguardanti i pacchetti Slackware installati e può essere usato per mantenere aggiornata una current. Lo script deve essere eseguito in una directory contenente il file FILE_LIST fornito dal CD/DVD.
Cosa fa e come si usa
Senza opzioni
Lo script, per ogni pacchetti installato va a controllare se è nominato nel file FILE_LIST controllandone la versione, dove per versione si intende sia la versione del software che la marca di compilazione. Se le due versioni differiscono allora lo script stampa a video il percorso dove poter trovare il pacchetto con la versione differente. Ad esempio sulla mia macchina:
$> analyze_SlackPkg.sh ./a/aaa_elflibs-13.013-x86_64-5.txz ./l/cairo-1.8.8-x86_64-3.txz ./n/stunnel-4.33-x86_64-1.txz
questo vuol dire che nella mia Slackware sono installati i tre pacchetti elencati ma con versioni differenti, infatti ad esempio:
$> ls /var/log/packages/stunnel-* /var/log/packages/stunnel-4.17-x86_64-1
Quindi se si ha a disposizione un repository locale della current si può aggiornare il PC semplicemente eseguendo:
for package in $(analyze_SlackPkg.sh) do upgradepkg $package done
Le opzioni
-h
Mostra l'help dello script.
-n
Stampa l'elenco dei pacchetti nominati nel FILE_LIST, ma che non sono stati installati.
-m
Stampa l'elenco dei pacchetti che non sono stati trovati nel file FILE_LIST o che sono stati filtrati dal file di filtro. Questi pacchetti generalmente sono i pacchetti di terze parti (ad esempio quelli di Slacky.eu) ed i pacchetti che sono stati rimossi dalla Slackware.
-s
Stampa l'elenco dei pacchetti che hanno la stessa versione di quelli trovati nel file FILE_LIST.
-v
A volte è utile sapere la versione attuale dei pacchetti installati, questa opzione oltre a visualizzare il percorso del pacchetto con la versione diversa, stampa anche la versione attualmente installata.
$>analyze_SlackPkg.sh -v ./a/aaa_elflibs-13.013-x86_64-5.txz the current version is aaa_elflibs-13.013-x86_64-4 ./l/cairo-1.8.8-x86_64-3.txz the current version is cairo-1.8.10-x86_64-1 ./n/stunnel-4.33-x86_64-1.txz the current version is stunnel-4.17-x86_64-1
Il file di filtraggio
Può capitare che di alcuni software si voglia seguire una versione current e non quella fornita dalla Slackware, usando il ciclo for descritto precedentemente per aggiornare il PC evidentemente questi pacchetti risulteranno con una versione differente e saranno quindi aggiornati. Per evitare questo comportamento basta creare un file nella propria home chiamato .analyze_SlackPkg e inserirci al proprio interno il nome del software da saltare e quest'ultimo non sarà stampato in output. Ad esempio se inserisco nel mio file il software cairo e poi rieseguo lo script:
$> echo 'cairo' >> ~/.analyze_SlackPkg $> analyze_SlackPkg.sh ./a/aaa_elflibs-13.013-x86_64-5.txz ./n/stunnel-4.33-x86_64-1.txz
si nota che rispetto a prima, cairo non viene visualizzato.
Lo script
Dulcis in fundo, lo script potete trovarlo qui.
Autore (data dell'ultimo aggiornamento): spina 07:38, 28 ott 2010 (UTC)