Soluzione di problemi su Arch Linux

Da Blah Hacklab, GNU/Linux e software libero - Megliadino San Fidenzio (Padova).

[modifica] Soluzione di problemi su Arch Linux

[modifica] 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!

[modifica] 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