mirror of
https://github.com/terem42/zfs-hetzner-vm.git
synced 2025-12-23 15:28:33 +00:00
Compare commits
32 Commits
terem42-pa
...
deb12
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70eb86914e | ||
|
|
30487841a4 | ||
|
|
ce4b4288b0 | ||
|
|
403bbc89bb | ||
|
|
c7ab675a83 | ||
|
|
76eba8fd62 | ||
|
|
a2c287a2d1 | ||
|
|
aa045068b0 | ||
|
|
84f1837a8b | ||
|
|
73b7a367ec | ||
|
|
b0c58cbff5 | ||
|
|
3adefbf094 | ||
|
|
0223a4b46b | ||
|
|
76683b54cb | ||
|
|
2dec11acb3 | ||
|
|
723c6f2da7 | ||
|
|
146ba133e4 | ||
|
|
3762aaf169 | ||
|
|
c4bc366f24 | ||
|
|
44d99a539f | ||
|
|
cc7c75a3da | ||
|
|
9e3847f28d | ||
|
|
87e82b7336 | ||
|
|
0cbb2131aa | ||
|
|
6a9eb55877 | ||
|
|
d38db64e43 | ||
|
|
b08730586a | ||
|
|
99a63e2892 | ||
|
|
9bc5080df3 | ||
|
|
b3f1a8624f | ||
|
|
5dc4fe0ed0 | ||
|
|
9fcedceb52 |
@@ -24,6 +24,12 @@ Debian 11 minimal setup with SSH server
|
|||||||
wget -qO- https://raw.githubusercontent.com/terem42/zfs-hetzner-vm/master/hetzner-debian11-zfs-setup.sh | bash -
|
wget -qO- https://raw.githubusercontent.com/terem42/zfs-hetzner-vm/master/hetzner-debian11-zfs-setup.sh | bash -
|
||||||
````
|
````
|
||||||
|
|
||||||
|
Debian 12 minimal setup with SSH server
|
||||||
|
|
||||||
|
````bash
|
||||||
|
wget -qO- https://raw.githubusercontent.com/terem42/zfs-hetzner-vm/master/hetzner-debian12-zfs-setup.sh | bash -
|
||||||
|
````
|
||||||
|
|
||||||
Ubuntu 18.04 LTS minimal setup with SSH server
|
Ubuntu 18.04 LTS minimal setup with SSH server
|
||||||
|
|
||||||
````bash
|
````bash
|
||||||
@@ -48,7 +54,7 @@ To cope with network failures its higly recommended to run the commands above in
|
|||||||
Example of screen utility usage:
|
Example of screen utility usage:
|
||||||
|
|
||||||
````bash
|
````bash
|
||||||
screen -S zfs
|
export LC_ALL=en_US.UTF-8 && screen -S zfs
|
||||||
````
|
````
|
||||||
To detach from screen console, hit Ctrl-d then a
|
To detach from screen console, hit Ctrl-d then a
|
||||||
To reattach, type `screen -r zfs`
|
To reattach, type `screen -r zfs`
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
export TMPDIR=/tmp
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
v_bpool_name=
|
v_bpool_name=
|
||||||
v_bpool_tweaks=
|
v_bpool_tweaks=
|
||||||
@@ -493,8 +495,19 @@ done
|
|||||||
|
|
||||||
echo "======= installing zfs on rescue system =========="
|
echo "======= installing zfs on rescue system =========="
|
||||||
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
||||||
apt-get install --yes software-properties-common
|
# echo "y" | zfs
|
||||||
echo "y" | zfs
|
# linux-headers-generic linux-image-generic
|
||||||
|
apt install --yes software-properties-common dpkg-dev dkms
|
||||||
|
rm -f "$(which zfs)"
|
||||||
|
rm -f "$(which zpool)"
|
||||||
|
echo -e "deb http://deb.debian.org/debian/ testing main contrib non-free\ndeb http://deb.debian.org/debian/ testing main contrib non-free\n" >/etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
echo -e "Package: src:zfs-linux\nPin: release n=testing\nPin-Priority: 990\n" > /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
apt install -t testing --yes zfs-dkms zfsutils-linux
|
||||||
|
rm /etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
rm /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
export PATH=$PATH:/usr/sbin
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -560,9 +573,7 @@ zfs create -o canmount=noauto -o mountpoint=/boot "$v_bpool_name/BOOT/debian"
|
|||||||
zfs mount "$v_bpool_name/BOOT/debian"
|
zfs mount "$v_bpool_name/BOOT/debian"
|
||||||
|
|
||||||
zfs create "$v_rpool_name/home"
|
zfs create "$v_rpool_name/home"
|
||||||
zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
|
||||||
zfs create -o canmount=off "$v_rpool_name/var"
|
zfs create -o canmount=off "$v_rpool_name/var"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var/lib"
|
|
||||||
zfs create "$v_rpool_name/var/log"
|
zfs create "$v_rpool_name/var/log"
|
||||||
zfs create "$v_rpool_name/var/spool"
|
zfs create "$v_rpool_name/var/spool"
|
||||||
|
|
||||||
@@ -613,7 +624,7 @@ ff02::2 ip6-allrouters
|
|||||||
ff02::3 ip6-allhosts
|
ff02::3 ip6-allhosts
|
||||||
CONF
|
CONF
|
||||||
|
|
||||||
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p')
|
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p' | head -n 1)
|
||||||
|
|
||||||
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
||||||
[Match]
|
[Match]
|
||||||
@@ -627,9 +638,6 @@ CONF
|
|||||||
chroot_execute "systemctl enable systemd-networkd.service"
|
chroot_execute "systemctl enable systemd-networkd.service"
|
||||||
chroot_execute "systemctl enable systemd-resolved.service"
|
chroot_execute "systemctl enable systemd-resolved.service"
|
||||||
|
|
||||||
|
|
||||||
cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
|
||||||
|
|
||||||
echo "======= preparing the jail for chroot =========="
|
echo "======= preparing the jail for chroot =========="
|
||||||
for virtual_fs_dir in proc sys dev; do
|
for virtual_fs_dir in proc sys dev; do
|
||||||
mount --rbind "/$virtual_fs_dir" "$c_zfs_mount_dir/$virtual_fs_dir"
|
mount --rbind "/$virtual_fs_dir" "$c_zfs_mount_dir/$virtual_fs_dir"
|
||||||
@@ -788,6 +796,7 @@ CONF
|
|||||||
|
|
||||||
echo "========running packages upgrade==========="
|
echo "========running packages upgrade==========="
|
||||||
chroot_execute "apt upgrade --yes"
|
chroot_execute "apt upgrade --yes"
|
||||||
|
chroot_execute "apt autoremove --yes"
|
||||||
|
|
||||||
echo "===========add static route to initramfs via hook to add default routes for Hetzner due to Debian/Ubuntu initramfs DHCP bug ========="
|
echo "===========add static route to initramfs via hook to add default routes for Hetzner due to Debian/Ubuntu initramfs DHCP bug ========="
|
||||||
mkdir -p "$c_zfs_mount_dir/usr/share/initramfs-tools/scripts/init-premount"
|
mkdir -p "$c_zfs_mount_dir/usr/share/initramfs-tools/scripts/init-premount"
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
export TMPDIR=/tmp
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
v_bpool_name=
|
v_bpool_name=
|
||||||
v_bpool_tweaks=
|
v_bpool_tweaks=
|
||||||
@@ -494,8 +496,19 @@ done
|
|||||||
|
|
||||||
echo "======= installing zfs on rescue system =========="
|
echo "======= installing zfs on rescue system =========="
|
||||||
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
||||||
apt-get install --yes software-properties-common
|
# echo "y" | zfs
|
||||||
echo "y" | zfs
|
# linux-headers-generic linux-image-generic
|
||||||
|
apt install --yes software-properties-common dpkg-dev dkms
|
||||||
|
rm -f "$(which zfs)"
|
||||||
|
rm -f "$(which zpool)"
|
||||||
|
echo -e "deb http://deb.debian.org/debian/ testing main contrib non-free\ndeb http://deb.debian.org/debian/ testing main contrib non-free\n" >/etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
echo -e "Package: src:zfs-linux\nPin: release n=testing\nPin-Priority: 990\n" > /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
apt install -t testing --yes zfs-dkms zfsutils-linux
|
||||||
|
rm /etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
rm /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
export PATH=$PATH:/usr/sbin
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -561,9 +574,7 @@ zfs create -o canmount=noauto -o mountpoint=/boot "$v_bpool_name/BOOT/debian"
|
|||||||
zfs mount "$v_bpool_name/BOOT/debian"
|
zfs mount "$v_bpool_name/BOOT/debian"
|
||||||
|
|
||||||
zfs create "$v_rpool_name/home"
|
zfs create "$v_rpool_name/home"
|
||||||
zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
|
||||||
zfs create -o canmount=off "$v_rpool_name/var"
|
zfs create -o canmount=off "$v_rpool_name/var"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var/lib"
|
|
||||||
zfs create "$v_rpool_name/var/log"
|
zfs create "$v_rpool_name/var/log"
|
||||||
zfs create "$v_rpool_name/var/spool"
|
zfs create "$v_rpool_name/var/spool"
|
||||||
|
|
||||||
@@ -614,7 +625,7 @@ ff02::2 ip6-allrouters
|
|||||||
ff02::3 ip6-allhosts
|
ff02::3 ip6-allhosts
|
||||||
CONF
|
CONF
|
||||||
|
|
||||||
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p')
|
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p' | head -n 1)
|
||||||
|
|
||||||
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
||||||
[Match]
|
[Match]
|
||||||
@@ -628,8 +639,7 @@ CONF
|
|||||||
chroot_execute "systemctl enable systemd-networkd.service"
|
chroot_execute "systemctl enable systemd-networkd.service"
|
||||||
chroot_execute "systemctl enable systemd-resolved.service"
|
chroot_execute "systemctl enable systemd-resolved.service"
|
||||||
|
|
||||||
|
#cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
||||||
cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
|
||||||
|
|
||||||
echo "======= preparing the jail for chroot =========="
|
echo "======= preparing the jail for chroot =========="
|
||||||
for virtual_fs_dir in proc sys dev; do
|
for virtual_fs_dir in proc sys dev; do
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
export TMPDIR=/tmp
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
v_bpool_name=
|
v_bpool_name=
|
||||||
v_bpool_tweaks=
|
v_bpool_tweaks=
|
||||||
@@ -493,9 +495,21 @@ for kver in $(find /lib/modules/* -maxdepth 0 -type d | grep -v "$(uname -r)" |
|
|||||||
done
|
done
|
||||||
|
|
||||||
echo "======= installing zfs on rescue system =========="
|
echo "======= installing zfs on rescue system =========="
|
||||||
|
|
||||||
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
||||||
apt-get install --yes software-properties-common
|
# echo "y" | zfs
|
||||||
echo "y" | zfs
|
# linux-headers-generic linux-image-generic
|
||||||
|
apt install --yes software-properties-common dpkg-dev dkms
|
||||||
|
rm -f "$(which zfs)"
|
||||||
|
rm -f "$(which zpool)"
|
||||||
|
echo -e "deb http://deb.debian.org/debian/ testing main contrib non-free\ndeb http://deb.debian.org/debian/ testing main contrib non-free\n" >/etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
echo -e "Package: src:zfs-linux\nPin: release n=testing\nPin-Priority: 990\n" > /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
apt install -t testing --yes zfs-dkms zfsutils-linux
|
||||||
|
rm /etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
rm /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
export PATH=$PATH:/usr/sbin
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -532,7 +546,7 @@ echo "======= create zfs pools and datasets =========="
|
|||||||
|
|
||||||
pools_mirror_option=
|
pools_mirror_option=
|
||||||
if [[ ${#v_selected_disks[@]} -gt 1 ]]; then
|
if [[ ${#v_selected_disks[@]} -gt 1 ]]; then
|
||||||
if dialog --defaultno --yesno "Do you want to use mirror mode for ${v_selected_disks[@]}?" 30 100; then
|
if dialog --defaultno --yesno "Do you want to use mirror mode for ${v_selected_disks[*]}?" 30 100; then
|
||||||
pools_mirror_option=mirror
|
pools_mirror_option=mirror
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -562,9 +576,8 @@ zfs create -o canmount=noauto -o mountpoint=/boot "$v_bpool_name/BOOT/debian"
|
|||||||
zfs mount "$v_bpool_name/BOOT/debian"
|
zfs mount "$v_bpool_name/BOOT/debian"
|
||||||
|
|
||||||
zfs create "$v_rpool_name/home"
|
zfs create "$v_rpool_name/home"
|
||||||
zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
#zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var"
|
zfs create -o canmount=off "$v_rpool_name/var"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var/lib"
|
|
||||||
zfs create "$v_rpool_name/var/log"
|
zfs create "$v_rpool_name/var/log"
|
||||||
zfs create "$v_rpool_name/var/spool"
|
zfs create "$v_rpool_name/var/spool"
|
||||||
|
|
||||||
@@ -615,7 +628,7 @@ ff02::2 ip6-allrouters
|
|||||||
ff02::3 ip6-allhosts
|
ff02::3 ip6-allhosts
|
||||||
CONF
|
CONF
|
||||||
|
|
||||||
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p')
|
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p' | head -n 1)
|
||||||
|
|
||||||
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
||||||
[Match]
|
[Match]
|
||||||
@@ -627,10 +640,6 @@ Address=${ip6addr_prefix}:1/64
|
|||||||
Gateway=fe80::1
|
Gateway=fe80::1
|
||||||
CONF
|
CONF
|
||||||
chroot_execute "systemctl enable systemd-networkd.service"
|
chroot_execute "systemctl enable systemd-networkd.service"
|
||||||
chroot_execute "systemctl enable systemd-resolved.service"
|
|
||||||
|
|
||||||
|
|
||||||
cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
|
||||||
|
|
||||||
echo "======= preparing the jail for chroot =========="
|
echo "======= preparing the jail for chroot =========="
|
||||||
for virtual_fs_dir in proc sys dev; do
|
for virtual_fs_dir in proc sys dev; do
|
||||||
@@ -699,7 +708,8 @@ chroot_execute "rm -f /etc/localtime /etc/timezone"
|
|||||||
chroot_execute "dpkg-reconfigure tzdata -f noninteractive"
|
chroot_execute "dpkg-reconfigure tzdata -f noninteractive"
|
||||||
|
|
||||||
echo "======= installing latest kernel============="
|
echo "======= installing latest kernel============="
|
||||||
chroot_execute "apt install --yes linux-image${v_kernel_variant}-amd64 linux-headers${v_kernel_variant}-amd64"
|
# linux-headers-generic linux-image-generic
|
||||||
|
chroot_execute "apt install --yes linux-image${v_kernel_variant}-amd64 linux-headers${v_kernel_variant}-amd64 dpkg-dev"
|
||||||
|
|
||||||
echo "======= installing aux packages =========="
|
echo "======= installing aux packages =========="
|
||||||
chroot_execute "apt install --yes man wget curl software-properties-common nano htop gnupg"
|
chroot_execute "apt install --yes man wget curl software-properties-common nano htop gnupg"
|
||||||
@@ -726,8 +736,6 @@ echo "======= installing OpenSSH and network tooling =========="
|
|||||||
chroot_execute "apt install --yes openssh-server net-tools"
|
chroot_execute "apt install --yes openssh-server net-tools"
|
||||||
|
|
||||||
echo "======= setup OpenSSH =========="
|
echo "======= setup OpenSSH =========="
|
||||||
mkdir -p "$c_zfs_mount_dir/root/.ssh/"
|
|
||||||
cp /root/.ssh/authorized_keys "$c_zfs_mount_dir/root/.ssh/authorized_keys"
|
|
||||||
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' "$c_zfs_mount_dir/etc/ssh/sshd_config"
|
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' "$c_zfs_mount_dir/etc/ssh/sshd_config"
|
||||||
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' "$c_zfs_mount_dir/etc/ssh/sshd_config"
|
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' "$c_zfs_mount_dir/etc/ssh/sshd_config"
|
||||||
chroot_execute "rm /etc/ssh/ssh_host_*"
|
chroot_execute "rm /etc/ssh/ssh_host_*"
|
||||||
@@ -790,8 +798,13 @@ export LS_OPTIONS='--color=auto -h'
|
|||||||
eval "\$(dircolors)"
|
eval "\$(dircolors)"
|
||||||
CONF
|
CONF
|
||||||
|
|
||||||
echo "========running packages upgrade==========="
|
echo "========= add root pubkey for login via SSH"
|
||||||
|
mkdir -p "$c_zfs_mount_dir/root/.ssh/"
|
||||||
|
cp /root/.ssh/authorized_keys "$c_zfs_mount_dir/root/.ssh/authorized_keys"
|
||||||
|
|
||||||
|
echo "========running packages upgrade and autoremove==========="
|
||||||
chroot_execute "apt upgrade --yes"
|
chroot_execute "apt upgrade --yes"
|
||||||
|
chroot_execute "apt autoremove --yes"
|
||||||
|
|
||||||
echo "===========add static route to initramfs via hook to add default routes for Hetzner due to Debian/Ubuntu initramfs DHCP bug ========="
|
echo "===========add static route to initramfs via hook to add default routes for Hetzner due to Debian/Ubuntu initramfs DHCP bug ========="
|
||||||
mkdir -p "$c_zfs_mount_dir/usr/share/initramfs-tools/scripts/init-premount"
|
mkdir -p "$c_zfs_mount_dir/usr/share/initramfs-tools/scripts/init-premount"
|
||||||
@@ -17,6 +17,8 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
export TMPDIR=/tmp
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
v_bpool_name=
|
v_bpool_name=
|
||||||
v_bpool_tweaks=
|
v_bpool_tweaks=
|
||||||
@@ -461,8 +463,19 @@ done
|
|||||||
|
|
||||||
echo "======= installing zfs on rescue system =========="
|
echo "======= installing zfs on rescue system =========="
|
||||||
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
||||||
apt-get install --yes software-properties-common
|
# echo "y" | zfs
|
||||||
echo "y" | zfs
|
# linux-headers-generic linux-image-generic
|
||||||
|
apt install --yes software-properties-common dpkg-dev dkms
|
||||||
|
rm -f "$(which zfs)"
|
||||||
|
rm -f "$(which zpool)"
|
||||||
|
echo -e "deb http://deb.debian.org/debian/ testing main contrib non-free\ndeb http://deb.debian.org/debian/ testing main contrib non-free\n" >/etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
echo -e "Package: src:zfs-linux\nPin: release n=testing\nPin-Priority: 990\n" > /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
apt install -t testing --yes zfs-dkms zfsutils-linux
|
||||||
|
rm /etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
rm /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
export PATH=$PATH:/usr/sbin
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -528,9 +541,7 @@ zfs create -o canmount=noauto -o mountpoint=/boot "$v_bpool_name/BOOT/ubuntu"
|
|||||||
zfs mount "$v_bpool_name/BOOT/ubuntu"
|
zfs mount "$v_bpool_name/BOOT/ubuntu"
|
||||||
|
|
||||||
zfs create "$v_rpool_name/home"
|
zfs create "$v_rpool_name/home"
|
||||||
zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
|
||||||
zfs create -o canmount=off "$v_rpool_name/var"
|
zfs create -o canmount=off "$v_rpool_name/var"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var/lib"
|
|
||||||
zfs create "$v_rpool_name/var/log"
|
zfs create "$v_rpool_name/var/log"
|
||||||
zfs create "$v_rpool_name/var/spool"
|
zfs create "$v_rpool_name/var/spool"
|
||||||
|
|
||||||
@@ -581,7 +592,7 @@ ff02::2 ip6-allrouters
|
|||||||
ff02::3 ip6-allhosts
|
ff02::3 ip6-allhosts
|
||||||
CONF
|
CONF
|
||||||
|
|
||||||
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p')
|
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p' | head -n 1)
|
||||||
|
|
||||||
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
||||||
[Match]
|
[Match]
|
||||||
@@ -596,6 +607,7 @@ CONF
|
|||||||
chroot_execute "systemctl enable systemd-networkd.service"
|
chroot_execute "systemctl enable systemd-networkd.service"
|
||||||
chroot_execute "systemctl enable systemd-resolved.service"
|
chroot_execute "systemctl enable systemd-resolved.service"
|
||||||
|
|
||||||
|
#cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
||||||
|
|
||||||
mkdir -p "$c_zfs_mount_dir/etc/cloud/cloud.cfg.d/"
|
mkdir -p "$c_zfs_mount_dir/etc/cloud/cloud.cfg.d/"
|
||||||
cat > "$c_zfs_mount_dir/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg" <<CONF
|
cat > "$c_zfs_mount_dir/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg" <<CONF
|
||||||
@@ -605,7 +617,6 @@ CONF
|
|||||||
|
|
||||||
rm -rf $c_zfs_mount_dir/etc/network/interfaces.d/50-cloud-init.cfg
|
rm -rf $c_zfs_mount_dir/etc/network/interfaces.d/50-cloud-init.cfg
|
||||||
|
|
||||||
cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
|
||||||
|
|
||||||
echo "======= preparing the jail for chroot =========="
|
echo "======= preparing the jail for chroot =========="
|
||||||
for virtual_fs_dir in proc sys dev; do
|
for virtual_fs_dir in proc sys dev; do
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
export TMPDIR=/tmp
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
v_bpool_name=
|
v_bpool_name=
|
||||||
v_bpool_tweaks=
|
v_bpool_tweaks=
|
||||||
@@ -461,8 +463,19 @@ done
|
|||||||
|
|
||||||
echo "======= installing zfs on rescue system =========="
|
echo "======= installing zfs on rescue system =========="
|
||||||
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
||||||
apt-get install --yes software-properties-common
|
# echo "y" | zfs
|
||||||
echo "y" | zfs
|
# linux-headers-generic linux-image-generic
|
||||||
|
apt install --yes software-properties-common dpkg-dev dkms
|
||||||
|
rm -f "$(which zfs)"
|
||||||
|
rm -f "$(which zpool)"
|
||||||
|
echo -e "deb http://deb.debian.org/debian/ testing main contrib non-free\ndeb http://deb.debian.org/debian/ testing main contrib non-free\n" >/etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
echo -e "Package: src:zfs-linux\nPin: release n=testing\nPin-Priority: 990\n" > /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
apt install -t testing --yes zfs-dkms zfsutils-linux
|
||||||
|
rm /etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
rm /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
export PATH=$PATH:/usr/sbin
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -528,9 +541,7 @@ zfs create -o canmount=noauto -o mountpoint=/boot "$v_bpool_name/BOOT/ubuntu"
|
|||||||
zfs mount "$v_bpool_name/BOOT/ubuntu"
|
zfs mount "$v_bpool_name/BOOT/ubuntu"
|
||||||
|
|
||||||
zfs create "$v_rpool_name/home"
|
zfs create "$v_rpool_name/home"
|
||||||
zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
|
||||||
zfs create -o canmount=off "$v_rpool_name/var"
|
zfs create -o canmount=off "$v_rpool_name/var"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var/lib"
|
|
||||||
zfs create "$v_rpool_name/var/log"
|
zfs create "$v_rpool_name/var/log"
|
||||||
zfs create "$v_rpool_name/var/spool"
|
zfs create "$v_rpool_name/var/spool"
|
||||||
|
|
||||||
@@ -581,7 +592,7 @@ ff02::2 ip6-allrouters
|
|||||||
ff02::3 ip6-allhosts
|
ff02::3 ip6-allhosts
|
||||||
CONF
|
CONF
|
||||||
|
|
||||||
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p')
|
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p' | head -n 1)
|
||||||
|
|
||||||
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
||||||
[Match]
|
[Match]
|
||||||
@@ -605,7 +616,7 @@ CONF
|
|||||||
|
|
||||||
rm -rf $c_zfs_mount_dir/etc/network/interfaces.d/50-cloud-init.cfg
|
rm -rf $c_zfs_mount_dir/etc/network/interfaces.d/50-cloud-init.cfg
|
||||||
|
|
||||||
cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
#cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
||||||
|
|
||||||
echo "======= preparing the jail for chroot =========="
|
echo "======= preparing the jail for chroot =========="
|
||||||
for virtual_fs_dir in proc sys dev; do
|
for virtual_fs_dir in proc sys dev; do
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
|
export TMPDIR=/tmp
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
v_bpool_name=
|
v_bpool_name=
|
||||||
v_bpool_tweaks=
|
v_bpool_tweaks=
|
||||||
@@ -461,8 +463,19 @@ done
|
|||||||
|
|
||||||
echo "======= installing zfs on rescue system =========="
|
echo "======= installing zfs on rescue system =========="
|
||||||
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
echo "zfs-dkms zfs-dkms/note-incompatible-licenses note true" | debconf-set-selections
|
||||||
apt-get install --yes software-properties-common
|
# echo "y" | zfs
|
||||||
echo "y" | zfs
|
# linux-headers-generic linux-image-generic
|
||||||
|
apt install --yes software-properties-common dpkg-dev dkms
|
||||||
|
rm -f "$(which zfs)"
|
||||||
|
rm -f "$(which zpool)"
|
||||||
|
echo -e "deb http://deb.debian.org/debian/ testing main contrib non-free\ndeb http://deb.debian.org/debian/ testing main contrib non-free\n" >/etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
echo -e "Package: src:zfs-linux\nPin: release n=testing\nPin-Priority: 990\n" > /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
apt install -t testing --yes zfs-dkms zfsutils-linux
|
||||||
|
rm /etc/apt/sources.list.d/bookworm-testing.list
|
||||||
|
rm /etc/apt/preferences.d/90_zfs
|
||||||
|
apt update
|
||||||
|
export PATH=$PATH:/usr/sbin
|
||||||
zfs --version
|
zfs --version
|
||||||
|
|
||||||
echo "======= partitioning the disk =========="
|
echo "======= partitioning the disk =========="
|
||||||
@@ -528,9 +541,8 @@ zfs create -o canmount=noauto -o mountpoint=/boot "$v_bpool_name/BOOT/ubuntu"
|
|||||||
zfs mount "$v_bpool_name/BOOT/ubuntu"
|
zfs mount "$v_bpool_name/BOOT/ubuntu"
|
||||||
|
|
||||||
zfs create "$v_rpool_name/home"
|
zfs create "$v_rpool_name/home"
|
||||||
zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
#zfs create -o mountpoint=/root "$v_rpool_name/home/root"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var"
|
zfs create -o canmount=off "$v_rpool_name/var"
|
||||||
zfs create -o canmount=off "$v_rpool_name/var/lib"
|
|
||||||
zfs create "$v_rpool_name/var/log"
|
zfs create "$v_rpool_name/var/log"
|
||||||
zfs create "$v_rpool_name/var/spool"
|
zfs create "$v_rpool_name/var/spool"
|
||||||
|
|
||||||
@@ -581,7 +593,7 @@ ff02::2 ip6-allrouters
|
|||||||
ff02::3 ip6-allhosts
|
ff02::3 ip6-allhosts
|
||||||
CONF
|
CONF
|
||||||
|
|
||||||
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p')
|
ip6addr_prefix=$(ip -6 a s | grep -E "inet6.+global" | sed -nE 's/.+inet6\s(([0-9a-z]{1,4}:){4,4}).+/\1/p' | head -n 1)
|
||||||
|
|
||||||
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
cat <<CONF > /mnt/etc/systemd/network/10-eth0.network
|
||||||
[Match]
|
[Match]
|
||||||
@@ -605,8 +617,6 @@ CONF
|
|||||||
|
|
||||||
rm -rf $c_zfs_mount_dir/etc/network/interfaces.d/50-cloud-init.cfg
|
rm -rf $c_zfs_mount_dir/etc/network/interfaces.d/50-cloud-init.cfg
|
||||||
|
|
||||||
cp /etc/resolv.conf $c_zfs_mount_dir/etc/resolv.conf
|
|
||||||
|
|
||||||
echo "======= preparing the jail for chroot =========="
|
echo "======= preparing the jail for chroot =========="
|
||||||
for virtual_fs_dir in proc sys dev; do
|
for virtual_fs_dir in proc sys dev; do
|
||||||
mount --rbind "/$virtual_fs_dir" "$c_zfs_mount_dir/$virtual_fs_dir"
|
mount --rbind "/$virtual_fs_dir" "$c_zfs_mount_dir/$virtual_fs_dir"
|
||||||
|
|||||||
Reference in New Issue
Block a user