journal ext4

1 risposta [Ultimo contenuto]
Ritratto di winrepented
winrepented
(Newbie)
Offline
Newbie
Iscritto: 25/01/2015
Messaggi: 2

Come ogni buon novellino che si rispetti, non ho idea se stia postando questo mio nella sezione corretta.
Comunque, mi piacerebbe avere delucidazioni su un certo scenario che mi si è presentato, piuttosto che domandare come risolvere un problema che, in effetti, non ho.

Dopo una vita passata con Windows, per gioco prima, per lavoro poi, ho scelto di passare a Linux per il mio utilizzo personale e professionale ma, ovviamente, sono solo alle prime armi e quindi mi scuso in anticipo se quanto seguirà sarà triviale.

Sulla mia Debian box (7.7) compilo senza problemi i sorgenti AOSP di Android (4.0.3 => 4.4.4) e li flasho con soddisfazione sulle mie schede di valutazione finquando un cliente non se ne esce con un dispositivo con SoC Intel (credo Atom) piuttosto che ARM.
Inserisco tutti i blob binari e vado di make relativamente tranquillo.
La compilazione non completa correttamente ed alla fine scopro che il problema è sulla parte con sorgenti dei driver del SoC che necessitano di una versione di libc di cui io non dispongo (i dettagli non sono necessari per il tema del post).
Leggendo in giro scopro che potrei installare la versione libc richiesta prelevandola dai repository della versione successiva di Debian (Jessie? Agh, mi sembra di camminare sulle uova) ma che tuttavia la pratica è sconsigliata.
Avendo spazio in abbondanza sul disco decido allora di creare una nuova partizione e di installare su questa (chiamiamola sdb2) Ubuntu 12.04 LTS; scelta dettata dalle istruzioni fornite da Google relative al building dei sorgenti android.
L'istallazione completa correttamente (peccato che non mi abbia chiesto se poteva sostituire Grub ma l'abbia fatto e basta) ed al boot successivo mi ritrovo il menu di Grub di Ubuntu che mi propone con cosa partire.
Una volta salito Ubuntu monto la partizione di Debian (dove avevo i sorgenti Android) ed in effetti compilo tutto senza problemi.

Finalmente veniamo al punto:
quando riparto con Debian tutto si avvia correttamente ma incomincio a notare errori nelle applicazioni che utilizzo solitamente; dopo qualche indagine su dmesg scopro che c'è stato un errore nel filesystem sul file di journal e adesso mi ritrovo in read only.
I vari fsck non sortiscono effetti: il problema persiste.

Riparto con Ubuntu, non monto sdb1 (dove c'è Debian) ed eseguo:

tune2sf -O ^has_journal /dev/<dev>
e2fsck -f /dev/<dev>
tune2sf -j /dev/<dev>

che ovviamente non è farina del mio sacco ma comunque mi consente di ricreare il file di journaling su sdb1.
Riparto con Debian ed adesso tutto funziona correttamente.

Ringraziando anticipatamente quanti abbiano letto fino a qui, arrivo alle domande.
Cosa è stato a sputtanare il file di journaling su sdb1? Il fatto che l'abbia montato da Ubuntu?
Avendolo ripristinato su Debian, adesso ho un file di journaling sputtanato su Ubuntu (che ancora non ho osato riavviare)?
Se riavvio Ubuntu, mi ritrovo nuovamente col journaling di Debian sputtanato e debbo rimediare di nuovo?
In breve, come diavolo funziona il file di journaling su due partizioni su ciascuna delle quali è installata una distribuzione di Linux differente ma con la necessità di accedere l'una ai files dell'altra?

Cosa ho sbagliato?

Ritratto di homeless
homeless
(Guru)
Offline
Guru
Iscritto: 21/10/2011
Messaggi: 1451

Citazione:

Riparto con Ubuntu, non monto sdb1 (dove c'è Debian) ed eseguo:

tune2sf -O ^has_journal /dev/<dev>
e2fsck -f /dev/<dev>
tune2sf -j /dev/<dev>

[..] mi consente di ricreare il file di journaling su sdb1.


I comandi da te sopra riportati, oltre a cancellare e rigenerare il journal del file system, hanno effettuato un controllo (con riparazione) del file system. È tale riparazione che, quasi certamente, ha ripristinato il corretto funzionamento del file system.

Citazione:

Cosa è stato a sputtanare il file di journaling su sdb1?


Probabilmente il journal non è la causa, quanto il danneggiamento del file system in sé.

Citazione:

Il fatto che l'abbia montato da Ubuntu?


Presumo di no: di solito questi errori sono conseguenza di un spegnimento non controllato del computer.

Citazione:

Avendolo ripristinato su Debian, adesso ho un file di journaling sputtanato su Ubuntu (che ancora non ho osato riavviare)?


No, perché le due partizioni sono isolate e, comunque, i due sistemi operativi dorvebbero essere compatibili a livello di file system. Naturalmente, se hai pasticciato in fase di partizionamento del disco rigido per l'installazione di ubuntu (andando a danneggiare il contenuto della partizione di Debian), questo potrebbe aver reso non più avviabile Debian.

Citazione:

Se riavvio Ubuntu, mi ritrovo nuovamente col journaling di Debian sputtanato e debbo rimediare di nuovo?


Non dovrebbe essere così.

Citazione:

In breve, come diavolo funziona il file di journaling su due partizioni su ciascuna delle quali è installata una distribuzione di Linux differente ma con la necessità di accedere l'una ai files dell'altra?


Ognuna opera indipendentemente dall'altra.

Citazione:

Cosa ho sbagliato?


In mancanza di ulteriori elementi, solo tu puoi dirlo. Nei log di sistema in /var/log/syslog (e versioni storicizzate) puoi trovare elementi utili a comprendere. Anche una manipolazione delle partizioni può condurre, se effettuata in modo erroneo o incompleto, alla stessa conseguenza, così come pure uno spegnimento o grave malfunzionamento improvviso del computer / sistema operativo.