В Ubuntu เมื่อวันที่ 25.10 ตุลาคม มีการตัดสินใจที่จะเปลี่ยนมาใช้ uutils ที่เขียนด้วยภาษา Rust แทน GNU Coreutils

จอน ซีเกอร์ รองประธานฝ่ายวิศวกรรมของแคนอนิคัล และหัวหน้าทีมด้านเทคนิคของโครงการ Ubuntuนำเสนอแผนริเริ่มเพื่อทดแทน Ubuntu แปลงยูทิลิตี้ระบบให้เป็นเวอร์ชันที่เขียนด้วยภาษา Rust เป้าหมายแรกที่ระบุไว้ของโครงการริเริ่มนี้คือการแปล Ubuntu เวอร์ชัน 25.10 จะใช้ชุดเครื่องมือ uutils เป็นค่าเริ่มต้นแทนชุดเครื่องมือ GNU Coreutils หากการทดลองนี้ประสบความสำเร็จ uutils จะถูกใช้เป็นค่าเริ่มต้นในเวอร์ชัน LTS ด้วยเช่นกัน Ubuntu 26.04.

การเปลี่ยนแปลงนี้จะส่งผลกระทบต่อยูทิลิตี้มากกว่าร้อยรายการที่รวมอยู่ใน Coreutils รวมถึง sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln และ ls ปัจจุบัน ยูทิลิตี้ uutils ถูกใช้งานเป็นค่าเริ่มต้นอยู่แล้วในระบบปฏิบัติการ Apertis ซึ่งมีพื้นฐานมาจาก Debianรวมถึงในระบบปฏิบัติการอิสระ AerynOS (SerpentOS) ด้วย แพ็คเกจ uutils coreutils เวอร์ชัน 0.0.30 ที่เผยแพร่เมื่อสัปดาห์ที่แล้ว ผ่านการทดสอบ 507 รายการ (ในเวอร์ชันก่อนหน้าผ่าน 506 รายการ และเวอร์ชันก่อนหน้านั้นผ่าน 476 รายการ) จากชุดทดสอบ GNU Coreutils มี 69 รายการที่ล้มเหลว และ 41 รายการถูกข้ามไป นอกจากนี้ยังมีแผนที่จะพัฒนาเวอร์ชันทดแทนในอีกไม่กี่สัปดาห์ข้างหน้า Ubuntu มีการเพิ่มยูทิลิตี้ su และ sudo เข้าไปในแพ็คเกจ sudo-rs ในบรรดาโครงการที่กำลังพิจารณาอยู่นั้น ยังมีการกล่าวถึง zlib-rs และ ntpd-rs ด้วย


В Ubuntu เมื่อวันที่ 25.10 ตุลาคม มีการตัดสินใจที่จะเปลี่ยนมาใช้ uutils ที่เขียนด้วยภาษา Rust แทน GNU Coreutils

เหตุผลที่ให้ไว้ในการย้ายคือความปรารถนาที่จะปรับปรุงความน่าเชื่อถือและความปลอดภัยของยูทิลิตี้ที่เป็นพื้นฐานของการจำหน่าย การใช้ Rust จะช่วยลดความเสี่ยงของข้อผิดพลาดในการจัดการหน่วยความจำ เช่น การเข้าถึงหน่วยความจำหลังจากได้รับการปลดปล่อย และการบัฟเฟอร์ล้น ตามที่ John Seeger กล่าว การป้องกันข้อผิดพลาดดังกล่าวจะเพิ่มการรับประกันความปลอดภัย และเมื่อความปลอดภัยเพิ่มมากขึ้น ความน่าเชื่อถือโดยรวมของระบบก็จะเพิ่มขึ้นเช่นกัน

สังเกตได้ว่า Canonical กำลังพิจารณาใช้วิธีการต่างๆ เพื่อปรับปรุงคุณภาพ และวิธีหนึ่งคือการส่งมอบโปรแกรมที่พัฒนาขึ้นในขั้นต้นโดยคำนึงถึงความปลอดภัย ความน่าเชื่อถือ และความถูกต้อง สิ่งนี้มีความสำคัญโดยเฉพาะอย่างยิ่งสำหรับส่วนประกอบพื้นฐานของการแจกจ่าย เนื่องจากหากปัญหาเกิดขึ้นในซอฟต์แวร์ระดับต่ำ ปัญหาเหล่านี้จะสะท้อนให้เห็นในการทำงานของเลเยอร์ที่สูงกว่าทั้งหมด ตัวอย่างเช่น หากมีปัญหาด้านประสิทธิภาพในแพ็คเกจพื้นฐาน ปัญหาเหล่านั้นจะส่งผลกระทบต่อประสิทธิภาพการทำงานของระบบย่อยอื่นๆ อีกด้วย

เพื่อทดสอบชิ้นส่วนทดแทนใน Ubuntu โปรเจกต์ oxidizr ซึ่งเป็นเครื่องมือบรรทัดคำสั่งสำหรับจัดการการทดลองระบบที่เกี่ยวข้องกับการแทนที่ยูทิลิตี้แบบดั้งเดิมด้วยทางเลือกอื่นที่เขียนด้วย Rust ได้รับการพัฒนาขึ้นสำหรับส่วนประกอบของระบบ ปัจจุบัน oxidizr นำเสนอการทดลองสำหรับการเปลี่ยนไปใช้แพ็กเกจ uutils, coreutils, findutils และ sudo-rs เป็นค่าเริ่มต้น ตัวอย่างเช่น หากต้องการแทนที่ coreutils และ findutils ในระบบของคุณ เพียงเรียกใช้คำสั่ง "sudo oxidizr enable --experiments coreutils findutils" และหากต้องการกลับไปสู่สถานะเริ่มต้น ให้ใช้คำสั่ง "oxidizr disable"

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster