ล่าสุด นักพัฒนา Fedora ได้ประกาศความตั้งใจที่จะโยกย้าย การกระจายไปยังตัวจัดการแพ็คเกจใหม่ที่เรียกว่า “Microdnf” แทน จากตัวจัดการแพ็คเกจ "ดีเอ็นเอฟ" ที่ใช้อยู่ในปัจจุบัน
ก้าวแรกบนเส้นทางสู่การโยกย้ายถิ่นฐานจะเป็นการอัปเดตครั้งใหญ่ของ Microdnf วางแผนไว้สำหรับ Fedora 38ซึ่งจะมาใกล้เคียงกับฟังก์ชัน DNF และถึงแม้จะเกินในบางพื้นที่
เป็นที่กล่าวขวัญกันว่า ความตั้งใจ ที่จะดำเนินการย้ายนี้เป็นเพราะ ความแตกต่างที่สำคัญระหว่าง Microdnf และ DNF คือการใช้ C แทน Python เพื่อการพัฒนาซึ่ง ช่วยให้คุณกำจัดการพึ่งพาได้มากมาย
จนถึงจุดหนึ่ง DNF แทนที่ Yum ซึ่งเขียนด้วย Python ทั้งหมด และใน DNF ฟังก์ชันระดับต่ำที่ต้องการประสิทธิภาพถูกเขียนใหม่และย้ายไปยังไลบรารี hawkey, librepo, libsolv และ libcomps C ที่แยกจากกัน แต่เฟรมเวิร์กและ ส่วนประกอบระดับยังคงอยู่ในภาษาไพทอน
Microdnf ได้รับการพัฒนาเป็น DNF . เวอร์ชันที่เรียบง่าย สำหรับใช้ในคอนเทนเนอร์ Docker ที่ไม่ต้องติดตั้ง Python ตอนนี้ผู้พัฒนา Fedora วางแผนที่จะนำ Microdnf ไปสู่ระดับของฟังก์ชัน DNF และในที่สุดก็แทนที่ DNF ด้วย Microdnf อย่างสมบูรณ์
การอัปเดตครั้งใหญ่ของ Microdnf เป็นก้าวแรกในการพัฒนาการจัดการแพ็คเกจใน Fedora microdnf ใหม่มีความทะเยอทะยานที่จะให้คุณสมบัติหลักทั้งหมดของ DNF โดยไม่สูญเสียรอยเท้าเพียงเล็กน้อย
Microdnf ขึ้นอยู่กับไลบรารี libdnf5 พัฒนาเป็นส่วนหนึ่งของโครงการ DNF 5 DNF 5 มีจุดมุ่งหมายเพื่อรวมไลบรารีระดับต่ำที่มีอยู่เขียนการดำเนินการจัดการแพ็คเกจ Python ที่เหลืออยู่ใน C ++ และย้ายฟังก์ชันหลักไปยังไลบรารีแยกต่างหากด้วยการสร้างการเชื่อมโยงรอบ ๆ ไลบรารีนี้เพื่อรักษา ไพทอน API
MICRODNF ช่วยปรับปรุงประสบการณ์ผู้ใช้อย่างมีนัยสำคัญและจะมอบคุณสมบัติที่สำคัญทั้งหมดของ DNF ในอนาคต นอกจากนี้ยังจะคงไว้ซึ่งข้อดีทั้งหมดของ MICRODNF ดั้งเดิม เช่น ขนาดขั้นต่ำที่จำเป็นสำหรับคอนเทนเนอร์
เวอร์ชันใหม่ของ Microdnf จะใช้กระบวนการพื้นหลัง DNF Daemon แทนที่ฟังก์ชัน PackageKit และจัดเตรียมอินเทอร์เฟซสำหรับจัดการแพ็กเกจและการอัปเดตในสภาพแวดล้อมแบบกราฟิก ไม่เหมือนกับ PackageKit เพราะ DNF Daemon จะรองรับเฉพาะรูปแบบ RPM เท่านั้น
Microdnf, libdnf5 และ DNF Daemon มีกำหนดการที่จะจัดส่งควบคู่ไปกับชุดเครื่องมือ DNF ดั้งเดิมในช่วงแรกของการใช้งาน เมื่อโครงการเสร็จสมบูรณ์ แพ็คเกจใหม่จะแทนที่แพ็คเกจเช่น dnf, python3-dnf, python3-hawkey, libdnf, dnfdragora และ python3-dnfdaemon
ของการ พื้นที่ที่ Microdnf เหนือกว่า DNF มีความโดดเด่น: การบ่งชี้ความคืบหน้าของการดำเนินงานที่มองเห็นได้ชัดเจนยิ่งขึ้น ปรับปรุงการใช้ตารางธุรกรรม ความสามารถในการแสดงข้อมูลในรายงานเกี่ยวกับธุรกรรมที่เสร็จสมบูรณ์ซึ่งออกโดยสคริปต์เล็ตแบบแพ็คเกจ (สคริปต์เล็ต) รองรับการใช้แพ็คเกจ RPM ในพื้นที่สำหรับการทำธุรกรรม ระบบป้อนข้อมูลขั้นสูงสำหรับทุบตี; รองรับการรันคำสั่ง builddep โดยไม่ต้องติดตั้ง Python บนระบบ
ท่ามกลางข้อเสีย เปลี่ยนตัวจัดการแพ็คเกจของ distro เป็น Microdnf คือการเปลี่ยนแปลงโครงสร้างของฐานข้อมูลภายใน และการประมวลผลฐานข้อมูลแยกต่างหากจาก DNF ซึ่งจะไม่อนุญาตให้คุณดูธุรกรรมกับแพ็คเกจที่ทำใน DNF ใน Microdnf และในทางกลับกัน
แพ็คเกจที่ติดตั้งก่อนหน้านี้ด้วย DNF จะถือว่าเป็น "ผู้ใช้ที่ติดตั้งจากประวัติ dnf" หลังจากย้ายไปยัง Microdnf และการถอนการติดตั้งแพ็คเกจที่ติดตั้งโดยตัวจัดการแพ็คเกจอื่นจะไม่ลบการพึ่งพาที่ไม่ได้ใช้ที่เกี่ยวข้องออก นอกจากนี้ Microdnf ไม่ได้วางแผนที่จะสนับสนุน DNF 100% ที่ระดับคำสั่งและตัวเลือกบรรทัดคำสั่ง
มีข้อสังเกตว่า Microdnf เวอร์ชันใหม่จะรองรับคุณสมบัติหลักทั้งหมดของ DNF แต่ในขณะเดียวกันก็รักษาประสิทธิภาพและความกะทัดรัดไว้ในระดับสูง
สุดท้ายนี้ หากสนใจอยากทราบข้อมูลเพิ่มเติม สามารถปรึกษา รายละเอียดตามลิงค์ต่อไปนี้.
ฉันยังใหม่กับการเขียนโปรแกรมและกระตือรือร้นเกี่ยวกับ Linux ฉันไม่เคยใช้ Fedora เลย เพราะฉันมักจะมีปัญหากับการติดตั้งและลงเอยด้วย Debian (และอนุพันธ์) หรือ OpenSUSE แต่ฉันคิดว่าฉันเข้าใจถึงความสำคัญในโลกของลินุกซ์ และความเกี่ยวข้องของสิ่งที่เกิดขึ้นใน Fedora
ข้อสงสัยของฉันมาจากแนวคิดในการแทนที่ Python สำหรับ C/C++ เหตุใดจึงใช้ภาษาระดับต่ำที่ได้รับการวิพากษ์วิจารณ์อย่างสูงสำหรับตัวแปรและมาตรฐานที่กำหนดไว้ไม่ดี ฉันเข้าใจการเปลี่ยนแปลงเล็กน้อยจากภาษาที่แปลแล้วเป็นภาษาที่คอมไพล์แล้ว แต่ฉันไม่เข้าใจการข้ามไปยังภาษาที่ฉันเห็นว่ามีการพยายามใช้ให้น้อยลงในบางพื้นที่ จะดีกว่าไหมถ้าใช้ Rust หรือ C# ?
ฉันไม่ได้วิพากษ์วิจารณ์การตัดสินใจของผู้คนใน Fedora แต่พยายามทำความเข้าใจว่าโลกของการเขียนโปรแกรมก้าวหน้าไปอย่างไร ฉันกำลังเรียนรู้ Python และ JS บนเว็บ และคิดว่าฉันจะกลับไปใช้ C/C++ เป็นพื้นฐาน ดังนั้นบันทึกย่อนี้จึงอาจช่วยให้ฉันมีสมาธิ
ขอบคุณมาก! และผลงานอันยอดเยี่ยมแก่ชาวเมืองเช่นเคย <•DesdeLinux