ผู้จัดการระบบ systemd รีลีส 253

หลังจากการพัฒนาเป็นเวลาสามเดือนครึ่ง ก็มีการนำเสนอการเปิดตัว system manager systemd 253

ท่ามกลางการเปลี่ยนแปลงในรุ่นใหม่:

  • แพคเกจประกอบด้วยยูทิลิตี้ 'ukify' ที่ออกแบบมาเพื่อสร้าง ตรวจสอบ และสร้างลายเซ็นสำหรับอิมเมจเคอร์เนลแบบรวม (UKI, Unified Kernel Image) รวมตัวจัดการสำหรับการโหลดเคอร์เนลจาก UEFI (UEFI boot stub) อิมเมจเคอร์เนล Linux และ สภาพแวดล้อมระบบที่โหลดลงในหน่วยความจำ initrd ซึ่งใช้สำหรับการเริ่มต้นในขั้นตอนก่อนที่จะติดตั้งระบบไฟล์รูท ยูทิลิตี้นี้จะแทนที่ฟังก์ชันการทำงานที่คำสั่ง 'dracut -uefi' ระบุไว้ก่อนหน้านี้ และเสริมด้วยความสามารถในการคำนวณออฟเซ็ตในไฟล์ PE โดยอัตโนมัติ การรวม initrds การเซ็นชื่ออิมเมจเคอร์เนลที่ฝังไว้ การสร้างอิมเมจรวมด้วย sbsign การวิเคราะห์พฤติกรรมเพื่อกำหนดเคอร์เนล uname การตรวจสอบ รูปภาพพร้อมหน้าจอเริ่มต้นและเพิ่มนโยบาย PCR ที่ลงนามซึ่งสร้างโดยยูทิลิตี้ systemd-measure
  • เพิ่มการรองรับสภาพแวดล้อมเริ่มต้นซึ่งไม่ถูกจำกัดด้วยตำแหน่งหน่วยความจำ ซึ่งใช้ overlayfs แทน tmpfs สำหรับสภาพแวดล้อมดังกล่าว systemd จะไม่ลบไฟล์ทั้งหมดใน initrd หลังจากสลับระบบไฟล์รูท
  • เพิ่มพารามิเตอร์ "OpenFile" ในบริการสำหรับการเปิดไฟล์ที่กำหนดเองในระบบไฟล์ (หรือเชื่อมต่อกับซ็อกเก็ต Unix) และส่งต่อตัวอธิบายไฟล์ที่เกี่ยวข้องไปยังกระบวนการที่เปิดใช้งาน (เช่น เมื่อคุณต้องการจัดระเบียบการเข้าถึงไฟล์สำหรับ บริการที่ไม่มีสิทธิพิเศษโดยไม่ต้องเปลี่ยนสิทธิ์การเข้าถึงไฟล์)
  • ใน systemd-cryptenroll เมื่อลงทะเบียนคีย์ใหม่ เป็นไปได้ที่จะปลดล็อกพาร์ติชันที่เข้ารหัสโดยใช้โทเค็น FIDO2 (--unlock-fido2-device) โดยไม่ต้องใช้รหัสผ่าน รหัส PIN ที่ผู้ใช้ระบุจะถูกจัดเก็บไว้พร้อมกับเกลือเพื่อทำให้การตรวจจับแบบ Brute Force มีความซับซ้อน
  • เพิ่มการตั้งค่า ReloadLimitIntervalSec และ ReloadLimitBurst รวมถึงตัวเลือกบรรทัดคำสั่งเคอร์เนล (systemd.reload_limit_interval_sec และ /systemd.reload_limit_burst) เพื่อจำกัดความเข้มของการรีสตาร์ทกระบวนการในเบื้องหลัง
  • สำหรับหน่วยต่างๆ มีการใช้ตัวเลือก “MemoryZSwapMax” เพื่อกำหนดค่าคุณสมบัติ memory.zswap.max ซึ่งจะกำหนดขนาด zswap สูงสุด
  • สำหรับหน่วยต่างๆ มีการใช้ตัวเลือก “LogFilterPatterns” ซึ่งช่วยให้คุณสามารถตั้งค่านิพจน์ทั่วไปเพื่อกรองข้อมูลที่ส่งออกไปยังบันทึก (สามารถใช้เพื่อแยกเอาต์พุตบางอย่างหรือบันทึกเฉพาะข้อมูลบางอย่างเท่านั้น)
  • ขณะนี้หน่วยขอบเขตสนับสนุนการตั้งค่า "OOMPolicy" เพื่อกำหนดลักษณะการทำงานเมื่อพยายามจองล่วงหน้าเมื่อหน่วยความจำเหลือน้อย (เซสชันการเข้าสู่ระบบถูกตั้งค่าเป็น OOMPolicy=ดำเนินการต่อ เพื่อให้ OOM Killer ไม่บังคับยุติการทำงาน)
  • มีการกำหนดประเภทบริการใหม่ - “Type=notify-reload” ซึ่งขยายประเภท “Type=notify” ด้วยความสามารถในการรอให้สัญญาณรีสตาร์ทเพื่อประมวลผลให้เสร็จสิ้น (SIGHUP) บริการ systemd-networkd.service, systemd-udevd.service และ systemd-logind ได้ถูกถ่ายโอนไปยังประเภทใหม่แล้ว
  • udev ใช้รูปแบบการตั้งชื่อใหม่สำหรับอุปกรณ์เครือข่าย ความแตกต่างคือสำหรับอุปกรณ์ USB ที่ไม่ได้เชื่อมโยงกับบัส PCI ขณะนี้ ID_NET_NAME_PATH ได้รับการตั้งค่าเพื่อให้แน่ใจว่าชื่อสามารถคาดเดาได้มากขึ้น ตัวดำเนินการ '-=' ถูกนำมาใช้กับตัวแปร SYMLINK โดยปล่อยให้ลิงก์สัญลักษณ์ไม่ได้รับการกำหนดค่า หากมีการกำหนดกฎสำหรับการเพิ่มไว้ก่อนหน้านี้
  • ใน systemd-boot การส่งเมล็ดพันธุ์สำหรับตัวสร้างตัวเลขสุ่มหลอกในเคอร์เนลและสำหรับแบ็กเอนด์ดิสก์ได้รับการแก้ไขใหม่ เพิ่มการรองรับสำหรับการโหลดเคอร์เนลไม่เพียงแต่จาก ESP (พาร์ติชันระบบ EFI) เช่น จากเฟิร์มแวร์หรือจาก QEMU โดยตรง มีการแยกวิเคราะห์พารามิเตอร์ SMBIOS เพื่อกำหนดการเริ่มทำงานในสภาพแวดล้อมการจำลองเสมือน มีการนำโหมด 'if-safe' ใหม่มาใช้ซึ่งมีการโหลดใบรับรองสำหรับ UEFI Secure Boot จาก ESP เฉพาะเมื่อถือว่าปลอดภัย (ทำงานในเครื่องเสมือน)
  • ยูทิลิตี้ bootctl ใช้งานการสร้างโทเค็นระบบบนระบบ EFI ทั้งหมด ยกเว้นสภาพแวดล้อมการจำลองเสมือน เพิ่มคำสั่ง 'kernel-identify' และ 'kernel-inspect' เพื่อแสดงประเภทอิมเมจเคอร์เนลและข้อมูลเกี่ยวกับตัวเลือกบรรทัดคำสั่งและเวอร์ชันเคอร์เนล 'unlink' เพื่อลบไฟล์ที่เกี่ยวข้องกับบันทึกการบูตประเภทแรก 'cleanup' เพื่อลบทั้งหมด จากไดเร็กทอรี "entry-token" ใน ESP และ XBOOTLDR ซึ่งไม่เกี่ยวข้องกับรายการบูตประเภทแรก มีการประมวลผลตัวแปร KERNEL_INSTALL_CONF_ROOT แล้ว
  • คำสั่ง 'systemctl list-dependencies' รองรับการประมวลผลตัวเลือก '--type' และ '--state' และคำสั่ง 'systemctl kexec' เพิ่มการรองรับสภาพแวดล้อมตาม Xen hypervisor
  • ในไฟล์ .network ในส่วน [DHCPv4] ขณะนี้มีการเพิ่มตัวเลือกการรองรับ SocketPriority และ QuickAck, RouteMetric=high|medium|low แล้ว
  • Systemd-repart เพิ่มตัวเลือก "--include-partitions", "--exclude-partitions" และ "--defer-partitions" เพื่อกรองพาร์ติชั่นตามประเภท UUID ซึ่งตัวอย่างเช่นช่วยให้คุณสร้างอิมเมจที่มีพาร์ติชั่นหนึ่งอยู่ สร้างขึ้นตามเนื้อหาของพาร์ติชันอื่น เพิ่มตัวเลือก "--sector-size" เพื่อระบุขนาดของเซกเตอร์ที่ใช้เมื่อสร้างพาร์ติชัน เพิ่มการรองรับสำหรับการสร้างไฟล์ erofs การตั้งค่าย่อเล็กสุดจะใช้การประมวลผลค่า "ดีที่สุด" เพื่อเลือกขนาดภาพต่ำสุดที่เป็นไปได้
  • systemd-journal-remote อนุญาตให้ใช้การตั้งค่า MaxUse, KeepFree, MaxFileSize และ MaxFiles เพื่อจำกัดการใช้พื้นที่ดิสก์
  • systemd-cryptsetup เพิ่มการรองรับสำหรับการส่งคำขอเชิงรุกไปยังโทเค็น FIDO2 เพื่อตรวจสอบว่ามีอยู่ก่อนการตรวจสอบสิทธิ์
  • มีการเพิ่มพารามิเตอร์ใหม่ tpm2-measure-bank และ tpm2-measure-pcr ใน crypttab
  • systemd-gpt-auto-generator ใช้การติดตั้งพาร์ติชัน ESP และ XBOOTLDR ในโหมด "noexec, nosuid, nodev" และยังเพิ่มการบัญชีสำหรับพารามิเตอร์ rootfstype และ rootflags ที่ส่งผ่านบรรทัดคำสั่งเคอร์เนล
  • systemd-resolved ให้ความสามารถในการกำหนดค่าพารามิเตอร์ตัวแก้ไขโดยการระบุตัวเลือกเนมเซิร์ฟเวอร์ โดเมน network.dns และ network.search_domains บนบรรทัดคำสั่งเคอร์เนล
  • ขณะนี้คำสั่ง “systemd-analyze plot” มีความสามารถในการส่งออกในรูปแบบ JSON เมื่อระบุแฟล็ก “-json” เพิ่มตัวเลือกใหม่ “--table” และ “-no-legend” ให้กับเอาต์พุตควบคุมแล้ว
  • ในปี 2023 เราวางแผนที่จะยุติการสนับสนุน cgroups v1 และการแบ่งลำดับชั้นไดเรกทอรี (โดยที่ /usr ติดตั้งแยกต่างหากจากรูท หรือ /bin และ /usr/bin, /lib และ /usr/lib ถูกแยกออกจากกัน)

ที่มา: opennet.ru

เพิ่มความคิดเห็น