È disponibile il gestore di sistema systemd 258

Dopo nove mesi di sviluppo, è stata presentata la versione 258 del gestore di sistema systemd. Le modifiche principali includono: la cessazione del supporto per cgroups v1 e componenti di gestione del sistema in stile System V, nuove utility systemd-factory-reset e systemd-pty-forward, la concettualizzazione delle aree domestiche, il supporto per il caricamento di un'immagine disco ottenuta tramite HTTP.

Tra le novità del nuovo rilascio:

  • È stata aggiunta l'utility systemd-factory-reset per avviare o annullare il ripristino delle impostazioni allo stato di fabbrica (factory reset) al prossimo avvio. Per il ripristino immediato è stata aggiunta l'unità factory-reset-now.target. Per il ripristino durante l'avvio, è stato aggiunto il parametro della riga di comando del kernel 'systemd.factory_reset'.
  • È stata introdotta la concettualizzazione delle aree domestiche (home area), che consente di definire sottodirectory all'interno della directory principale dell'home ($HOME), in cui l'utente può accedere separatamente per lavorare in diversi ambienti di lavoro. Ad esempio, per un singolo utente è possibile creare aree separate per testare le impostazioni e per lo sviluppo (~\/Areas\/foo e ~\/Areas\/bar). Per connettersi a un'area aggiuntiva al momento del login, è necessario specificare nel login il nome dell'area separandolo con il simbolo '%' ('username%foo') o utilizzare l'utility run0 con l'opzione '--area'. Il supporto per le aree domestiche è attualmente implementato solo in systemd-homed e non è disponibile per sessioni grafiche complete.
  • Sono stati aggiunti i parametri della riga di comando del kernel 'systemd.pull' e 'rd.systemd.pull', utilizzati per il caricamento automatico macchine virtuali, dei contenitori o delle immagini di estensione (sysext, confext), aggiungendo il flag 'blockdev'. Specificando questo flag, l'immagine caricata viene collegata a un dispositivo loopback, permettendo di avviarsi direttamente in un'immagine disco ottenuta tramite HTTP. Ad esempio: rd.systemd.pull=raw,machine,verify=no,blockdev:image:https:\/\/192.168.100.1:8081\/image.raw \ root=\/dev\/disk\/by-loop-ref\/image.raw-part2
  • È stata aggiunta l'utility systemd-pty-forward che consente di creare un pseudo terminal ('PTY') e avviare un processo su di esso, reindirizzando qualsiasi output al terminale sorgente da cui è stata avviata l'utility.
  • È stato rimosso il codice che forniva supporto per cgroups v1.
  • Sono stati rimossi i componenti di gestione del sistema in stile System V, come le utility itctl, runlevel e telinit, il dispositivo \/dev\/initctl, la concettualizzazione dei livelli di avvio (runlevel), i file unit runlevel[0-6].target e la possibilità di gestire lo stato tramite il comando init. La rimozione del supporto per gli script dei servizi System V è prevista per la prossima versione.
  • I requisiti minimi per la versione del kernel Linux sono stati elevati alla versione 5.4 (si consiglia la versione 5.7).
  • I permessi di accesso ai dispositivi tty/pts sono stati modificati da 0620 (-rw—w—-) a 0600 (-rw——-) per vietare la scrittura in terminali altrui da parte di altri utenti nella stessa gruppo. Per ripristinare il comportamento precedente in fase di compilazione, è possibile utilizzare l'opzione ‘-Dtty-mode=0620’.
  • In systemd-resolved e systemd-importd è stata interrotta la supporto per le librerie GnuTLS e libgcrypt, lasciando come backend crittografico solo OpenSSL.
  • Nei file unit è stata aggiunta la supporto per la condizione «ConditionKernelModuleLoaded» per verificare il caricamento di specifici moduli del kernel. La condizione «ConditionKernelVersion» è stata sostituita con una costruzione più generale «ConditionVersion», attraverso cui oltre al kernel è possibile verificare le versioni di systemd e glibc.
  • È stata attivata la supporto per le quote utente per la sezione /tmp/, ospitata in tmpfs, e per /dev/shm/.
  • Per gli unit slice, utilizzati per suddividere il sistema in parti (app.slice, background.slice, session.slice) con l'obiettivo di isolare le risorse tra diversi servizi utente, sono state implementate le impostazioni ConcurrencySoftMax e ConcurrencyHardMax per gestire il numero di unit attivi contemporaneamente. Le nuove funzioni possono essere utilizzate come meccanismo per gestire l'avvio dei lavori tenendo conto del consumo di risorse, supportando pool di lavori gerarchici.
  • Nell'impostazione ExecStart è stata aggiunta la supporto per il prefisso ‘|’, che definisce l'esecuzione tramite un interprete di comandi.
  • È stato realizzato un API basato sul protocollo Varlink, che può essere utilizzata per determinare lo stato attuale, l'elenco delle unit e lo stato delle unit.
  • È stata aggiunta una directory aggiuntiva con le impostazioni predefinite («preset») per i servizi di sistema eseguiti in initrd, che consente di separare l'attivazione dei servizi di sistema per l'host e initrd.
  • È stata aggiunta la possibilità di associare le quote ai singoli servizi, utilizzando le impostazioni StateDirectoryQuota, StateDirectoryAccounting, CacheDirectoryQuota, CacheDirectoryAccounting, LogsDirectoryQuota e LogsDirectoryAccounting.
  • In systemd-udevd è stato aggiunto il supporto per le proprietà ID_NET_BRING_UP_BEFORE_JOINING_BRIDGE, ID_NET_NAME_INCLUDE_DOMAIN, ID_AV_LIGHTS. È stato aggiunto il parametro della riga di comando del kernel "udev.trace" e l'opzione "--traceu" nell'utility devadm per tracciare la logica di funzionamento di udev durante l'avvio e l'esecuzione. È stato aggiunto il comando "cat" all'utility udevadm per mostrare il contenuto dei file di regole installati. È stata garantita la marcatura automatica delle interfacce USB di debug Android (ADB DbC, ADB, Fastboot) per l'accesso da parte di utenti non privilegiati.
  • In systemd-networkd sono state aggiunte le impostazioni IPv4DuplicateAddressDetectionTimeoutSec, UseSIP nella sezione "[DHCPv6]", MPLSRouting nella sezione "[Network]", Preference nella sezione "[IPv6RoutePrefix]", LinkLocalLearning, Locked, MACAuthenticationBypass e VLANTunnel nella sezione "[Bridge]". È stato aggiunto supporto nel client DHCPv4 per il protocollo BOOTP.
  • In systemd-logind sono state aggiunte nuove classi di sessioni: "none" per disattivare la creazione della sessione; "user-light" e "user-early-light" per creare sessioni utente senza attivazione per l'utente del gestore di servizi (per sessioni non interattive).
  • In systemd-resolved è stato aggiunto il supporto per le zone di delega ("delegate zone"), che consentono di instradare le richieste DNS per domini specifici attraverso designate servers DNS. È stata garantita l'invio parallelo di richieste DNS per i record A e AAAA per uno stesso dominio. In resolved.conf è stata aggiunta l'impostazione RefuseRecordTypes per specificare i tipi di record bloccati, ad esempio per bloccare i record "A" su host che supportano solo IPv6.
  • Nel comando "systemctl start" è stata aggiunta l'opzione "--verbose" per visualizzare il log delle operazioni sui unit su cui viene eseguita l'operazione.
  • In systemd-boot è stato aggiunto il supporto per due nuove specifiche di bootloader: "uki" e "uki-url". Nel secondo caso è stata implementata la possibilità di caricare un'immagine UKI da un host esterno tramite il protocollo HTTP. È stata aggiunta la possibilità di incorporare immagini di firmware UEFI in immagini UKI (Unified Kernel Image). In loader.conf è stata aggiunta l'impostazione "reboot-on-error" per definire le azioni (riavviare o mostrare il menu di avvio) in caso di errore nella posizione di avvio selezionata.
  • In systemd-nspawn è stato aggiunto il supporto per l'esecuzione non privilegiata di immagini di contenitori memorizzate in normali directory.
  • In systemd-importd è stato aggiunto il supporto per immagini compresse con l'algoritmo zstd (in aggiunta a .xz, .gz e .bz2).
  • Sono stati aggiunti i parametri della riga di comando del kernel «systemd.break» e «rd.systemd.break», che consentono di inserire punti di interruzione interattivi per fermare il caricamento in momenti specifici. Sono disponibili quattro punti di interruzione: «pre-udev», «pre-basic», «pre-mount» e «pre-switch-root».
  • Nella prossima versione è prevista la cessazione del supporto per la directory /run/lock/ e il filtro di pacchetti iptables (nel systemd-networkd e nel systemd-nspawn rimarrà solo il supporto per nftables). Si prevede anche un aumento dei requisiti per le versioni minime: kernel Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster