(fejlesztés alatt)
Figyelem! Mentsünk minden adatot a számítógépről, ha van rajta fontos adat!
cat /proc/partitions
ZFS EFI boottal
sgdisk -Z -n9:-8M:0 -t9:bf07 -c9:sda9-Reserved -n1:1M:+1023M -t1:EF00 -c1:sda1-EFI -n2:0:0 -t2:bf01 -c2:sda2-zfs /dev/sda sgdisk -Z -n9:-8M:0 -t9:bf07 -c9:sdb9-Reserved -n1:1M:+1023M -t1:EF00 -c1:sdb1-EFI -n2:0:0 -t2:bf01 -c2:sdb2-zfs /dev/sdb
Attól függően háy lemezünk van. Egy lemeznél csak az első sor. Tükrözött RAID jellegű megoldásnál pedig mindkét sor. A sor végi blokkeszköz névre figyeljünk!
ZFS /boot boottal
sgdisk -Z -n9:-8M:0 -t9:bf07 -c9:sda9-Reserved -n1:0M:+2048 -t1:8300 -c1:sda1-BOOT -n2:0:0 -t2:bf01 -c2:sda2-zfs /dev/sda sgdisk -Z -n9:-8M:0 -t9:bf07 -c9:sdb9-Reserved -n1:0M:+2048 -t1:8300 -c1:sdb1-BOOT -n2:0:0 -t2:bf01 -c2:sdb2-zfs /dev/sdb
########### sgdisk --new=2:48:2047 --typecode=2:EF02 --change-name=2:"BIOS boot partition" ${BLOCK_DEV} to make a BIOS Boot Partition. It will make GRUB2 happy.
Telepítsük a ZFS kezeléséhez szükséges csomagot
apt install -y zfsutils-linux
Hozza létre a telepítéshez használt cél mappát:
mkdrir -p /target
Majd a rootkánt használt eszközt, amelyet ideiglenesen a /target alá lesz becsatolva:
zpool create -o ashift=12 -O atime=off -O canmount=off -O compression=lz4 -O normalization=formD -O mountpoint=/ -R /target systempool mirror /dev/sda2 /dev/sdb2
Ha nem tükrözött lemezeket használ, akkor egy lemez blokkeszköz esetén ezt a parancsot kell kiadni, figyeni a sor végén látható blokkeszköz névre:
zpool create -o ashift=12 -O atime=off -O canmount=off -O compression=lz4 -O normalization=formD -f -O mountpoint=/ -R /target systempool /dev/sda2
Megfelelő csatolási pontok létrehozása:
zfs create -o canmount=off -o mountpoint=none systempool/ROOT zfs create -o canmount=on -o mountpoint=/ -o exec=on -o setuid=on -o devices=on systempool/ROOT/mint zfs mount systempool/ROOT/mint zfs create -o canmount=off -o mountpoint=none systempool/BOOT zfs create -o canmount=noauto -o mountpoint=/boot systempool/BOOT/mint zfs mount systempool/BOOT/mint zpool set bootfs=systempool/ROOT/mint systempool zfs set exec=off systempool zfs set setuid=off systempool zfs set devices=off systempool zfs create -o canmount=off systempool/var zfs create systempool/var/lib zfs create systempool/var/lib/apt zfs create -o exec=on systempool/var/lib/dpkg zfs create systempool/var/log zfs create -o com.sun:auto-snapshot=false systempool/var/tmp zfs create -o com.sun:auto-snapshot=false systempool/var/cache zfs create -o com.sun:auto-snapshot=false systempool/var/cache/apt zfs create systempool/var/spool zfs create systempool/var/mail zfs create -o com.sun:auto-snapshot=false -o exec=on systempool/tmp zfs create -o exec=on systempool/root zfs create -o mountpoint=/home systempool/home zfs create -o mountpoint=/srv systempool/srv zfs create -o mountpoint=/opt systempool/opt zfs create -o exec=on systempool/usr
Előkszületek a rendszer telepítéséhez
A tmp mappák jogosultságainak beállítása:
chmod 1777 /target/tmp chmod 1777 /target/var/tmp
Szükséges eszközök telepítése:
apt install -y debootstrap
A bootstrapelés elvégzése:
debootstrap --include=zfsutils-linux bionic /target
A telepítéshez szükséges speciális mappák felcsatolása:
mount --rbind /dev /target/dev mount --rbind /proc /target/proc mount --rbind /sys /target/sys
Belépés a telepítési környezetbe:
chroot /target /bin/bash
(csomágtároló config, ha kell)
(hálózat konfig, ha kell)
A telepített környezetn alapcsomagok telepítése és konfigurálása:
apt install language-pack-hu dpkg-reconfigure locales dpkg-reconfigure debconf dpkg-reconfigure tzdata apt install -y gdisk dosfstools zfs-initramfs
Az fstabban a megfelelő indítási környezet létrehozása:
echo PARTUUID=$(blkid -s PARTUUID -o value /dev/disk/by-partlabel/sda1-EFI /boot/efi) vfat d 1 >> /etc/fstab
Az EFI mappaszerkezet létrehozása a EFI-s telepítés esetére:
mkdir /boot/efi mkdosfs -F 32 -I /dev/sda1 mount /dev/sda1 /boot/efi
A GRUB rendszerindaító telepítése:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=linuxmint --recheck --no-floppy /dev/sda grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=linuxmint --recheck --no-floppy /dev/sdb
A GRUB menu frissítése:
update-grub2
A meglévő rendszer hibajavítása, például LIVE rendszerről indítva
Telepítsük a ZFS kezeléséhez szükséges csomagot
apt install -y zfsutils-linux zfs-initramfs
zpool status zpool list zfs list
Elvileg ezen parancsok után csak a nio pools available és a no dataset available üzenet jelenik majd meg.
zpool import -f -N -R /target systempool zpool import -f -N -R /target/boot bootpool
zfs mount systempool/ROOT/mint mount.zfs -o rw bootpool/BOOT/mint /target/boot
A /target/etc/fstab alapján csatoljuk el a szükséges fájlrendszereket. Ezeket a fájlrendszerekt a /tartget alá, a megfelelő helyre kell csatolni, a pédában például így:
mount.zfs systempool/usr /target/usr mount.zfs systempool/var/log /target/var/log mount.zfs systempool/var/spool /target/var/spool mount.zfs systempool/var/tmp /target/var/tmp mount.zfs systempool/tmp /target/tmp
A javításhoz ne felejük el felcsatolni az EFI partíciót sem, amennyiben van olyan a rendszeren:
mount /dev/sda1 /target/boot/efi
Ezzel a paranccsal megtudhatjuk az megadott EFI partíció UUID-ját, ami az fstab fájlban is hsználható.
echo PARTUUID=$(blkid -s PARTUUID -o value /dev/disk/by-partlabel/sda1-EFI /boot/efi)
A konfiguráláshoz, hibaelhárításhoz szükséges speciális mappák felcsatolása:
mount --rbind /dev /target/dev mount --rbind /proc /target/proc mount --rbind /sys /target/sys
GRUB újratelepítése:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=linuxmint --recheck --no-floppy /dev/sda
Linux inditófájlokl elkészítése:
update-initramfs -c -k all
GRUB menü beállítása:
update-grub2
vagy:
grub-mkconfig -o /boot/grub/grub.cfg