Trình quản lý và phân phối gói GNU Guix 1.4 dựa trên nó có sẵn

Trình quản lý gói GNU Guix 1.4 và bản phân phối GNU/Linux được xây dựng trên cơ sở của nó đã được phát hành. Để tải xuống, hình ảnh đã được tạo để cài đặt trên USB Flash (814 MB) và sử dụng trong các hệ thống ảo hóa (1.1 GB). Hỗ trợ hoạt động trên các kiến ​​trúc i686, x86_64, Power9, armv7 và aarch64.

Bản phân phối này cho phép cài đặt dưới dạng một hệ điều hành độc lập trong các hệ thống ảo hóa, trong các thùng chứa và trên thiết bị thông thường, đồng thời có thể được khởi chạy trong các bản phân phối GNU/Linux đã được cài đặt sẵn, hoạt động như một nền tảng để triển khai các ứng dụng. Người dùng được cung cấp các chức năng như tính đến các phần phụ thuộc, các bản dựng có thể lặp lại, hoạt động không cần root, quay lại các phiên bản trước trong trường hợp có sự cố, quản lý cấu hình, môi trường nhân bản (tạo bản sao chính xác của môi trường phần mềm trên các máy tính khác), v.v. .

Những đổi mới chính:

  • Cải thiện việc quản lý môi trường phần mềm. Lệnh “guix môi trường” đã được thay thế bằng lệnh “guix shell” mới, cho phép bạn không chỉ tạo môi trường xây dựng cho nhà phát triển mà còn sử dụng môi trường để làm quen với các chương trình mà không bị phản ánh trong hồ sơ và không thực hiện “ cài đặt guix”. Ví dụ: để tải xuống và khởi chạy trò chơi supertuxkart, bạn có thể chạy “guix shell supertuxkart - supertuxkart”. Sau khi tải xuống, gói sẽ được lưu vào bộ đệm và lần khởi chạy tiếp theo sẽ không yêu cầu giải nén lại.

    Để đơn giản hóa việc tạo môi trường cho nhà phát triển, “guix shell” cung cấp hỗ trợ cho các tệp guix.scm vàManifest.scm mô tả thành phần của môi trường (có thể sử dụng tùy chọn “--export-manifest” để tạo tệp). Để tạo các vùng chứa trong đó hệ thống phân cấp thư mục hệ thống cổ điển được mô phỏng, “guix shell” cung cấp các tùy chọn “—container —emulate-fhs”.

  • Đã thêm lệnh "guix home" để kiểm soát môi trường gia đình. Guix cho phép bạn xác định tất cả các thành phần của môi trường gia đình, bao gồm các gói, dịch vụ và tệp bắt đầu bằng dấu chấm. Bằng cách sử dụng lệnh "guix home", các phiên bản của môi trường gia đình được mô tả có thể được tạo lại trong thư mục $HOME hoặc trong một vùng chứa chẳng hạn để chuyển môi trường của bạn sang một máy tính mới.
  • Đã thêm tùy chọn "-f deb" vào lệnh "guix pack" để tạo các gói gỡ lỗi riêng biệt có thể cài đặt trên Debian.
  • Để tạo nhiều loại hình ảnh hệ thống khác nhau (thô, QCOW2, ISO8660 CD/DVD, Docker và WSL2), lệnh “hình ảnh hệ thống guix” phổ quát được đề xuất, cho phép bạn xác định loại lưu trữ, phân vùng và hệ điều hành cho hình ảnh đã tạo .
  • Tùy chọn “—tune” đã được thêm vào các lệnh xây dựng gói, cho phép bạn chỉ định vi kiến ​​trúc bộ xử lý để bật những tối ưu hóa cụ thể nào (ví dụ: các lệnh SIMD AVX-512 có thể được sử dụng trên các CPU AMD và Intel mới) .
  • Trình cài đặt triển khai cơ chế tự động lưu thông tin gỡ lỗi quan trọng trong trường hợp cài đặt không thành công.
  • Thời gian khởi động ứng dụng đã được giảm bớt bằng cách sử dụng bộ nhớ đệm trong quá trình liên kết động, giúp giảm các cuộc gọi đến chỉ số và lệnh gọi hệ thống mở khi tìm kiếm thư viện.
  • Một bản phát hành mới của hệ thống khởi tạo GNU Shepherd 0.9 đã được sử dụng, hệ thống này triển khai khái niệm dịch vụ tạm thời (tạm thời) và khả năng tạo các dịch vụ được kích hoạt bởi hoạt động mạng (theo kiểu kích hoạt ổ cắm systemd).
  • Đã thêm giao diện mới để đặt kích thước phân vùng trao đổi trong cấu hình hệ điều hành.
  • Giao diện để thiết lập cấu hình mạng tĩnh đã được thiết kế lại, hiện cung cấp kiểu khai báo tương tự của các cài đặt theo kiểu lệnh ip.
  • Đã thêm 15 dịch vụ hệ thống mới, bao gồm Jami, Samba, Fail2ban và Gitile.
  • Ra mắt packages.guix.gnu.org để điều hướng gói.
  • Các phiên bản chương trình trong 6573 gói đã được cập nhật, 5311 gói mới được thêm vào. Trong số những thứ khác, các phiên bản cập nhật của 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. Đã xóa hơn 500 gói bằng Python 2.

Trình quản lý và phân phối gói GNU Guix 1.4 dựa trên nó có sẵn

Chúng ta hãy nhớ lại rằng trình quản lý gói GNU Guix dựa trên sự phát triển của dự án Nix và ngoài các chức năng quản lý gói điển hình, còn hỗ trợ các tính năng như thực hiện cập nhật giao dịch, khả năng khôi phục các bản cập nhật, hoạt động mà không cần có đặc quyền siêu người dùng, hỗ trợ hồ sơ gắn liền với người dùng cá nhân, khả năng cài đặt đồng thời nhiều phiên bản của một chương trình, công cụ thu gom rác (xác định và xóa các phiên bản gói không sử dụng). Để xác định các kịch bản xây dựng ứng dụng và quy tắc hình thành gói, chúng tôi đề xuất sử dụng ngôn ngữ dành riêng cho miền cấp cao chuyên biệt và các thành phần API Guile Schema, cho phép bạn thực hiện tất cả các hoạt động quản lý gói trong Lược đồ ngôn ngữ lập trình chức năng.

Hỗ trợ khả năng sử dụng các gói được chuẩn bị cho trình quản lý gói Nix và được đặt trong kho Nixpkgs. Ngoài các thao tác với gói, có thể tạo tập lệnh để quản lý cấu hình ứng dụng. Khi một gói được xây dựng, tất cả các phần phụ thuộc liên quan đến gói đó sẽ được tự động tải xuống và xây dựng. Có thể tải xuống các gói nhị phân làm sẵn từ kho lưu trữ hoặc xây dựng từ văn bản nguồn với tất cả các phụ thuộc. Các công cụ đã được triển khai để cập nhật phiên bản của các chương trình đã cài đặt bằng cách tổ chức cài đặt các bản cập nhật từ kho lưu trữ bên ngoài.

Môi trường xây dựng cho các gói được hình thành dưới dạng một thùng chứa tất cả các thành phần cần thiết để ứng dụng hoạt động, cho phép bạn tạo một tập hợp các gói có thể hoạt động mà không cần quan tâm đến thành phần môi trường hệ thống cơ sở của bản phân phối, trong đó Guix được sử dụng như một tiện ích bổ sung. Các phần phụ thuộc có thể được xác định giữa các gói Guix bằng cách quét các giá trị băm định danh trong thư mục gói đã cài đặt để tìm sự hiện diện của các phần phụ thuộc đã được cài đặt. Các gói được cài đặt trong một cây thư mục hoặc thư mục con riêng biệt trong thư mục của người dùng, cho phép nó cùng tồn tại song song với các trình quản lý gói khác và cung cấp hỗ trợ cho nhiều loại bản phân phối hiện có. Ví dụ: gói được cài đặt dưới dạng /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, trong đó "452a59..." là mã định danh gói duy nhất dùng để giám sát phần phụ thuộc.

Bản phân phối chỉ bao gồm các thành phần miễn phí và đi kèm với nhân GNU Linux-Libre, được làm sạch các phần tử không miễn phí của phần sụn nhị phân. GCC 12.2 được sử dụng để lắp ráp. Trình quản lý dịch vụ GNU Shepherd (trước đây là dmd) được sử dụng làm hệ thống khởi tạo, được phát triển thay thế cho SysV-init với sự hỗ trợ phụ thuộc. Daemon điều khiển Shepherd và các tiện ích được viết bằng Guile (một trong những triển khai của ngôn ngữ Đề án), ngôn ngữ này cũng được sử dụng để xác định các tham số cho việc khởi chạy dịch vụ. Hình ảnh cơ sở hỗ trợ hoạt động ở chế độ bảng điều khiển, nhưng 20526 gói làm sẵn đã được chuẩn bị để cài đặt, bao gồm các thành phần của ngăn xếp đồ họa dựa trên X.Org, trình quản lý cửa sổ dwm và ratpoison, máy tính để bàn Gnome và Xfce, cũng như một số lựa chọn đồ họa các ứng dụng.

Nguồn: opennet.ru

Thêm một lời nhận xét