Setelah lima bulan pengembangan, pengelola sistem systemd 250 telah dirilis. Rilis baru ini menambahkan kemampuan untuk menyimpan kredensial terenkripsi, mengimplementasikan verifikasi tanda tangan digital untuk partisi GPT yang terdeteksi secara otomatis, meningkatkan pelaporan penundaan startup layanan, menambahkan opsi untuk membatasi akses layanan ke sistem berkas dan antarmuka jaringan tertentu, mendukung pemantauan integritas partisi menggunakan modul dm-integrity, dan menambahkan dukungan untuk pembaruan sd-boot otomatis.
Perubahan besar:
- Menambahkan dukungan untuk kredensial terenkripsi dan terautentikasi, yang dapat berguna untuk menyimpan materi sensitif secara aman seperti SSL- kunci akses dan kata sandi. Dekripsi kredensial hanya dilakukan bila diperlukan dan spesifik untuk instalasi atau perangkat keras lokal. Data dienkripsi secara otomatis menggunakan algoritma enkripsi simetris, yang kuncinya dapat ditemukan di sistem file, di chip TPM2, atau menggunakan skema gabungan. Saat layanan dimulai, kredensial secara otomatis didekripsi dan tersedia untuk layanan dalam bentuk teks biasa. Utilitas 'systemd-creds' telah ditambahkan untuk bekerja dengan kredensial terenkripsi, dan pengaturan LoadCredentialEncrypted dan SetCredentialEncrypted tersedia untuk layanan.
- Di dalam sd-stub, terdapat file yang dapat dieksekusi untuk EFI, yang digunakan firmware EFI untuk memuat kernel. LinuxDukungan untuk booting kernel menggunakan protokol EFI LINUX_EFI_INITRD_MEDIA_GUID telah ditambahkan. Selain itu, sd-stub juga menambahkan kemampuan untuk mengemas kredensial dan file sysext ke dalam arsip cpio dan meneruskan arsip ini ke kernel bersama dengan initrd (file tambahan ditempatkan di direktori /.extra/). Fitur ini memungkinkan penggunaan lingkungan initrd yang dapat diverifikasi dan tidak dapat diubah, yang dilengkapi dengan sysext dan data otentikasi terenkripsi.
- Spesifikasi Partisi yang Dapat Ditemukan telah diperluas secara signifikan, menyediakan alat untuk mengidentifikasi, memasang, dan mengaktifkan partisi sistem menggunakan GPT (Tabel Partisi GUID). Dibandingkan dengan rilis sebelumnya, spesifikasi ini kini mendukung partisi root dan partisi /usr untuk sebagian besar arsitektur, termasuk platform yang tidak menggunakan UEFI.
Discoverable Partitions juga menambahkan dukungan untuk partisi yang integritasnya diverifikasi oleh modul dm-verity menggunakan tanda tangan digital PKCS#7, sehingga menyederhanakan pembuatan citra disk yang sepenuhnya terautentikasi. Dukungan verifikasi terintegrasi ke dalam berbagai utilitas yang memanipulasi citra disk, termasuk systemd-nspawn, systemd-sysext, systemd-dissect, layanan dengan RootImage, systemd-tmpfiles, dan systemd-sysusers.
- Untuk unit yang memerlukan waktu lama untuk memulai atau berhenti, selain menampilkan bilah kemajuan yang beranimasi, kemampuan untuk menampilkan informasi status juga disediakan, yang memungkinkan Anda memahami apa yang sebenarnya terjadi dengan layanan saat ini dan layanan mana yang saat ini sedang ditunggu penyelesaiannya oleh pengelola sistem.
- Parameter DefaultOOMScoreAdjust telah ditambahkan ke /etc/systemd/system.conf dan /etc/systemd/user.conf. Parameter ini menyesuaikan ambang batas OOM-killer untuk situasi memori rendah, yang berlaku untuk proses yang dimulai oleh systemd untuk sistem dan pengguna. Secara default, layanan sistem memiliki bobot yang lebih tinggi daripada layanan pengguna, yang berarti bahwa layanan pengguna lebih mungkin dihentikan dalam kondisi memori rendah daripada layanan sistem.
- Pengaturan RestrictFileSystems telah ditambahkan, memungkinkan Anda membatasi akses layanan ke jenis sistem berkas tertentu. Anda dapat menggunakan perintah "systemd-analyze filesystems" untuk melihat jenis sistem berkas yang tersedia. Demikian pula, opsi RestrictNetworkInterfaces telah diimplementasikan, memungkinkan Anda membatasi akses ke antarmuka jaringan tertentu. Implementasi ini didasarkan pada modul LSM BPF, yang membatasi akses ke objek kernel untuk sekelompok proses.
- Berkas konfigurasi baru, /etc/integritytab, dan utilitas systemd-integritysetup telah ditambahkan. Berkas-berkas ini mengonfigurasi modul dm-integrity untuk pemantauan integritas data tingkat sektor, misalnya memastikan kekekalan data terenkripsi (Enkripsi Terautentikasi memastikan bahwa blok data tidak dimodifikasi secara aman). Format berkas /etc/integritytab serupa dengan /etc/crypttab dan /etc/veritytab, hanya saja dm-integrity digunakan sebagai pengganti dm-crypt dan dm-verity.
- Sebuah file unit baru, systemd-boot-update.service, telah ditambahkan. Saat diaktifkan dan bootloader sd-boot terinstal, systemd akan secara otomatis memperbarui versi bootloader sd-boot, sehingga kode bootloader selalu mutakhir. sd-boot sendiri sekarang dibangun secara default dengan dukungan untuk mekanisme SBAT (UEFI Secure Boot Advanced Targeting), yang menyelesaikan masalah pencabutan sertifikat untuk UEFI Secure Boot. Selain itu, sd-boot sekarang mendukung penguraian pengaturan boot Microsoft. Windows untuk pembentukan nama partisi boot yang benar dengan Windows dan menampilkan versinya Windows.
sd-boot juga menyediakan kemampuan untuk menentukan skema warna selama proses build. Dukungan untuk mengubah resolusi layar dengan menekan tombol "r" saat boot kini tersedia. Tombol pintas "f" telah ditambahkan untuk masuk ke antarmuka pengaturan firmware. Mode boot sistem otomatis telah ditambahkan, sesuai dengan item menu yang dipilih saat boot sebelumnya. Kemampuan untuk memuat driver EFI secara otomatis yang terletak di direktori /EFI/systemd/drivers/ pada ESP (Partisi Sistem EFI) telah ditambahkan.
- File unit baru, factory-reset.target, disertakan, yang diproses oleh systemd-logind dengan cara yang sama dengan operasi reboot, poweroff, suspend, dan hibernate, dan digunakan untuk membuat pengendali untuk melakukan reset pabrik.
- Proses systemd-resolved sekarang membuat soket pendengar tambahan di 127.0.0.54 selain 127.0.0.53. Permintaan ke 127.0.0.54 selalu diteruskan ke server DNS hulu dan tidak diproses secara lokal.
- Kemampuan untuk membangun systemd-importd dan systemd-resolved dengan pustaka OpenSSL alih-alih libgcrypt telah diperkenalkan.
- Menambahkan dukungan awal untuk arsitektur LoongArch yang digunakan dalam prosesor Loongson.
- systemd-gpt-auto-generator mengimplementasikan kemampuan untuk secara otomatis mengonfigurasi partisi swap yang ditentukan sistem yang dienkripsi dengan subsistem LUKS2.
- Kode penguraian gambar GPT yang digunakan dalam systemd-nspawn, systemd-dissect, dan utilitas serupa mengimplementasikan kemampuan untuk mendekode gambar untuk arsitektur lain, yang memungkinkan systemd-nspawn digunakan untuk menjalankan gambar dalam emulator untuk arsitektur lain.
- Saat memeriksa citra disk, systemd-dissect sekarang menampilkan informasi tentang tujuan partisi, seperti apakah partisi tersebut cocok untuk boot UEFI atau berjalan dalam kontainer.
- Bidang "SYSEXT_SCOPE" telah ditambahkan ke file system-extension.d/, yang memungkinkan Anda menentukan cakupan citra sistem - "initrd", "system", atau "portable".
- Bidang "PORTABLE_PREFIXES" telah ditambahkan ke berkas os-release, yang dapat digunakan dalam gambar portabel untuk menentukan awalan berkas unit yang didukung.
- systemd-logind mengimplementasikan pengaturan baru HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress, dan HandleHibernateKeyLongPress, yang dapat digunakan untuk menentukan tindakan saat tombol tertentu ditekan selama lebih dari 5 detik (misalnya, menekan tombol Suspend dengan cepat dapat dikonfigurasi untuk menangguhkan sistem, dan menahannya dapat dikonfigurasi untuk menghibernasi sistem).
- Untuk unit, pengaturan StartupAllowedCPUs dan StartupAllowedMemoryNodes telah diterapkan. Pengaturan ini berbeda dari pengaturan serupa tanpa awalan Startup karena hanya diterapkan pada tahap boot dan shutdown, sehingga Anda dapat mengatur batasan sumber daya yang berbeda selama boot.
- Menambahkan pemeriksaan Tekanan [Kondisi|Tegaskan][Memori|CPU|IO] yang memungkinkan aktivasi unit dilewati atau diselesaikan dengan kesalahan jika beban tinggi pada memori, CPU, dan I/O dalam sistem terdeteksi melalui mekanisme PSI.
- Batas inode maksimum default telah ditingkatkan untuk partisi /dev dari 64k menjadi 1M, dan untuk /tmp dari 400k menjadi 1M.
- Untuk layanan, pengaturan ExecSearchPath telah diperkenalkan, yang memungkinkan Anda mengubah jalur pencarian file yang dapat dieksekusi yang diluncurkan melalui pengaturan yang mirip dengan ExecStart.
- Menambahkan pengaturan RuntimeRandomizedExtraSec, yang memungkinkan Anda memasukkan variasi acak ke dalam batas waktu RuntimeMaxSec, yang membatasi waktu eksekusi suatu unit.
- Sintaks pengaturan RuntimeDirectory, StateDirectory, CacheDirectory, dan LogsDirectory telah diperluas. Dengan menentukan nilai tambahan yang dipisahkan oleh titik dua, Anda kini dapat membuat tautan simbolis ke direktori tertentu untuk menyediakan akses melalui beberapa jalur.
- Untuk layanan, pengaturan TTYRows dan TTYColumns disediakan untuk menentukan jumlah baris dan kolom dalam perangkat TTY.
- Menambahkan pengaturan ExitType yang memungkinkan Anda mengubah logika untuk menentukan penghentian layanan. Secara default, systemd hanya memantau penghentian proses utama, tetapi ketika ExitType=cgroup diatur, manajer sistem akan menunggu proses terakhir dalam cgroup berakhir.
- Implementasi dukungan TPM2/FIDO2/PKCS11 dalam systemd-cryptsetup sekarang juga dibangun sebagai plugin untuk cryptsetup, yang memungkinkan perintah cryptsetup biasa digunakan untuk membuka kunci partisi terenkripsi.
- Penanganan TPM2 di systemd-cryptsetup/systemd-cryptsetup telah diperbarui untuk mendukung kunci utama RSA selain kunci ECC untuk meningkatkan kompatibilitas dengan chip yang tidak mendukung ECC.
- Opsi token-timeout telah ditambahkan ke /etc/crypttab, yang memungkinkan Anda menentukan waktu maksimum untuk menunggu token PKCS#11/FIDO2 terhubung, setelah itu Anda akan diminta memasukkan kata sandi atau kunci pemulihan.
- systemd-timesyncd mengimplementasikan pengaturan SaveIntervalSec, yang memungkinkan penyimpanan waktu sistem saat ini secara berkala ke disk, misalnya, untuk menerapkan jam monotonik pada sistem tanpa RTC.
- Utilitas systemd-analyze telah diperbarui dengan opsi berikut: "--image" dan "--root" untuk memeriksa berkas unit dalam direktori image atau root tertentu, "--recursive-errors" untuk memperhitungkan unit dependen ketika kesalahan terdeteksi, "--offline" untuk memeriksa berkas unit yang disimpan terpisah, "--json" untuk keluaran dalam format JSON, "--quiet" untuk menonaktifkan pesan yang tidak penting, dan "--profile" untuk mengikat ke profil portabel. Perintah inspect-elf juga telah ditambahkan untuk mengurai berkas inti ELF dan kemampuan untuk memeriksa berkas unit dengan nama unit tertentu, terlepas dari apakah namanya sama dengan nama berkas.
- Systemd-networkd kini mendukung bus Controller Area Network (CAN). Opsi konfigurasi untuk mengelola mode CAN telah ditambahkan: Loopback, OneShot, PresumeAck, dan ClassicDataLengthCode. Opsi berikut telah ditambahkan ke bagian [CAN] pada berkas .network: TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2, dan DataSyncJumpWidth untuk mengontrol sinkronisasi bit antarmuka CAN.
- Klien DHCPv4 systemd-networkd sekarang memiliki opsi Label yang memungkinkan Anda mengonfigurasi label alamat yang digunakan saat mengonfigurasi alamat IPv4.
- systemd-udevd mengimplementasikan dukungan untuk nilai "maks" khusus untuk "ethtool" yang menetapkan ukuran buffer ke nilai maksimum yang didukung oleh perangkat keras.
- Dalam file .link untuk systemd-udevd, Anda sekarang dapat mengonfigurasi berbagai parameter untuk menggabungkan adaptor jaringan dan menghubungkan pengendali perangkat keras (offload).
- systemd-networkd menyediakan file .network baru secara default: 80-container-vb.network untuk menentukan jembatan jaringan yang dibuat saat systemd-nspawn dimulai dengan opsi "--network-bridge" atau "--network-zone"; 80-6rd-tunnel.network untuk menentukan terowongan yang dibuat secara otomatis saat respons DHCP dengan opsi 6RD diterima.
- Dukungan untuk penerusan IP melalui antarmuka InfiniBand telah ditambahkan ke systemd-networkd dan systemd-udevd, yang mana bagian "[IPoIB]" telah ditambahkan ke file systemd.netdev, dan nilai "ipoib" telah diproses dalam pengaturan Jenis.
- systemd-networkd menyediakan konfigurasi rute otomatis untuk alamat yang ditentukan dalam parameter AllowedIPs, yang dapat dikonfigurasi melalui parameter RouteTable dan RouteMetric di [WireGuard] Dan [WireGuardRekan sejawat].
- systemd-networkd secara otomatis menghasilkan alamat MAC tetap untuk antarmuka batadv dan bridge. Untuk menonaktifkan perilaku ini, tentukan MACAddress=none dalam berkas .netdev.
- Pengaturan WakeOnLanPassword telah ditambahkan ke bagian “[Link]” dari file .link untuk menentukan kata sandi saat WoL berjalan dalam mode “SecureOn”.
- Bagian "[CAKE]" dari file .network telah diperbarui dengan pengaturan AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO, dan UseRawPacketSize untuk menentukan parameter mekanisme manajemen antrean jaringan CAKE (Common Applications Kept Enhanced).
- Pengaturan IgnoreCarrierLoss telah ditambahkan ke bagian "[Jaringan]" pada file .network, yang memungkinkan Anda menentukan berapa lama menunggu sebelum bereaksi terhadap hilangnya sinyal pembawa.
- Dalam systemd-nspawn, homectl, machinectl, dan systemd-run, sintaksis parameter "--setenv" telah diperluas: jika hanya nama variabel yang ditentukan (tanpa "="), nilainya akan diambil dari variabel lingkungan yang sesuai (misalnya, jika Anda menentukan "--setenv=FOO", nilainya akan diambil dari variabel lingkungan $FOO dan digunakan dalam variabel lingkungan dengan nama yang sama yang ditetapkan dalam kontainer).
- Menambahkan opsi "--suppress-sync" ke systemd-nspawn untuk menonaktifkan eksekusi panggilan sistem sync()/fsync()/fdatasync() saat membuat kontainer (berguna saat kecepatan menjadi prioritas dan menyimpan artefak build jika terjadi kegagalan tidaklah penting, karena artefak tersebut dapat dibuat ulang kapan saja).
- Basis data hwdb baru telah ditambahkan, yang mencakup berbagai jenis penganalisis sinyal (multimeter, penganalisis protokol, osiloskop, dll.). Informasi kamera di hwdb telah diperluas untuk mencakup kolom jenis kamera (reguler atau inframerah) dan penempatan lensa (depan atau belakang).
- Menghasilkan nama antarmuka jaringan persisten untuk perangkat netfront yang digunakan di Xen.
- Analisis berkas inti oleh utilitas systemd-coredump berdasarkan pustaka libdw/libelf sekarang dilakukan dalam proses terpisah yang terisolasi dalam lingkungan kotak pasir.
- systemd-importd sekarang mendukung variabel lingkungan $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, dan $SYSTEMD_IMPORT_SYNC, yang dapat digunakan untuk menonaktifkan pembuatan subkunci Btrfs dan mengonfigurasi kuota dan sinkronisasi disk.
- Dalam systemd-journald, pada sistem berkas yang mendukung mode salin-saat-tulis, mode COW diaktifkan kembali untuk jurnal yang diarsipkan, yang memungkinkan jurnal tersebut dikompresi oleh Btrfs.
- systemd-journald mengimplementasikan deduplikasi bidang identik dalam satu pesan, yang dilakukan sebelum pesan ditempatkan di jurnal.
- Perintah shutdown sekarang memiliki opsi "--show" untuk menampilkan shutdown yang terjadwal.
Sumber: opennet.ru
