uutils โครงการเขียนซอฟต์แวร์ coreutils ของลินุกซ์ใหม่ทั้งหมดด้วย Rust

by mk
25 March 2024 - 02:50

ช่วงหลายปีที่ผ่านมา เราเห็น Rust ถูกนำไปใช้เขียนซอฟต์แวร์พื้นฐานสำคัญๆ หลายตัวที่เดิมสร้างด้วย C/C++ ด้วยเหตุผลด้านความปลอดภัยที่ระดับตัวภาษา Rust เอง ตัวอย่างโครงการลักษณะนี้คือ su/sudo ตัวใหม่ที่เขียนด้วย Rust, Rustls โครงการทดแทน OpenSSL, mod_tls ของ Apache เป็นต้น

ในโลกของลินุกซ์ยังมีซอฟต์แวร์พื้นฐานที่เรียกรวมๆ ว่า coreutils (ย่อมาจาก Core Utilities) ตัวอย่างที่ใช้บ่อยๆ คือคำสั่งอย่าง ls, ln, more, chmod, chown, cat, printenv, wc เป็นต้น ซอฟต์แวร์เหล่านี้ถูกสร้างโดยโครงการ GNU มายาวนานตั้งแต่ยุค 90s และพัฒนาด้วยภาษา C

นับตั้งแต่ปี 2021 เป็นต้นมา มีโครงการชื่อ uutils ตั้งเป้าเขียนซฮฟต์แวร์ในชุด coreutils กับซอฟต์แวร์ชุดใกล้เคียงคือ findutils (find, locate) และ diffutils ขึ้นมาใหม่ด้วยภาษา Rust โดยได้รับสปอนเซอร์บางส่วนจากกองทุน Sovereign Tech Fund ของเยอรมนี เป้าหมายของโครงการคือทดแทนซอฟต์แวร์เดิมแบบเข้ากันได้ 100% ผู้ใช้พิมพ์คำสั่งแบบเดิม ได้ผลเหมือนเดิม ไม่ต้องสนใจว่าเบื้องหลังเปลี่ยนไปอย่างไร

ตอนนี้โครงการคืบหน้าไปพอสมควร เวอร์ชันล่าสุด 0.0.25 ผ่านชุดทดสอบความเข้ากันได้กับ GNU coreutils ของเดิมแล้ว 72.35% ดูจากกราฟความคืบหน้าแล้วก็น่าจะเสร็จสมบูรณ์ ทดแทน coreutils ของเดิมได้ในเวลาอีกไม่กี่ปีข้างหน้า

ที่มา - uutils via Phoronix

Blognone Jobs Premium