Newsgroup: it.comp.os.linux.iniziare
Titolo: Eseguire fsck sulla root

Ho subito un crash al sistema probabilmente dovuto al driver
proprietario della mia scheda video ati. Non sono riuscito a
killare la sessione grafica n� a passare alle varie tty su F1
ecc...
Cos� ho spento il sistema tenendo premuto il pulsante "power".
Al riavvio non � stato eseguito il fsck. Penso sia normale, ma mi
� venuto in mente un dubbio:
e se volessi controllare il file system con fsck della partizione
di root?
Come fare visto che questa una volta avviato il sistema � montata
in read-write?
In rete ho trovato una soluzione molto semplice:
touch /forcefsck
dato da root....ma non mi pare che esegua il noioso controllo del
filesystem.
Come fare?
Anche senza riavviare magari...dite voi. Grazie in anticipo.


Se ne e' discusso questa estate. La soluzioni piu' pulita e' avviare
dal cd/dvd di installazione in modalita' live, e da li' controllare
la partizione con fsck.

 Anche senza riavviare magari...dite voi. Grazie in anticipo.
Senza riavviare
init 1
e poi una volta finito torni al runlevel precedente.
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 Anche senza riavviare magari...dite voi. Grazie in anticipo.
riavviando:
shutdown -rF now

 la partizione con fsck.
E se la distribuzione montata non � live, ma alternate come f� a fare il
controllo con fsck da cd/dvd? 
Cosa che potrebbe interessare anche ad altre persone che si trovasero nella
medesima situazione.
-- 
nn                                                             

 controllo con fsck da cd/dvd?  
di sicuro ci sarà il modo di bypassare il tool d'installazione;
nella Slack basta, dopo aver scelto kernel e tastiera, loggarsi come 
root e quindi, invece di dare
setup
che inizia l'installazione, digitare
fsck /dev/quelcheè
r
-- 
Ho fatto di quest'aula sorda e grigia un boudoir per le mie puttane.
[Silvio "Ben" Berlusconi]
Home Page, The Pentangle, I Salon di Baudelaire: 
http://www.umpf.net

 e poi una volta finito torni al runlevel precedente.
ecco, � quello che ho fatto anch'io:
- d�
# init 1
- e finisco al login del runlevel 1
- mi loggo come root
ma a sto punto? la partizione di root? non resta sempre montata
e funzionante come prima?
Cio� se faccio
# umount /dev/hdcX
Non dovrebbe funzionare... o invece s�?


Mmmmm.... :-P   bella mossa, la prossima volta che riavvio provo
grazie :-)

 Anche senza riavviare magari...dite voi. Grazie in anticipo.
La prima cosa sarebbe leggersi uno dei tanti di post che chiedono la stessa
cosa o uno delle decine di how-to (magari quelli sul sito della propria
distribuzione) che spiegano la cosa.
Comunque, per vari filesystem linux è necessario smontare la partizione
prima di poterla controllare, ma per poterla smontare bisogna che non sia
in uso.
Se una partizione non è di sistema (la / per esempio è di sistema), basta
chiudere tutti i programmi che la usano, smontarla (o con un programma
grafico o con il comando ' umount xyz ') e poi eseguire il controllo della
partizione con fsck .
Altrimenti bisogna usare il classico ' touch /forcefsck ' che forza il
controllo al prossimo avvio, ma questo succede solo se la distribuzione usa
questo sistema e se in ftsab è stato attivato il controllo della partizione
all'avvio (vedi i due numeri alla fine delle righe del file /etc/fstab
(inserire dati errati in questo file provoca spesso il mancato avvio del
sistema)).
Altrimenti bisogna avviare con il cd/dvd di installazione e usare la voce
ripristino/manutenzione/ecc., e poi vedere che strumenti si ha a
disposizione, a volte c'è solo una console da cui lanciare fsck o altri
comandi.
Altrimenti bisogna eseguire il boot con il run-level manutenzione (run-level
1) che dovrebbe montare i filesystem di sistema in read-only.
Se si utilizza il boot loader grub di solito basta un premere un tasto
quando compare la schermata di grub (di solito è scritto premere F2 per
inserire le opzioni di avvio, o qual cosa di simile), alla fine della riga
delle opzioni di avvio aggiungere una spazio e poi 1 (una ricerca su google
sarebbe utile per verificare che sia questo il sistema) e poi confermare
Prima di eseguire il la verifica con fsck è consigliabile verificare che la
partizione non sia montata con il comando ' mount ' o che almeno la 
partizione sia montata in read-only provando a scrivere dentro il punto di
montaggio della partizione.

JohnnyNewbie wrote:

Mi risulta che vari shutdown non abbiano l'opzione -F  (force check).

 Non dovrebbe funzionare... o invece s�?
No, non funziona.


 No, non funziona.
Mmmm, non capisco...come si pu� montare in ro un qualcosa di gi�
montato senza riuscire a smontarlo?
Dunque ripetiamo, d�:
# init 1
Poi che faccio in comandi?
La root � ancora montata e funzionante mettiamo che sia
/dev/hdc6 montata ovviamente in "/".
Posso montarla in ro impunemente? mentre il sistema sta
funzionando??? Che comandi do praticamente (chiedo per chiarezza
perch� sto punto mi insospettisce).
Grazie

 Dunque ripetiamo, dò:
]zac[
Il rimontaggio di qualcosa già montato è una specie di aggiornamento delle
impostazioni del mount, non è un nuovo mount.
Poi è possibile eseguire il remount in readonly perchè la partizione montata
non è acceduta o è acceduta solo nella modalità in sola lettura, se ci
fosse un qualsiasi file aperto in scrittura, per esempio un file di log,
l'operazione non sarebbe possibile.
In sintesi il remount non corrisponde assolutamente ad un umount e poi un
mount o a qualsiasi altra operazione simile.

 Poi che faccio in comandi?
mount -o remount,ro /



Ho appena installato Slackware 13, e ancora lilo di default. Va bene
essere conservatori e prudenti, ma cosi' stiamo esagerando. Almeno
si degnano di mettere grub negli extra...



Secondo me, qualunque distribuzione live puo' eseguire un fsck su una 
partizione ext3. No? Basta avviare con Slax, per esempio. Non mi 
risulta che fsck di Ubuntu sia diverso da fsck di RedHat.

 Ho appena installato Slackware 13, e ancora lilo di default.
E' molto che non uso slackware. Hanno introdotto pam?



No, puoi installare le librerie per i programmi che lo usano (vedi vmware) 
ma non viene usato dai tool di sistema
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Fashion is a form of ugliness so intolerable that we have to alter it
every six months.
		-- Oscar Wilde

 mount -o remount,ro /
Capito, grazie della dritta, ma...
se, come si osserveva in altro post, la partizione � utilizzata
dal sistema in scrittura?
Mi viene in mente per esempio /var/log/messages, che viene
continuamente scritto... non so se mi spiego.... o forse quando
si � in "init 1", la partizione non viene utilizzata dal sistema
in scrittura?
grazie ancora in ogni caso  :-)

 in scrittura?
Provare per credere


 in scrittura?
]zac[
ehm ... i vari run level vengono utilizzati per decide cosa avviare o meno
nel sistema e indovina? nel livello 1 non vengono avviati molti dei servizi
e un sacco di altri programmi, non per niente è chiamato livello di
manutenzione, poi in alcune distribuzioni al livello 1 non è nemmeno
richiesto sapere la password di root.

 richiesto sapere la password di root.
Grazie per la conferma.
Allora alla fine della favola, si va in int 1 e si da
mount --> remount ecc ecc (ora non ricordo il comando, ma c'� nel
messaggio di Zip..  :-) ).
Dopo provo, ora non posso andare in init 1..e aspettare il fsck.

 Dopo provo, ora non posso andare in init 1..e aspettare il fsck.
Solo per pignoleria, si deve andare in init 1 (o single, o manutenzione, o
altro nome che può avere) passando dal ... via ... (da boot).
Questo perché se passi da un altro run level al level 1 rimangono quasi
sicuramente dei file/directory aperti in scrittura.
Il comando di mount è qualcosa come ' mount / -O=remount,ro '

 Il comando di mount � qualcosa come ' mount / -O=remount,ro '
Certo certo, l'avevamo gi� detto anche nei messaggi precedenti:
- prima bisogna andare al runlevel 1 con "init 1" in quanto in
  tal modo i processi che utilizzano le partizioni vengono
  terminati.
- Adesso possiamo rimontare (che non significa smontare e montare
  nuovamente) la partizione interessata cio� la root "/" in
  readonly mode.
nota:
Se non avessimo avuto a che fare con la partizione di root,
allora bastava semplicemente smontare la partizione ed eseguirne
il fsck.
Sull'esecuzione del comando fsck ho alcuni dubbi in quanto
eseguendolo su una certa partizione, smontata, dell'hd esterno
ottengo:
---------------------------------------
# fsck /dev/sda3
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
/dev/sda3: clean, 220608/915712 files, 1731673/3660811 blocks
#
---------------------------------------
Riscontro lo stesso comportamento anche con altre partizioni
dell'HD interno al mio PC. E anche nella prova sulla root:
vado ininit 1, rimonto la / in ro, lancio fsck /dev/hdc6 e invece
di apparire la barra d'avanzamento a riprova del fatto che sta
lavorando, appare un rapido report tipo quello sopra:
mi sono chiesto perch�, in compagnia di google, ma a quanto pare
� un po' svogliato..  ;-D
Per contro il comando "shutdown -rF" ha funzionato e all'avvio
viene controllata ciascuna partizione in ext3 dell'HD.

 � un po' svogliato..  ;-D
Prima di Google c'� il man di fsck che ci comunica dell'esistenza di uno 
switch per il verbose reporting...


 switch per il verbose reporting...
Ho provato a smontare del tutto /dev/hdc3, non � la root.
--------------------------------------------------------------
# mount -l|grep hdc3;fsck -v /dev/hdc3
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
/dev/hdc3: clean, 228749/1537088 files, 1450657/1536215 blocks
--------------------------------------------------------------
Non vedo partire l'avanzamento, mi sputa subito quel report e
stop...
Non capisco sinceramente: ieri avevo fatto il riavvio con
shutdown -rF e al boot � partito fsck regolarmente impiegando il
tempo dovuto... anche la hdc3 � stato controllato. Invece se ora
do il comando a mano...non sembra partire, neanche in verboso
dice molto di pi�.  :-\


Il problema era che non c'� problema....s� perch� la partizione
pare pulita, cos� di suo il fsck nonesegue il controllo.
Poi ho letto questo dal man o help c'� in entrambi:
 -f      Force checking even if filesystem is marked clean
Quindi era lui l'assassino!.... 8-D
Il parametro "force", ed infatti:
------------------------------------------------------
# fsck -f /dev/hdc3
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/hdc3: 228749/1537088 files (3.7% non-contiguous),
1450657/1536215 blocks
------------------------------------------------------
Non si vede pi� l'avanzamento della barra, tipo:
|========                                |
Ma prima c'era...poi resta il report.
A dirla tutta pare che lanciando fsck parta un suo clone e2fsck,
ma non � un collegamento, sembra comunque che l'uno richiami
l'altro...bo va b�.
Ah...quel 3.7% noncontiguous � la cossiddetta frammentazione?
� un valore alto?
Volendo abassarlo (a che pro non saprei comunque) mi pare che
fosse consigliabile copiare il contenuto della partizione in un
supporto "altro" e poi ricopiare il tutto nuovamente nella
partizione originaria...sbaglio?
Ma serve poi realmente a qualcosa...?
grazie ancora.  :-)

 è un po' svogliato..  ;-D
]zac[
Scusa, ma questa come la domanda sulla frammentazione è una stra-faq, cose
che puoi trovare tranquillamente da solo e senza nessuno sforzo, o anche
semplicemente per ragionamento logico.

 semplicemente per ragionamento logico.
Eh dovevo usare lo switch -f, per� scusa eh.. dopo una buona
decina di posts la cosa non � ancora venuta fuori...Non sono
d'accordo che sia una domanda strafaq: almeno da quanto ho
cercato in google non ho trovato nessun riferimento allo
switch -f...Ora che lo so sicuramente anche google darebbe 
risultati, ma saprei cosa cercare, prima avevo cercato cose tipo,
"fsck partizione di root" ecc ecc..
Anche TheZipMan, mi aveva risposto di usare lo switch -v, che
invece non mi diceva nulla di pi� e ci� che serviva � lo switch
-f capace di forzare il controllo nonostante il filesystem
risulti pulito.
Insomma, alla fine ci sono arrivato per tentativi leggendo il
man...Se qualcuno un domani chiedesse come fare questa
operazione, sottolineerei subito il fatto che non vede
l'avanzamento ma solo un rapido report, in quanto il filesystem �
in ordine: per forzare il controllo completo serve lo switch -f.
La domanda sulla frammentazione invece l'ho messa cos� per far
due chiacchiere, a volte salta fuori qualcosa che non si s�.
Quella comunque hai ragione � una domanda strafaq...ma c'� di
peggio dai, viste le mille discussioni, che chiedono quale
distribuzione usare...e tra l'altro sono sempre affollate delle
consuete risposte.

 consuete risposte.
Si si, niente di cui scusarsi in eterno, però ammettilo, ancora un poco e
arrivavano domando tipo, ma per 'ma come mai se premo il pulsante linux non
si accende' ( :PP )?
P.S. Non sarebbe male quando si ciacola tanto per ciacolare, dirlo, cosi uno
sa che deve uscire dalla modalità help-desk ed entrare nella modalità
c.zz.ggio.

 man...Se qualcuno un domani chiedesse come fare questa
]zac[
P.S. Naturalmente sei liberissimo di vederla a modo tuo, e in ogni caso una
volta chiarite le proprie idee, per me non ha senso discuterle oltre.
Scusami, se insisto, ma questo cose sono scritte in vari how-to tipo da
windows a linux da zero, in varie faq, ecc., cioè sono informazioni di
base/semplici che richiedono solo di fare qualche ricerca.
Tanto per fare un esempio:
man fsck:
]zac[
       In  verità, fsck è solo un front-end per i diversi file system
checker (fsck.tipo_fs) disponibili sotto Linux. Il file system checker
]zac[
VEDERE ANCHE
       fstab(5), mkfs(8), fsck.minix(8), fsck.ext2(8) oppure e2fsck(8),
fsck.xiafs(8).
Quindi si capisce che bisogna leggere il man del programma specifico:
man fsck.ext2
]zac[
      -f     Force checking even if the file system seems clean.
]zac[
E scusami di nuovo, ma non è che ci vogliano cacità o esperienze
stratosferiche per arrivarci da soli, specialmente quando io so PER CERTO 
che la persona con nickname JohnnyNewbie non è per niente l'ultimo arrivato
nell'uso di linux.
P.S. Arrampicarsi sugli specchi produce uno gneeek sgradevole, che ne dici
di smetterla di produrlo ( :PP ):

 ed entrare nella modalit� c.zz.ggio.
Ma era una osservazione finale, cui se uno vuole rispondere:
- eh, la frammentazione � un po' altina, oppure quel valore �
ok - lo fa....altrimenti, proprio perch� stiamo parlando di
una nota finale, e non del tutto in topic con la discussione,
b� tanto vale starsene dai...mi pareva anche intuibile dal tono
del discorso.

 me non ha senso discuterle oltre.
Concordo.

 del discorso.
OK!

 neanche alzare in piedi.  :-D
]zac[
ehhehe