Soluzione di problemi su Arch Linux

Da Blah Hacklab, GNU/Linux e software libero.

Soluzione di problemi su Arch Linux

Come reperire Arch Linux


Se anche tu vuoi avventurarti nella configurazione di un sistema GNU/Linux a partire da ogni minimo software che ti serve, installa Arch Linux!

Spazio su disco finito durante aggiornamenti

E' possibile che, durante gli aggiornamenti con pacman non abbiate sufficiente spazio su disco e gli aggiornamenti non vengano terminati. Può capitare che alcuni file dello stesso pacchetto o dipendenze di esso non vengano installati correttamente, portando il sistema in uno stato di instabilità. Personalmente ho provato diverse soluzioni, oltre a cercare su forum e su motori di ricerca, ma nessuna soluzione adatta. L'unica soluzione che ho trovato funzionante è reinstallare tutti i pacchetti, anche se già installati, in modo da essere sicuri che tutti i programmi o le librerie siano installati correttamente.

Per prima cosa dobbiamo liberare lo spazio necessario, almeno 300-400 MB, poi avvieremo lo script che allego sotto. Lo script è in Perl e legge tutti i pacchetti installati e li reinstalla senza chiedere conferma. Questa operazione non è molto consigliata se avete fatto personalizzazioni particolari ai programmi, ma è l'unica che vi evita di reinstallare da capo il sistema e mantenendo i vostri file.

ArchRecovery.pl

#!/usr/bin/perl
#
# Licenza: Public Domain
#
# Autore: Fabio Lovato (djloviuz@email.it)

# `pacman -Q` elenca tutti i pacchetti installati nel sistema
for $pkg (`pacman -Q`){
    # tolgo il \n alla fine del file
    chomp($pkg);

    # mantengo solo il nome del pacchetto, rimuovendo la versione
    $pkg =~ s/([^\s]+)\s//gi;
    $pkg = $1;

    print "### REINSTALLAZIONE DI $pkg ###";

    # eseguo una chiamata a pacman, facendogli
    # reinstallare ogni pacchetto senza conferma
    system("pacman -Sfy --noconfirm $pkg");

    # rimuovo ad ogni installazione i file in cache
    # visto che c'e' poco spazio
    system("rm /var/cache/pacman/pkg/*");
    print "\n";
}
print "Reinstallazione completata!\n";

Al termine riavviate per far partire in ordine tutti i servizi e avrete il sistema correttamente installato!

IMPORTANTE: questo script l'ho testato dopo un aggiornamento corrotto ed ha funzionato, non mi assumo nessuna responsabilità per
malfunzionamenti o errori.
Strumenti personali