การเปิดตัวชุดยูทิลิตี้ระบบหลัก GNU Coreutils 9.0

ชุดยูทิลิตี้ระบบพื้นฐานของ GNU Coreutils 9.0 เวอร์ชันเสถียรพร้อมใช้งานแล้ว ซึ่งรวมถึงโปรแกรมเช่น sort, cat, chmod, chown, chroot, cp, date, dd, echo, ชื่อโฮสต์, id, ln, ls เป็นต้น การเปลี่ยนแปลงที่สำคัญในหมายเลขเวอร์ชันเกิดจากการเปลี่ยนแปลงลักษณะการทำงานของยูทิลิตี้บางอย่าง

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

  • cp และยูทิลิตี้การติดตั้งมีค่าเริ่มต้นเป็นโหมดคัดลอกเมื่อเขียนเมื่อทำการคัดลอก (ใช้ ioctl ficlone เพื่อแชร์ข้อมูลระหว่างหลายไฟล์แทนที่จะสร้างโคลนแบบเต็ม)
  • ยูทิลิตี cp, ติดตั้ง และ mv ใช้กลไกที่ระบบจัดเตรียมไว้เพื่อเร่งการดำเนินการคัดลอก (โดยใช้การเรียกระบบ copy_file_range เพื่อดำเนินการคัดลอกฝั่งเคอร์เนลเท่านั้น โดยไม่ถ่ายโอนข้อมูลไปยังประมวลผลหน่วยความจำในพื้นที่ผู้ใช้)
  • ยูทิลิตี cp, ติดตั้ง และ mv ใช้การเรียก lseek+SEEK_HOLE ที่ง่ายกว่าและพกพาได้มากกว่า แทน ioctl+FS_IOC_FIEMAP เพื่อตรวจจับช่องว่างของไฟล์
  • ยูทิลิตี้ wc ใช้คำสั่ง AVX2 เพื่อเร่งการคำนวณจำนวนบรรทัด เมื่อใช้การเพิ่มประสิทธิภาพนี้ ความเร็วห้องสุขาจะเพิ่มขึ้น 5 เท่า
  • เพิ่มตัวเลือก "-a" (--อัลกอริทึม) ลงในยูทิลิตี้ cksum เพื่อเลือกอัลกอริทึมการแฮช เพื่อเร่งความเร็วการคำนวณเช็คซัมในยูทิลิตี้ cksum คำสั่ง pclmul จะถูกใช้เมื่อใช้โหมด “--algorithm=crc” ซึ่งจะเร่งความเร็วการคำนวณสูงสุด 8 ครั้ง บนระบบที่ไม่รองรับ pclmul โหมด crc จะเร็วขึ้น 4 เท่า อัลกอริธึมการแฮชที่เหลือ (sum, md5sum, b2sum, sha*sum, sm3 ฯลฯ) ถูกนำมาใช้โดยการเรียกใช้ฟังก์ชัน libcrypto
  • ในยูทิลิตี้ md5sum, cksum, sha*sum และ b2sum การใช้แฟล็ก “--check” ช่วยให้มีลำดับ CRLF ที่ส่วนท้ายของบรรทัดตรวจสอบ "cksum --check" ให้การตรวจจับอัลกอริทึมการแฮชที่ใช้โดยอัตโนมัติ
  • ยูทิลิตี้ ls ได้เพิ่มตัวเลือก "--sort=width" เพื่อจัดเรียงตามความยาวของชื่อไฟล์ รวมถึงตัวเลือก "--zero" เพื่อยุติแต่ละบรรทัดด้วยอักขระ null ลักษณะการทำงานเก่าถูกส่งคืน ทำให้ไดเร็กทอรีว่างถูกแสดงแทนข้อผิดพลาดเมื่อประมวลผลไดเร็กทอรีระยะไกล
  • ยูทิลิตี้ df ใช้การตรวจจับระบบไฟล์เครือข่าย acfs, coda, fhgfs, gpfs, ibrix, ocfs2 และ vxfs
  • เพิ่มการรองรับระบบไฟล์ประเภท "devmem", "exfat", "secretmem", "vboxsf" และ "zonefs" ลงในยูทิลิตี้ stat และ tail สำหรับ “vboxsf” การโพลจะใช้เพื่อติดตามการเปลี่ยนแปลงใน “tail -f” และส่วนที่เหลือจะใช้ inotify

ที่มา: opennet.ru

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