Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
System de fichier journalisé
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
sebweb
Apprentice
Apprentice


Joined: 29 Jan 2003
Posts: 220
Location: Bordeaux - France

PostPosted: Fri Mar 07, 2003 6:32 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Fri Mar 07, 2003 6:42 pm    Post subject: Reply with quote

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

#!/bin/sh

usage() {
echo "
=============================================================
convertfs

Convert filesystem on device from this type to this type.

Whatever is on the filesystem is not destroyed.
The filesystem is just changed.

Usage: convertfs device from_fs_type to_fs_type

Filesystem types: minix xfs jfs reiserfs ext2 ext3

Example: convertfs /dev/hda2 ext2 reiserfs
=============================================================
"
exit 0
}

fs_types() {
unset fs_type
for fs_type in minix xfs jfs reiserfs ext2 ext3; do
if [ "$1" = "$fs_type" ]; then
fs_type=yes
break
fi
done
if [ ! "$fs_type" = "yes" ]; then
echo "Not a filesystem type \`$1' option."
echo "Filesystem types: minix xfs jfs reiserfs ext2 ext3"
exit 1
fi
}

minix_convert() {
if [ "$1" = "minix" ]; then
hd_dev=`echo $2 | cut -b 1-8`
blocks=`fdisk -l $hd_dev | grep $2 | tr -d + | tr -s " " | cut -d ' ' -f 4`
if [ "$blocks" -gt "2048287" ]; then
echo "The \`minix' partition on \`$2' is more than 2GB."
echo "It's probably to big to convert."
echo -n "Try anyway? [N/y] "
read ans
if [ ! "$ans" = "y" -a ! "$ans" = "Y" ]; then
exit 1
fi
fi
fi
}

ext2_convert() {
if [ "$1" = "ext2" -a "$2" = "ext3" ]; then
echo "You can convert \`$3' to \`$2' this way."
echo "tune2fs -j $3"
exit
elif [ "$1" = "ext3" -a "$2" = "ext2" ]; then
echo "You can convert \`$3' to \`$2' this way."
echo "tune2fs -O ^has_journal $3"
exit
fi
}

find_mkfs() {
if ! grep -q "$1" /proc/filesystems; then
echo "No support for \`$1' filesystem in the kernel."
exit 1
elif ! grep -q "$2" /proc/filesystems; then
echo "No support for \`$2' filesystem in the kernel."
exit 1
fi

if ! type $3 1>/dev/null 2>/dev/null; then
echo "Can't find \`$3' on the system."
exit 1
fi

if [ "$2" = "reiserfs" ]; then
kernel_version=`uname -r | tr -d . | cut -b 1-2`
mkreiserfs 1>/dev/null 2>/tmp/mkreiserfs.out
if grep -q "\--format" /tmp/mkreiserfs.out; then
if [ "$kernel_version" -ge "24" ]; then
reiserfs_version="--format 3.6"
else
reiserfs_version="--format 3.5"
fi
else
if [ "$kernel_version" -ge "24" ]; then
reiserfs_version="-v 2"
else
reiserfs_version="-v 1"
fi
fi
rm -f /tmp/mkreiserfs.out
fi
}

mk_fs() {
if [ "$1" = "ext2" ]; then
mke2fs $2
elif [ "$1" = "ext3" ]; then
mke2fs -j $2
elif [ "$1" = "reiserfs" ]; then
echo -e "y\ny" | mkreiserfs $reiserfs_version $2
elif [ "$1" = "jfs" ]; then
mkfs.jfs -f $2
elif [ "$1" = "xfs" ]; then
mkfs.xfs -f $2
elif [ "$1" = "minix" ]; then
hd_dev=`echo $dev | cut -b 1-8`
blocks=`fdisk -l $hd_dev | grep $dev | tr -d + | tr -s " " | cut -d ' ' -f 4`
mkfs.minix -v $2 $blocks
fi
}

error() {
umount $loopdev 2>/dev/null
losetup -d $loopdev 2>/dev/null
umount $dev 2>/dev/null
rm -rf $tmp
exit 1
}

# device to convert
dev=$1
# filesystem to convert from
from_fs_type=$2
# filesystem to convert to
to_fs_type=$3

if [ "$dev" = "" ]; then
usage
elif [ ! -b "$dev" ]; then
echo "No such device \`$dev'."
exit 1
fi

if [ "$from_fs_type" = "" -o "$to_fs_type" = "" ]; then
usage
else
ext2_convert $from_fs_type $to_fs_type $dev
minix_convert $from_fs_type $dev
fs_types $from_fs_type
fs_types $to_fs_type
fi

if [ "$to_fs_type" = "ext2" ]; then
find_mkfs $from_fs_type $to_fs_type mke2fs
elif [ "$to_fs_type" = "ext3" ]; then
find_mkfs $from_fs_type $to_fs_type mke2fs
elif [ "$to_fs_type" = "reiserfs" ]; then
find_mkfs $from_fs_type $to_fs_type mkreiserfs
elif [ "$to_fs_type" = "jfs" ]; then
find_mkfs $from_fs_type $to_fs_type mkfs.jfs
elif [ "$to_fs_type" = "xfs" ]; then
find_mkfs $from_fs_type $to_fs_type mkfs.xfs
elif [ "$to_fs_type" = "minix" ]; then
find_mkfs $from_fs_type $to_fs_type mkfs.minix
fi

if ! grep -q "loop" /proc/devices; then
echo "No loop device support in the kernel."
exit 1
fi

if [ ! -b /dev/loop7 ]; then
mknod -m 660 /dev/loop7 b 7 7 || exit
fi

loopdev=/dev/loop7

tmp=/tmp/convertfs
fs1root=$tmp/fs1root
fs2root=$tmp/fs2root

fsimage_name=fsimage
fsindex_name=fsindex
fssuper_name=fssuper
fsimage=$fs1root/$fsimage_name
fsindex=$fs1root/$fsindex_name
fssuper=$tmp/$fssuper_name

mkdir -p $fs1root || exit
mkdir -p $fs2root || exit

echo "== Creating clone of \`$from_fs_type' filesystem that's on \`$dev'. =="
umount $dev 2>/dev/null
mount -t $from_fs_type $dev $fs1root || error
devclone $dev $fsimage || error

echo "===== Creating destination \`$to_fs_type' filesystem. ====="
umount $loopdev 2>/dev/null
losetup -d $loopdev 2>/dev/null
losetup $loopdev $fsimage || error
mk_fs $to_fs_type $loopdev || error

echo "============== Copying files: This may take some time! =============="
mount -t $to_fs_type $loopdev $fs2root || error
for file in `ls -1A $fs1root`; do
if [ "x$file" != "x$fsimage_name" ] &&
[ "x$file" != "x$fsindex_name" ] &&
[ "x$file" != "xlost+found" ] &&
[ "x$file" != "x$fssuper_name" ]; then
mv -f $fs1root/$file $fs2root/ || error
fi
done
ls -lA $fs2root
df -h $fs2root
umount $loopdev || error
losetup -d $loopdev 2>/dev/null

echo "=== Preparing info for block relocation ==="
prepindex $fsimage $fsindex $fssuper || error
umount $dev || error
dd if=$fssuper of=$dev || exit
sync

echo "============ Relocating blocks ============"
devremap $dev || exit

echo "=== Filesystem conversion accomplished! ==="
rm -rf $tmp
echo "NOTE: If you want to boot the new filesystem on \`$dev' you"
echo " should edit \`/etc/fstab' and add something like this."
echo " $dev / $to_fs_type defaults 1 1"


Bon maintenant faut faire le tri : )
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
sebweb
Apprentice
Apprentice


Joined: 29 Jan 2003
Posts: 220
Location: Bordeaux - France

PostPosted: Fri Mar 07, 2003 7:04 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
arlequin
l33t
l33t


Joined: 16 Nov 2002
Posts: 707
Location: grep $USER /etc/passwd | cut -d':' -f6

PostPosted: Fri Mar 07, 2003 7:05 pm    Post subject: Reply with quote

Tiens, un chouette excercie pour apprendre les shell script :)
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... 8)
_________________
J'vous dis ciao !
Au fait, ciao ça veut dire bye en anglais.
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Sat Mar 08, 2003 3:22 am    Post subject: Reply with quote

re dit moi quelle manoeuvre il faut faire je t'expliquerais surement la facon de la faire.
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
sebweb
Apprentice
Apprentice


Joined: 29 Jan 2003
Posts: 220
Location: Bordeaux - France

PostPosted: Sat Mar 08, 2003 11:00 am    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sat Mar 08, 2003 6:53 pm    Post subject: Reply with quote

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 !) ?
Back to top
View user's profile Send private message
sebweb
Apprentice
Apprentice


Joined: 29 Jan 2003
Posts: 220
Location: Bordeaux - France

PostPosted: Sat Mar 08, 2003 9:49 pm    Post subject: Reply with quote

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:

Bon, je vous prépare un petit résumer de la procédure a suivre pour un backup et un restaur ...
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sat Mar 08, 2003 10:57 pm    Post subject: Reply with quote

sebweb wrote:
Je me suis déjà fait avoir au moin 10 fois avec cette connerie !!! :evil:
Oh, t'en fait pas : moi ça fait bien plus que ça mais à force, c'est rentré ... :D
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 ...
Back to top
View user's profile Send private message
DuF
Advocate
Advocate


Joined: 09 Dec 2002
Posts: 2687
Location: Paris

PostPosted: Sat Mar 08, 2003 11:53 pm    Post subject: Reply with quote

de toute façon c'est en forgeant que l'on devient forgeron ;)

Il est intéressant ton script px, il a un taux de réussite de combien environ ?
Back to top
View user's profile Send private message
px
Guru
Guru


Joined: 26 Sep 2002
Posts: 497
Location: Metz, France

PostPosted: Sun Mar 09, 2003 12:27 am    Post subject: Reply with quote

aucune idée, c'est pas moi qui l'ai fait... :)
_________________
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif. [Dave Barry]
Back to top
View user's profile Send private message
sebweb
Apprentice
Apprentice


Joined: 29 Jan 2003
Posts: 220
Location: Bordeaux - France

PostPosted: Sun Mar 09, 2003 12:30 am    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
sebweb
Apprentice
Apprentice


Joined: 29 Jan 2003
Posts: 220
Location: Bordeaux - France

PostPosted: Sun Mar 09, 2003 6:44 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Maz
n00b
n00b


Joined: 18 Jul 2002
Posts: 43
Location: Montpeller, France

PostPosted: Thu Mar 13, 2003 9:08 am    Post subject: Reply with quote

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.
_________________
Maz
Back to top
View user's profile Send private message
sebweb
Apprentice
Apprentice


Joined: 29 Jan 2003
Posts: 220
Location: Bordeaux - France

PostPosted: Thu Mar 13, 2003 6:27 pm    Post subject: Reply with quote

[ /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-
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum