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

[:รุ]

หลังจากพัฒนาไปได้สองเดือน นำเสนอ การเปิดตัวผู้จัดการระบบ systemd 242. ในบรรดานวัตกรรมต่างๆ เราสามารถสังเกตการสนับสนุนอุโมงค์ L2TP ความสามารถในการควบคุมพฤติกรรมของการเข้าสู่ระบบ systemd เมื่อรีสตาร์ทผ่านตัวแปรสภาพแวดล้อม การสนับสนุนพาร์ติชันสำหรับบูต XBOOTLDR แบบขยายสำหรับการติดตั้ง /บูต ความสามารถในการบูตด้วยพาร์ติชันรากในโอเวอร์เลย์ fs รวมถึงการตั้งค่าใหม่จำนวนมากสำหรับยูนิตประเภทต่างๆ

การเปลี่ยนแปลงที่สำคัญ:

  • systemd-networkd ให้การสนับสนุนอุโมงค์ L2TP;
  • sd-boot และ bootctl ให้การสนับสนุนพาร์ติชัน XBOOTLDR (Extensed Boot Loader) ที่ออกแบบมาเพื่อติดตั้งบน /boot นอกเหนือจากพาร์ติชัน ESP ที่ติดตั้งบน /efi หรือ /boot/efi เคอร์เนล การตั้งค่า อิมเมจ initrd และ EFI สามารถบูตได้จากทั้งพาร์ติชัน ESP และ XBOOTLDR การเปลี่ยนแปลงนี้ช่วยให้คุณใช้ sd-boot bootloader ในสถานการณ์ที่อนุรักษ์นิยมมากขึ้น เมื่อ bootloader นั้นอยู่ใน ESP และเคอร์เนลที่โหลดและข้อมูลเมตาที่เกี่ยวข้องจะถูกวางไว้ในส่วนแยกต่างหาก
  • เพิ่มความสามารถในการบูตด้วยตัวเลือก “systemd.volatile=overlay” ที่ส่งผ่านไปยังเคอร์เนล ซึ่งช่วยให้คุณสามารถวางพาร์ติชั่นรูทในโอเวอร์เลย์ และจัดระเบียบงานที่ด้านบนของอิมเมจแบบอ่านอย่างเดียวของไดเร็กทอรีรูทโดยมีการเปลี่ยนแปลงที่เขียนลงใน ไดเร็กทอรีแยกต่างหากใน tmpfs (การเปลี่ยนแปลงในการกำหนดค่านี้จะหายไปหลังจากรีสตาร์ท) จากการเปรียบเทียบ systemd-nspawn ได้เพิ่มตัวเลือก “--volatile=overlay” เพื่อใช้ฟังก์ชันที่คล้ายกันในคอนเทนเนอร์
  • systemd-nspawn ได้เพิ่มตัวเลือก "--oci-bundle" เพื่ออนุญาตให้ใช้รันไทม์บันเดิลเพื่อจัดให้มีการเปิดตัวคอนเทนเนอร์แบบแยกส่วนซึ่งเป็นไปตามข้อกำหนด Open Container Initiative (OCI) สำหรับใช้ในบรรทัดคำสั่งและหน่วย nspawn มีการเสนอการรองรับตัวเลือกต่างๆ ที่อธิบายไว้ในข้อกำหนด OCI ตัวอย่างเช่น ตัวเลือก "--ไม่สามารถเข้าถึงได้" และ "ไม่สามารถเข้าถึงได้" สามารถใช้เพื่อยกเว้นบางส่วนของระบบไฟล์ และ " เพิ่มตัวเลือก --console” เพื่อกำหนดค่าสตรีมเอาท์พุตมาตรฐานและ "-pipe";
  • เพิ่มความสามารถในการควบคุมพฤติกรรมของ systemd-logind ผ่านตัวแปรสภาพแวดล้อม: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU และ
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY การใช้ตัวแปรเหล่านี้ทำให้คุณสามารถเชื่อมต่อตัวจัดการกระบวนการรีบูตของคุณเองได้ (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu และ
    /run/systemd/reboot-to-boot-loader-entry) หรือปิดการใช้งานทั้งหมด (หากตั้งค่าเป็น false)

  • เพิ่มตัวเลือก “-boot-load-menu=” และ
    “—boot-loader-entry=” ช่วยให้คุณสามารถเลือกรายการเมนูการบู๊ตหรือโหมดการบู๊ตเฉพาะหลังจากรีบูต

  • เพิ่มคำสั่งการแยกแซนด์บ็อกซ์ใหม่ “RestrictSUIDSGID=” ซึ่งใช้ seccomp เพื่อห้ามการสร้างไฟล์ด้วยแฟล็ก SUID/SGID
  • ตรวจสอบให้แน่ใจว่ามีการใช้ข้อจำกัด “NoNewPrivileges” และ “RestrictSUIDSGID” เป็นค่าเริ่มต้นในบริการที่มีโหมดการสร้าง ID ผู้ใช้แบบไดนามิก (“DynamicUser”)
  • การตั้งค่าเริ่มต้น MACAddressPolicy=persistent ในไฟล์ .link มีการเปลี่ยนแปลงเพื่อให้ครอบคลุมอุปกรณ์มากขึ้น อินเทอร์เฟซของบริดจ์เครือข่าย ทันเนล (ทัน แตะ) และลิงก์รวม (บอนด์) ไม่สามารถระบุตัวตนได้ยกเว้นด้วยชื่อของอินเทอร์เฟซเครือข่าย ดังนั้นชื่อนี้จึงถูกใช้เป็นพื้นฐานสำหรับการเชื่อมโยงที่อยู่ MAC และ IPv4 นอกจากนี้ ยังมีการเพิ่มการตั้งค่า “MACAddressPolicy=random” ซึ่งสามารถใช้เพื่อผูกที่อยู่ MAC และ IPv4 กับอุปกรณ์ในลำดับแบบสุ่ม
  • ไฟล์หน่วย ".device" ที่สร้างผ่าน systemd-fstab-generator จะไม่รวมหน่วย ".mount" ที่เกี่ยวข้องเป็นการขึ้นต่อกันในส่วน "Wants=" อีกต่อไป การเสียบอุปกรณ์เพียงอย่างเดียวจะไม่เป็นการเปิดยูนิตที่จะติดตั้งโดยอัตโนมัติอีกต่อไป แต่ยูนิตดังกล่าวยังสามารถเปิดใช้งานได้ด้วยเหตุผลอื่น เช่น เป็นส่วนหนึ่งของ local-fs.target หรือเป็นการพึ่งพายูนิตอื่น ๆ ที่ขึ้นอยู่กับ local-fs.target ;
  • เพิ่มการรองรับมาสก์ (“*” ฯลฯ) ในคำสั่ง “networkctl list/status/lldp” เพื่อกรองกลุ่มอินเทอร์เฟซเครือข่ายบางกลุ่มตามชื่อบางส่วน
  • ขณะนี้ตัวแปรสภาพแวดล้อม $PIDFILE ได้รับการตั้งค่าโดยใช้เส้นทางสัมบูรณ์ที่กำหนดค่าในบริการผ่านพารามิเตอร์ "PIDFile=;"
  • เพิ่มเซิร์ฟเวอร์ Cloudflare สาธารณะ (1.1.1.1) ให้กับจำนวนเซิร์ฟเวอร์ DNS สำรองที่ใช้หาก DNS หลักไม่ได้กำหนดไว้อย่างชัดเจน หากต้องการกำหนดรายการเซิร์ฟเวอร์ DNS สำรองใหม่ คุณสามารถใช้ตัวเลือก “-Ddns-servers=”
  • เมื่อตรวจพบว่ามีตัวควบคุมอุปกรณ์ USB ตัวจัดการ usb-gadget.target ใหม่จะถูกเปิดใช้งานโดยอัตโนมัติ (เมื่อระบบทำงานบนอุปกรณ์ต่อพ่วง USB)
  • สำหรับไฟล์หน่วย การตั้งค่า “CPUQuotaPeriodSec=” ได้ถูกนำมาใช้ ซึ่งจะกำหนดระยะเวลาที่เกี่ยวข้องกับโควต้าเวลา CPU ที่วัด โดยตั้งค่าผ่านการตั้งค่า “CPUQuota=”
  • สำหรับไฟล์ยูนิต การตั้งค่า “ProtectHostname=” ได้ถูกนำมาใช้ ซึ่งห้ามไม่ให้บริการเปลี่ยนข้อมูลเกี่ยวกับชื่อโฮสต์ แม้ว่าพวกเขาจะมีสิทธิ์ที่เหมาะสมก็ตาม
  • สำหรับไฟล์หน่วย การตั้งค่า “NetworkNamespacePath=” ได้ถูกนำมาใช้ ซึ่งช่วยให้คุณสามารถผูกเนมสเปซกับบริการหรือหน่วยซ็อกเก็ตโดยการระบุเส้นทางไปยังไฟล์เนมสเปซใน pseudo-FS /proc;
  • เพิ่มความสามารถในการปิดใช้งานการทดแทนตัวแปรสภาพแวดล้อมสำหรับกระบวนการที่เรียกใช้โดยใช้การตั้งค่า “ExecStart=” โดยการเพิ่มอักขระ “:” ก่อนคำสั่ง start
  • สำหรับตัวจับเวลา (หน่วย .timer) ตั้งค่าสถานะใหม่ “OnClockChange=” และ
    “OnTimezoneChange=” ซึ่งคุณสามารถควบคุมการเรียกหน่วยเมื่อเวลาของระบบหรือโซนเวลาเปลี่ยนแปลง

  • เพิ่มการตั้งค่าใหม่ “ConditionMemory=” และ “ConditionCPUs=” ซึ่งกำหนดเงื่อนไขสำหรับการเรียกยูนิตโดยขึ้นอยู่กับขนาดหน่วยความจำและจำนวนแกน CPU (เช่น บริการที่ใช้ทรัพยากรมากสามารถเปิดใช้งานได้เฉพาะเมื่อครบจำนวนที่ต้องการเท่านั้น มี RAM ให้เลือก);
  • เพิ่มหน่วย time-set.target ใหม่ที่ยอมรับเวลาระบบที่ตั้งไว้ในเครื่อง โดยไม่ต้องใช้การกระทบยอดกับเซิร์ฟเวอร์เวลาภายนอกโดยใช้หน่วย time-sync.target หน่วยใหม่นี้สามารถใช้บริการที่ต้องการความแม่นยำของนาฬิกาท้องถิ่นที่ไม่ซิงโครไนซ์
  • ตัวเลือก “--show-transaction” ถูกเพิ่มใน “systemctl start” และคำสั่งที่คล้ายกัน เมื่อระบุ ข้อมูลสรุปของงานทั้งหมดที่เพิ่มลงในคิวเนื่องจากการดำเนินการที่ร้องขอจะปรากฏขึ้น
  • systemd-networkd ใช้คำจำกัดความของสถานะ 'ทาส' ใหม่ ซึ่งใช้แทน 'ลดระดับ' หรือ 'ผู้ให้บริการ' สำหรับอินเทอร์เฟซเครือข่ายที่เป็นส่วนหนึ่งของลิงก์รวมหรือบริดจ์เครือข่าย สำหรับอินเทอร์เฟซหลัก ในกรณีที่เกิดปัญหากับลิงก์คอมโพสิตอันใดอันหนึ่ง สถานะ 'degraded-carrier' จะถูกเพิ่มเข้าไป
  • เพิ่มตัวเลือก “IgnoreCarrierLoss=” ให้กับหน่วย .network เพื่อบันทึกการตั้งค่าเครือข่ายในกรณีที่การเชื่อมต่อขาดหาย
  • ด้วยการตั้งค่า “RequiredForOnline=” ในหน่วย .network ตอนนี้คุณสามารถตั้งค่าสถานะลิงก์ขั้นต่ำที่ยอมรับได้ซึ่งจำเป็นในการถ่ายโอนอินเทอร์เฟซเครือข่ายเป็น “ออนไลน์” และทริกเกอร์ตัวจัดการ systemd-networkd-wait-online
  • เพิ่มตัวเลือก “--any” ให้กับ systemd-networkd-wait-online เพื่อรอความพร้อมของอินเทอร์เฟซเครือข่ายที่ระบุใดๆ แทนทั้งหมด รวมถึงตัวเลือก “--operational-state=” เพื่อกำหนดสถานะของ ลิงค์แสดงความพร้อม
  • เพิ่มการตั้งค่า “UseAutonomousPrefix=” และ “UseOnLinkPrefix=” ให้กับหน่วยเครือข่าย ซึ่งสามารถใช้เพื่อละเว้นคำนำหน้าเมื่อได้รับ
    ประกาศจากเราเตอร์ IPv6 (RA, โฆษณาเราเตอร์);

  • ในหน่วย .network มีการเพิ่มการตั้งค่า “MulticastFlood=”, “NeighborSuppression=” และ “Learning=” เพื่อเปลี่ยนพารามิเตอร์การทำงานของบริดจ์เครือข่าย รวมถึงการตั้งค่า “TripleSampling=” เพื่อเปลี่ยนโหมด TRIPLE-SAMPLING ของอินเทอร์เฟซเสมือน CAN;
  • เพิ่มการตั้งค่า “PrivateKeyFile=” และ “PresharedKeyFile=” ให้กับหน่วย .netdev ซึ่งคุณสามารถระบุคีย์ส่วนตัวและคีย์ที่ใช้ร่วมกัน (PSK) สำหรับอินเทอร์เฟซ WireGuard VPN ได้
  • เพิ่มตัวเลือก cpu-crypt เดียวกันและ send-from-crypt-cpus ใน /etc/crypttab ซึ่งควบคุมพฤติกรรมของตัวกำหนดเวลาเมื่อย้ายงานที่เกี่ยวข้องกับการเข้ารหัสระหว่างแกน CPU
  • systemd-tmpfiles ให้การประมวลผลไฟล์ล็อคก่อนที่จะดำเนินการในไดเร็กทอรีที่มีไฟล์ชั่วคราว ซึ่งช่วยให้คุณสามารถปิดใช้งานการล้างไฟล์ที่ล้าสมัยในช่วงเวลาของการดำเนินการบางอย่าง (ตัวอย่างเช่น เมื่อคลายการแพ็กไฟล์เก็บถาวร tar ใน /tmp ไฟล์เก่ามากอาจเป็น เปิดที่ไม่สามารถลบได้ก่อนที่จะสิ้นสุดการดำเนินการ)
  • คำสั่ง “systemd-analyze cat-config” ให้ความสามารถในการวิเคราะห์การกำหนดค่าที่แบ่งออกเป็นหลายไฟล์ เช่น ค่าที่ตั้งไว้ของผู้ใช้และระบบ เนื้อหาของ tmpfiles.d และ sysusers.d กฎ udev เป็นต้น
  • เพิ่มตัวเลือก "--cursor-file=" ใน "journalctl" เพื่อระบุไฟล์ที่จะโหลดและบันทึกเคอร์เซอร์ตำแหน่ง
  • เพิ่มคำจำกัดความของไฮเปอร์ไวเซอร์ ACRN และระบบย่อย WSL (ระบบย่อย Windows สำหรับ Linux) ให้กับ systemd-detect-virt สำหรับการแตกแขนงในภายหลังโดยใช้ตัวดำเนินการตามเงื่อนไข "ConditionVirtualization"
  • ในระหว่างการติดตั้ง systemd (เมื่อดำเนินการ "ติดตั้งนินจา") การสร้างลิงก์สัญลักษณ์ไปยังไฟล์ systemd-networkd.service, systemd-networkd.socket
    systemd-resolved.service, ระยะไกล cryptsetup.target, ระยะไกล-fs.target,
    systemd-networkd-wait-online.service และ systemd-timesyncd.service หากต้องการสร้างไฟล์เหล่านี้ คุณต้องเรียกใช้คำสั่ง “systemctl preset-all”

Источникopennet.ru

[: th]

หลังจากพัฒนาไปได้สองเดือน นำเสนอ การเปิดตัวผู้จัดการระบบ systemd 242. ในบรรดานวัตกรรมต่างๆ เราสามารถสังเกตการสนับสนุนอุโมงค์ L2TP ความสามารถในการควบคุมพฤติกรรมของการเข้าสู่ระบบ systemd เมื่อรีสตาร์ทผ่านตัวแปรสภาพแวดล้อม การสนับสนุนพาร์ติชันสำหรับบูต XBOOTLDR แบบขยายสำหรับการติดตั้ง /บูต ความสามารถในการบูตด้วยพาร์ติชันรากในโอเวอร์เลย์ fs รวมถึงการตั้งค่าใหม่จำนวนมากสำหรับยูนิตประเภทต่างๆ

การเปลี่ยนแปลงที่สำคัญ:

  • systemd-networkd ให้การสนับสนุนอุโมงค์ L2TP;
  • sd-boot และ bootctl ให้การสนับสนุนพาร์ติชัน XBOOTLDR (Extensed Boot Loader) ที่ออกแบบมาเพื่อติดตั้งบน /boot นอกเหนือจากพาร์ติชัน ESP ที่ติดตั้งบน /efi หรือ /boot/efi เคอร์เนล การตั้งค่า อิมเมจ initrd และ EFI สามารถบูตได้จากทั้งพาร์ติชัน ESP และ XBOOTLDR การเปลี่ยนแปลงนี้ช่วยให้คุณใช้ sd-boot bootloader ในสถานการณ์ที่อนุรักษ์นิยมมากขึ้น เมื่อ bootloader นั้นอยู่ใน ESP และเคอร์เนลที่โหลดและข้อมูลเมตาที่เกี่ยวข้องจะถูกวางไว้ในส่วนแยกต่างหาก
  • เพิ่มความสามารถในการบูตด้วยตัวเลือก “systemd.volatile=overlay” ที่ส่งผ่านไปยังเคอร์เนล ซึ่งช่วยให้คุณสามารถวางพาร์ติชั่นรูทในโอเวอร์เลย์ และจัดระเบียบงานที่ด้านบนของอิมเมจแบบอ่านอย่างเดียวของไดเร็กทอรีรูทโดยมีการเปลี่ยนแปลงที่เขียนลงใน ไดเร็กทอรีแยกต่างหากใน tmpfs (การเปลี่ยนแปลงในการกำหนดค่านี้จะหายไปหลังจากรีสตาร์ท) จากการเปรียบเทียบ systemd-nspawn ได้เพิ่มตัวเลือก “--volatile=overlay” เพื่อใช้ฟังก์ชันที่คล้ายกันในคอนเทนเนอร์
  • systemd-nspawn ได้เพิ่มตัวเลือก "--oci-bundle" เพื่ออนุญาตให้ใช้รันไทม์บันเดิลเพื่อจัดให้มีการเปิดตัวคอนเทนเนอร์แบบแยกส่วนซึ่งเป็นไปตามข้อกำหนด Open Container Initiative (OCI) สำหรับใช้ในบรรทัดคำสั่งและหน่วย nspawn มีการเสนอการรองรับตัวเลือกต่างๆ ที่อธิบายไว้ในข้อกำหนด OCI ตัวอย่างเช่น ตัวเลือก "--ไม่สามารถเข้าถึงได้" และ "ไม่สามารถเข้าถึงได้" สามารถใช้เพื่อยกเว้นบางส่วนของระบบไฟล์ และ " เพิ่มตัวเลือก --console” เพื่อกำหนดค่าสตรีมเอาท์พุตมาตรฐานและ "-pipe";
  • เพิ่มความสามารถในการควบคุมพฤติกรรมของ systemd-logind ผ่านตัวแปรสภาพแวดล้อม: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU และ
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY การใช้ตัวแปรเหล่านี้ทำให้คุณสามารถเชื่อมต่อตัวจัดการกระบวนการรีบูตของคุณเองได้ (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu และ
    /run/systemd/reboot-to-boot-loader-entry) หรือปิดการใช้งานทั้งหมด (หากตั้งค่าเป็น false)

  • เพิ่มตัวเลือก “-boot-load-menu=” และ
    “—boot-loader-entry=” ช่วยให้คุณสามารถเลือกรายการเมนูการบู๊ตหรือโหมดการบู๊ตเฉพาะหลังจากรีบูต

  • เพิ่มคำสั่งการแยกแซนด์บ็อกซ์ใหม่ “RestrictSUIDSGID=” ซึ่งใช้ seccomp เพื่อห้ามการสร้างไฟล์ด้วยแฟล็ก SUID/SGID
  • ตรวจสอบให้แน่ใจว่ามีการใช้ข้อจำกัด “NoNewPrivileges” และ “RestrictSUIDSGID” เป็นค่าเริ่มต้นในบริการที่มีโหมดการสร้าง ID ผู้ใช้แบบไดนามิก (“DynamicUser”)
  • การตั้งค่าเริ่มต้น MACAddressPolicy=persistent ในไฟล์ .link มีการเปลี่ยนแปลงเพื่อให้ครอบคลุมอุปกรณ์มากขึ้น อินเทอร์เฟซของบริดจ์เครือข่าย ทันเนล (ทัน แตะ) และลิงก์รวม (บอนด์) ไม่สามารถระบุตัวตนได้ยกเว้นด้วยชื่อของอินเทอร์เฟซเครือข่าย ดังนั้นชื่อนี้จึงถูกใช้เป็นพื้นฐานสำหรับการเชื่อมโยงที่อยู่ MAC และ IPv4 นอกจากนี้ ยังมีการเพิ่มการตั้งค่า “MACAddressPolicy=random” ซึ่งสามารถใช้เพื่อผูกที่อยู่ MAC และ IPv4 กับอุปกรณ์ในลำดับแบบสุ่ม
  • ไฟล์หน่วย ".device" ที่สร้างผ่าน systemd-fstab-generator จะไม่รวมหน่วย ".mount" ที่เกี่ยวข้องเป็นการขึ้นต่อกันในส่วน "Wants=" อีกต่อไป การเสียบอุปกรณ์เพียงอย่างเดียวจะไม่เป็นการเปิดยูนิตที่จะติดตั้งโดยอัตโนมัติอีกต่อไป แต่ยูนิตดังกล่าวยังสามารถเปิดใช้งานได้ด้วยเหตุผลอื่น เช่น เป็นส่วนหนึ่งของ local-fs.target หรือเป็นการพึ่งพายูนิตอื่น ๆ ที่ขึ้นอยู่กับ local-fs.target ;
  • เพิ่มการรองรับมาสก์ (“*” ฯลฯ) ในคำสั่ง “networkctl list/status/lldp” เพื่อกรองกลุ่มอินเทอร์เฟซเครือข่ายบางกลุ่มตามชื่อบางส่วน
  • ขณะนี้ตัวแปรสภาพแวดล้อม $PIDFILE ได้รับการตั้งค่าโดยใช้เส้นทางสัมบูรณ์ที่กำหนดค่าในบริการผ่านพารามิเตอร์ "PIDFile=;"
  • เพิ่มเซิร์ฟเวอร์ Cloudflare สาธารณะ (1.1.1.1) ให้กับจำนวนเซิร์ฟเวอร์ DNS สำรองที่ใช้หาก DNS หลักไม่ได้กำหนดไว้อย่างชัดเจน หากต้องการกำหนดรายการเซิร์ฟเวอร์ DNS สำรองใหม่ คุณสามารถใช้ตัวเลือก “-Ddns-servers=”
  • เมื่อตรวจพบว่ามีตัวควบคุมอุปกรณ์ USB ตัวจัดการ usb-gadget.target ใหม่จะถูกเปิดใช้งานโดยอัตโนมัติ (เมื่อระบบทำงานบนอุปกรณ์ต่อพ่วง USB)
  • สำหรับไฟล์หน่วย การตั้งค่า “CPUQuotaPeriodSec=” ได้ถูกนำมาใช้ ซึ่งจะกำหนดระยะเวลาที่เกี่ยวข้องกับโควต้าเวลา CPU ที่วัด โดยตั้งค่าผ่านการตั้งค่า “CPUQuota=”
  • สำหรับไฟล์ยูนิต การตั้งค่า “ProtectHostname=” ได้ถูกนำมาใช้ ซึ่งห้ามไม่ให้บริการเปลี่ยนข้อมูลเกี่ยวกับชื่อโฮสต์ แม้ว่าพวกเขาจะมีสิทธิ์ที่เหมาะสมก็ตาม
  • สำหรับไฟล์หน่วย การตั้งค่า “NetworkNamespacePath=” ได้ถูกนำมาใช้ ซึ่งช่วยให้คุณสามารถผูกเนมสเปซกับบริการหรือหน่วยซ็อกเก็ตโดยการระบุเส้นทางไปยังไฟล์เนมสเปซใน pseudo-FS /proc;
  • เพิ่มความสามารถในการปิดใช้งานการทดแทนตัวแปรสภาพแวดล้อมสำหรับกระบวนการที่เรียกใช้โดยใช้การตั้งค่า “ExecStart=” โดยการเพิ่มอักขระ “:” ก่อนคำสั่ง start
  • สำหรับตัวจับเวลา (หน่วย .timer) ตั้งค่าสถานะใหม่ “OnClockChange=” และ
    “OnTimezoneChange=” ซึ่งคุณสามารถควบคุมการเรียกหน่วยเมื่อเวลาของระบบหรือโซนเวลาเปลี่ยนแปลง

  • เพิ่มการตั้งค่าใหม่ “ConditionMemory=” และ “ConditionCPUs=” ซึ่งกำหนดเงื่อนไขสำหรับการเรียกยูนิตโดยขึ้นอยู่กับขนาดหน่วยความจำและจำนวนแกน CPU (เช่น บริการที่ใช้ทรัพยากรมากสามารถเปิดใช้งานได้เฉพาะเมื่อครบจำนวนที่ต้องการเท่านั้น มี RAM ให้เลือก);
  • เพิ่มหน่วย time-set.target ใหม่ที่ยอมรับเวลาระบบที่ตั้งไว้ในเครื่อง โดยไม่ต้องใช้การกระทบยอดกับเซิร์ฟเวอร์เวลาภายนอกโดยใช้หน่วย time-sync.target หน่วยใหม่นี้สามารถใช้บริการที่ต้องการความแม่นยำของนาฬิกาท้องถิ่นที่ไม่ซิงโครไนซ์
  • ตัวเลือก “--show-transaction” ถูกเพิ่มใน “systemctl start” และคำสั่งที่คล้ายกัน เมื่อระบุ ข้อมูลสรุปของงานทั้งหมดที่เพิ่มลงในคิวเนื่องจากการดำเนินการที่ร้องขอจะปรากฏขึ้น
  • systemd-networkd ใช้คำจำกัดความของสถานะ 'ทาส' ใหม่ ซึ่งใช้แทน 'ลดระดับ' หรือ 'ผู้ให้บริการ' สำหรับอินเทอร์เฟซเครือข่ายที่เป็นส่วนหนึ่งของลิงก์รวมหรือบริดจ์เครือข่าย สำหรับอินเทอร์เฟซหลัก ในกรณีที่เกิดปัญหากับลิงก์คอมโพสิตอันใดอันหนึ่ง สถานะ 'degraded-carrier' จะถูกเพิ่มเข้าไป
  • เพิ่มตัวเลือก “IgnoreCarrierLoss=” ให้กับหน่วย .network เพื่อบันทึกการตั้งค่าเครือข่ายในกรณีที่การเชื่อมต่อขาดหาย
  • ด้วยการตั้งค่า “RequiredForOnline=” ในหน่วย .network ตอนนี้คุณสามารถตั้งค่าสถานะลิงก์ขั้นต่ำที่ยอมรับได้ซึ่งจำเป็นในการถ่ายโอนอินเทอร์เฟซเครือข่ายเป็น “ออนไลน์” และทริกเกอร์ตัวจัดการ systemd-networkd-wait-online
  • เพิ่มตัวเลือก “--any” ให้กับ systemd-networkd-wait-online เพื่อรอความพร้อมของอินเทอร์เฟซเครือข่ายที่ระบุใดๆ แทนทั้งหมด รวมถึงตัวเลือก “--operational-state=” เพื่อกำหนดสถานะของ ลิงค์แสดงความพร้อม
  • เพิ่มการตั้งค่า “UseAutonomousPrefix=” และ “UseOnLinkPrefix=” ให้กับหน่วยเครือข่าย ซึ่งสามารถใช้เพื่อละเว้นคำนำหน้าเมื่อได้รับ
    ประกาศจากเราเตอร์ IPv6 (RA, โฆษณาเราเตอร์);

  • ในหน่วย .network มีการเพิ่มการตั้งค่า “MulticastFlood=”, “NeighborSuppression=” และ “Learning=” เพื่อเปลี่ยนพารามิเตอร์การทำงานของบริดจ์เครือข่าย รวมถึงการตั้งค่า “TripleSampling=” เพื่อเปลี่ยนโหมด TRIPLE-SAMPLING ของอินเทอร์เฟซเสมือน CAN;
  • เพิ่มการตั้งค่า “PrivateKeyFile=” และ “PresharedKeyFile=” ให้กับหน่วย .netdev ซึ่งคุณสามารถระบุคีย์ส่วนตัวและคีย์ที่ใช้ร่วมกัน (PSK) สำหรับอินเทอร์เฟซ WireGuard VPN ได้
  • เพิ่มตัวเลือก cpu-crypt เดียวกันและ send-from-crypt-cpus ใน /etc/crypttab ซึ่งควบคุมพฤติกรรมของตัวกำหนดเวลาเมื่อย้ายงานที่เกี่ยวข้องกับการเข้ารหัสระหว่างแกน CPU
  • systemd-tmpfiles ให้การประมวลผลไฟล์ล็อคก่อนที่จะดำเนินการในไดเร็กทอรีที่มีไฟล์ชั่วคราว ซึ่งช่วยให้คุณสามารถปิดใช้งานการล้างไฟล์ที่ล้าสมัยในช่วงเวลาของการดำเนินการบางอย่าง (ตัวอย่างเช่น เมื่อคลายการแพ็กไฟล์เก็บถาวร tar ใน /tmp ไฟล์เก่ามากอาจเป็น เปิดที่ไม่สามารถลบได้ก่อนที่จะสิ้นสุดการดำเนินการ)
  • คำสั่ง “systemd-analyze cat-config” ให้ความสามารถในการวิเคราะห์การกำหนดค่าที่แบ่งออกเป็นหลายไฟล์ เช่น ค่าที่ตั้งไว้ของผู้ใช้และระบบ เนื้อหาของ tmpfiles.d และ sysusers.d กฎ udev เป็นต้น
  • เพิ่มตัวเลือก "--cursor-file=" ใน "journalctl" เพื่อระบุไฟล์ที่จะโหลดและบันทึกเคอร์เซอร์ตำแหน่ง
  • เพิ่มคำจำกัดความของไฮเปอร์ไวเซอร์ ACRN และระบบย่อย WSL (ระบบย่อย Windows สำหรับ Linux) ให้กับ systemd-detect-virt สำหรับการแตกแขนงในภายหลังโดยใช้ตัวดำเนินการตามเงื่อนไข "ConditionVirtualization"
  • ในระหว่างการติดตั้ง systemd (เมื่อดำเนินการ "ติดตั้งนินจา") การสร้างลิงก์สัญลักษณ์ไปยังไฟล์ systemd-networkd.service, systemd-networkd.socket
    systemd-resolved.service, ระยะไกล cryptsetup.target, ระยะไกล-fs.target,
    systemd-networkd-wait-online.service และ systemd-timesyncd.service หากต้องการสร้างไฟล์เหล่านี้ คุณต้องเรียกใช้คำสั่ง “systemctl preset-all”

ที่มา: opennet.ru

[:]

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