По три месеци развој ослободување на системскиот менаџер .
Главни промени:
- Додадена е поддршка за контролорот на ресурсите на процесорот базиран на cgroups v2, кој обезбедува механизам за врзување процеси со одредени процесори (поставка „AllowedCPUs“) и NUMA мемориски јазли (поставка „AllowedMemoryNodes“);
- Додадена е поддршка за вчитување поставки од променливата SystemdOptions EFI за системска конфигурација, која ви овозможува да го приспособите однесувањето на системот во ситуации кога менувањето на опциите на командната линија на јадрото е проблематично и конфигурацијата од дискот се чита премногу доцна (на пример, кога треба да ги конфигурирате опциите поврзани со хиерархијата на cгрупата). За да поставите променлива во EFI, можете да ја користите командата 'bootctl systemd-efi-options';
- Додадена е поддршка за единиците за вчитување поставки од директориумите „{unit_type}.d/“ поврзани со типови единици (на пример, „service.d/“), кои може да се користат за додавање поставки што ги покриваат сите датотеки на единицата од даден тип на еднаш;
- За услужните единици, додаден е нов режим на изолација на песокот, ProtectKernelLogs, кој ви овозможува да го одбиете пристапот на програмата до баферот за евиденција на јадрото, достапен преку системскиот повик syslog (да не се меша со истоименото API дадено во libc). Ако режимот е активиран, пристапот на апликацијата до /proc/kmsg, /dev/kmsg и CAP_SYSLOG ќе биде блокиран;
- За единиците, предложена е поставка RestartKillSignal, која ви овозможува да го редефинирате бројот на сигналот што се користи за прекинување на процесот при рестартирање на задачата (можете да го промените однесувањето на запирање на процесот во фазата на подготовка за рестартирање);
- Командата „systemctl clean“ е адаптирана за употреба со единици за приклучок, монтирање и замена;
- Во раната фаза на вчитување, ограничувањата на интензитетот на излезот на пораките од јадрото преку повикот printk се оневозможени, што овозможува да се акумулираат поцелосни записи за напредокот на вчитувањето во фаза кога складиштето на дневникот сè уште не е поврзано (дневникот се акумулира во тампонот на прстенот на јадрото). Поставувањето ограничувања на printk од командната линија на јадрото има приоритет и ви овозможува да го надминете однесувањето на системот. Системските програми кои директно емитуваат дневници на /dev/kmsg (ова се прави само во почетокот на фазата на подигање) користат посебни внатрешни ограничувања за заштита од затнување на баферот;
- Командата 'stop --job-mode=triggering' е додадена во алатката systemctl, која ви овозможува да ја стопирате единицата наведена на командната линија и сите единици што можат да ја повикаат;
- Информациите за состојбата на единицата сега вклучуваат информации за повикувачките и повиканите единици;
- Можно е да се користи поставката „RuntimeMaxSec“ во единиците за опфат (претходно се користеше само во сервисни единици). На пример, „RuntimeMaxSec“ сега може да се користи за да се ограничи времето на PAM сесиите преку создавање единица за опсег
за корисничка сметка. Временското ограничување може да се постави и преку опцијата systemd.runtime_max_sec во параметрите на pam_systemd PAM модулот; - Додадена е нова група системски повици „@pkey“, кога се ограничуваат контејнерите и услугите, што го олеснува ставањето на белата листа на системски повици поврзани со заштита на меморијата;
- Додадено е знаменце „w+“ во systemd-tmpfiles за пишување во режим на додавање датотека;
- Додадена е информација за systemd-analize излезот за тоа дали конфигурацијата на меморијата на јадрото се совпаѓа со системските поставки (на пример, ако некоја програма од трета страна ги променила параметрите на кернелот);
- Опцијата „--base-time“ е додадена во systemd-analyze, кога е наведено, податоците од календарот се пресметуваат во однос на времето наведено во оваа опција, а не во однос на тековното време на системот;
- „journalctl — ажурирање-каталог“ обезбедува конзистентност во низата на елементи во излезот (корисно за организирање на повторливи изданија);
- Додадена е можност за одредување стандардна вредност за поставката „WatchdogSec“ што се користи во системските услуги. Во времето на компајлирање, основната вредност може да се одреди преку опцијата „-Dservice-watchdog“ (ако е поставено на празно, Watchdog ќе биде оневозможено);
- Додадена е опција за изградба „-Duser-path“ за да се отфрли вредноста на $PATH;
- Додадена е опцијата „-u“ („--uuid“) на systemd-id128 за излез на 128-битни идентификатори во UUID (канонско претставување на UUID);
- Изградбата сега бара најмалку libcryptsetup верзија 2.0.1.
Промени поврзани со мрежните поставки:
- Systemd-networkd додаде поддршка за повторно конфигурирање на врска во лет, за што командите „reload“ и „reconfigure DEVICE...“ се додадени на networkctl за повторно вчитување на поставките и повторно конфигурирање на уредите;
- systemd-networkd престана да создава стандардни рути за локални IPv4 врски со интранет адреси 169.254.0.0/16 (). Претходно, автоматското креирање стандардни рути за такви врски резултираше со неочекувано однесување и проблеми со рутирањето во некои случаи. За да го вратите старото однесување, користете ја поставката „DefaultRouteOnDevice=yes“. Слично на тоа, доделувањето на локални IPv6 адреси се прекинува ако локалното рутирање на IPv6 не е овозможено за врската;
- Во systemd-networkd, кога се поврзувате со безжични мрежи во ад-хок режим, стандардната конфигурација се имплементира со линк-локално адресирање (link-local);
- Додадени параметри RxBufferSiz и TxBufferSize за конфигурирање на големината на баферите за примање и испраќање на мрежниот интерфејс;
- systemd-networkd имплементира рекламирање на дополнителни IPv6 рути, регулирани преку опциите Route и LifetimeSec во делот „[IPv6RoutePrefix]“;
- systemd-networkd ја додаде можноста за конфигурирање на маршрутите „следниот хоп“ користејќи ги опциите „Gateway“ и „Id“ во делот „[NextHop]“;
- systemd-networkd и networkctl за DHCP обезбедуваат ажурирање на IP-адресите (закупнини), имплементирани од командата „networkctl renew“ на пат;
- systemd-networkd осигурува дека конфигурацијата на DHCP се ресетира при рестартирање (користете ја опцијата KeepConfiguration за да ги зачувате поставките). Стандардната вредност на поставката SendRelease е променета во „true“;
- Клиентот DHCPv4 гарантира дека се користи вредноста на опцијата OPTION_INFORMATION_REFRESH_TIME испратена од серверот. За да побарате одредени опции од серверот, се предлага параметарот „RequestOptions“, а за испраќање опции до серверот - „SendOption“. За да го конфигурирате типот на IP услуга од клиентот DHCP, додаден е параметарот „IPServiceType“;
- За да се замени списокот на сервери SIP (протокол за иницирање сесија) за серверите DHCPv4, додадени се параметрите „EmitSIP“ и „SIP“. На страната на клиентот, примањето SIP параметри од серверот може да се овозможи со помош на поставката „UseSIP=yes“;
- Додаден е параметарот „PrefixDelegationHint“ на клиентот DHCPv6 за да се побара префикс за адреса;
- .network датотеките обезбедуваат поддршка за мапирање на безжични мрежи со SSID и BSSID, на пример за поврзување со име на пристапна точка и MAC адреса. Вредностите SSID и BSSID се прикажани на излезот networkctl за безжични интерфејси. Дополнително, додадена е способност за споредување по тип на безжична мрежа (параметар WLANInterfaceType);
- systemd-networkd ја додаде можноста за конфигурирање на дисциплини во редица за контрола на сообраќајот користејќи нови параметри на родител,
NetworkEmulatorDelaySec, NetworkEmulatorDelayJitterSec,
NetworkEmulatorPacketLimit и NetworkEmulatorLossRate,
NetworkEmulatorDuplicateRate во делот „[TrafficControlQueueingDiscipline]“; - systemd-resolved обезбедува верификација на IP адресите во сертификатите при градење со GnuTLS.
промени поврзани со udev:
- Systemd-udevd го отстрани тајмаутот од 30 секунди за да ги принуди заглавените ракувачи да прекинат. Systemd-udevd сега чека за комплетирање на управувачите за кои 30 секунди не беа доволни за да се завршат операциите нормално во големите инсталации (на пример, истек на време може да ја прекине иницијализацијата на двигателот за време на процесот на префрлување на монтираната партиција за root датотечен систем). Кога користите systemd, времето на истекот што systemd-udevd ќе го чека пред да излезе може да се постави преку поставката TimeoutStopSec во systemd-udevd.service. Кога работи без systemd, истекувањето на времето се контролира со параметарот udev.event_timeout;
- Додадена е програма fido_id за udev, која ги идентификува токените FIDO CTAP1
(„U2F“)/CTAP2 врз основа на податоци за нивната мината употреба и ги прикажува потребните променливи на околината (програмата ви овозможува да правите без надворешни бели списоци на сите познати токени што биле користени претходно); - Спроведено автоматско генерирање на правила за автоматско суспендирање на udev за уреди од белата листа увезени од Chromium OS (промената ви овозможува да ја проширите употребата на режими за заштеда на енергија за дополнителни уреди);
- Додадена е нова поставка „CONST{key}=value“ во udev за да се овозможи директно пресликување на константни вредности на системот без да се извршуваат одделни ракувачи за проверки. Во моментов се поддржани само копчињата „arch“ и „virt“;
- Овозможено отворање на CDROM-от во не-ексклузивен режим при извршување на операција за барање за поддржани режими (промената ги решава проблемите со програмите што пристапуваат до CDROM-от и го намалува ризикот од прекин на програмите за пишување диск што не користат ексклузивен режим на пристап).
Извор: opennet.ru
