# System de fichier journalisé

## sebweb

Salut,

Voila, lors de l'installation de ma gentoo, je me suis planté de system de fichier. Au lieu de metre XFS j'ai tout formaté en JFS (Devais en tenir une bonne moi encore ce soir là) .   :Rolling Eyes: 

Bref, j'aimerais passer ma partition en XFS, tout en évitant de reformater.

Bien sur je pourrait faire un dd ou un tar de mon /, copier l'archive sur un autre disque, reformater le tout en XFS et rebalancer mon archive.

Mais avant de me lancer la dedans, j'aimerais savoir si il n'existe pas une autre méthode moin lourde ! 

Merci d'avance

----------

## arlequin

Si tu viens juste d'installer et que n' pas encore emerger trop de truc, il est peut-être préférable de reinstaller depuis le debut...

Mais bon... jette un coups d'oeil à ce thread: 

https://forums.gentoo.org/viewtopic.php?t=37427. Y a peut-être qq infos pour tarrer (mouarf) ta partoche...

----------

## sebweb

Ben heuu non !

C'est sur mon portable ( Celeron 600 ), l'install m'a pris 3 jours.

Donc bon quoi qu'il arrive je ne réinstall pas

----------

## arlequin

Merde... ça le fait pas...

Ben à part la soluce de tar, j'vois pas trop.

Par contre, si ça te saoule de passer trois jours à compiler comme un sauvage et que tu as d'autres ordis dispo, tu peux voir du côté de 'distcc' pour booster tes emerge   :Wink: 

----------

## groutchopok

bah tu laisses tomber XFS et tu gardes JFS   :Laughing: 

mais bon c vrai que je te comprends. ça prends vraiment bcp de temps à installer et une fois que c fait bah on est pas trop chaud pour tout recommencer.

----------

## sebweb

Ouai bon ben je vois ce qu'il me reste faire.

Enfin une maigre consolation, c'est qu'au moin et pour une fois, j'aurais une sauvegarde complete de mon systeme (Je sait c'est mal...  :Embarassed:  ) 

Merci quand même

----------

## sergio

 *sebweb wrote:*   

> 
> 
> Bien sur je pourrait faire un dd ou un tar de mon /, copier l'archive sur un autre disque, reformater le tout en XFS et rebalancer mon archive.
> 
> Mais avant de me lancer la dedans, j'aimerais savoir si il n'existe pas une autre méthode moin lourde ! 
> ...

 

Désolé mais pense que c'est la seule solution à ton problème...

Prilivègie le "tar" plutot que le "dd" 

Boote sur le CD gentoo

Prépare tes partitions en XFS

monte-les

dé-tar ton archive dessus

fait un chroot sur la partition "/"

et n'oublie pas de recompiler ton noyeau (avec le support XFS) avant de rebooter sinon tu va avoir des problème...

PS : fait quand même une deuxième sauvegarde au cas où (avec ghost par exemple) si un de tes copains peut t'en prêter une version (c'est utile)

A+

----------

## groutchopok

https://forums.gentoo.org/viewtopic.php?t=37427

dans le thread que j'avais mis  : "backup gentoo genre ghost"   :Wink: 

il est dit qu'il est pas possible de compréssé /dev et /proc

et puis pas mal de "gentoo-user" ont répondu en donnant pas d'outil mieux que tar.

essayes voir.

----------

## sergio

 *groutchopok wrote:*   

> https://forums.gentoo.org/viewtopic.php?t=37427
> 
> dans le thread que j'avais mis  : "backup gentoo genre ghost"  
> 
> il est dit qu'il est pas possible de compréssé /dev et /proc
> ...

 

1. Pour /proc il n'est pas nécessaire de le compresser c'est un point de montage dynamique qui est récréé par le noyeau à chaque démarrage. Seule la présence du point de montage est nécessaire...

2. Pour /dev si tu boote si sur noyeau qui prends en charge devfs c'est comme pour /proc 

Donc lorsque tu auras "détaré" (c'est pas français) ton archive et avant de faire le chroot tu fais comme lors de l'install gentoo :

```

mount -o bind /proc /mnt/ta_partition_racine/proc

mount -o bind /dev /mnt/ta_partition_racine/dev

....

chroot /mnt/ta_partition_racine /bin/bash

source /etc/profile

cd /usr/src/linux

... creation du noyeau avec support XFS, etc...

```

A+Last edited by sergio on Fri Mar 07, 2003 12:51 pm; edited 1 time in total

----------

## groutchopok

donc ça résous tout.

un petit tar et pi c bon.   :Wink: 

----------

## sebweb

Je fait ça ce soir et je vous tien au courant

----------

## groutchopok

ah oui oui je suis d'accord pour que tu nous tiennes au courant!  comme je pense faire une sauvegarde de ma gentoo et si pour toi ça a fonctionné alors ça peut être intéréssant.

bonne chance!

----------

## sebweb

Dis comme ça, ca fait un peu beta testeur ...

J'avance sur le champ de mine, comme ca si ça m'explose en pleine poire tu prendra un autre chemin   :Very Happy: 

Bon ok aller je m'y colle et je vous ferais un zolie petit compte rendue

----------

## sergio

 *sebweb wrote:*   

> Dis comme ça, ca fait un peu beta testeur ...
> 
> J'avance sur le champ de mine, comme ca si ça m'explose en pleine poire tu prendra un autre chemin  
> 
> Bon ok aller je m'y colle et je vous ferais un zolie petit compte rendue

 

Attention lorsque tu fait le tar de tes partitions fait une archive pour chaque point de montage /,  /boot etc...

Commence par les points de montage autres que la racine (par exemple /boot) puis démontes-les au fur et à mesure et fait le tar de la racine en dernier en excluant /proc et /dev...

Pour la restaure procède en sens inverse, détar de la racine..., de /boot etc...

A+

----------

## sebweb

Pas besoin, car mon /boot je l'ai mis en ext3.

Vue que je n'est que 2 partition ( / et /boot ), a premiere vue je vais proceder comme suis :

Recompilation du kernel avec le support Xfs (au passage j'en profite pour passer en 2.4.20  :Smile: )

#tar jcvf home.tar.bz2 /home

#tar jcvf etc.tar.bz2 /etc

...

...

(Sauf /proc, /dev et  /boot)

Copie de mes *.tar.bz2 vars mon Pc de bureau par sftp.

Reboot sur le livecd

#mkfs.xfs /dev/hdX

#sftp xxx.xxx.xxx.xxx

#get *.tar.bz2

#bye

#mkdir /mnt/gentoo

#mount /dev/hdX /mnt/gentoo

#cd /mnt/gentoo

# tar jxvf *.tar.bz2

#cd /

#unmount /mnt/cdrom

#reboot

En gros voila mon idée. Mais j'imagine que tout ne va pas ce passer aussi bien. Donc va falloir improviser

----------

## px

je viens peut-etre apres la bataille mais apres une simple recherche sur gg: convert jfs to xfs, premier lien: http://www.ibiblio.org/pub/Linux/system/recovery/rip-51.readme.txt

 *Quote:*   

> Convert filesystem on device from this type to this type.
> 
> Usage: convertfs device from_fs_type to_fs_type
> 
> Filesystem types: minix xfs jfs reiserfs ext2 ext3
> ...

 

c'est un cd bootable, l'archive se trouve http://www.ibiblio.org/pub/Linux/system/recovery/ et se nomme rip-qqchose : )

----------

## sebweb

 *px wrote:*   

> je viens peut-etre apres la bataille mais apres une simple recherche sur gg: convert jfs to xfs, premier lien: http://www.ibiblio.org/pub/Linux/system/recovery/rip-51.readme.txt
> 
>  *Quote:*   Convert filesystem on device from this type to this type.
> 
> Usage: convertfs device from_fs_type to_fs_type
> ...

 

Merci ca a l'air cool   :Very Happy: 

Seul soucis, mon graveur est en panne pour le moment, mais ca fera l'objet d'un post d'ici peu.

Par contre ca a l'air d'un script et pas d'une executable. Si qqun peut regarder ca m'intéresse au plus haut point

Merci

----------

## px

plus simple:

1. tu download l'iso

2. tu mkdir un /mnt/ripiso

3. tu mount /bidule/rip.iso /mnt/ripiso

normalement si tu as activer le loopback device dans le kernel ca va roxer

4. tu te chroot sur le cd

5. tu trouve le script (soit par un updatedb && locate ripbidule soit par un find .|grep ripbidule

6. tu execute le script.

Si y'a pas besoin d'options speciale du kernel (ce qui m'etonnerai) ca peut marcher.

----------

## sebweb

vais tester ...

C'est quoi la commande pour monter un device en loopback ( pas de RTFM ou de google.fr/linux please, j'ai pas envied e chercher là )

----------

## px

normalement tu n'a pas besoin de le preciser, c'est une iso standard et mount trouvera automatiquement que c'est a mettre directement avec le loopback. C'etait pour les anciennes version où il etait necessaire de le preciser.

Je viens de faire un test, j'ai pris un cd qui trainait par la pour verifier mes dires, un petit "dd if=/dev/cdroms/cdrom0 of= /tmp/toto.iso"

ensuite j'ai fait un petit "mkdir /mnt/test && mount /tmp/toto.iso /mnt/test" et ca a marché...

----------

## sebweb

```

[ root ]=[ travail.sebweb.homelinux.org ]=[ bg : 1 ]=--                                                    --=[ 03/07/03 19:20:01 ]

[ /mnt ]-[0]: mount /home/sebweb/rip-51.iso.bin /mnt/iso/

mount: /home/sebweb/rip-51.iso.bin is not a block device (maybe try `-o loop'?)

[ root ]=[ travail.sebweb.homelinux.org ]=[ bg : 1 ]=--                                                    --=[ 03/07/03 19:20:09 ]

[ /mnt ]-[32]: mount -o loop /home/sebweb/rip-51.iso.bin /mnt/iso/

mount: could not find any device /dev/loop#

[ root ]=[ travail.sebweb.homelinux.org ]=[ bg : 1 ]=--                                                    --=[ 03/07/03 19:20:15 ]

[ /mnt ]-[2]:

```

Non marche pô   :Embarassed: 

----------

## px

.iso.bin? ce ne serait pas un executable?

essaye de le chmod +x et ensuite de l'executer

----------

## px

bon je viens de dl le fichier et c'est vrai que ca mount pas, j'ai essayer avec ca 

mount -t iso9660 -o loop rip-51.iso.bin /mnt/test

et ca passe.

----------

## sebweb

EN fait je pense que je dois pas avoir le loopback d'intégrer dans mon noyau (2.4.19 )

En passant je trouve pas non plus le support XFS dans le menuconfig   :Embarassed: 

Ca commence a être zard leur histoir de noyau là.

DOnc pour résumer :

Qu'elle option du noyau pour le loopback, et pour le supportd e l'XFS ?

----------

## px

pour le loopback:

Block devices -> loopback device support

pour le xfs:

File system -> XFS, mais il faut emerger les xfs-sources... si tu as n'a mis que les gentoo-sources va falloir recup le patch xfs et patcher ton kernel ou emerger les xfs-sources

J'ai check pour le cd et je suis tombé sur un .txt avec ceci dedans:

Q. Is it possible to mount the compressed file `rescue.gz'

   on rip-52.iso.bin?  I want to add some shell scripts!

A.# mount -t iso9660 -o loop rip-52.iso.bin /mnt

   # mkdir /rip ; cp -a /mnt/* /rip

   # umount /mnt

   # gzip -d /rip/isolinux/rescue.gz

   # mount -t ext2 -o loop /rip/isolinux/rescue /mnt  

   Add the scripts!

   # umount /mnt

   # gzip /rip/isolinux/rescue

   # cd /rip ; mkisofs -quiet -no-emul-boot -boot-load-size 4 \

                       -boot-info-table -r -b isolinux/isolinux.bin -c \

	                isolinux/boot.cat -o ../rip.iso .

                                                       ^^^

                                                 Don't forget the `.'!

----------

## sebweb

J'avance dans mon schmillblick ...

Pour XFS il faut emerger un noyau special XFS ... xfs-source.

Donc mon choix se porte sur reiserfs, que je connait bien et qui est tout au moin aussi performant que XFS

----------

## px

je viens de monter le rescue du cd de rip, voila en fait le contenu du script

 *Quote:*   

> 
> 
> #!/bin/sh
> 
> usage() {
> ...

 

Bon maintenant faut faire le tri : )

----------

## sebweb

Bon j'ai tester le script !!

Résultat : j'ai pas reiserfs dans mon kernel 

Pour le savoir : 

#cat /proc/filesystem | grep reiserfs

D'autre part, il faut absolument le support des device en loopback, ce que je n'ai pas non plus !!!

Donc au final, je reste sur ma premiere idée, mais je vais recompiler le kernel pour pouvoir tester tout de même ce script

----------

## arlequin

Tiens, un chouette excercie pour apprendre les shell script  :Smile: 

Y avait aussi une solution du genre dans le thread que j'avais nommé plus haut, mais celle-là m'a l'air encore plus sérieuse... si qqun réussi la manoeuvre...   :Cool: 

----------

## px

re dit moi quelle manoeuvre il faut faire je t'expliquerais surement la facon de la faire.

----------

## sebweb

Donc aprés toute les opérations, j'ai un beau message d'erreur au reboot :

Kernel panic: VFS: Unable to mount root fs on 03:04

Si qqun a une solution ou même une idée

----------

## ghoti

 *sebweb wrote:*   

>  VFS: Unable to mount root fs on 03:04

 Le support xfs, tu l'as bien compilé en dur dans le noyau (pas comme module !) ?

----------

## sebweb

Oki merci bien.

Grace a toi j'ai vérifier et j'avais bien compiler en module.

Une petite recompilation plus tard et tout remarche.

Pourtant je le savait bien qu'il fallait le mettre en dur dans le noyau. Je me suis déjà fait avoir au moin 10 fois avec cette connerie !!!   :Evil or Very Mad: 

Bon, je vous prépare un petit résumer de la procédure a suivre pour un backup et un restaur ...

----------

## ghoti

 *sebweb wrote:*   

> Je me suis déjà fait avoir au moin 10 fois avec cette connerie !!!   

 Oh, t'en fait pas : moi ça fait bien plus que ça mais à force, c'est rentré ...   :Very Happy: 

Remarque, il y a une autre solution, c'est celle du initrd qui permet de charger des modules avant de monter le "/". 

Si je me souviens bien, c'est une sorte de fs temporaire monté en mémoire et qui permet de faire ce genre de bidouille avant de passer au fs principal (utilisé par exemple pour le bootsplash en framebuffer - voir le forum anglais "Documentation, Tips and Tricks")

Mais je n'ai jamais creusé les détails ...

----------

## DuF

de toute façon c'est en forgeant que l'on devient forgeron  :Wink: 

Il est intéressant ton script px, il a un taux de réussite de combien environ ?

----------

## px

aucune idée, c'est pas moi qui l'ai fait...  :Smile: 

----------

## sebweb

Vais pas tarder a le tester ce script puisque a la base je voulait metre XFS et que je n'avais pas le noyau qui allait bien. Je suis passer en reiserfs histoir de valider la procédure

Je vous en reparlerais

----------

## sebweb

Bon voici la procédure :

Voici une petite procédure afin de changer le type de filesystem de votre gentoo.

Cela peut être aussi utile pour sauvergarder votre linux.

Voici ma configuration, a vous d'adapter la procédure a la votre

3 partitions pour linux :

/boot sur /dev/hda2

SWAP sur /dev/hda3

/ sur /dev/hda4

hda1 est utiliser par windows(tm)caimal

En ce qui me concerne je veux passer ma partition / de JFS a reiserfs

Comencons par vérifier dans le noyau que l'on est bien activer le support du filesystem désirer.

Attention, ne pas le compiler en module mais en dur dans le noyau.

On peut ensuite emerger des utilitaires particulier au FS que l'on veut mettre. Dans mon cas :

#emerge reiserfsutils

Sauvergarde du system

Attention, il faut sauvegarder /dev. Pour une raison inconnue celui-ci n'est pas générer au démarage.

#cd /

# tar -jcvf system.tar.bz2 /bin /etc /home /etc /lib /mnt /opt /root /usr /var /sbin /dev 

Copier l'archive n'importe ou sauf sur le systeme proprement-dis. Dans mon cas :

# sftp toto@192.168.15.2

# sftp > put system.tar.bz2

# sftp > bye 

rebooter sur le cd d'install de la gentoo.

Faite en sorte d'activer le réseau (suivre la doc d'install de la gentoo) dans mon cas :

#insmod pcmcia_core

#insmod i82365

#insmod ds

#cardmgr -f

#ifconfig eth0 192.168.15.4 broadcast 192.168.15.255 netmask 255.255.255.0

Au besoin rajouter une route par defaut

#route add -net default gw 192.168.15.1 metric 1 

On convertie le filesystem

#mkreiserfs /dev/hda4

On monte le device et on y recopie l'archive

#mkdir /mnt/gentoo

#mount /dev/hda4 /mnt/gentoo

#cd /mnt/gentoo

#sftp toto@192.168.15.2

# sftp > get system.tar.bz2

# sftp > bye 

On extraie l'archive

#tar -jxvf system.tar.bz2

On modifie le fstab afin de spécifier que le nouveau filesystem

#nano /etc/fstab

On demonte la partition

#cd /

#unmount /mnt/gentoo

et on reboot

#reboot

Voila ....

Cette procédure peut certainement être améliorer. J'attend vos commentaire

----------

## Maz

Je me demande une chose, vu que tu n'as pas mis le flag "p" sur le tar, je pense que ton fichier shadow est maintenant lisible par tout le monde. Pourrais-tu vérifier ?

Pour rappel, les flag p permet de garder les permissions identiques, ce qui peut être plus que souhaitable.

----------

## sebweb

[ /etc ]-[0]: ls -la shadow*

-rw-------    1 root     root          477 Feb 28 20:33 shadow

-rw-------    1 root     root          416 Feb 27 00:49 shadow-

----------

