Ubuntu บรรลุหลักไมล์ใหม่! ย้ายคำสั่งพื้นฐานสู่ Rust สำเร็จ
Ubuntu ประสบความสำเร็จในการยกเลิกการใช้ GNU Core Utilities ในชุดคำสั่งเริ่มต้นแล้ว โดยสามคำสั่งสุดท้ายที่เหลืออยู่คือ cp, mv และ rm ได้ย้ายไปใช้ coreutils ของ uutils ซึ่งเป็นการเขียนใหม่ด้วยภาษา Rust ที่ Canonical เริ่มนำเข้ามาในดิสโทรตั้งแต่ปี 2025
คำสั่งเหล่านี้เคยถูกระงับไม่ให้ใช้ในเวอร์ชัน 26.04 LTS เนื่องจากพบข้อบกพร่องบางประการ ในขณะที่คำสั่งอื่นๆ ตั้งแต่ ls และ cat ไปจนถึง chmod และ du ได้เปลี่ยนผ่านไปก่อนหน้านี้แล้ว การเปลี่ยนแปลงครั้งใหญ่ครั้งนี้ถูกระบุไว้อย่างเงียบๆ ใน release notes ของ Ubuntu 26.10 ที่กำลังอยู่ระหว่างดำเนินการ
เป็นเส้นทางที่ยาวไกล
Canonical เริ่มแผนผลักดัน Ubuntu สู่ภาษา Rust (oxidising) เมื่อปีที่แล้ว โดย Ubuntu 25.10 เป็นรุ่นแรกที่จัดส่ง coreutils ในรูปแบบ Rust เป็นค่าเริ่มต้น นอกจากนี้ยังมีการนำ sudo-rs มาใช้เป็นเครื่องมือจัดการสิทธิ์เริ่มต้นแทนที่คำสั่งเดิมที่ใช้งานมานานหลายทศวรรษ
อย่างไรก็ตาม ในรุ่น 26.04 แผนการนี้ต้องชะลอตัวลงเล็กน้อย โดย Canonical ยังคงใช้คำสั่ง cp, mv และ rm เวอร์ชัน GNU ต่อไป เนื่องจากปัญหาด้าน TOCTOU หลายประการที่ขัดขวางการใช้งานจริง
ปัญหาเหล่านี้ถูกตรวจพบระหว่างการตรวจสอบที่ Canonical มอบหมายให้ Zellic ดำเนินการ สองรอบ ในช่วงปลายปี 2025 ถึงต้นปี 2026 โดยมุ่งเน้นไปที่ยูทิลิตี้ที่มีความอ่อนไหวต่อความปลอดภัยสูงก่อน ซึ่ง Zellic ตรวจพบ 113 ปัญหา และในจำนวนนั้นมีถึง 44 ปัญหาที่ถูกระบุเป็นหมายเลข CVE ซึ่งปัจจุบัน Canonical ยืนยันว่าส่วนใหญ่ได้รับการแก้ไขเรียบร้อยแล้ว
แม้ช่วงสุดท้ายของการย้ายระบบจะไม่ราบรื่นนัก โดยในเดือนกรกฎาคม cp เวอร์ชัน uutils เคยถูกนำ กลับเข้าสู่ archive แต่ก็ต้องถอนออกทันทีเพราะทำให้การสร้าง live image ล้มเหลว อย่างไรก็ตาม ทีมพัฒนาได้เร่งแก้ไขปัญหาระดับ "Critical" นี้อย่างรวดเร็วและส่งการแก้ไขไปยังต้นทาง (upstream) จนสามารถย้ายระบบได้ทันเวลาสำหรับรุ่น 26.10
มีอะไรเปลี่ยนไปสำหรับคุณบ้าง?
ในแง่การใช้งานทั่วไปจะไม่มีความเปลี่ยนแปลงให้เห็นเมื่อคุณพิมพ์คำสั่งต่างๆ เนื่องจาก uutils coreutils ถูกออกแบบมาเพื่อทดแทนเครื่องมือ GNU เดิมได้ทันที โดยทางโปรเจกต์ถือว่าความแตกต่างใดๆ จากเวอร์ชัน GNU คือบั๊กที่ต้องแก้ไข แต่อาจมีบางออปชันที่ยังขาดหายไปหรือให้ผลลัพธ์ที่ต่างไปจากเดิมเล็กน้อย
สำหรับผู้ที่ยังต้องการใช้งานเวอร์ชัน GNU ต่อไป สามารถเลือกติดตั้ง แพ็กเกจ coreutils-from-gnu เพื่อใช้งานส่วนประกอบเดิมที่จำเป็นได้ทั้งหมด
ขั้นตอนต่อไป
การย้าย Coreutils เป็นเพียงส่วนหนึ่งของแคมเปญใหญ่ โดยเมื่อต้นปีที่ผ่านมา Canonical ได้เข้าเป็น Gold Sponsor ของ Trifecta Tech Foundation พร้อมสนับสนุนเงิน 40,000 ยูโรต่อปี เพื่อผลักดันซอฟต์แวร์ระบบที่มีความปลอดภัยด้านหน่วยความจำ (memory-safe)
เป้าหมายถัดไปของโครงการคือ ntpd-rs ซึ่งเป็นการเขียนเครื่องมือซิงค์เวลาใหม่ด้วยภาษา Rust โดยปัจจุบัน เปิดให้เริ่มทดสอบแล้ว และตั้งเป้าจะเปลี่ยนเป็นค่าเริ่มต้นใน Ubuntu 27.04 สิ่งที่เกิดขึ้นสะท้อนให้เห็นว่าวิสัยทัศน์ Rustification ของ Canonical ไม่ใช่การสุ่มเปลี่ยนเทคโนโลยี แต่เป็นการดำเนินงานอย่างเป็นขั้นตอนเพื่อความมั่นคงของระบบในระยะยาว
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
