systemd gestore di sistema versione 244

Dopo tre mesi di sviluppo presentata rilascio del gestore di sistema systemd 244.

Principali modifiche:

  • Aggiunto il supporto per il controller delle risorse cpuset basato su cgroups v2, che fornisce un meccanismo per associare processi a CPU specifiche (l'impostazione "AllowedCPUs") e nodi di memoria NUMA (l'impostazione "AllowedMemoryNodes");
  • Aggiunto il supporto per caricare le impostazioni dalla variabile EFI SystemdOptions per la configurazione di systemd, che consente di personalizzare il comportamento di systemd in situazioni in cui la modifica delle opzioni della riga di comando del kernel è problematica e la configurazione dal disco viene letta troppo tardi (ad esempio, quando è necessario configurare le opzioni relativo alla gerarchia del cgroup). Per impostare una variabile in EFI, puoi utilizzare il comando 'bootctl systemd-efi-options';
  • Aggiunto supporto alle unità per caricare le impostazioni dalle directory "{unit_type}.d/" associate ai tipi di unità (ad esempio, "service.d/"), che possono essere utilizzate per aggiungere impostazioni che coprono tutti i file di unità di un determinato tipo in una volta;
  • Per le unità di servizio è stata aggiunta una nuova modalità di isolamento sandbox ProtectKernelLogs, che consente di negare ai programmi l'accesso al buffer dei log del kernel, accessibile tramite la chiamata di sistema syslog (da non confondere con l'omonima API fornita in libc). Se la modalità è attivata, l'accesso dell'applicazione a /proc/kmsg, /dev/kmsg e CAP_SYSLOG verrà bloccato;
  • Per le unità è stata proposta un'impostazione RestartKillSignal, che consente di ridefinire il numero del segnale utilizzato per terminare il processo durante il riavvio dell'attività (è possibile modificare il comportamento di arresto del processo nella fase di preparazione al riavvio);
  • Il comando “systemctl clean” è stato adattato per l'uso con unità socket, mount e swap;
  • Nella fase iniziale del caricamento, le restrizioni sull'intensità dell'output dei messaggi del kernel tramite la chiamata printk sono disabilitate, il che consente di accumulare log più completi sull'avanzamento del caricamento in una fase in cui l'archivio dei log non è ancora connesso (il log viene accumulato nel ring buffer del kernel). L'impostazione dei limiti di printk dalla riga di comando del kernel ha la precedenza e consente di ignorare il comportamento di systemd. I programmi Systemd che inviano direttamente i log a /dev/kmsg (questo viene fatto solo all'inizio della fase di avvio) utilizzano restrizioni interne separate per proteggere dall'ostruzione del buffer;
  • All'utility systemctl è stato aggiunto il comando 'stop --job-mode=triggering', che permette di fermare sia l'unità specificata sulla riga di comando che tutte le unità che possono chiamarla;
  • Le informazioni sullo stato delle unità ora includono informazioni sulle unità chiamanti e richiamate;
  • È possibile utilizzare l'impostazione "RuntimeMaxSec" nelle unità di ambito (in precedenza veniva utilizzata solo nelle unità di servizio). Ad esempio, "RuntimeMaxSec" può ora essere utilizzato per limitare il tempo delle sessioni PAM attraverso la creazione di un'unità di ambito
    per un account utente. Il limite di tempo può essere impostato anche tramite l'opzione systemd.runtime_max_sec nei parametri del modulo PAM pam_systemd;

  • Aggiunto un nuovo gruppo di chiamate di sistema “@pkey”, quando si limitano contenitori e servizi, rendendo più semplice inserire nella whitelist le chiamate di sistema relative alla protezione della memoria;
  • Aggiunto il flag "w+" a systemd-tmpfiles per la scrittura in modalità di aggiunta file;
  • Aggiunte informazioni all'output di systemd-analyze riguardo se la configurazione della memoria del kernel corrisponde alle impostazioni di systemd (ad esempio, se qualche programma di terze parti ha modificato i parametri del kernel);
  • L'opzione “--base-time” è stata aggiunta a systemd-analyze, quando specificata, i dati del calendario vengono calcolati rispetto all'ora specificata in questa opzione e non rispetto all'ora del sistema corrente;
  • "journalctl —update-catalog" garantisce coerenza nella sequenza degli elementi nell'output (utile per organizzare build ripetibili);
  • Aggiunta la possibilità di specificare un valore predefinito per l'impostazione "WatchdogSec" utilizzata nei servizi systemd. In fase di compilazione, il valore base può essere determinato tramite l'opzione "-Dservice-watchdog" (se impostata su vuota, il watchdog sarà disabilitato);
  • Aggiunta l'opzione di build "-Duser-path" per sovrascrivere il valore $PATH;
  • Aggiunta l'opzione "-u" ("--uuid") a systemd-id128 per emettere identificatori a 128 bit nell'UUID (rappresentazione canonica dell'UUID);
  • La compilazione ora richiede almeno la versione 2.0.1 di libcryptsetup.

Modifiche relative alle impostazioni di rete:

  • Systemd-networkd ha aggiunto il supporto per riconfigurare un collegamento al volo, per cui i comandi “reload” e “reconfigure DEVICE...” sono stati aggiunti a networkctl per ricaricare le impostazioni e riconfigurare i dispositivi;
  • systemd-networkd ha smesso di creare percorsi predefiniti per i collegamenti IPv4 locali con indirizzi intranet 169.254.0.0/16 (Link-locale). In precedenza, la creazione automatica di percorsi predefiniti per tali collegamenti provocava in alcuni casi comportamenti imprevisti e problemi di routing. Per restituire il vecchio comportamento, utilizzare l'impostazione "DefaultRouteOnDevice=yes". Allo stesso modo, l'assegnazione degli indirizzi IPv6 locali viene interrotta se il routing IPv6 locale non è abilitato per il collegamento;
  • In systemd-networkd, quando ci si connette a reti wireless in modalità ad-hoc, la configurazione predefinita è implementata con indirizzamento link-local (link-local);
  • Aggiunti i parametri RxBufferSiz e TxBufferSize per configurare la dimensione dei buffer di ricezione e invio dell'interfaccia di rete;
  • systemd-networkd implementa la pubblicità di percorsi IPv6 aggiuntivi, regolati tramite le opzioni Route e LifetimeSec nella sezione “[IPv6RoutePrefix]”;
  • systemd-networkd ha aggiunto la possibilità di configurare percorsi “next hop” utilizzando le opzioni “Gateway” e “Id” nella sezione “[NextHop]”;
  • systemd-networkd e networkctl per DHCP forniscono l'aggiornamento al volo dei collegamenti degli indirizzi IP (leasing), implementati dal comando 'networkctl renew';
  • systemd-networkd garantisce che la configurazione DHCP venga reimpostata al riavvio (utilizzare l'opzione KeepConfiguration per salvare le impostazioni). Il valore predefinito dell'impostazione SendRelease è stato modificato in "true";
  • Il client DHCPv4 garantisce che venga utilizzato il valore dell'opzione OPTION_INFORMATION_REFRESH_TIME inviato dal server. Per richiedere opzioni specifiche al server, viene proposto il parametro "RequestOptions" e per inviare opzioni al server - "SendOption". Per configurare il tipo di servizio IP da parte del client DHCP è stato aggiunto il parametro “IPServiceType”;
  • Per sostituire l'elenco dei server SIP (Session Initiation Protocol) con i server DHCPv4, sono stati aggiunti i parametri “EmitSIP” e “SIP”. Lato client è possibile abilitare la ricezione dei parametri SIP dal server utilizzando l'impostazione “UseSIP=yes”;
  • Aggiunto il parametro "PrefixDelegationHint" al client DHCPv6 per richiedere un prefisso di indirizzo;
  • I file .network forniscono supporto per la mappatura delle reti wireless tramite SSID e BSSID, ad esempio per associarle al nome di un punto di accesso e all'indirizzo MAC. I valori SSID e BSSID vengono visualizzati nell'output networkctl per le interfacce wireless. Inoltre è stata aggiunta la possibilità di confrontare per tipo di rete wireless (parametro WLANInterfaceType);
  • systemd-networkd ha aggiunto la possibilità di configurare le discipline di coda per controllare il traffico utilizzando i nuovi parametri Parent,
    NetworkEmulatorDelaySec, NetworkEmulatorDelayJitterSec,
    NetworkEmulatorPacketLimit e NetworkEmulatorLossRate,
    NetworkEmulatorDuplicateRate nella sezione “[TrafficControlQueueingDiscipline]”;

  • systemd-resolved fornisce la verifica degli indirizzi IP nei certificati durante la creazione con GnuTLS.

modifiche relative a udev:

  • Systemd-udevd ha rimosso il timeout di 30 secondi per forzare la terminazione dei gestori bloccati. Systemd-udevd ora attende il completamento dei gestori per i quali 30 secondi non sono sufficienti per completare le operazioni normalmente in installazioni di grandi dimensioni (ad esempio, un timeout potrebbe interrompere l'inizializzazione del driver durante il processo di commutazione della partizione montata per il file system root). Quando si utilizza systemd, il timeout che systemd-udevd attenderà prima di uscire può essere impostato tramite l'impostazione TimeoutStopSec in systemd-udevd.service. Quando si esegue senza systemd, il timeout è controllato dal parametro udev.event_timeout;
  • Aggiunto il programma fido_id per udev, che identifica i token FIDO CTAP1
    (“U2F”)/CTAP2 in base ai dati relativi al loro utilizzo passato e visualizza le variabili di ambiente necessarie (il programma consente di fare a meno delle liste bianche esterne di tutti i token conosciuti utilizzati in precedenza);

  • Implementata la generazione automatica delle regole di sospensione automatica udev per i dispositivi dalla lista bianca importata da Chromium OS (la modifica consente di espandere l'uso delle modalità di risparmio energetico per dispositivi aggiuntivi);
  • Una nuova impostazione "CONST{key}=value" è stata aggiunta a udev per consentire la mappatura diretta dei valori delle costanti di sistema senza eseguire gestori di controlli separati. Attualmente sono supportate solo le chiavi "arch" e "virt";
  • Abilitato l'apertura del CDROM in modalità non esclusiva quando si esegue un'operazione di richiesta per le modalità supportate (la modifica risolve i problemi con i programmi che accedono al CDROM e riduce il rischio di interruzione dei programmi di scrittura su disco che non utilizzano la modalità di accesso esclusivo).

Fonte: opennet.ru

Aggiungi un commento