OVH Cloud OVH Cloud

fsck: "no" puis plein de "yes"

12 réponses
Avatar
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

2 réponses

1 2
Avatar
Stephane CHAZELAS
2010-01-06, 15:13(+01), Paul Gaborit:

À (at) Wed, 6 Jan 2010 12:17:46 +0100 (CET),
Manuel Pégourié-Gonnard écrivait (wrote):

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...



A noter que la commande "yes" n'est pas POSIX, et que certaines
commandes "yes" n'acceptent pas d'argument.

On peut l'ecrire:

echo yes | sed -e :1 -e 'p;b1'


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.



En l'occurrence, cette syntaxe ne marche qu'avec zsh, les autres
shells ont besoin de

{ echo no; yes; } | e2fsck

Avec la plupart des shells, ca ne fera pas de difference, car il
faut tout de meme forker a cause du pipe et de toutes facons, un
bon nombre de shells optimisent en ne forkant pas pour la
derniere commande d'un (...), donc ca ne fait pas de difference
dans le nombre de fork. Personnellement, dans un pipe, je
prefere (...) a {...} car au moins on est sur du fork (ou du
moins du subshell environment car ksh93 ne forke pas toujours
dans (...), il simule un fork quand il peut).

--
Stéphane
Avatar
Mihamina Rakotomandimby
> Stephane CHAZELAS:
echo yes | sed -e :1 -e 'p;b1'
{ echo no; yes; } | e2fsck



Eh bien dites donc...
On en apprend tous les jours.

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