From a238c7b482bee7d72bb52743effd2b451c17ce39 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 4 Oct 2022 11:36:07 +0530 Subject: [PATCH] add openzfs install script --- .scripts/_bluefeds/openzfs/openzfs_install.sh | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 .scripts/_bluefeds/openzfs/openzfs_install.sh diff --git a/.scripts/_bluefeds/openzfs/openzfs_install.sh b/.scripts/_bluefeds/openzfs/openzfs_install.sh new file mode 100755 index 0000000..2e49068 --- /dev/null +++ b/.scripts/_bluefeds/openzfs/openzfs_install.sh @@ -0,0 +1,49 @@ +#!/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}zpool set cachefile=/etc/zfs/zpool.cache trayimurti${NORMAL}\n" + + fi + fi +fi