RPM 4.19 มาพร้อมกับการปรับปรุง APIS การแก้ไข และอื่นๆ อีกมากมาย

รอบต่อนาที

RPM Package Manager เป็นเครื่องมือการจัดการแพ็คเกจที่ออกแบบมาเพื่อติดตั้ง อัปเดต ถอนการติดตั้ง ตรวจสอบ และร้องขอโปรแกรม

มีการประกาศเปิดตัวตัวจัดการแพ็คเกจเวอร์ชันใหม่ "RPM 4.19" โดยเน้นการปรับปรุงและการแก้ไขที่ได้ดำเนินการไป รวมถึงการปรับปรุง APIS การสนับสนุน ระบบการคอมไพล์ CMake ใหม่ เหนือสิ่งอื่นใดเพิ่มเติม

ปัจจุบัน โครงการ RPM4 ได้รับการพัฒนาโดย Red Hat และถูกนำไปใช้ในระบบปฏิบัติการต่างๆ เช่น RHEL (รวมถึงโครงการที่พัฒนาต่อยอดมาจาก CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen และอื่นๆ อีกมากมาย

ก่อนหน้านี้ทีมพัฒนาอิสระได้พัฒนาโครงการ RPM5 ซึ่งไม่เกี่ยวข้องโดยตรงกับ RPM4 และปัจจุบันถูกยกเลิกไปแล้ว (ยังไม่ได้รับการอัปเดตตั้งแต่ปี 2010)

แพ็กเกจ RPM สามารถบรรจุไฟล์ได้หลายไฟล์โดยส่วนใหญ่จะเป็น "ไบนารี RPM" (หรือ BRPM) ซึ่งมีเวอร์ชันที่คอมไพล์แล้วของซอฟต์แวร์ นอกจากนี้ยังมี "ซอร์สโค้ด RPM" (หรือ SRPM) ซึ่งมีซอร์สโค้ดที่ใช้ในการสร้างแพ็กเกจไบนารี โดยทั่วไปไฟล์ SRPM จะมีนามสกุลไฟล์ ".src.rpm" (หรือ ".spm" ในระบบไฟล์ที่มีข้อจำกัด 3 ตัวอักษร เช่น DOS FAT รุ่นเก่า)

คุณสมบัติใหม่หลักของ RPM 4.19

ในเวอร์ชันใหม่ของ RPM 4.19 นี้ หนึ่งในคุณสมบัติที่โดดเด่นที่สุดคือการเพิ่มการรองรับไฟล์ ".specpart"สำหรับการสร้างไฟล์ข้อมูลจำเพาะแบบไดนามิก รวมถึงการเพิ่ม " --generate-subpackages " ลงใน find_lang.sh ซึ่งใช้ไฟล์ .specpart ด้วย

การเปลี่ยนแปลงที่สำคัญอีกประการหนึ่งในเวอร์ชันใหม่ของ RPM 4.19 นี้คือการผสานรวมเข้ากับไดเร็กทอรีบัญชีผู้ใช้ของระบบ sysusers.dเพื่อประมวลผลผู้ใช้และกลุ่มโดยอัตโนมัติ นอกจากนี้ยังเพิ่มการสนับสนุนสำหรับการสร้างผู้ใช้และกลุ่มจากไฟล์ /etc/passwd, /etc/group และ sysusers.dที่รวมอยู่ในแพ็กเกจด้วย

ในส่วนของการปรับปรุงการสนับสนุนนั้น สิ่งที่โดดเด่นได้แก่: มีการเพิ่มระดับสถาปัตยกรรม x86-64, วิธีการได้มาซึ่งโมเดล x86 ใน rpmrc ได้รับการแก้ไข,ระบบการสร้าง CMake ถูกเปลี่ยนไปใช้แทน Autotools และfakechroot ถูกแทนที่ด้วยเทคโนโลยีคอนเทนเนอร์

นอกจากนี้เรายังพบว่ามีการเพิ่มการรองรับสคริปต์เล็ต %preuntrans และ %postuntrans ในไฟล์ข้อกำหนด และมีการเพิ่มยูทิลิตี้ rpmsort เพื่อเรียงลำดับเวอร์ชันแพ็คเกจ rpm

นอกจากนี้ ยังมีการเพิ่มตัวเลือก “–nopreuntrans”, “–nopostuntrans” และ “–nosysusers” เพื่อปิดใช้งานสคริปต์และสร้างผู้ใช้และกลุ่มโดยอัตโนมัติระหว่างการติดตั้งแพ็คเกจ

การเปลี่ยนแปลงที่สำคัญ อื่นๆในเวอร์ชันใหม่นี้ ได้แก่:

  • ทำให้ข้อมูลผู้ใช้/กลุ่มทำงานได้อย่างน่าเชื่อถือใน chroot
  • ทำให้เครื่องจักร rpmscript เป็นมิตรกับ chroot
  • แก้ไขการถดถอยของปลั๊กอินต่อไฟล์ที่นำมาใช้ใน 4.18
  • ระงับข้อความเตือนการยับยั้งการล็อกเมื่อบริการ DBus ไม่พร้อมใช้งาน
  • แก้ไขการรวมที่ขาดหายไปใน macOS
  • ฟังก์ชันที่เกี่ยวข้องกับตัวแยกประเภทไฟล์rpmfcNew() ถูกประกาศว่าล้าสมัย
  • แก้ไขการละเว้นรหัสทางออกของสคริปต์ลูกในกรณีของ EINTR
  • โค้ดการเปิดใช้งานเธรด rpmioe ได้รับการทำให้ง่ายขึ้นและล้างข้อมูลแล้ว
  • %files block และยูทิลิตีบรรทัดคำสั่งรองรับการวนซ้ำแบบเชลล์และการหลีกอักขระพิเศษแล้ว
  • ลบการตรวจสอบเวลาการกำหนดค่าเก่าและซ้ำซ้อนอื่นๆ ออก
  • แยกการแปลออกเป็นโครงการแยกต่างหาก
  • ค่าเริ่มต้นเป็นภาษา C.UTF-8 อนุญาตให้ใช้ทางเลือก C
  • ไลบรารีถูกส่งออกเป็นการกำหนดค่า cmake “find_package()”
  • เพิ่มฟังก์ชัน rpmGlobPath(), rpmEscape() และ rpmUnescape() ลงใน API แล้ว
  • การประกอบแบบขนานเสร็จสิ้นแล้วโดยคำนึงถึงพื้นที่หน่วยความจำและที่อยู่
  • เพิ่มเอกสารการพัฒนาในการสร้างเอกสาร
  • การเพิ่มเติมและการแก้ไขอื่นๆ มากมาย
  • สำหรับโปรเจ็กต์ที่ใช้ CMake จะมีฟังก์ชัน find_package(rpm) ให้ไว้
  • แก้ไขข้อผิดพลาดในการแบ่งส่วนในอาร์กิวเมนต์ที่ไม่สามารถเชื่อมต่อได้สำหรับการเรียกแมโครจาก Lua

สุดท้ายนี้หากคุณสนใจเรียนรู้เพิ่มเติมเกี่ยวกับเวอร์ชันใหม่นี้ คุณสามารถดูรายละเอียดได้ที่ลิงก์ต่อไปนี้


เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google