fsck: "no" puis plein de "yes"

Le
Mihamina Rakotomandimby
Bonjour,

J'ai redimensionné une partition.
Il faut que je fasse en fsck dessus.

Mais la premiere question est:
root@phenom:~# e2fsck /dev/sdb1
e2fsck 1.41.4 (27-Jan-2009)
The filesystem size (according to the superblock) is 244190000 blocks
The physical size of the device is 131074327 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>?

Je dois y repondre "non"

Puis aux questions suivantes, je dois repondre "oui".
Cependant, apres avoir mis objet suffisament lourd sur la touche entrée
pendant 15 minutes, les questions continuent et il faut toujours y
repondre "oui" (le choix par defaut, donc toujours "enter")

Disque de 1To en une seule partition ou j'ai reduit la partition à 500Go,
pour y placer d'autres ensuite. Filesystem: ext3.

Coment suggérez-vous de repondre "no" pour la premiere question puis
toujours "yes" pour les questions suivantes par la suite?

# e2fsck -p /dev/sdb1
/dev/sdb1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)

# e2fsck -y /dev/sdb1
Abort? yes

Merci de votre aide.

--
Architecte Informatique chez Blueline/Gulfsat:
Administration Systeme, Recherche & Developpement
+261 34 29 155 34 / +261 33 11 207 36
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JKB
Le #20899621
Le 05-01-2010, ? propos de
fsck: "no" puis plein de "yes",
Mihamina Rakotomandimby ?crivait dans fr.comp.os.unix :
Bonjour,

J'ai redimensionné une partition.
Il faut que je fasse en fsck dessus.

Mais la premiere question est:
:~# e2fsck /dev/sdb1
e2fsck 1.41.4 (27-Jan-2009)
The filesystem size (according to the superblock) is 244190000 blocks
The physical size of the device is 131074327 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>?

Je dois y repondre "non"

Puis aux questions suivantes, je dois repondre "oui".
Cependant, apres avoir mis objet suffisament lourd sur la touche entrée
pendant 15 minutes, les questions continuent et il faut toujours y
repondre "oui" (le choix par defaut, donc toujours "enter")

Disque de 1To en une seule partition ou j'ai reduit la partition à 500Go,
pour y placer d'autres ensuite. Filesystem: ext3.

Coment suggérez-vous de repondre "no" pour la premiere question puis
toujours "yes" pour les questions suivantes par la suite?

# e2fsck -p /dev/sdb1
/dev/sdb1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)

# e2fsck -y /dev/sdb1
Abort? yes

Merci de votre aide.




Méthode bourin (non testée, hein, pas taper ;-) )

$ cat ny
#!/bin/bash

echo n
while true; do echo y; done
exit 0

$ ny | e2fsck...

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Pascal Hambourg
Le #20900001
Salut,

Mihamina Rakotomandimby a écrit :
Bonjour,

J'ai redimensionné une partition.
Il faut que je fasse en fsck dessus.

Mais la premiere question est:
:~# e2fsck /dev/sdb1
e2fsck 1.41.4 (27-Jan-2009)
The filesystem size (according to the superblock) is 244190000 blocks
The physical size of the device is 131074327 blocks


[...]
Disque de 1To en une seule partition ou j'ai reduit la partition à 500Go,
pour y placer d'autres ensuite. Filesystem: ext3.



Apparemment le système de fichiers se croit plus grand que la partition
qui le contient. Comment as-tu réduit la partition ? Avec un outil "tout
en un" comme gparted ou avec un simple partitionneur comme fdisk ? Dans
ce dernier cas, as-tu bien réduit le système de fichiers avec resize2fs
(ou autre) avant de réduire la partition ?
Bruno Tréguier
Le #20899991
Mihamina Rakotomandimby wrote:
Bonjour,



Bonjour,


J'ai redimensionné une partition.
Il faut que je fasse en fsck dessus.

Mais la premiere question est:
:~# e2fsck /dev/sdb1
e2fsck 1.41.4 (27-Jan-2009)
The filesystem size (according to the superblock) is 244190000 blocks
The physical size of the device is 131074327 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>?

Je dois y repondre "non"

Puis aux questions suivantes, je dois repondre "oui".
Cependant, apres avoir mis objet suffisament lourd sur la touche entrée
pendant 15 minutes, les questions continuent et il faut toujours y
repondre "oui" (le choix par defaut, donc toujours "enter")

Disque de 1To en une seule partition ou j'ai reduit la partition à 500Go,
pour y placer d'autres ensuite. Filesystem: ext3.



Ouille ouille ouille, rien que d'y penser, j'ai mal pour le
filesystem... Si ce n'est pas indiscret, vous avez fait ça comment ? A
la hache ? %-)

C'est sûr que si les infos du superblock ne sont pas mises en accord
avec la taille réelle du FS, il va y avoir des soucis !

C'est probablement trop tard désormais (sauf si vous aviez une
sauvegarde), et ce n'était pas votre question initiale, mais n'avez-vous
pas songé à utiliser un outil comme resize2fs ?

Rassurez-moi: vous n'êtes pas chirurgien, dans la vie, au moins ? :-D

Cordialement,

Bruno
Mihamina Rakotomandimby
Le #20900211
> Pascal Hambourg:
as-tu bien réduit le système de fichiers avec resize2fs (ou autre) avant
de réduire la partition ?



Euh. Dans ma checklist, le "resize2fs" est apparu apres le "fdisk".
En y repensant: quel con.

Bon ben... ya pu ka.

--
Architecte Informatique chez Blueline/Gulfsat:
Administration Systeme, Recherche & Developpement
+261 34 29 155 34 / +261 33 11 207 36
Mihamina Rakotomandimby
Le #20900421
> Pascal Hambourg:
as-tu bien réduit le système de fichiers avec resize2fs (ou autre) avant
de réduire la partition ?



Euh. Dans ma checklist, le "resize2fs" est apparu apres le "fdisk". En y
repensant: quel con.

Bon ben... ya pu ka.
J'ai des backup.

--
Architecte Informatique chez Blueline/Gulfsat:
Administration Systeme, Recherche & Developpement
+261 34 29 155 34 / +261 33 11 207 36





--
Architecte Informatique chez Blueline/Gulfsat:
Administration Systeme, Recherche & Developpement
+261 34 29 155 34 / +261 33 11 207 36
Cyrille Lefevre
Le #20906971
JKB a écrit :
$ cat ny
#!/bin/bash

echo n
while true; do echo y; done
exit 0

$ ny | e2fsck...



Bonjour,

rien à voir avec le pb originel, mais juste une ch'tit optimisation :

while true; do echo y; done

peut s'écrire :

yes

et si on ne veut que des no, il y a :

yes no

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Paul Gaborit
Le #20907231
À (at) Wed, 06 Jan 2010 01:57:55 +0100,
Cyrille Lefevre
JKB a écrit :
$ cat ny
#!/bin/bash

echo n
while true; do echo y; done
exit 0

$ ny | e2fsck...



Bonjour,

rien à voir avec le pb originel, mais juste une ch'tit optimisation :

while true; do echo y; done

peut s'écrire :

yes

et si on ne veut que des no, il y a :

yes no




Donc si on veut un 'no' suivi de plein de 'yes', on peut faire :

yes no | head -1 && yes

Et pour envoyer cela à e2fsck :

( yes no | head -1 && yes ) | e2fsck


--
Paul Gaborit -
Manuel Pégourié-Gonnard
Le #20909161
Paul Gaborit scripsit :

Donc si on veut un 'no' suivi de plein de 'yes', on peut faire :

yes no | head -1 && yes



Euh, pendant qu'on est dans les optimisations, est-ce que

yes no | head -1

ne peut pas aussi s'écrire

echo no

? Je t'accorde que ta solution est plus générale, elle s'adapte à un
nombre arbitraire de 'no'.

Et pour envoyer cela à e2fsck :

( yes no | head -1 && yes ) | e2fsck



J'ai l'impression que ça marche aussi comme ça :

{ echo no; yes } | e2fsck

et que ça ne lance pas de sous-shell.

Ceci dit, c'est sans doute inutile de chercher à optimiser ici, vu que
c'est e2fsck le facteur limitant la vitesse d'exécution. Mais, disons
que c'est pour le plaisir de papoter.

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Paul Gaborit
Le #20911111
À (at) Wed, 6 Jan 2010 12:17:46 +0100 (CET),
Manuel Pégourié-Gonnard
Paul Gaborit scripsit :

Donc si on veut un 'no' suivi de plein de 'yes', on peut faire :

yes no | head -1 && yes



Euh, pendant qu'on est dans les optimisations, est-ce que

yes no | head -1

ne peut pas aussi s'écrire

echo no

? Je t'accorde que ta solution est plus générale, elle s'adapte à un
nombre arbitraire de 'no'.



Oui. Mon idée était bien de donner une solution plus ou moins
générale...

Et pour envoyer cela à e2fsck :

( yes no | head -1 && yes ) | e2fsck



J'ai l'impression que ça marche aussi comme ça :

{ echo no; yes } | e2fsck

et que ça ne lance pas de sous-shell.



Là par contre, tu as tout à fait raison : l'usage des accolades est
bien meilleur.

Disons que c'est pour le plaisir de papoter.



C'est toujours un plaisir de papoter avec toi ! ;-)

--
Paul Gaborit -
Benoit Izac
Le #20913121
Bonjour,

le 06/01/2010 à 12:17, Manuel Pégourié-Gonnard a écrit dans le message

( yes no | head -1 && yes ) | e2fsck



J'ai l'impression que ça marche aussi comme ça :

{ echo no; yes } | e2fsck

et que ça ne lance pas de sous-shell.



Cette syntaxe ne fonctionne pas sous dash, je ne sais pas pourquoi :
% env -i PATH=/usr/bin:/bin dash
$ ( yes no | head -1 && yes ) | head -2
no
y
$ { yes no | head -1 && yes } | head -2



et je suis obligé d'annuler avec un ^C

Sous zsh, j'ai l'impression que c'est les '()' qui prennent le moins de
processus :

% strace -ff -o test1 -eexecve zsh -c '{ yes no | head -1 && yes } |
sed -e "2q"'
% strace -ff -o test2 -eexecve zsh -c '( yes no | head -1 && yes ) |
sed -e "2q"'
% ls -1
test1.18804
test1.18805
test1.18806
test1.18807
test1.18808
test2.18810
test2.18811
test2.18812
test2.18813
% for f in test*; do echo " $f"; cat "$f"; echo; done
test1.18804
execve("/bin/zsh", ["zsh", "-c", "{ yes no | head -1 && yes } | se"...], [/* 38 vars */]) = 0
execve("/bin/sed", ["sed", "-e", "2q"], [/* 38 vars */]) = 0

test1.18805
--- SIGCHLD (Child exited) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---

test1.18806
execve("/usr/bin/yes", ["yes", "no"], [/* 38 vars */]) = 0
--- SIGPIPE (Broken pipe) @ 0 (0) ---

test1.18807
execve("/usr/bin/head", ["head", "-1"], [/* 38 vars */]) = 0

test1.18808
execve("/usr/bin/yes", ["yes"], [/* 38 vars */]) = 0
--- SIGPIPE (Broken pipe) @ 0 (0) ---

test2.18810
execve("/bin/zsh", ["zsh", "-c", "( yes no | head -1 && yes ) | se"...], [/* 38 vars */]) = 0
execve("/bin/sed", ["sed", "-e", "2q"], [/* 38 vars */]) = 0

test2.18811
--- SIGCHLD (Child exited) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
execve("/usr/bin/yes", ["yes"], [/* 38 vars */]) = 0
--- SIGPIPE (Broken pipe) @ 0 (0) ---

test2.18812
execve("/usr/bin/yes", ["yes", "no"], [/* 38 vars */]) = 0
--- SIGPIPE (Broken pipe) @ 0 (0) ---

test2.18813
execve("/usr/bin/head", ["head", "-1"], [/* 38 vars */]) = 0


--
Benoit Izac
Publicité
Poster une réponse
Anonyme