Ogni buon archere che si rispetti è iscritto alla newsletter di Archlinux o almeno segue via RSS le news del sito. Infatti più di una volta le email della newsletter mia hanno parato il cubo da aggiornamenti disastrosi.
Non è raro infatti che sua Arch arrivino cambiamenti anche radicali del sistema e le news che si trovano sul sito o nelle email sono oro colato che ci assicurano il quieto vivere sulla nostra Archlinux.
Proprio l’altro giorno ricevo una nuova email della newsletter di archlinux che mi informa che /lib è diventato un link simbolico di /usr/lib. Tutto bello quindi i passi da fare erano elencati nella email:
sudo pacman -Syu --ignore glibc
sudo pacman -Su
Sul mio pc fisso principale è andato tutto liscio come l’olio e l’update è proseguito senza intoppi ma sul mio netbook glibc mi dava ancora problemi ovvero quando davo pacman -Su mi sputava fuori un simpatico errore:
glibc: errore /lib è già presente nel filesystem
O che bellezza, o che gauidio o AKAJGAJGAGKJA.
Tornando calmo leggo il resto della email che mi indica una guida che in teoria dovrebbe risolvermi il problema, io la seguo ma non cavo un ragno dal buco perché glibc mi sputa fuori ancora quell’errore. Cosi disperato e in lacrime arrivo su Google ed egli mi mostra la luce!
In pratica in questo post sul forum di archlinux inglese (commento 65) un utente ha risolto questo problema rimuovendo la directory chiamata modules presente dentro /lib. Cosi in due microsecondi creo un dir di backup sulla mia home e una copia&incolla dopo (o se preferite un mv /lib/modules /home/picchio/backups
dopo) riprovo a dare pacman -Su e per magia tutto fila liscio!
Dunque questa magari non era la soluzione ufficiale (del resto la guida diceva che i pacchetti dovevano essere reinstallati in modo da non comprendere /lib…ma si e come si fa?!) ma nel mio caso ha funzionato e dopo un reboot la mia Archlinux continua a girare felicemente anche sul mio netbook.
:# /dev/null/
Nada, anche eliminando /modules cambia niente ):
Mi spiace che per te non abbia funzionato, io ero pronto ad aprire un post sul forum italiano di arch, prima di trovare questa soluzione, magari li sanno come risolvere.
un altra cosa che puoi fare è rimuovere (o spostare come backup) /lib e creare un link simbolico a /usr/lib
Se spostavo lib in un altra posizione non funzionava più un cazzo manco bash xD (fortuna che avevo un live cd di Ubuntu)
guarda sul forum di arch ho trovato questo utente che ha risolto in questo modo: http://www.archlinux.it/forum/viewtopic.php?f=4&t=15005
Ma non hai nemmeno provato a reinstallare i pacchetti che davano problemi?
Io ho aggiornato senza problemi su fisso e netbook, il notebook invece mi dava errori. Usando il comando segnalato nell’issue 2 del wiki ed eliminando le varie voci relative a glibc ho visto che i problemi erano dati nel mio caso da nvidia-bumblebee e bbswitch. Mi è bastato reinstallarli, completare di nuovo l’aggiornamento e tutto è filato liscio.
Nel mio caso l’unico pacchetto che mi dava problemi era proprio glibc, anche io sul fisso non ho avuto problemi ma sul netbook come puoi leggere mi si è presentato il problema, anche tentando di reinstallare il pacchetto glibc come indicato nella issuse 1 e 2 (anche eliminando le voci relativa che non erano altri che file inerenti a glibc su /lib).
Nel mio caso dovevo dare:
cd /lib
mv modules /root
mv udev /root
mv kde4 /root
per rimuovere le cartelle, dovevo anche disinstallare hal
[…] Archlinux: /lib diventa un link simbolico ::: il nido del Picchio […]
È andato a puttane il mio fisso.
Sul netbook tutto ok, sul fisso mi fa il tuo stesso errore
Ho spostato modules ma niente
la cosa buffa è che l’aggiornamento è rimasto a metà, o meglio la parte pacman -Su non è andata, quindi al riavvio ora X non parte. E non so come risolvere.
Ho seguito la guida della wiki ma rimuovendo hal non funziona.
Santiago per fortuna io ho avuto il buon senso di non riavviare quando mi è capitato il problema xD Cmq guarda in rete ho trovato questa guida: http://www.lffl.org/2012/07/arch-linux-dice-addio-alla-directory.html
Dovrebbe risolvere il problema usando un live cd di Ubuntu o anche di Arch se preferisci xD
beh aspetta ma il mio sistema si avvia. L’unica cosa è che non parte X e mi lascia al login.
ora provo a fare questa cosa e ti dico
se dai startx che ti dice ? Cmq fammi sapere se con quella guida risolvi 🙂
bene! allora ho seguito la guida, scaricato glibc con pacman -U ecc
dopodiché dato un bel pacman -Su –ignore glibc
e ora quando riavvio va pure X, quindi ti scrivo dal sistema in questione.
Il fatto assurdo è che ora do un normale “Pacman -Su”
e mi restituisce questo:
Unico pacchetto da installare: glibc-2.16.0-2
e poi
errore: impossibile eseguire l’operazione richiesta (file in conflitto)
glibc: /lib è già presente nel filesystem
facendo pacman -Qs glibc dice che ho il pacchetto glibc-2.16.0-1
Quindi, non saprei come fare ora.
(almeno però funziona, ma se avvio alcune applicazioni non le fa partire, tipo skype)
Prova a dare pacman -Syu e vedi se magari aggiornando i repo capisce che hai già quel pacchetto aggiornato.
Oooooh fottutamente risolto.
Allora, seguendo la guida della pagina di wiki https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib
io avevo a che fare con gli ultimi stronzi Unpackaged files
la guida dice di dare il seguente commando per vedere quali sono i files che non appartengono a glibc ma sono ancora in /lib
$ find /lib -exec pacman -Qo — {} +
così mi resi conto che tutti i files della cartella modules non appartenevano a glibc, e addirittura sembra che siano orfani.
quindi ho fatto come te: mv lib/modules /home/ecc/ecc
e poi ho dato un bel
pacman -Su
ora va 😉
Domanda, che ci faccio ora con quella cartella modules? la butto via no?
Io quella cartella l’ho messa nella mia home dir sotto /backups ma penso proprio che non serva ad un cazzo xD
@ Santiago
Il fatto che tu abbia ancora installato glibc 2.16.0-1 e non la versione successiva è normale dato che la guida di lffl ti fa scaricare quel pacchetto. In pratica ora hai ripristinato la situazione così com’era prima dell’aggiornamento andato male. Si tratta quindi di dare questo comando:
grep ‘^lib/’ /var/lib/pacman/local/*/files
per capire se ci sono pacchetti, oltre a glibc che hanno lasciato qualcosa in /lib e che bloccano l’aggiornamento, reinstallarli o rimuoverli e quindi dare di nuovo
pacman -Su
per aggiornare il sistema, compreso glibc. 😉
Miseriaccia, io ho dato pacman -Suf (vedi il mio commento qui https://picchiopc.wordpress.com/2012/05/18/pacman-e-i-file-gia-presenti-nel-filesystem/) e così mi sono ritrovato il sistema inutilizzabile! Qualsiasi comando dava un bel not found. Ho risolto rimuovendo /lib e creando a mano il link simbolico dall’installazione di Ubuntu, poi ho fatto chroot montando dev, sys e proc (grazie bl@ster) e ho salvato tutto.
Praticamente c’è scritto ovunque di non usare l’opzione force durante gli update e tu che fai la usi ? Allora te le cerchi xD Vabbè che è un sistema secondario ma se ti leggevi una o due guide risolvevi senza rompere il sistema questo non è un comportamento da archere.
La cosa che mi lascia perplesso è che in teoria l’opzione -f non avrebbe dovuto funzionare. Alla fine del 2011 i dev di arch/pacman hanno deciso di rimuovere questa opzione e di renderla disponibile solo nella forma estesa di –force proprio perchè è un operazione sconsigliata (salvo casi rarissimi) e speravano che così facendo avrebbero invogliato gli utenti a pensarci due volte prima di usarla.
Tenete presente che ho lasciato spenta questa macchina con Arch, e quando sono andato a fare il mega-aggiornamento ho avuto un problema del genere, e cercando sui forum e sulla guida Arch questo -f sembrava la soluzione più in voga, e infatti quella volta tutto andò a posto. Memore di questa esperienza, non sono andato a cercare in lungo e in largo e ho ripetuto l’azione. Poi puoi leggere le guide quanto ti pare, ma tu stesso dici “Dunque questa magari non era la soluzione ufficiale (del resto la guida diceva che i pacchetti dovevano essere reinstallati in modo da non comprendere /lib…ma si e come si fa?!)”, alla fine per un motivo o per un altro spunta sempre fuori un sistema che si comporta in maniera diversa dagli altri…
Si ok ma io prima di fare quello che ho fatto mi sono andato a sfogliare il wiki e il forum tu hai fatto tutto ad occhi chiusi solo perché i comando -force ha funzionato una volta tempo. Dire che non è molto responsabile ma ovviamente ognuno può gestire ed usare la propria macchina come meglio crede.
Di sicuro mai più -force
Ciao! ho provato a seguire la tua guida anche se non è bastato e ho dovuto provare altro.
Dato che ho risolto il problema ,ho scritto una guida sul mio blog e mi sono permessa di citarti. Se non ti senti a tuo agio , cancello subito la parte “incriminata”!
Puoi vedere qui il mio post con il link al tuo blog
http://pinguinetta.blogspot.it/2012/07/errore-con-glibc-allaggiornamento.html
Non ci sono problemi non preoccuparti 🙂
^^ grazie!