50 lines
1.6 KiB
Bash
50 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
BOLD=$(tput bold)
|
|
NORMAL=$(tput sgr0)
|
|
OPENZFS_DIR=$HOME/openzfs
|
|
OPENZFS_TAG_VER=$(git ls-remote --refs --tags https://github.com/openzfs/zfs | cut --delimiter='/' --fields=3 | sort --version-sort | tail --lines=2 | head --lines=1)
|
|
|
|
if [[ ! -d $OPENZFS_DIR ]]; then
|
|
mkdir -p $OPENZFS_DIR
|
|
|
|
if [[ ! -d $OPENZFS_DIR/.git ]]; then
|
|
git clone --depth 1 --branch $OPENZFS_TAG_VER https://github.com/openzfs/zfs $OPENZFS_DIR
|
|
cd $OPENZFS_DIR/
|
|
|
|
fi
|
|
fi
|
|
|
|
sudo dnf install autoconf automake dkms elfutils-libelf-devel gcc git kernel-devel-$(uname -r) kernel-rpm-macros libaio-devel libattr-devel libblkid-devel libcurl-devel libffi-devel libtirpc-devel libtool libudev-devel libuuid-devel make ncompress openssl-devel python3 python3-cffi python3-devel python3-packaging python3-setuptools rpm-build zlib-devel -y
|
|
|
|
cd $OPENZFS_DIR
|
|
|
|
sh autogen.sh
|
|
|
|
if [[ $? -eq 0 ]]; then
|
|
./configure
|
|
|
|
if [][ $? -eq 0 ]; then
|
|
make -j1 rpm-utils rpm-dkms
|
|
|
|
if [[ $? -eq 0 ]]; then
|
|
echo -ne "\n\n\nOpenZFS was compiled successfully.
|
|
|
|
To install OpenZFS, run the following command:
|
|
${BOLD}sudo yum localinstall *.$(uname -p).rpm *.noarch.rpm${NORMAL}
|
|
|
|
Load ZFS:
|
|
${BOLD}sudo modprobe zfs${NORMAL}
|
|
|
|
Enable ZFS-related services:
|
|
${BOLD}
|
|
sudo systemctl enable --now zfs-import-cache.service zfs-import-scan.service zfs-mount.service zfs-share.service zfs.target zfs-zed.service
|
|
${NORMAL}
|
|
|
|
Recreate the ZFS cache file:
|
|
${BOLD}sudo zpool set cachefile=/etc/zfs/zpool.cache trayimurti${NORMAL}\n"
|
|
|
|
fi
|
|
fi
|
|
fi
|