Ելնելով երեք ամիսների ծրագրավորումից, հասանելի է մենեջեր systemd 259: Հիմնական փոփոխությունները՝ Musl ստանդարտային գրադարանի աջակցությունը, «run0 —empower» հրահանգը՝ անցնում է արտոնյալ գործողությունների է, առանց UID-ի փոփոխման, դինամիկ загрузка երրորդ կողմի գրադարանների, որոնք պահանջվում են libsystemd-ում, կոդավորում է ֆայլերի կոնֆիգուրացիաները՝ դրանք անվան մեջ ավելացնելով «.ignore»:
Նկատի առնելով նոր թողարկման փոփոխությունները՝
- Musl ստանդարտային C գրադարանի մասնակի աջակցություն ավելացվեց, ներառելի է «musl» արժեքի սահմանմամբ «libc» տարբերակում Meson հավաքման համակարգում: Որովհետև Musl գրադարանը չի տրամադրում NSS ֆունկցիոնալություն, systemd-ի Musl-ով հավաքման ժամանակ հասանելի չեն nss-systemd, nss-resolve, systemd-homed, systemd-nsresourced, systemd-userdbd բաղադրիչները, ինչպես նաև DynamicUser պարամետրը և systemd-nspawn-ի իրավունք չունեցող գործարկումը: systemd-ի մշակողները դեռ չեն երաշխավորում, որ Musl-ի աջակցությունը կմնա ապագա թողարկումներում: Որոշումը կախված կլինի Musl-ի վերևում լրացուցիչ ֆունկցիոնալություն իրականացնելու ընդլայնման հաջողությունից, ինչպես նաև նախագծի պահանջներից և Musl-ի հատուկ սխալների մասին հաղորդումներից:
- run0 օգտակարության մեջ, որը մատուցվում է որպես sudo ծրագրի անվտանգ փոխարինում, որը գործում է systemd-run-ի վրա, ավելացվեց «—empower» տարբերակը, որը թույլ է տալիս գործարկել նոր նստավայր բարձրացված հանաձևներով, առանց root օգտագործողին անցնելու: privileges-ների փոխելը կազմակերպվում է capabilities-flag-ների միջով, ինչպիսիք են CAP_SYS_ADMIN, որոնք ի վիճակի են դիմելու մեծամասնությունը արտոնյալ համակարգային կոչերում: Գործարկվող գործընթացները նույնպես տեղադրվում են «empower» առանձին խմբում, որի մուտք է տրամադրվում Polkit-յան մեծ մասնակցություններին:
- Հաջորդ թողարկման մեջ решено է հեռացնել System V ֆորմատի ծառայությունների սկրիպտների աջակցությունը: Հեռացված են systemd-sysv-install, systemd-rc-local-generator և systemd-sysv-generator բաղադրիչներ: Հաջորդ թողարկման մեջ նախատեսված են նվազագույն տարբերակների պահանջների բարձրացումը՝ Linux միջուկ 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0, libxcrypt 4.4.0, util-linux 2.37, elfutils 0.177, cryptsetup 2.4.0, libseccomp 2.4.0:
- libsystemd-ի կախվածության կրճատման նախաձեռնության շրջանակներում իրականացվել է libacl, libblkid, libseccomp, libselinux, libmount գրադարանների դինամիկ загрузка, ամրագրելով dlopen() ֆունկցիայի միջոցով այն ժամանակ, երբ դրա ֆունկցիաները իսկապես անհրաժեշտ են: dlopen() միջոցով իրականացվում է Linux աուդիտային ենթակառուցքային և PAM-ի հետ աշխատանք: Ֆունկցիոնալությունը, որը նախկինում համարվել է libcap գրադարանի միջոցով, ներմուծված է libsystemd:
- systemd-resolved-ում ավելացված է տեղական հանձնարարվածների կցման հնարավորությունը, որը կանչվում է յուրաքանչյուր տեղական անունների լուծման հարցում: Հանձնարարվածները տեղադրված են /run/systemd/resolve.hook/ կատեգորում:
- Օգտագործողների տվյալների բազայում ավելացված է UUID դաշտ, իսկ userdbctl օգտակարությանը ավելացված է «—uuid» տարբերակը UUID-ի շուրջ որոնելու համար:
- Կոնֆիգուրացիայի ֆայլերի անվան երկարությունն ավարտվում է «.ignore», ignored է:
- Systemd-importd-ում իրականացել է встроенная логика работы с TAR-архивами, использующая libarchive вместо вызова утилиты GNU tar. Реализована возможность запуска systemd-machined и systemd-importd в привязке к пользователям, а не на системном уровне, с загрузкой системных образов в ~/local/state/machines/. Для выбора режима работы в утилиту importctl добавлены опции «—user» и «—system».
- Տվյալների ժուռնալի պահման ռեժիմը փոխվել է ‘auto’-ից ‘persistent’-ի (մինչև նեխած ռեժիմը կախված էր /var/log/journal/ каталога наличияից).
- Systemd-networkd եւ systemd-nspawn-ում դադարեցվել է адресների փոխարկման կանոնների (NAT) ստեղծման աջակցությունը через iptables/libiptc. Оставлена только поддержка nftables.
- Systemd-boot եւ systemd-stub-ում դադարեցվել է TPM 1.2-ի աջակցությունը (թողնել են TPM 2.0-ի աջակցությունը).
- Systemd-machined-ում по умолчанию обеспечено монтирование «скрытых» дисковых образов, имя которых начинается с точки, в режиме только для чтения.
- API на базе протокола Varlink-ը ընդլայնվել է, որն այժմ կարող է կիրառվել сервисների կարգավորումների մուտք գործելու համար. Реализованы IPC-вызовы Reload() и Reexecute(). Добавлены вызовы для доступа к функциональности и настройкам systemd-repart, systemd-resolved и systemd-networkd.
- Ավելացվել է ExecReloadPost կարգավորումը, որը թույլ է տալիս կազմակերպել հրամանների գործարկումը՝ ծառայության կարգավորումները վերագործարկելուց հետո.
- Ծառայությունների համար реализованы свойства OOMKills եւ ManagedOOMKills, содержащие число процессов, принудительно завершённых ядром или systemd-oomd из-за нехватки памяти.
- Թույլ են տրվում временных servicios-ի համար RootDirectoryFileDescriptor սեփականությունը, որը սահմանում է корневого каталога файловый дескриптор.
- Ավելացվել է UserNamespacePath կարգավորումը, որը թույլ է տալիս բաշխել unit-ը идентификаторов пользователей (user namespace)-ի միջոցով путем указания пути в псевдо-ФС /proc, по аналогии с настройками IPCNamespacePath եւ NetworkNamespacePath. В systemd-nspawn для указания сетевого пространства имёна в секция [Network] файлов .nspawn добавлена настройка NamespacePath.
- Systemd-sysext եւ systemd-confext-ում реализована поддержка отдельных файлов конфигурации /etc/systemd/systemd-sysext.conf եւ /etc/systemd/systemd-confext.conf. Ավելացվել է возможность использования переменной окружения SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS и $SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS для настройки параметров монтирования Overlayfs.
- Systemd-udevd-ում ավելացվել է OPTIONS=»dump-json» կարգավորումը, որը թույլ է տալիս вывести состояние текущего события в формате JSON. В функции net_id реализована генерация предсказуемых имён беспроводных сетевых интерфейсов на системах с DeviceTree. Обеспечена генерация символических ссылок /dev/gpio/by-id/... для устройств GPIO.
- «Homectl update» հրամանին ավելացվել է возможность использования опции «—recovery-key» для добавления запасных ключов к существующей учётной записи пользователя (ранее подобные ключи могли добавляться только во время создания пользователя).
- systemd-homed-ում ավելացվել են «—prompt-shell» և «—prompt-groups» տարբերակները, որոնք հնարավորություն են տալիս ինտերակտիվ կերպով ընտրել հրամանատուի պահպանություն և խմբերը առաջին բեռնման ընթացքում օգտագործելով systemd-homed-firstboot.service: նաև systemd-firstboot-ում ավելացվել է «—prompt-keymap-auto» տարբերակը՝ տեղակայման քարտի հարցման համար, երբ աշխատանքը կատարվում է տեղական կոնսոլում առաջին բեռնման ընթացքում:
- systemd-boot-ում ավելացվել է գրառման մակարդակի սահմանման հնարավորություն «log-level» պարամետրով loader.conf կամ SMBIOS դաշտում io.systemd.boot.loglevel:
- systemd-networkd-ում DHCP-server-ի համար ավելացվել են EmitDomain և Domain տարբերակները, ինչպես նաև պաշտոնական մշակում DNS ռեզոլվինգի միջոցով DHCP-ի միջոցով տրամադրվող համակարգչային անունների որոշման համար:
- systemd-run-ում ավելացվել է «—root-directory» տարբերակը, որը թույլ է տալիս ծառայությունը մեկնարկել նշված արմատային կատալոգում: systemd-run-ում և run0-ում ավելացվել է «—same-root-dir» («-R») տարբերակը` ծառայությունը գործարկել այն նույն արմատային կատալոգում, որտեղ մեկնարկում է:
- systemd-modules-load-ում ներդրվել է միջուկային մոդուլների բեռնման զուգահեռացում:
- systemd-integrity-setup-ում ավելացվել է HMAC-SHA256, PHMAC-SHA256 և PHMAC-SHA512 ալգորիթմների աջակցությունը:
Ընտանիք: opennet.ru
