keluaran pengurus sistem systemd 248

Selepas empat bulan pembangunan, keluaran pengurus sistem systemd 248 dibentangkan. Keluaran baharu menyediakan sokongan untuk imej untuk mengembangkan direktori sistem, fail konfigurasi /etc/veritytab, utiliti systemd-cryptenroll, membuka kunci LUKS2 menggunakan cip TPM2 dan FIDO2 token, menjalankan unit dalam ruang pengecam IPC terpencil, protokol BATMAN untuk rangkaian mesh, bahagian belakang nftables untuk systemd-nspawn. Systemd-oomd telah distabilkan.

Perubahan utama:

  • Konsep imej Sambungan Sistem telah dilaksanakan, yang boleh digunakan untuk melanjutkan hierarki direktori /usr/ dan /opt/, dan menambah fail tambahan semasa masa jalan, walaupun direktori yang ditentukan dipasang baca sahaja. Apabila imej sambungan sistem dipasang, kandungannya ditindih pada hierarki /usr/ dan /opt/ menggunakan OverlayFS.

    Utiliti baharu, systemd-sysext, telah dicadangkan untuk menyambung, memutuskan sambungan, melihat dan mengemas kini imej sambungan sistem. Untuk menyambung imej yang telah dipasang secara automatik semasa but, perkhidmatan systemd-sysext.service telah ditambah. Menambahkan parameter "SYSEXT_LEVEL=" pada fail os-release untuk menentukan tahap sambungan sistem yang disokong.

  • Untuk unit, tetapan ExtensionImages telah dilaksanakan, yang boleh digunakan untuk memautkan imej sambungan sistem kepada hierarki ruang nama FS bagi perkhidmatan terpencil individu.
  • Menambahkan fail konfigurasi /etc/veritytab untuk mengkonfigurasi pengesahan data pada tahap blok menggunakan modul dm-verity. Format fail adalah serupa dengan /etc/crypttab - "section_name device_for_data device_for_hashes check_hash_root options." Menambahkan pilihan baris arahan kernel systemd.verity.root_options untuk mengkonfigurasi tingkah laku dm-verity untuk peranti root.
  • systemd-cryptsetup menambah keupayaan untuk mengekstrak URI token PKCS#11 dan kunci yang disulitkan daripada pengepala metadata LUKS2 dalam format JSON, membenarkan maklumat tentang membuka peranti yang disulitkan untuk disepadukan ke dalam peranti itu sendiri tanpa melibatkan fail luaran.
  • systemd-cryptsetup menyediakan sokongan untuk membuka kunci partition yang disulitkan LUKS2 menggunakan cip TPM2 dan token FIDO2, sebagai tambahan kepada token PKCS#11 yang disokong sebelum ini. Memuatkan libfido2 dilakukan melalui dlopen(), i.e. ketersediaan disemak dengan segera, bukannya sebagai pergantungan berwayar keras.
  • Pilihan baharu "no-write-workqueue" dan "no-read-workqueue" telah ditambahkan pada /etc/crypttab untuk systemd-cryptsetup untuk membolehkan pemprosesan segerak I/O yang dikaitkan dengan penyulitan dan penyahsulitan.
  • Utiliti systemd-repart telah menambah keupayaan untuk mengaktifkan partition yang disulitkan menggunakan cip TPM2, sebagai contoh, untuk mencipta partition /var yang disulitkan pada but pertama.
  • Utiliti systemd-cryptenroll telah ditambahkan untuk mengikat token TPM2, FIDO2 dan PKCS#11 pada partition LUKS, serta untuk menyahsemat dan melihat token, mengikat kunci ganti dan menetapkan kata laluan untuk akses.
  • Menambahkan parameter PrivateIPC, yang membolehkan anda mengkonfigurasi fail unit untuk menjalankan proses dalam ruang IPC terpencil dengan pengecam dan baris gilir mesej yang berasingan. Untuk menyambungkan unit ke ruang pengecam IPC yang telah dibuat, pilihan IPCNamespacePath dicadangkan.
  • Menambah tetapan ExecPaths dan NoExecPaths untuk membenarkan bendera noexec digunakan pada bahagian tertentu sistem fail.
  • systemd-networkd menambah sokongan untuk protokol mesh BATMAN (Better Approach To Mobile Adhoc Networking), yang membolehkan penciptaan rangkaian terdesentralisasi di mana setiap nod disambungkan melalui nod bersebelahan. Untuk konfigurasi, bahagian [BatmanAdvanced] dalam .netdev, parameter BatmanAdvanced dalam fail .network dan jenis peranti baharu "batadv" dicadangkan.
  • Pelaksanaan mekanisme tindak balas awal untuk ingatan rendah dalam sistem systemd-oomd telah distabilkan. Menambahkan pilihan DefaultMemoryPressureDurationSec untuk mengkonfigurasi masa menunggu untuk sumber dikeluarkan sebelum menjejaskan unit. Systemd-oomd menggunakan subsistem kernel PSI (Pressure Stall Information) dan membolehkan anda mengesan permulaan kelewatan akibat kekurangan sumber dan secara selektif menamatkan proses intensif sumber pada peringkat apabila sistem belum berada dalam keadaan kritikal dan tidak mula memotong cache secara intensif dan mengalihkan data ke dalam partition swap.
  • Menambahkan parameter baris arahan kernel "root=tmpfs", yang membolehkan anda melekapkan partition root dalam storan sementara yang terletak dalam RAM menggunakan Tmpfs.
  • Parameter /etc/crypttab yang menentukan fail kunci kini boleh menunjuk kepada jenis soket AF_UNIX dan SOCK_STREAM. Dalam kes ini, kunci mesti diberikan semasa menyambung ke soket, yang, sebagai contoh, boleh digunakan untuk mencipta perkhidmatan yang mengeluarkan kunci secara dinamik.
  • Nama hos sandaran untuk digunakan oleh pengurus sistem dan systemd-hostnamed kini boleh ditetapkan dalam dua cara: melalui parameter DEFAULT_HOSTNAME dalam os-release dan melalui pembolehubah persekitaran $SYSTEMD_DEFAULT_HOSTNAME. systemd-hostnamed juga mengendalikan "localhost" dalam nama hos dan menambah keupayaan untuk mengeksport nama hos serta sifat "HardwareVendor" dan "HardwareModel" melalui DBus.
  • Blok dengan pembolehubah persekitaran terdedah kini boleh dikonfigurasikan melalui pilihan ManagerEnvironment baharu dalam system.conf atau user.conf, dan bukan sahaja melalui baris arahan kernel dan tetapan fail unit.
  • Pada masa penyusunan, adalah mungkin untuk menggunakan panggilan sistem fexecve() untuk memulakan proses dan bukannya execve() untuk mengurangkan kelewatan antara menyemak konteks keselamatan dan menerapkannya.
  • Untuk fail unit, operasi bersyarat baharu ConditionSecurity=tpm2 dan ConditionCPUFeature telah ditambahkan untuk menyemak kehadiran peranti TPM2 dan keupayaan CPU individu (contohnya, ConditionCPUFeature=rdrand boleh digunakan untuk menyemak sama ada pemproses menyokong operasi RDRAND).
  • Untuk kernel yang tersedia, penjanaan automatik jadual panggilan sistem untuk penapis seccom telah dilaksanakan.
  • Menambah keupayaan untuk menggantikan pelekap bind baharu ke dalam ruang nama pelekap sedia ada perkhidmatan, tanpa memulakan semula perkhidmatan. Penggantian dilakukan dengan arahan 'systemctl bind ...' dan 'systemctl mount-image …'.
  • Menambah sokongan untuk menentukan laluan dalam tetapan StandardOutput dan StandardError dalam bentuk "truncate: Β» untuk pembersihan sebelum digunakan.
  • Menambah keupayaan untuk mewujudkan sambungan ke sesi pengguna tertentu dalam bekas tempatan ke sd-bus. Contohnya "systemctl -user -M lennart@ start quux".
  • Dalam fail systemd.link dalam bahagian [Pautan] parameter berikut dilaksanakan:
    • Promiscuous - membolehkan anda menukar peranti kepada mod "promiscuous" untuk memproses semua paket rangkaian, termasuk yang tidak ditujukan kepada sistem semasa;
    • TransmitQueues dan ReceiveQueues untuk menetapkan bilangan baris gilir TX dan RX;
    • TransmitQueueLength untuk menetapkan saiz baris gilir TX; GenericSegmentOffloadMaxBytes dan GenericSegmentOffloadMaxSegment untuk menetapkan had untuk penggunaan teknologi GRO (Generic Receive Offload).
  • Tetapan baharu telah ditambahkan pada fail systemd.network:
    • [Rangkaian] RouteTable untuk memilih jadual penghalaan;
    • [RoutingPolicyRule] Taip untuk jenis penghalaan ("lubang hitam, "tidak boleh dicapai", "melarang");
    • [IPv6AcceptRA] RouteDenyList dan RouteAllowList untuk senarai iklan laluan yang dibenarkan dan ditolak;
    • [DHCPv6] UseAdres untuk mengabaikan alamat yang dikeluarkan oleh DHCP;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy untuk mentakrifkan dasar berkenaan aktiviti antara muka (sentiasa kekalkan dalam keadaan ATAS atau BAWAH atau benarkan pengguna menukar keadaan dengan arahan "ip link set dev").
  • Menambahkan pilihan Protokol [VLAN], IngressQOSMaps, EgressQOSMaps dan [MACVLAN] BroadcastMulticastQueueLength pada fail systemd.netdev untuk mengkonfigurasi pengendalian paket VLAN.
  • Berhenti memasang direktori /dev/ dalam mod noexec kerana ia menyebabkan konflik apabila menggunakan bendera boleh laku dengan fail /dev/sgx. Untuk mengembalikan tingkah laku lama, anda boleh menggunakan tetapan NoExecPaths=/dev.
  • Kebenaran fail /dev/vsock telah ditukar kepada 0o666, dan fail /dev/vhost-vsock dan /dev/vhost-net telah dialihkan ke kumpulan kvm.
  • Pangkalan data ID perkakasan telah dikembangkan dengan pembaca cap jari USB yang menyokong mod tidur dengan betul.
  • sokongan tambahan yang diselesaikan oleh systemd untuk mengeluarkan respons kepada pertanyaan DNSSEC melalui penyelesai rintisan. Pelanggan tempatan boleh melakukan pengesahan DNSSEC pada diri mereka sendiri, manakala klien luaran diproksi tidak berubah kepada pelayan DNS induk.
  • Menambahkan pilihan CacheFromLocalhost pada resolved.conf, apabila ditetapkan, systemd-resolved akan menggunakan caching walaupun untuk panggilan ke pelayan DNS pada 127.0.0.1 (secara lalai, caching permintaan sedemikian dilumpuhkan untuk mengelakkan caching berganda).
  • systemd-resolved menambah sokongan untuk RFC-5001 NSIDs dalam penyelesai DNS tempatan, membolehkan pelanggan membezakan antara interaksi dengan penyelesai tempatan dan pelayan DNS yang lain.
  • Utiliti resolvectl melaksanakan keupayaan untuk memaparkan maklumat tentang sumber data (cache tempatan, permintaan rangkaian, tindak balas pemproses tempatan) dan penggunaan penyulitan semasa menghantar data. Pilihan --cache, --synthesize, --network, --zone, --trust-anchor, dan --validate disediakan untuk mengawal proses penentuan nama.
  • systemd-nspawn menambah sokongan untuk mengkonfigurasi tembok api menggunakan nftables sebagai tambahan kepada sokongan iptables sedia ada. Persediaan IPMasquerade dalam systemd-networkd telah menambahkan keupayaan untuk menggunakan backend berasaskan nftables.
  • sokongan tambahan systemd-localed untuk memanggil locale-gen untuk menjana locales yang hilang.
  • Pilihan --pager/-no-pager/-json= telah ditambahkan pada pelbagai utiliti untuk mendayakan/melumpuhkan mod paging dan output dalam format JSON. Menambahkan keupayaan untuk menetapkan bilangan warna yang digunakan dalam terminal melalui pembolehubah persekitaran SYSTEMD_COLORS (β€œ16” atau β€œ256”).
  • Binaan dengan hierarki direktori berasingan (split / dan /usr) dan sokongan cgroup v1 telah ditamatkan.
  • Cawangan induk dalam Git telah dinamakan semula daripada 'master' kepada 'utama'.

Sumber: opennet.ru

Tambah komen