Saya pengguna Fedora Linux yang menjalankan yum upgrade
sehari-hari. Meskipun kebiasaan ini memungkinkan saya untuk menjalankan semua perangkat lunak terbaru (salah satu dari empat fondasi Fedora adalah "pertama", dan itu sesuai dengan itu), kebiasaan ini juga menyoroti ketidaksesuaian antara platform penyimpanan ZFS dan kernel baru.
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Sebagai pengembang, terkadang saya membutuhkan fitur baru dari cabang ZFS terbaru. Misalnya, ZFS 2.0.0 berisi fitur baru yang menarik yang sangat meningkatkan kinerja sinkronisasi ZVOL, yang sangat penting bagi saya sebagai pengguna KVM. Tapi ini berarti jika saya ingin menggunakan cabang 2.0.0, saya harus membangun ZFS sendiri.
Pada awalnya, saya hanya mengkompilasi ZFS secara manual dari repo Git-nya setelah setiap pembaruan kernel. Jika saya lupa, ZFS akan gagal dikenali pada boot berikutnya. Untungnya, saya dengan cepat mempelajari cara mengatur dukungan modul kernel dinamis (DKMS) untuk ZFS. Namun, solusi ini tidak sempurna. Untuk satu hal, itu tidak menggunakan sistem yum yang kuat, yang dapat membantu menyelesaikan dependensi dan peningkatan. Selain itu, beralih antara paket Anda sendiri dan paket upstream cukup mudah dengan yum.
Pada artikel ini, saya akan mendemonstrasikan cara mengatur repo yum untuk mengemas ZFS. Solusinya memiliki dua langkah:
- Buat paket RPM dari repositori ZFS Git
- Siapkan repo yum untuk meng-host paket
Buat paket RPM
Untuk membuat paket RPM, Anda perlu menginstal RPM toolchain. Yum menyediakan grup untuk bundel menginstal alat:
sudo dnf group install 'C Development Tools and Libraries' 'RPM Development Tools'
Setelah ini diinstal, Anda harus menginstal semua paket yang diperlukan untuk membangun ZFS dari repo ZFS Git. Paket milik tiga kelompok:
- Alat otomatis untuk menghasilkan file build dari konfigurasi platform
- Library untuk membangun kernel ZFS dan alat userland
- Library untuk membuat paket RPM
sudo dnf install libtool autoconf automake gettext createrepo \
libuuid-devel libblkid-devel openssl-devel libtirpc-devel \
lz4-devel libzstd-devel zlib-devel \
kernel-devel elfutils-libelf-devel \
libaio-devel libattr-devel libudev-devel \
python3-devel libffi-devel
Sekarang Anda siap untuk membuat paket Anda sendiri.
Bangun OpenZFS
OpenZFS menyediakan infrastruktur yang sangat baik. Untuk membangunnya:
- Klon repositori dengan
git
dan beralih ke cabang/tag yang ingin Anda gunakan. - Jalankan Autotools untuk membuat makefile.
- Jalankan
make rpm
dan, jika semuanya berfungsi, file RPM akan ditempatkan di folder build.
$ git clone --branch=zfs-2.0.0-rc3 https://github.com/openzfs/zfs.git zfs
$ cd zfs
$ ./autogen.sh
$ ./configure
$ make rpm
Siapkan repo enak
Di yum, repo adalah server atau jalur lokal yang menyertakan file metadata dan RPM. Seorang konsumen menyiapkan file konfigurasi INI, dan yum
perintah secara otomatis menyelesaikan metadata dan mengunduh paket yang sesuai.
Fedora menyediakan createrepo
alat untuk mengatur repo yum. Pertama, buat repo dan salin semua file RPM dari folder ZFS ke repo. Kemudian jalankan createrepo --update
untuk memasukkan semua paket dalam metadata:
$ sudo mkdir -p /var/lib/zfs.repo
$ sudo createrepo /var/lib/zfs.repo
$ sudo cp *.rpm /var/lib/zfs.repo/
$ sudo createrepo --update /var/lib/zfs.repo
Buat file konfigurasi baru di /etc/yum.repos.d
untuk menyertakan jalur repo:
$ echo \
"[zfs-local]\\nname=ZFS Local\\nbaseurl=file:///var/lib/zfs.repo\\nenabled=1\\ngpgcheck=0" |\
sudo tee /etc/yum.repos.d/zfs-local.repo
$ sudo dnf --repo=zfs-local list available --refresh
Akhirnya, Anda telah mencapai akhir perjalanan! Anda memiliki paket yum repo dan ZFS yang berfungsi. Sekarang Anda hanya perlu menginstalnya:
$ sudo dnf install zfs
$ sudo /sbin/modprobe zfs
Jalankan sudo zfs version
untuk melihat versi perangkat pengguna dan kernel Anda. Selamat! Anda memiliki ZFS untuk Fedora.