Versione del gestore di sistema systemd 251

Dopo cinque mesi di sviluppo, è stata rilasciata la versione del gestore di sistema systemd 251.

Variazioni principali:

  • Sono stati aumentati i requisiti di sistema. La versione minima supportata del kernel Linux è stata incrementata da 3.13 a 4.15. È necessario un timer CLOCK_BOOTTIME per il funzionamento. Per la compilazione è richiesto un compilatore con supporto per lo standard C11 e le estensioni GNU (per i file di intestazione continua ad essere utilizzato lo standard C89).
  • È stata aggiunta l'utility sperimentale systemd-sysupdate per la determinazione automatica, il download e l'installazione degli aggiornamenti attraverso un meccanismo atomico di sostituzione di partizioni, file o directory (vengono utilizzate due partizioni/file/directory indipendenti, una delle quali contiene la risorsa attualmente in uso, mentre l'altra riceve il prossimo aggiornamento, dopodiché le partizioni/file/directory vengono scambiate).
  • È stata introdotta una nuova libreria condivisa interna libsystemd-core-.so, che viene installata nella directory /usr/lib/systemd/system e corrisponde alla libreria esistente libsystemd-shared-.so. L'uso della libreria condivisa libsystemd-core-.so permette di ridurre le dimensioni complessive dell'installazione attraverso il riutilizzo del 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 simultaneamente più versioni di queste librerie.
  • È stata implementata la trasmissione ai gestori OnFailure/OnSuccess delle variabili d'ambiente $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID e $MONITOR_UNIT con informazioni sull'unità monitorata.
  • Per le unità è stata realizzata la configurazione ExtensionDirectories, che può essere utilizzata per organizzare il caricamento dei componenti di estensione del sistema (System Extension) da normali directory anziché da immagini disco. Il contenuto della directory di estensione del sistema viene sovrapposto tramite OverlayFS e applicato per estendere la gerarchia delle directory /usr/ e /opt/, e per aggiungere file aggiuntivi durante l'esecuzione, anche se le directory specificate sono montate in modalità di sola lettura. È stata aggiunta anche la supporto per specificare la directory nel comando ‘portablectl attach —extension=’.
  • Per le unità terminate forzatamente dal gestore systemd-oomd a causa della mancanza di memoria nel sistema, è garantita la trasmissione del flag ‘oom-kill’ e il riflesso nell'attributo ‘user.oomd_ooms’ del numero delle terminazioni forzate.
  • Per i unit, sono stati aggiunti nuovi specificatori di percorso %y/%Y, che riflettono il percorso normalizzato all'unit (con la risoluzione dei link simbolici). Sono stati anche aggiunti i specificatori %q per sostituire il valore di PRETTY_HOSTNAME e %d per sostituire CREDENTIALS_DIRECTORY.
  • Nei servizi non privilegiati, eseguiti da un utente normale utilizzando il flag «--user», è consentita la modifica delle impostazioni RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath, PrivateUsers, ProtectClock, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs e MountFlags. Questa funzionalità è disponibile solo se il sistema ha abilitato gli spazi dei nomi degli identificatori utente (user namespaces).
  • Nell'impostazione LoadCredential è consentita l'indicazione di un nome di directory come argomento; in questo caso, viene tentato di caricare le credenziali da tutti i file nella directory indicata.
  • In systemctl, nel parametro «--timestamp» è stata aggiunta la possibilità di indicare il flag «unix» per mostrare l'ora nel formato epocale (numero di secondi dal 1 gennaio 1970).
  • Nel «systemctl status» è stato implementato il flag «old-kernel», visualizzato se il kernel caricato durante la sessione ha un numero di versione inferiore rispetto al kernel di base disponibile nel sistema. È stato inoltre aggiunto il flag «unmerged-usr» per determinare se il contenuto delle directory /bin/ e /sbin/ è stato creato senza link simbolici a /usr.
  • Per i generatori eseguiti dal processo PID 1, sono state fornite nuove variabili d'ambiente $SYSTEMD_SCOPE (esecuzione da un servizio di sistema o utente), $SYSTEMD_IN_INITRD (esecuzione da initrd o ambiente host), $SYSTEMD_FIRST_BOOT (indicatore del primo avvio), $SYSTEMD_VIRTUALIZATION (presenza di virtualizzazione o esecuzione in un contenitore) e $SYSTEMD_ARCHITECTURE (architettura per la quale è stato compilato il kernel).
  • Nel gestore PID 1 è stata implementata la possibilità di caricare i parametri delle credenziali di sistema dall'interfaccia QEMU fw_cfg o attraverso l'indicazione del parametro systemd.set_credential nella riga di comando del kernel. Nella direttiva LoadCredential è garantita la ricerca automatica delle credenziali nelle directory /etc/credstore/, /run/credstore/ e /usr/lib/credstore/, se è stato specificato un percorso relativo come argomento. Comportamenti simili sono stati applicati alla direttiva LoadCredentialEncrypted, in cui vengono ulteriormente controllate le directory /etc/credstore.encrypted/, /run/credstore.encrypted/ e /usr/lib/credstore.encrypted/.
  • In systemd-journald, è stata stabilita la possibilità di esportare in formato JSON. Nei comandi «journalctl —list-boots» e «bootctl list» è stata aggiunta la supporto per l'output in formato JSON (flag «—json»).
  • In udev sono stati aggiunti nuovi file con database hwdb, contenenti informazioni sui dispositivi portatili (PDA, calcolatrici, ecc.) e dispositivi utilizzati nella creazione audio e video (console DJ, pad).
  • In udevadm sono state aggiunte nuove opzioni «—prioritized-subsystem» per definire la priorità dei seguiti di sistema (utilizzato in systemd-udev-trigger.service per elaborare prima i dispositivi bloccabili e TPM), «—type=all», «—initialized-match» e «—initialized-nomatch» per selezionare i dispositivi inizializzati o non inizializzati, «udevadm info —tree» per mostrare l'albero degli oggetti nella gerarchia /sys/. In udevadm sono anche stati aggiunti nuovi comandi «wait» e «lock» per attendere l'apparizione nella DB di un record di dispositivo e bloccare un dispositivo bloccabile durante la formattazione o la scrittura della tabella delle partizioni.
  • È stato aggiunto un nuovo insieme di collegamenti simbolici ai dispositivi /dev/disk/by-diskseq/ per identificare i dispositivi bloccabili in base al numero di sequenza («diskseq»).
  • Nei file .link, nella sezione [Match], è stata aggiunta la supporto per il parametro «Firmware» per la corrispondenza del dispositivo in base a una stringa con la descrizione del firmware.
  • In systemd-networkd, per le rotte unicast configurate tramite la sezione [Route], il valore di scope è stato modificato di default su «link» per allinearsi al comportamento del comando «ip route». Nella sezione [Bridge] è stato aggiunto il parametro Isolated=true|false per configurare l'attributo con lo stesso nome dei ponti di rete nel kernel. Nella sezione [Tunnel] è stato aggiunto il parametro External per impostare il tunnel di tipo esterno (modalità di raccolta dei 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. server DHCP durante il caricamento in modalità PXE. Nella sezione [Network] è stato rimosso il parametro L2TP, per il quale nei file .netdev è possibile utilizzare la nuova impostazione Local legata all'interfaccia L2TP.
  • È stato aggiunto un nuovo unit «systemd-networkd-wait-online@.service», che può essere utilizzato per attendere l'attivazione di un'interfaccia di rete specifico.
  • È stata implementata la possibilità di utilizzare file .netdev per creare dispositivi virtuali WLAN, per i quali è stata proposta la sezione [WLAN] per la configurazione.
  • Nei file .link/.network nella sezione [Match] è stato implementato il parametro Kind per il matching in base al tipo di dispositivo («bond», «bridge», «gre», «tun», «veth»).
  • È garantito l'avvio di systemd-resolved in una fase precedente del boot, incluso l'avvio da initrd nel caso in cui systemd-resolved sia presente nell'immagine initrd.
  • In systemd-cryptenroll è stata aggiunta l'opzione —fido2-credential-algorithm per la scelta dell'algoritmo di crittografia delle credenziali e l'opzione —tpm2-with-pin per gestire l'inserimento del PIN durante lo sblocco della partizione utilizzando TPM. È stata aggiunta un'opzione analoga tpm2-pin in /etc/crypttab. Durante lo sblocco dei dispositivi tramite TPM è stato garantito il crittografamento dei parametri per proteggere dalla cattura delle chiavi di crittografia.
  • In systemd-timesyncd è stato aggiunto un API D-Bus per ottenere dinamicamente informazioni dal server NTP tramite IPC.
  • Per determinare la necessità di output a colori in tutti i comandi, è stata implementata una verifica della variabile ambiente COLORTERM oltre alle precedentemente verificate NO_COLOR, SYSTEMD_COLORS e TERM.
  • Nel sistema di build Meson è stata implementata l'opzione install_tag per la build e installazione selettiva dei componenti necessari: pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. È stata aggiunta l'opzione di build default-compression per scegliere l'algoritmo di compressione per systemd-journald e systemd-coredump.
  • In sd-boot nel file loader.conf è stata aggiunta una configurazione sperimentale «reboot-for-bitlocker» per avviare Microsoft Windows con BitLocker TPM.

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