systemd gestore di sistema versione 251

Dopo cinque mesi di sviluppo viene presentata la release del system manager systemd 251.

Principali modifiche:

  • I requisiti di sistema sono stati aumentati. La versione minima supportata del kernel Linux è stata aumentata da 3.13 a 4.15. Per il funzionamento è necessario il timer CLOCK_BOOTTIME. Per compilare è necessario un compilatore che supporti lo standard C11 e le estensioni GNU (lo standard C89 continua ad essere utilizzato per i file header).
  • Aggiunta un'utilità sperimentale systemd-sysupdate per rilevare, scaricare e installare automaticamente gli aggiornamenti utilizzando un meccanismo atomico per la sostituzione di partizioni, file o directory (vengono utilizzate due partizioni/file/directory indipendenti, una delle quali contiene la risorsa di lavoro corrente e l'altra installa al successivo aggiornamento, dopo il quale le sezioni/file/directory vengono scambiate).
  • Introdotta la nuova libreria condivisa interna libsystemd-core- .so, che viene installato nella directory /usr/lib/systemd/system e corrisponde alla libreria libsystemd-shared- esistente .COSÌ. Utilizzando la libreria condivisa libsystemd-core .so consente di ridurre la dimensione complessiva dell'installazione riutilizzando il codice binario. Il numero di versione può essere specificato tramite il parametro 'shared-lib-tag' nel sistema di build meson e consente alle distribuzioni di fornire più versioni di queste librerie contemporaneamente.
  • Trasferimento implementato delle variabili di ambiente $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID e $MONITOR_UNIT dalle informazioni sull'unità monitorata ai gestori OnFailure/OnSuccess.
  • Per le unità è stata implementata l'impostazione ExtensionDirectories, che può essere utilizzata per organizzare il caricamento dei componenti System Extension da directory regolari, anziché da immagini disco. Il contenuto della directory dell'estensione di sistema viene sovrapposto utilizzando OverlayFS e viene utilizzato per espandere la gerarchia delle directory /usr/ e /opt/ e aggiungere ulteriori file in fase di runtime, anche se dette directory sono montate in sola lettura. Il comando 'portablectl attach --extension=' ha inoltre aggiunto il supporto per specificare una directory.
  • Per le unità terminate forzatamente dal gestore systemd-oomd a causa della mancanza di memoria nel sistema, viene trasmesso l'attributo 'oom-kill' e il numero di terminazioni forzate si riflette nell'attributo 'user.oomd_ooms'.
  • Per le unità, sono stati aggiunti nuovi identificatori di percorso %y/%Y, che riflettono il percorso normalizzato verso l'unità (con l'espansione dei collegamenti simbolici). Sono stati inoltre aggiunti gli specificatori %q per la sostituzione del valore PRETTY_HOSTNAME e %d per la sostituzione CREDENTIALS_DIRECTORY.
  • Nei servizi non privilegiati avviati da un utente normale utilizzando il flag "--user", modifiche alle impostazioni di RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath , PrivateUsers, ProtectClock sono consentiti, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs e MountFlags. Questa funzionalità è disponibile solo quando gli spazi dei nomi utente sono abilitati nel sistema.
  • L'impostazione LoadCredential consente di specificare un nome di directory come argomento, nel qual caso viene effettuato un tentativo di caricare le credenziali da tutti i file nella directory specificata.
  • In systemctl, nel parametro “—timestamp”, è diventato possibile specificare il flag “unix” per visualizzare l'ora in formato epocale (il numero di secondi dal 1 gennaio 1970).
  • Lo “systemctl status” implementa il flag “old-kernel”, che viene mostrato se il kernel caricato nella sessione ha un numero di versione precedente rispetto al kernel di base disponibile nel sistema. Aggiunto anche un flag "unmerged-usr" per determinare che i contenuti delle directory /bin/ e /sbin/ non sono formati tramite collegamenti simbolici a /usr.
  • Per i generatori avviati da un processo PID 1, vengono fornite nuove variabili di ambiente: $SYSTEMD_SCOPE (avvio da un sistema o servizio utente), $SYSTEMD_IN_INITRD (avvio dall'initrd o dall'ambiente host), $SYSTEMD_FIRST_BOOT (indicatore del primo avvio), $SYSTEMD_VIRTUALIZATION ( presenza di virtualizzazione o lancio in un contenitore) e $SYSTEMD_ARCHITECTURE (l'architettura per cui è stato costruito il kernel).
  • Il gestore PID 1 implementa la capacità di caricare i parametri delle credenziali di sistema dall'interfaccia QEMU fw_cfg o specificando il parametro systemd.set_credential sulla riga comandi del kernel. La direttiva LoadCredential fornisce la ricerca automatica delle credenziali nelle directory /etc/credstore/, /run/credstore/ e /usr/lib/credstore/ se come argomento viene specificato un percorso relativo. Un comportamento simile si applica alla direttiva LoadCredentialEncrypted, che controlla inoltre le directory /etc/credstore.encrypted/, /run/credstore.encrypted/ e /usr/lib/credstore.encrypted/.
  • La possibilità di esportare in formato JSON è stata stabilizzata in systemd-journald. I comandi "journalctl --list-boots" e "bootctl list" ora supportano l'output in formato JSON (il flag "--json").
  • Nuovi file con database hwdb sono stati aggiunti a udev, contenenti informazioni sui dispositivi portatili (PDA, calcolatrici, ecc.) e sui dispositivi utilizzati per creare audio e video (console DJ, tastiere).
  • Nuove opzioni “--prioritized-subsystem” sono state aggiunte a udevadm per impostare la priorità dei seguenti sistemi (utilizzati in systemd-udev-trigger.service per elaborare prima i dispositivi a blocchi e i TPM), “-type=all”, “-initialized -match” e "--initialized-nomatch" per selezionare dispositivi inizializzati o non inizializzati, "udevadm info -tree" per mostrare un albero di oggetti nella gerarchia /sys/. udevadm aggiunge anche nuovi comandi "wait" e "lock" per attendere che una voce di dispositivo appaia nel database e bloccare un dispositivo a blocchi durante la formattazione o la scrittura di una tabella delle partizioni.
  • Aggiunto un nuovo set di collegamenti simbolici ai dispositivi /dev/disk/by-diskseq/ per identificare i dispositivi a blocchi tramite il numero di serie (“diskseq”).
  • Aggiunto il supporto per il parametro "Firmware" nei file .link nella sezione [Match] per abbinare il dispositivo per riga con la descrizione del firmware.
  • In systemd-networkd, per le rotte unicast configurate tramite la sezione [Route], il valore dell'ambito è stato modificato in "link" per impostazione predefinita per corrispondere al comportamento del comando "ip route". Il parametro Isolate=true|false è stato aggiunto alla sezione [Bridge] per configurare l'attributo con lo stesso nome per i bridge di rete nel kernel. Nella sezione [Tunnel] è stato aggiunto il parametro Esterno per impostare il tipo di tunnel su esterno (modalità di raccolta metadati). Nella sezione [DHCPServer] sono stati aggiunti i parametri BootServerName, BootServerAddress e BootFilename per configurare l'indirizzo del server, il nome del server e il nome del file di avvio inviati dal server DHCP durante l'avvio in modalità PXE. Nella sezione [Rete] è stato rimosso il parametro L2TP, al posto del quale nei file .netdev è possibile utilizzare la nuova impostazione Locale in connessione con l'interfaccia L2TP.
  • Aggiunta la nuova unità "systemd-networkd-wait-online@" .service", che può essere utilizzato per attendere l'attivazione di un'interfaccia di rete specifica.
  • Ora è possibile utilizzare i file .netdev per creare dispositivi WLAN virtuali, che possono essere configurati nella sezione [WLAN].
  • Nei file .link/.network, la sezione [Match] implementa il parametro Kind per la corrispondenza per tipo di dispositivo (“bond”, “bridge”, “gre”, “tun”, “veth”).
  • Systemd-resolved è stato avviato in una fase di avvio precedente, incluso l'avvio da initrd se systemd-resolved è presente nell'immagine initrd.
  • systemd-cryptenroll aggiunge l'opzione --fido2-credential-algorithm per selezionare l'algoritmo di crittografia delle credenziali e l'opzione --tpm2-with-pin per controllare l'immissione del PIN quando si sblocca una partizione utilizzando TPM. Un'opzione tpm2-pin simile è stata aggiunta a /etc/crypttab. Quando si sbloccano i dispositivi tramite TPM, le impostazioni vengono crittografate per proteggere dall'intercettazione delle chiavi di crittografia.
  • systemd-timesyncd aggiunge l'API D-Bus per il recupero dinamico delle informazioni da un server NTP tramite IPC.
  • Per determinare la necessità di un output a colori, tutti i comandi implementano un controllo per la variabile di ambiente COLORTERM oltre a NO_COLOR, SYSTEMD_COLORS e TERM precedentemente controllati.
  • Il sistema di build Meson implementa l'opzione install_tag per l'assemblaggio selettivo e l'installazione dei componenti necessari: pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. Aggiunta l'opzione di build default-compression per selezionare l'algoritmo di compressione per systemd-journald e systemd-coredump.
  • Aggiunta l'impostazione sperimentale "reboot-for-bitlocker" a sd-boot in loader.conf per avviare Microsoft Windows con BitLocker TPM.

Fonte: opennet.ru

Aggiungi un commento