[เกร็ดความรู้] เปรียบเทียบคำสั่ง yum และ dnf ใน Amazon Linux 2023

yum ถูกใช้เป็นระบบการจัดการแพ็คเกจสำหรับระบบปฏิบัติการที่ใช้ OS ตระกูล RHEL เช่น CentOS มาเป็นเวลานาน ตั้งแต่ CentOS8 ที่เปิดตัวในปี 2019 เปลี่ยนเป็น dnf (Dandified YUM) ที่เป็นเวอร์ชันสืบทอดของ yum

โดย Amazon Linux ที่ใช้ yum มาตลอดตั้งแต่ Amazon LInux 1 มาจนถึง Amazon Linux 2 ก็ได้เปลี่ยนมาใช้ dnf แทน ตั้งแต่ Amazon Linux 2023 เป็นต้นมา แต่ถึงอย่างนั้น ในปัจจุบัน (2023) yum command ก็ไม่ได้ถูกเลิกใช้ไป แต่ยังคงสามารถใช้ได้เหมือนกับ dnf command ทุกประการ

เพราะฉะนั้นในครั้งนี้ ผมจะมารวบรวมเหตุผลที่ว่า ทำไมการใช้ yum กับ dnf ถึงไม่มีความแตกต่างกันเลยแม้แต่น้อย

เหตุผลที่ yum และ dnf สามารถใช้ได้เหมือนกัน

ใน Amazon Linux 2023 ทั้งคำสั่ง yum และ dnf เป็น symbolic link ไปถึง /usr/bin/dnf-3 เหมือนกัน

$ ls -l /usr/bin/yum /usr/bin/dnf
lrwxrwxrwx. 1 root root 5 Jan 31  2023 /usr/bin/dnf -> dnf-3
lrwxrwxrwx. 1 root root 5 Jan 31  2023 /usr/bin/yum -> dnf-3

เพราะเหตุนั้น ไม่ว่าจะรันคำสั่ง yum upgrade หรือ dnf upgrade ก็ตาม symbolic link ของทั้ง 2 คำสั่งจะชี้ไปที่ dnf-3 upgrade เหมือนกัน ทำให้ได้ผลลัพธ์เดียวกัน

ทำให้เราไม่จำเป็นต้องกังวลว่าจะใช้ yum หรือ dnf ดี และข้อมูลด้านล่างต่อไปนี้ถือเป็นข้อมูลที่ผิดครับ

  • หากใช้คำสั่ง yum จะทำให้ package เวอร์ชันเก่าจะถูกติดตั้งเข้ามาแทน (❌ ผิด)
  • หากใช้ yum กับ dnf ปนกันมั่ว dependency ของระบบจะรวนไปด้วย (❌ ผิด)

สุดท้ายนี้

ผมหวังว่าจะทำให้ผู้อ่านเข้าใจ yum และ dnf ได้อย่างถูกต้องครับ

POP จากบริษัท Classmethod (Thailand) ครับ !

เกี่ยวกับ Package management tool ของ Amazon Linux 2023
Package management tool

เกี่ยวกับ RHEL 9 Package management with YUM/DNF
3.4. Package management with YUM/DNF