Migrazione ad ext4 in Debian Squeeze: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
| (8 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
* Cambiare fstab per montare tutto in ext4 | * Cambiare fstab per montare tutto in ext4 | ||
sudo sed -i 's/ext3/ext4/' /etc/fstab | sudo sed -i 's/ext3/ext4/' /etc/fstab | ||
* Controllare | |||
sudoedit /etc/fstab | |||
* Updatare l'initrd | * Updatare l'initrd | ||
| Line 14: | Line 15: | ||
* Abilitare il login root con key da ssh | * Abilitare il login root con key da ssh | ||
sudoedit /etc/ssh/sshd_config | |||
PermitRootLogin without-password | |||
sudo invoke-rc.d ssh restart | |||
* Copiare la key per root | * Copiare la key per root | ||
cat ~/.ssh/authorized_keys | sudo tee -a /root/.ssh/authorized_keys > /dev/null | |||
* Collegarsi come root, ed uscire eventualmente da screen | |||
ssh root@hostname | |||
* Abilitare ssh al runlevel | * Abilitare ssh al runlevel | ||
sed -i -e "/^~~/ish:S:respawn:/usr/sbin/sshd -Do 'AllowUsers=root'" /etc/inittab | sed -i -e "/^~~/ish:S:respawn:/usr/sbin/sshd -Do 'AllowUsers=root'" /etc/inittab | ||
* Andare in single user mode: | |||
telinit q | telinit q | ||
init 1 | init 1 | ||
* Attendere la disconnessione e poi riconnettersi | * Attendere la chiusra di tutti i serviei e la disconnessione e poi riconnettersi: | ||
ssh root@hostname | ssh root@hostname | ||
| Line 34: | Line 46: | ||
* Verificare che il filesystem sia davvero readonly | * Verificare che il filesystem sia davvero readonly | ||
mkdir /tmp/test | mkdir /tmp/test | ||
mkdir: cannot create directory `test': Read-only file system | mkdir: cannot create directory `test': Read-only file system | ||
* Fare check: | * Fare check: | ||
fsck.ext3 -pf /dev/md0 | fsck.ext3 -pf -C0 /dev/md0 | ||
* Abilitare estensioni ext4 | * Abilitare estensioni ext4 | ||
| Line 46: | Line 59: | ||
* Fare check: | * Fare check: | ||
fsck.ext4 -yfD /dev/md0 | fsck.ext4 -yfD -C0 /dev/md0 | ||
* Reboot | * Reboot | ||
| Line 58: | Line 71: | ||
* Cancellare la key root | * Cancellare la key root | ||
sudoedit /root/.ssh/authorized_keys | |||
==Ottimizzazione== | |||
*Se possibile, applicare questi parametri, che ottimizzano il filesystem che proviene da vecchie installazioni: | |||
sudo tune2fs -I 256 \ | |||
-O sparse_super,filetype,resize_inode,dir_index,ext_attr,has_journal,\ | |||
extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize \ | |||
/dev/MYDEV | |||
==Abilitazione extents== | ==Abilitazione extents== | ||
| Line 82: | Line 104: | ||
var" | var" | ||
for DIR in $DIRS; do echo CHANGING $DIR; sudo find $DIR -xdev -type f -print0 | xargs -0 sudo chattr +e; sudo find $DIR -xdev -type d -print0 | xargs -0 sudo chattr +e; done | cd /; for DIR in $DIRS; do echo CHANGING $DIR; sudo find $DIR -xdev -type f -print0 | xargs -0 sudo chattr +e; sudo find $DIR -xdev -type d -print0 | xargs -0 sudo chattr +e; done | ||
</pre> | </pre> | ||
| Line 94: | Line 116: | ||
*[http://debiansystem.info/readers/errata/299-sshd-single Faulty way of spawning sshd in single-user mode (page 299) — debiansystem.info] | *[http://debiansystem.info/readers/errata/299-sshd-single Faulty way of spawning sshd in single-user mode (page 299) — debiansystem.info] | ||
*[http://ocaoimh.ie/how-to-umount-when-the-device-is-busy/ How to umount when the device is busy] | *[http://ocaoimh.ie/how-to-umount-when-the-device-is-busy/ How to umount when the device is busy] | ||
*[http://www.kev009.com/wp/2008/12/how-to-upgrade-to-ext4-in-place/ How to upgrade to ext4 in place | Kev009.com] | |||
Latest revision as of 11:49, 9 January 2012
- Cambiare fstab per montare tutto in ext4
sudo sed -i 's/ext3/ext4/' /etc/fstab
- Controllare
sudoedit /etc/fstab
- Updatare l'initrd
sudo update-initramfs -u -k all
- Reboot
sudo reboot
- Verificare che la root sia montata in ext4. Il Filesystem è ancora compatibile ext3, in caso di problemi.
mount | grep ext4
- Abilitare il login root con key da ssh
sudoedit /etc/ssh/sshd_config
PermitRootLogin without-password
sudo invoke-rc.d ssh restart
- Copiare la key per root
cat ~/.ssh/authorized_keys | sudo tee -a /root/.ssh/authorized_keys > /dev/null
- Collegarsi come root, ed uscire eventualmente da screen
ssh root@hostname
- Abilitare ssh al runlevel
sed -i -e "/^~~/ish:S:respawn:/usr/sbin/sshd -Do 'AllowUsers=root'" /etc/inittab
- Andare in single user mode:
telinit q init 1
- Attendere la chiusra di tutti i serviei e la disconnessione e poi riconnettersi:
ssh root@hostname
- Uscire da screen, chiudere tutti i processi inutili
- Montare la root readonly:
mount -o remount,ro /
- Verificare che il filesystem sia davvero readonly
mkdir /tmp/test
mkdir: cannot create directory `test': Read-only file system
- Fare check:
fsck.ext3 -pf -C0 /dev/md0
- Abilitare estensioni ext4
tune2fs -O extents,uninit_bg,dir_index /dev/md0
- Il filesystem ora NON è più montabile come ext3
- Fare check:
fsck.ext4 -yfD -C0 /dev/md0
- Reboot
reboot
- Rimuovere la riga
sudoedit /etc/inittab
sh:S:respawn:/usr/sbin/sshd -Do 'AllowUsers=root'
- Cancellare la key root
sudoedit /root/.ssh/authorized_keys
Ottimizzazione
- Se possibile, applicare questi parametri, che ottimizzano il filesystem che proviene da vecchie installazioni:
sudo tune2fs -I 256 \
-O sparse_super,filetype,resize_inode,dir_index,ext_attr,has_journal,\
extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize \
/dev/MYDEV
Abilitazione extents
Per ogni directory:
export DIRS=" bin boot cdrom etc files home lib media mnt opt root sbin selinux tmp usr var" cd /; for DIR in $DIRS; do echo CHANGING $DIR; sudo find $DIR -xdev -type f -print0 | xargs -0 sudo chattr +e; sudo find $DIR -xdev -type d -print0 | xargs -0 sudo chattr +e; done
- sudo reboot
Just a quick note of caution for other antedeluvians. I migrated to ext4 and migrated most of my filesystems back again when I found that dump/restore didn't (yet) support ext4.