Зургаан сарын турш хөгжүүлсний дараа systemd 257 системийн менежерийн хувилбарыг танилцуулав: шинэ хэрэгслүүд systemd-sbsign болон systemd-keyutil, залгуур дээр идэвхжсэн үед MPTCP-ийн дэмжлэг, Musl C номын сангаар бүтээх анхны дэмжлэг. systemd-sysupdate-ээр дамжуулан шинэчлэлтүүдийг суулгахыг удирдах updatectl хэрэгсэл, тусдаа PID нэрийн талбарт үйлчилгээг эхлүүлэх чадвар, "systemd-tmpfiles - цэвэрлэх" -ийг ашиглах үед файлуудыг санамсаргүйгээр устгахаас хамгаалах хэрэгсэл.
Шинэ хувилбарт гарсан өөрчлөлтүүдийн дунд:
- EFI Secure Boot горимд ачаалах үед ашиглах зориулалттай PE (Portable Executable) форматтай дижитал гарын үсэг зурах боломжтой системд шинэ хэрэгсэл болох systemd-sbsign нэмэгдсэн. Гарын үсэг үүсгэхийн тулд OpenSSL номын сангаас өгсөн хөдөлгүүр болон үйлчилгээ үзүүлэгчдийг ашиглаж болно. Systemd-sbsign нь UEFI ачаалах бүдүүвч, Линуксийн цөмийн дүрс болон initrd системийн орчныг нэг файлд нэгтгэсэн UKI (Нэгдмэл цөмийн зураг) бүх нийтийн цөмийн зургийг үүсгэх үед ukify хэрэглүүрийн sbsigntool болон pesign програмын хувилбар болгон ашиглаж болно. санах ойд ачаалагдсан.
- Хувийн түлхүүрүүд болон X.509 сертификатууд дээр янз бүрийн үйлдлүүдийг хэрэгжүүлдэг systemd-keyutil хэмээх шинэ хэрэгсэл нэмэгдсэн. Жишээлбэл, systemd-keyutil-ийг ашиглан хувийн түлхүүр, гэрчилгээг ачаалж, PEM форматаар нийтийн түлхүүрийг гаргаж авах боломжтой.
- Сокет идэвхжүүлэх механизмын ажиллагааг хангахад ашигладаг ".socket" төхөөрөмжүүдэд (сүлжээний холболт тогтоохыг оролдох үед процессуудыг эхлүүлэх) MPTCP (Multipath TCP)-д дэмжлэг үзүүлдэг бөгөөд энэ нь өөр өөр сүлжээний интерфэйсүүдээр дамжуулан хэд хэдэн маршрутын дагуу пакетуудыг нэгэн зэрэг хүргэх TCP холболтын ажиллагааг зохион байгуулах TCP протоколын өргөтгөл юм. IP хаягууд.
- Стандарт Musl C номын санг ашиглан бүтээхэд шаардлагатай өөрчлөлтүүдийг багтаасан болно.
- Явцын үзүүлэлтүүдийг харуулдаг системийн төрөл бүрийн бүрэлдэхүүн хэсгүүд (жишээ нь systemd-repart, systemd-sysupdate/updatectl болон importctl) нь ахиц дэвшлийг харуулахын тулд ANSI дарааллыг ашиглах боломжийг нэмсэн. Ийм дарааллыг одоогоор зөвхөн Windows Terminal дээр дэмждэг (цаг хугацаа өнгөрөхөд энэ функц Линуксийн терминал эмулятор руу шилжих төлөвтэй байна).
- Systemd-sysupdate бүрэлдэхүүн хэсгийн чадавхийг өргөтгөж, хуваалт, файл, санг солих атомын механизм ашиглан шинэчлэлтүүдийг автоматаар илрүүлэх, татаж авах, суулгахад ашигласан (хоёр бие даасан хуваалт/файл/санд ашиглагдаж байгаа бөгөөд тэдгээрийн нэг нь одоогийн ажиллаж байгаа файлуудыг агуулдаг. нөөц, нөгөө нь дараагийнх) шинэчлэлтийг суулгаж, дараа нь хэсэг/файл/санлуудыг солино). Практикт systemd-sysupdate нь GNOME үйлдлийн системд аль хэдийн ашиглагдаж байна.
Systemd-sysupdate процессоос гадна D-Bus-ийг эрхгүй хэрэглэгч системийн шинэчлэлтийг удирдахад ашиглах боломжийг олгодог ижил нэртэй үйлчилгээг нэмсэн. Үйлчилгээг удирдахын тулд шинэ updatectl хэрэгслийг мөн оруулсан болно. Мета өгөгдлийг сүлжээгээр татаж авахыг идэвхгүй болгохын тулд systemd-sysupdate-д "--offline" гэсэн тэмдэглэгээг нэмсэн бөгөөд зөвхөн дотоод системд аль хэдийн татагдсан хувилбаруудыг ашиглана. Бүх командын хувьд JSON форматаар гаралтын дэмжлэг нэмсэн.
- Үйлчилгээнд зориулж "PrivatePIDs" шинэ өмч хэрэгжсэн бөгөөд үүний тусламжтайгаар та PID 1 (init процесс) бүхий процессуудыг тусдаа процесс танигчийн орон зайд (PID нэрийн орон зай) эхлүүлэх ажлыг зохион байгуулж болно. Эхлүүлсэн процесст зориулж үүсгэсэн орчинд зөвхөн түүнд зориулан үүсгэсэн нэрийн талбараас процессууд харагдах болно.
- Үдэв дүрэмд том жижиг үсэг үл тоомсорлон тохирох дэмжлэгийг нэмсэн (жишээ нь: 'ATTR{foo}==i»abcd»'). udev-ийг ашигласнаар libcamera-ээр дамжуулан IPMI камертай ажиллахад шаардлагатай /dev/udmabuf төхөөрөмжид нэвтрэх эрхгүй орон нутгийн хэрэглэгчдэд (“uaccess”) олгох боломжтой. udev нь USB интерфэйс бүхий төрөл бүрийн техник хангамжийн крипто түрийвчийг таних, тэдэнд ID_HARDWARE_WALLET шинж чанарыг тохируулах боломжийг олгодог бөгөөд энэ нь танд "uaccess" горимыг ашиглах боломжийг олгодог.
- RELEASE_TYPE, EXPERIMENT болон EXPERIMENT_URL шинэ талбарууд /etc/os-release файлд нэмэгдсэн. "RELEASE_TYPE" нь "туршилтын", "хөгжлийн", "тогтвортой" болон "lts" утгуудыг авч тогтвортой хувилбаруудыг хөгжүүлэлт болон туршилтын бүтээцээс салгаж болно. EXPERIMENT болон EXPERIMENT_URL параметрүүд нь туршилтын бүтцийн мөн чанарыг тайлбарлах зорилготой.
- Sudo програмыг орлохоор боловсруулсан run0 хэрэгсэл нь "--shell-prompt-prefix" сонголтыг нэмсэн бөгөөд энэ нь тушаалын бүрхүүлийн мөрийн угтвар мөрийг тодорхойлдог. Өгөгдсөн сессийг нүдээр харуулахын тулд "🦸" эможийг анхдагчаар угтвар болгон харуулдаг.
- systemd-tmpfiles-д буруу файлуудыг санамсаргүйгээр устгахаас зайлсхийхийн тулд "--purge" сонголт нь одоо зөвхөн "$" тугийг тодорхой тохируулсан tmpfiles.d/ доторх тохиргоонд хэрэгжинэ. "--purge" үйлдэл нь одоо tmpfiles.d/ лавлахаас ядаж нэг файлыг зааж өгөхийг шаарддаг. 'L' төрлийн тэмдэгт мөрүүдийн хувьд '?' туг нэмсэн бөгөөд заасан тохиолдолд зөвхөн зорилтот файл байгаа тохиолдолд бэлгэдлийн холбоос үүснэ.
- Үйлчилгээний менежер болон холбогдох хэрэгслүүдэд процессын хяналтын кодыг PID-ийн оронд PIDFD ашиглахаар хөрвүүлсээр байна. PIDFD нь тодорхой процесстой холбоотой бөгөөд өөрчлөгддөггүй, харин PID нь тухайн PID-тэй холбоотой одоогийн процесс дууссаны дараа өөр процесстой холбогдож болно.
- Үйлчилгээний хувьд одоо "RestartMode" параметрт "дибаг" утгыг зааж өгөх боломжтой болсон бөгөөд энэ нь алдаатай үйлчилгээг дибаг хийх горимыг идэвхжүүлсэн үед дахин эхлүүлэх (DEBUG_INVOCATION=1 орчны хувьсагчийг тохируулсан) бөгөөд LogLevelMax утга нь дибаг хийх түвшинд түр хугацаагаар нэмэгдүүлсэн.
- PID 1 зохицуулагч нь IPE (Integrity Policy Enforcement) LSM модулийн дүрмийг ачаалах чадвартай бөгөөд энэ нь бүхэл системийн бүрэн бүтэн байдлын бодлогыг тодорхойлдог (ямар үйлдлүүдийг зөвшөөрдөг, бүрэлдэхүүн хэсгүүдийн жинхэнэ эсэхийг хэрхэн шалгах ёстой).
- ".Timer" нэгжийн файлуудад "Дахин идэвхжүүлэх" сонголтыг нэмсэн бөгөөд энэ нь сүүлийн идэвхжүүлснээс хойш үйлчилгээ хараахан ажиллаж дуусаагүй бол дараагийн таймер идэвхжүүлэлтийг алгасах боломжийг олгодог.
- PrivateUsers нэгж файлын параметрт хэрэглэгчийн нэрийн орон зайг үүсгэх үед хэрэглэгчийн ID-н зураглалыг идэвхжүүлэхийн тулд "identity" утгыг зааж өгөх боломжтой болсон.
- PrivateTmp нэгж файлын параметрт "салгасан" утгын дэмжлэгийг нэмсэн бөгөөд энэ нь /tmp/ болон /var/tmp/ лавлахуудад тусдаа tmpfs жишээг ашиглах болно.
- ProtectControlGroups нэгжийн файлын параметрт шинэ "хувийн" болон "хатуу" горимуудын дэмжлэгийг нэмсэн бөгөөд тохируулсны дараа үйлчилгээнд шинэ бүлгийн нэрийн орон зай үүсч, cgroupf-г суулгана. "Хатуу" сонголтыг хийх үед cgroupfs нь зөвхөн унших горимд суурилагдсан.
- StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory болон ConfigurationDirectory параметрүүд нь зөвхөн унших горимд харгалзах сангууд руу хандах хандалтыг хязгаарлахын тулд ':ro' тугийг ашиглах боломжийг олгодог.
- "Systemd.machine_id" цөмийн командын мөрийн параметрт "програм хангамж"-ын утгын дэмжлэгийг нэмсэн бөгөөд үүнд системийн танигч (машины ID) нь SMBIOS/DeviceTree-ийн UUID дээр үндэслэн тооцогдоно.
- Сүүлийн үеийн Линуксийн цөмийн хувилбаруудад гарсан mseal(), listmount() болон statmount() системийн дуудлагын дэмжлэгийг нэмсэн.
- Resolctl, timedatectl болон systemd-inhibit хэрэгслүүд нь Polkit ашиглан интерактив зөвшөөрлийг дэмждэг.
- Systemctl хэрэгсэл нь "дахин идэвхжүүлэх" командын "--now" тугийг ашиглах боломжийг нэмсэн.
- JSON форматаар гаргахын тулд systemd-mount хэрэгсэлд "--json" сонголтыг нэмсэн (жишээ нь, "--list-devices"-ийн хамт заасан үед төхөөрөмжүүдийн жагсаалтыг JSON форматаар гаргах болно).
- Гаралтын үед урт шугамыг тайрахыг идэвхгүй болгохын тулд "localectl" хэрэгсэлд "-l" ба "--full" сонголтуудыг нэмсэн.
- HibernateOnACPower сонголтыг sleep.conf-д нэмсэн бөгөөд энэ нь төхөөрөмжийг суурин тэжээлийн эх үүсвэрээс салгах хүртэл унтах горимд шилжихийг хойшлуулах боломжийг олгодог.
- Systemd-sysusers-д "!"-ийн өөрчлөлтийн дэмжлэгийг "u" мөрөнд нэмсэн бөгөөд үүний тусламжтайгаар та бүрэн түгжигдсэн хэрэглэгчийн бүртгэлийг үүсгэж болно (өмнө нь буруу нууц үгийг хэрэглэгчийг блоклоход ашигладаг байсан, жишээ нь: SSH дахь түлхүүр баталгаажуулалтын үед блоклоход хүргээгүй).
- Systemd-coredump нь "EnterNamespace" сонголтыг нэмдэг бөгөөд энэ нь аливаа эвдэрсэн процессуудын холболтын цэгийн зайд хандаж, дибаг хийх тэмдэглэгээг авах боломжийг олгодог. Практикт энэ сонголт нь тусгаарлагдсан контейнерт ажиллаж байгаа програмуудын үндсэн файлуудын буцаалтыг зохион байгуулахад ашигтай байж болно.
- systemd-logind нь Ctrl-Alt-Shift-Esc хослолыг боловсруулан org.freedesktop.login1.SecureAttentionKey дохиог хэрэглэгчийн орчны бүрэлдэхүүн хэсгүүдэд аюулгүй нэвтрэх харилцах цонхыг харуулах хүсэлтээр илгээдэг. Тогтоосон хугацаанд дуусгах ажлыг автоматаар төлөвлөхийн тулд "Захиалгат засвар үйлчилгээний цаг" тохиргоог хэрэгжүүлсэн. DRM болон evdev төхөөрөмжүүдийн дэмжлэгтэй ижил төстэй байдлаар давуу эрхгүй хэрэглэгчдийн hidraw төхөөрөмж (тоглоомын хянагч ба joystick) руу хандах хандалтыг тохируулах дэмжлэг нэмэгдсэн.
- systemd-machined нь одоо давуу эрхгүй клиентийн нэвтрэлтийг дэмждэг болсон. виртуал машинууд болон контейнерууд. Systemd-машинжуулсан функцэд хандах хандалтыг D-Bus-ээс гадна Varlink API-аар дамжуулан олгодог.
- Networkd.conf тохиргооны файлд IPv6 хаягийн шошго болон угтварыг тохируулахын тулд “[IPv6AddressLabel]” шинэ хэсгийг нэмсэн.
- Стандарт урсгалаас файлын агуулгыг авахын тулд "networkctl edit" команд дээр "--stdin" сонголтыг нэмсэн. 'networkctl edit' болон 'networkctl cat' командуудад сүлжээний интерфэйсийг зааж өгөх замаар .netdev файлуудыг засварлах, харуулах дэмжлэг нэмэгдсэн. Интерактив зөвшөөрлийг идэвхгүй болгохын тулд "--no-ask-password" сонголтыг нэмсэн.
- ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart, systemd-sbsign хэрэгслүүдэд "--certificate-source" сонголтыг нэмсэн бөгөөд X.509 сертификатыг OpenSSL үйлчилгээ үзүүлэгчээс шууд ачаалахын оронд ачаалах боломжтой болсон. файл.
- systemd-boot нь дууны түвшний товчлууруудыг ашиглан ачаалах цэсээр дээш доош шилжих боломжийг нэмдэг бөгөөд энэ нь ухаалаг гар утас гэх мэт төхөөрөмжүүдэд хэрэг болно. systemd-boot-д зориулсан ESL(db/dbx/…) форматаар UEFI Secure Boot мэдээллийн санг суулгах дэмжлэг bootctl хэрэгсэлд нэмэгдсэн.
- Journalctl-д нэгж дуудлагын жагсаалтыг харуулах "--list-invocation" сонголтыг, зөвхөн тодорхой дуудлагатай холбоотой бүртгэлийг харуулах "--invocation" сонголтыг ("-I") нэмсэн.
- systemd-nspawn нь FUSE (хэрэглэгчийн орон зай дахь файлын систем)-ийг чингэлэгт давуу эрхгүйгээр ашиглах дэмжлэгийг нэмдэг. "--bind-user" сонголтыг ашиглах үед SSH-ээр нэвтрэхэд шаардлагатай хэрэглэгчийн SSH түлхүүрүүдийг контейнер руу дамжуулдаг.
- libsystemd нь JSON форматыг ашигладаг "sd-json" програмчлалын шинэ интерфейс, мөн IPC Varlink ашигладаг "sd-varlink" интерфэйсийг нэмсэн.
- Зөвлөмж болгож буй үндсэн цөмийн хувилбарыг 5.4 онд бий болсон 2019 хувилбар болгон сайжруулсан. Ирэх жил тэд хуучин цөмүүдийг дэмжихээ зогсоож, 5.4 хувилбарыг хамгийн бага дэмжигдсэн үндсэн хувилбар гэж тэмдэглэхээр төлөвлөж байна.
- Cgroups v1-ийн дэмжлэгийг хуучирсан бөгөөд анхдагчаар идэвхгүй болгосон (үүнийг идэвхжүүлэхийн тулд та системийн тохиргоонд идэвхжүүлэхээс гадна цөмийн тушаалын мөрөнд SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 гэж зааж өгөх ёстой). Systemd 258-ийн дараагийн хувилбар нь cgroups v1 холбоотой кодыг бүрэн устгахаар төлөвлөж байна. Systemd хувилбар 258 нь System V үйлчилгээний скриптүүдийн дэмжлэгийг устгахаар төлөвлөж байна.
Эх сурвалж: opennet.ru
