web analytics

Arch Linux dice addio alla directory lib e arrivano i problemi….

Lo sviluppo di Arch Linux sta portando diverse novità come l’abbandono di AIF (l’Arch Installation Framework) che sta facendo un po arrabbiare molti utenti (ma arriveranno alcune guide di lffl le quali spero semplificheranno il tutto) e la rimozione della directory lib dove tutti i file saranno saranno quindi spostati nella cartella /usr/lib lasciando un link simbolico in lib che punta verso la nuova cartella /usr/lib.

Il team di sviluppo ha già corretto tutti i pacchetti che avevano file nella cartella rimossa, il problema arriva che molti utenti che magari non aggiornano da alcune settimane o mesi che si trovano dei conflitti con glibc. Questo sta accadendo a molti utenti che stanno installando ad esempio Bridge Linux o oltre derivate di Arch Linux il quale aggiornamento (se forzato con -f) manda in crash l’intera distribuzione rendendola instabile.

Per risolvere il problema basta semplicemente installare glibc da pacchetto e poi procedere con l’aggiornamento.

Ecco come fare

Per Arch Linux 32 Bit

pacman -U http://pkgbuild.com/~allan/glibc-2.16.0-1-i686.pkg.tar.xz

Per Arch Linux 64 Bit

pacman -U http://pkgbuild.com/~allan/glibc-2.16.0-1-x86_64.pkg.tar.xz

poi digitiamo:

rm /etc/profile.d/locale.sh

pacman -Su –ignore glibc

a questo punto potremo effettuare correttamente l’aggiornamento.
Al riavvio basta ridare

pacman -Su

e troveremo l’aggiornamento di glibc confermiamo, ed avremo la nostra Arch Linux permettente aggiornata.
Per maggiori informazioni consiglio di consultare la pagina dedicata nel wiki di Arch Linux.

Per chi ha forzato l’aggiornamento di glibc e si è ritrovato il sistema inutilizzabile, basta montare la partizione su cui è installata la arch con un live cd o con magari un’altra distro installata sul disco fisso con il comando mount /dev/sdax /mnt(la x sarebbe il numero della partizione su cui è installato arch) , spostarsi nella directory mnt con il comando cd /mnt e dare i seguenti comandi:

cp -ar lib/* usr/lib/
rm -rf lib
ln -s usr/lib lib.

In pratica questi comandi rimuovono la vecchia cartella lib e crea un link simbolico che detta in poche parole rimanda alla nuova cartella lib cioè /usr/lib (grazie a Dario G. per la segnalazione)