ตัวจัดการแพ็คเกจ GNU Guix 1.4 และการแจกจ่ายตามที่มีอยู่

ตัวจัดการแพ็คเกจ GNU Guix 1.4 และการแจกจ่าย GNU/Linux ที่อิงตามนั้นได้รับการเผยแพร่แล้ว อิมเมจสำหรับการติดตั้งบน USB Flash (814 MB) และใช้ในระบบเวอร์ช่วลไลเซชั่น (1.1 GB) ถูกสร้างขึ้นเพื่อการดาวน์โหลด รองรับสถาปัตยกรรม i686, x86_64, Power9, armv7 และ aarch64

ชุดการแจกจ่ายสามารถติดตั้งได้ทั้งเป็นระบบปฏิบัติการแบบสแตนด์อโลนในระบบเวอร์ช่วลไลเซชั่น ในคอนเทนเนอร์และบนอุปกรณ์ทั่วไป และรันในการกระจาย GNU / Linux ที่ติดตั้งไว้แล้ว ซึ่งทำหน้าที่เป็นแพลตฟอร์มสำหรับการปรับใช้แอปพลิเคชัน ผู้ใช้จะได้รับฟังก์ชันต่างๆ เช่น การบัญชีการพึ่งพา บิลด์ที่ทำซ้ำได้ งานโดยไม่ต้องรูท การย้อนกลับเป็นเวอร์ชันก่อนหน้าในกรณีที่เกิดปัญหา การจัดการการกำหนดค่า การโคลนสภาพแวดล้อม (การสร้างสำเนาสภาพแวดล้อมซอฟต์แวร์บนคอมพิวเตอร์เครื่องอื่น) เป็นต้น

นวัตกรรมหลัก:

  • ปรับปรุงการจัดการสภาพแวดล้อมของโปรแกรม คำสั่ง "สภาพแวดล้อม guix" ถูกแทนที่ด้วยคำสั่ง "guix shell" ใหม่ ซึ่งไม่เพียงแต่ช่วยให้สร้างสภาพแวดล้อมการสร้างสำหรับนักพัฒนา แต่ยังใช้สภาพแวดล้อมเพื่อทำความคุ้นเคยกับโปรแกรมโดยไม่สะท้อนให้เห็นในโปรไฟล์และไม่ต้องดำเนินการ "ติดตั้ง guix" . ตัวอย่างเช่น หากต้องการดาวน์โหลดและรันเกม supertuxkart คุณสามารถเรียกใช้ "guix shell supertuxkart - supertuxkart" เมื่อดาวน์โหลดแล้ว แพ็คเกจจะถูกจัดเก็บไว้ในแคช และการเรียกใช้ครั้งถัดไปจะไม่จำเป็นต้องแตกไฟล์ซ้ำอีกครั้ง

    เพื่อให้การสร้างสภาพแวดล้อมง่ายขึ้นสำหรับนักพัฒนาใน "guix shell" จึงมีการสนับสนุนไฟล์ guix.scm และ manifest.scm พร้อมคำอธิบายองค์ประกอบของสภาพแวดล้อม (สามารถใช้ตัวเลือก "--export-manifest" เพื่อสร้าง ไฟล์) ในการสร้างคอนเทนเนอร์ที่จำลองลำดับชั้นไดเร็กทอรีระบบแบบคลาสสิก "เชลล์ guix" จะเสนอตัวเลือก "-container --emulate-fhs"

  • เพิ่มคำสั่ง "guix home" เพื่อจัดการสภาพแวดล้อมภายในบ้าน Guix ช่วยให้คุณสามารถกำหนดส่วนประกอบทั้งหมดของสภาพแวดล้อมในบ้าน รวมถึงแพ็คเกจ บริการ และไฟล์ที่ขึ้นต้นด้วยจุด การใช้คำสั่ง "guix home" อินสแตนซ์ของสภาพแวดล้อมภายในบ้านที่อธิบายไว้สามารถสร้างขึ้นใหม่ในไดเร็กทอรี $HOME หรือในคอนเทนเนอร์ ตัวอย่างเช่น เพื่อถ่ายโอนสภาพแวดล้อมของตนไปยังคอมพิวเตอร์เครื่องใหม่
  • เพิ่มตัวเลือก "-f deb" ในคำสั่ง "guix pack" เพื่อสร้างแพ็คเกจ deb แบบสแตนด์อโลนที่สามารถติดตั้งบน Debian
  • ในการสร้างอิมเมจระบบประเภทต่างๆ (ดิบ, QCOW2, ISO8660 CD / DVD, Docker และ WSL2) จะมีการเสนอคำสั่งสากล "อิมเมจระบบ guix" ซึ่งช่วยให้คุณกำหนดประเภทของที่เก็บข้อมูลพาร์ติชันและระบบปฏิบัติการสำหรับการสร้าง ภาพ.
  • เพิ่มตัวเลือก "-tune" ลงในคำสั่งการประกอบแพ็คเกจซึ่งช่วยให้คุณสามารถระบุสถาปัตยกรรมไมโครโปรเซสเซอร์ที่จะเปิดใช้งานการเพิ่มประสิทธิภาพเฉพาะ (เช่นคำสั่ง AVX-512 SIMD สามารถใช้กับ CPU AMD และ Intel ใหม่)
  • โปรแกรมติดตั้งใช้กลไกในการบันทึกข้อมูลการดีบักที่สำคัญโดยอัตโนมัติในกรณีที่การติดตั้งผิดปกติ
  • ลดเวลาเริ่มต้นแอปพลิเคชันโดยใช้แคชการเชื่อมโยงแบบไดนามิกเพื่อลดการใช้สถิติและการเรียกระบบเปิดเมื่อค้นหาไลบรารี
  • รุ่นใหม่ของระบบการเริ่มต้น GNU Shepherd 0.9 มีส่วนเกี่ยวข้องซึ่งใช้แนวคิดของบริการชั่วคราว (ชั่วคราว) และความสามารถในการสร้างบริการที่เปิดใช้งานระหว่างกิจกรรมเครือข่าย (ในรูปแบบของการเปิดใช้งานซ็อกเก็ต systemd)
  • มีการเพิ่มอินเทอร์เฟซใหม่เพื่อกำหนดขนาดของพาร์ติชั่นสลับในการกำหนดค่าระบบปฏิบัติการ
  • อินเทอร์เฟซสำหรับการตั้งค่าการกำหนดค่าเครือข่ายแบบคงที่ได้รับการออกแบบใหม่ ซึ่งขณะนี้นำเสนอการตั้งค่าแบบอะนาล็อกที่ประกาศในรูปแบบของคำสั่ง ip
  • เพิ่มบริการระบบใหม่ 15 รายการ รวมถึง Jami, Samba, Fail2ban และ Gitile
  • เปิดตัวเว็บไซต์ Package.guix.gnu.org สำหรับการนำทางแพ็คเกจ
  • อัปเดตเวอร์ชันซอฟต์แวร์ในแพ็คเกจ 6573 เพิ่มแพ็คเกจใหม่ 5311 แพ็คเกจ เหนือสิ่งอื่นใด GNOME 42, Qt 6, GCC 12.2.0, Glibc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice 7.4.3.2, Emacs 28.2 เวอร์ชันอัปเดต ลบแพ็คเกจมากกว่า 500 รายการโดยใช้ Python 2

ตัวจัดการแพ็คเกจ GNU Guix 1.4 และการแจกจ่ายตามที่มีอยู่

โปรดจำไว้ว่าตัวจัดการแพ็คเกจ GNU Guix ขึ้นอยู่กับการพัฒนาของโครงการ Nix และนอกเหนือจากฟังก์ชั่นการจัดการแพ็คเกจทั่วไปแล้ว ยังรองรับคุณสมบัติต่างๆ เช่น การอัปเดตธุรกรรม ความสามารถในการย้อนกลับการอัปเดต ทำงานโดยไม่ได้รับสิทธิ์ผู้ใช้ระดับสูง รองรับโปรไฟล์ เกี่ยวข้องกับผู้ใช้แต่ละรายความสามารถในการติดตั้งโปรแกรมเดียวหลายเวอร์ชันพร้อมกันเครื่องมือรวบรวมขยะ (การระบุและลบแพ็คเกจเวอร์ชันที่ไม่ได้ใช้) ในการกำหนดสคริปต์การสร้างแอปพลิเคชันและกฎการบรรจุ ขอเสนอให้ใช้ภาษาเฉพาะโดเมนระดับสูงเฉพาะและส่วนประกอบ Guile Scheme API ที่อนุญาตให้คุณดำเนินการจัดการแพ็คเกจทั้งหมดในภาษาโปรแกรมการทำงานของ Scheme

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

สภาพแวดล้อมการสร้างสำหรับแพ็คเกจนั้นถูกสร้างขึ้นเป็นคอนเทนเนอร์ที่มีส่วนประกอบทั้งหมดที่จำเป็นสำหรับการทำงานของแอปพลิเคชัน ซึ่งช่วยให้คุณสร้างชุดของแพ็คเกจที่สามารถทำงานได้โดยไม่คำนึงถึงองค์ประกอบของสภาพแวดล้อมระบบพื้นฐานของการแจกจ่าย ซึ่ง Guix ถูกใช้เป็นส่วนเสริม การขึ้นต่อกันสามารถกำหนดได้ระหว่างแพ็คเกจ Guix โดยการสแกนตัวระบุแฮชในไดเร็กทอรีของแพ็คเกจที่ติดตั้งเพื่อค้นหาการมีอยู่ของการขึ้นต่อกันที่ติดตั้งไว้แล้ว แพ็คเกจได้รับการติดตั้งในแผนผังไดเร็กทอรีหรือไดเร็กทอรีย่อยแยกต่างหากในไดเร็กทอรีของผู้ใช้ ซึ่งช่วยให้สามารถอยู่ร่วมกับผู้จัดการแพ็คเกจอื่น ๆ และให้การสนับสนุนการกระจายที่มีอยู่ที่หลากหลาย ตัวอย่างเช่น แพ็คเกจได้รับการติดตั้งเป็น /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/ โดยที่ "452a59..." คือ ID แพ็คเกจเฉพาะที่ใช้ในการควบคุมการขึ้นต่อกัน

การแจกจ่ายนี้รวมเฉพาะส่วนประกอบฟรีและมาพร้อมกับเคอร์เนล GNU Linux-Libre ที่แยกองค์ประกอบเฟิร์มแวร์ไบนารี่ที่ไม่ฟรีออก GCC 12.2 ใช้ในการสร้าง ตัวจัดการบริการ GNU Shepherd (เดิมคือ dmd) ใช้เป็นระบบเริ่มต้น ซึ่งพัฒนาเป็นทางเลือกแทน SysV-init พร้อมการสนับสนุนการพึ่งพา ยูทิลิตี้ควบคุม daemon และยูทิลิตี้ Shepherd เขียนด้วยภาษา Guile (หนึ่งในการใช้งานของภาษา Scheme) ซึ่งใช้เพื่อกำหนดพารามิเตอร์การเริ่มต้นบริการด้วย อิมเมจพื้นฐานรองรับโหมดคอนโซล แต่มีการเตรียมแพ็คเกจสำเร็จรูป 20526 แพ็คเกจสำหรับการติดตั้ง รวมถึงส่วนประกอบกราฟิกสแต็กที่ใช้ X.Org, ตัวจัดการหน้าต่าง dwm และ ratpoison, เดสก์ท็อป GNOME และ Xfce และแอปพลิเคชันกราฟิกที่เลือกสรร

ที่มา: opennet.ru

เพิ่มความคิดเห็น