Slackers (Slackware current journal) - Slackware – GNU/Linux per SubGeni e Fannulloni

Usare Slackpkg per aggiornare la Slackware

Introduzione

Come avrete notato, spesso l’aggiornamento della Slackware si riduce alla lettura del Changelog e all’esecuzione di una ben determinata procedura. Siccome l’informatica è nata proprio per automatizzare operazioni ripetitive, facendo risparmiare tempo, anche Slackware ha il suo tool di aggiornamento automatico.

Slackpkg è nato proprio per gestire l’upgrade di Slackware.

È bene ricordare che esso non è un tool di gestione pacchetti, ma semplicemente un front-end per pkgtool, che rimane il vero gestore. Slackpkg è stato inserito nella Slackware-current con il changelog del 21 Novembre 2008, prima era nella directory /extra. Ed è quindi entrato a far parte della Slackware 12.2, uscita il mese successivo.

Disclaimer

Si usino le informazioni di questo documento a proprio rischio. L’autore di questa guida, i suoi collaboratori e slackers.it non si riterranno responsabili di eventuali danni provocati al vostro computer. L’uso dei concetti, esempi o altro contenuto di questo documento è completamente a proprio rischio.

Si raccomanda di fare un backup prima di fare prove con slackpkg

Configurazione

Fondamentalmente slackpkg è molto affidabile e semplice da usare. Dopo averlo installato bisogna innanzitutto modificarne le impostazioni, queste si trovano nella directory /etc/slackpkg. Il file che ci interessa è /etc/slackpkg/mirrors che contiene la lista dei mirror disponibili, dobbiamo quindi procedere a selezionarne uno decommentando la linea relativa, facendo attenzione a scegliere quello corretto in base alla nostra versione di Slackware.
Per esempio:

http://Slackware.oregonstate.edu/pub/Slackware/Slackware-current/

per la current

http://Slackware.oregonstate.edu/pub/Slackware/Slackware-12.2/

per aggiornare ad una stable

Nota: se scegliete il mirror eutelia, prestate attenzione a modificarlo togliendo /pub, perché la struttura del mirror è cambiata negli ultimi tempi. State inoltre attenti a non selezionare più di un mirror, in quanto slackpkg lo considererà come un errore.

Deciso quale mirror utilizzare possiamo cominciare ad utilizzare slackpkg

Uso di Slackpkg

Vediamo adesso cosa possiamo fare con slackpkg

Aggiornare la lista pacchetti

Per potere usare slackpkg dobbiamo innanzitutto scaricare la chiave gpg di Slackware.com, ciò ci consentirà di controllare l’identità del “creatore” dei pacchetti che scaricheremo, per fare ciò basta impartire il comando

# slackpkg update gpg

questo passaggio è necessario solo quando cambierà la chiave gpg di Slackware.com

Possiamo ora passare a scaricare la lista dei file, questa consente a slackpkg di conoscere i file presenti sul server, quindi questo passaggio va eseguito ogni volta che il server viene aggiornato. Per questa operazione dobbiamo dare il comando

# slackpkg update

Per essere sicuri di avere sempre la chiave gpg giusta e la lista sempre aggiornata, conviene dare questi due comandi ogni volta che utilizziamo slackpkg.

Aggiornare Slackware

Siccome la principale funzione di slackpkg è quella di tenere aggiornata Slackware, questa è la funzionalità che analizzeremo per prima.

Analizzando un semplice Changelog di Slackware possiamo notare che i possibili cambiamenti apportati ai pacchetti sono:

  • aggiunta di pacchetti
  • aggiornamento di pacchetti
  • rimozione di pacchetti.

Dovremo quindi gestire tutti e tre i casi.

Inoltre, come ben saprete, dopo l’aggiornamento di taluni programmi vengono creati dei file di configurazione con estensione .new, slackpkg può gestirli in automatico.

Il primo comando da impartire è quindi

# slackpkg install-new

che provvederà ad installare i pacchetti che sono stati aggiunti in Slackware,
Notare che se un pacchetto era stato rimosso o deselezionato in fase d'installazione, slackpkg non lo installerà, in quanto si limita ad installare i nuovi pacchetti inseriti in Slackware.

Il secondo comando è

# slackpkg upgrade-all

che aggiornerà tutti i pacchetti di Slackware, state quindi attenti a deselezionare quei pacchetti che non volete vengano aggiornati.

Al termine di questa procedura slackpkg vi chiederà come trattare i file .new, state attenti ai file che avete modificato e tramite l'opzione diff decidete se potete tranquillamente tenere i vostri (spesso le differenze si limitano a modifiche delle intestazioni dei file). Slackpkg provvederà ad aggiornare i link nella directory /boot ed impartirà il comando lilo, ma senza ricreare l'initrd quindi se vi serve ricordatevi di ricrearlo e poi impartire il comando lilo a mano.
Per evitare possibili errori potete saltare questa fase e fare tutto a mano come in un upgrade classico.

Infine dobbiamo eseguire il comando

# slackpkg clean-system

che eliminerà tutti i pacchetti che sono stati rimossi da Slackware e tutti quelli che non sono presenti sul server.

Nota: In questa fase bisogna fare attenzione perché il comando rimuoverà anche i pacchetti che avete installato da altri repository non ufficiali (come slacky.eu o slackers.it per esempio). Il mio suggerimento è quello di saltare questo passo, leggere il changelog e rimuovere manualmente i pacchetti che sono usciti da Slackware.

Installare/aggiornare/rimuovere pacchetti

Slackpkg può assolvere anche alle funzioni solitamente attribuite a pkgtool
I comandi necessari sono

# slackpkg install nomepacchetto
# slackpkg upgrade nomepacchetto
# slackpkg remove nomepacchetto

essi sono abbastanza autoesplicativi.

Se l'installazione di un software non è andata a buon fine, possiamo utilizzare

# slackpkg reinstall nomepacchetto

per rimuoverlo e successivamente reinstallarlo.

Cercare un pacchetto

Tramite il comando

# slackpkg search nomepacchetto

slackpkg controlla l'esistenza di un software e se questo è installato oppure no.

Con

# slackpkg info nomepacchetto

visualizzeremo invece la descrizione del pacchetto

Controllare gli aggiornamenti

Tramite il comando

# slackpkg check-updates

possiamo controllare se sono avvenuti cambiamenti sul server, ed eventualmente scaricare la nuova lista file

Blacklistare un pacchetto

Con il comando

# slackpkg blacklist nomepacchetto

faremo in modo che slackpkg non modifichi in alcun modo il pacchetto in questione, per rimuovere l'opzione dovremo editare il file /etc/slackpkg/blacklist

Scaricare un pacchetto

Con il comando

# slackpkg download nomepacchetto

slackpkg scaricherà il pacchetto in /var/cache/packages senza installarlo o aggiornarlo

Cercare file .new

Nel caso avessimo sbagliato qualcosa nella gestione dei file .new durante l'aggiornamento del sistema, tramite il comando

# slackpkg new-config

possiamo cercare tutti i file .new e gestirli di conseguenza.

Situazioni particolari

Passaggio al formato .txz

Con il passaggio dal formato di compressione gzip a quello lzma, abbiamo avuto un cambio di estensione dei pacchetti della Slackware da .tgz a .txz
Questa modifica è avvenuta il 24 aprile 2009 e divenuto lo standard il 10 maggio 2009 e richiede una particolare trattazione. In particolare quando effettuiamo un aggiornamento alla current successivamente all'introduzione del nuovo formato oppure nel passaggio dalla 12.2 alla futura stable.

Fondamentalmente dobbiamo prima aggiornare i programmi che riguardano la gestione dei pacchetti e la gestione del nuovo formato di compressione, per poi procedere all'aggiornamento dell'intero sistema. Essendo questi programmi rimasti gli unici ad essere compressi con gzip e quindi avere estensione .tgz la loro trattazione è molto semplice.

Per effettuare l'aggiornamento ci basterà infatti una semplice procedura.
Iniziamo con

# slackpkg update

ciò scaricherà la liste dei file dal server, considerando solamente i programmi necessari alla gestione dei .txz
Tramite

slackpkg install-new

e

slackpkg upgrade-all

andremo appunto ad aggiornare solamente questi pacchetti.
Slackpkg vi chiederà se deve modificare i suoi file di configurazione, rispondete affermativamente, perché è proprio questo passaggio che ci consentirà di utilizzare pacchetti .txz.

Fatto ciò modificate il file /etc/slackpkg/mirrors e riselezionate un mirror, in quanto le precedenti configurazioni verranno cancellate. A questo punto siamo pronti a gestire i .txz, quindi per aggiornare il resto della distribuzione sono sufficienti i canonici

# slackpkg update
# slackpg install-new
# slackpkg upgrade-all
# slackpkg clean-system

Ricapitolando, basta eseguire due volte di seguito l'aggiornamento, assicurandosi di sistemare i mirror fra l'uno e l'altro.

Conclusioni

Ci sarebbe molto altro da scrivere, ma questa è una guida per prendere confidenza con il slackpkg. Per il resto rimandiamo al man di slackpkg ed alle guide in linea.

Copyright

Copyright (c) 2009 by Stefano Cereda.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available from http://www.fsf.org/licenses/fdl.html.

Tutti i copyright sono di proprietà dei rispettivi detentori, a meno che indicato diversamente. L'uso di un termine in questo documento non inficia la validità di qualunque marchio di fabbrica o marchio di servizio.
Nominare un particolare prodotto o marchio non deve essere considerato come pubblicità.

6 commenti a “Usare Slackpkg per aggiornare la Slackware”

  1.   slucky ha scritto il 28/05/09 alle ore 23:38:

    Come sempre Conraid…una otima guida, completa ed esaustiva per tutti coloro che vorranno utilizzare slackpkg per la manutenzione del proprio Slack_System :)

  2.   mauro ha scritto il 13/08/10 alle ore 13:35:

    Ho letto volentieri la guida circa slackpkg , seguendo le indicazioni , ho provato ad installare ad esempio kvpnc con il comando slackpkg install kvpc , ma ho ottenuto :

    Looking for kvpnc in package list. Please wait… DONE

    No packages match the pattern for install. Try:

    /usr/sbin/slackpkg reinstall|upgrade

    ??? Dove sbaglio ???

    Grazie in anticipo .

  3.   Conraid ha scritto il 13/08/10 alle ore 14:25:

    slackpkg serve per i pacchetti “ufficiali” presenti nei repository Slackware e kvpnc non lo è

  4.   spino1968 ha scritto il 13/11/10 alle ore 22:24:

    …ottima guida…
    …appena aggiornata la mia Slackware! :-)

  5.   Full ha scritto il 17/08/12 alle ore 12:19:

    Ottima guida, molto semplice. Davvero non capisco perché slackpkg non lo mettano nativo, è veramente comodo!

  6.   Conraid ha scritto il 23/08/12 alle ore 12:37:

    slackpkg è compreso nella distribuzione, non capisco che intendi con “nativo”

Lascia un commento

TrackBack URI

XHTML: Puoi usare questi TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Slackware Linux Wordpress Get Firefox! XHTML CSS Newartonline Conraid