Manajer paket GNU Guix 1.4 dan distribusi berdasarkan itu tersedia

Manajer paket GNU Guix 1.4 dan distribusi GNU/Linux yang dibangun berdasarkan basis tersebut telah dirilis. Untuk diunduh, gambar telah dibuat untuk instalasi pada USB Flash (814 MB) dan digunakan dalam sistem virtualisasi (1.1 GB). Mendukung pengoperasian pada arsitektur i686, x86_64, Power9, armv7 dan aarch64.

Distribusi ini memungkinkan instalasi baik sebagai OS yang berdiri sendiri dalam sistem virtualisasi, dalam container dan pada peralatan konvensional, dan dapat diluncurkan pada distribusi GNU/Linux yang sudah terinstal, bertindak sebagai platform untuk menyebarkan aplikasi. Pengguna diberikan fungsi-fungsi seperti memperhitungkan dependensi, build yang dapat diulang, bekerja tanpa root, kembali ke versi sebelumnya jika terjadi masalah, manajemen konfigurasi, mengkloning lingkungan (membuat salinan persis dari lingkungan perangkat lunak di komputer lain), dll. .

Inovasi utama:

  • Peningkatan manajemen lingkungan perangkat lunak. Perintah "guix environment" telah diganti dengan perintah "guix shell" yang baru, yang memungkinkan Anda tidak hanya membuat lingkungan build untuk pengembang, tetapi juga menggunakan lingkungan untuk membiasakan diri dengan program tanpa tercermin dalam profil dan tanpa melakukan " instalasi guix”. Misalnya, untuk mengunduh dan meluncurkan game supertuxkart, Anda dapat menjalankan “guix shell supertuxkart - supertuxkart”. Setelah diunduh, paket akan disimpan dalam cache dan peluncuran berikutnya tidak perlu diekstraksi ulang.

    Untuk menyederhanakan pembuatan lingkungan bagi pengembang, “guix shell” menyediakan dukungan untuk file guix.scm dan manifest.scm yang menjelaskan komposisi lingkungan (opsi “--export-manifest” dapat digunakan untuk menghasilkan file). Untuk membuat container di mana hierarki direktori sistem klasik ditiru, “guix shell” menawarkan opsi “—container —emulate-fhs”.

  • Menambahkan perintah "guix home" untuk mengontrol lingkungan rumah. Guix memungkinkan Anda menentukan semua komponen lingkungan rumah Anda, termasuk paket, layanan, dan file yang dimulai dengan titik. Dengan menggunakan perintah "guix home", contoh lingkungan rumah yang dijelaskan dapat dibuat ulang di direktori $HOME atau dalam wadah, misalnya, untuk mentransfer lingkungan Anda ke komputer baru.
  • Menambahkan opsi "-f deb" ke perintah "guix pack" untuk membuat paket deb terpisah yang dapat diinstal di Debian.
  • Untuk membuat berbagai jenis image sistem (mentah, QCOW2, ISO8660 CD/DVD, Docker dan WSL2), perintah universal “guix system image” diusulkan, yang memungkinkan Anda menentukan jenis penyimpanan, partisi, dan sistem operasi untuk image yang dibuat .
  • Opsi “—tune” telah ditambahkan ke perintah untuk membuat paket, yang memungkinkan Anda menentukan mikroarsitektur prosesor yang pengoptimalan spesifiknya akan diaktifkan (misalnya, instruksi SIMD AVX-512 dapat digunakan pada CPU AMD dan Intel baru) .
  • Penginstal menerapkan mekanisme untuk secara otomatis menyimpan informasi debug penting jika terjadi kegagalan instalasi.
  • Waktu startup aplikasi telah dikurangi dengan menggunakan cache selama penautan dinamis, yang mengurangi panggilan ke stat dan panggilan sistem terbuka saat mencari perpustakaan.
  • Rilis baru sistem inisialisasi GNU Shepherd 0.9 telah digunakan, yang mengimplementasikan konsep layanan sementara (sementara) dan kemampuan untuk membuat layanan yang diaktifkan oleh aktivitas jaringan (dalam gaya aktivasi soket systemd).
  • Menambahkan antarmuka baru untuk mengatur ukuran partisi swap dalam konfigurasi sistem operasi.
  • Antarmuka untuk mengatur konfigurasi jaringan statis telah didesain ulang, yang sekarang menawarkan analog pengaturan deklaratif dalam gaya perintah ip.
  • Menambahkan 15 layanan sistem baru, termasuk Jami, Samba, fail2ban dan Gitile.
  • Meluncurkan paket.guix.gnu.org untuk navigasi paket.
  • Versi program dalam 6573 paket telah diperbarui, 5311 paket baru ditambahkan. Antara lain, versi terbaru 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. Menghapus lebih dari 500 paket menggunakan Python 2.

Manajer paket GNU Guix 1.4 dan distribusi berdasarkan itu tersedia

Ingatlah bahwa manajer paket GNU Guix didasarkan pada pengembangan proyek Nix dan, selain fungsi manajemen paket yang khas, mendukung fitur-fitur seperti melakukan pembaruan transaksional, kemampuan untuk mengembalikan pembaruan, bekerja tanpa memperoleh hak pengguna super, mendukung profil yang terkait dengan pengguna individu, kemampuan untuk menginstal beberapa versi dari satu program secara bersamaan, alat pengumpulan sampah (mengidentifikasi dan menghapus versi paket yang tidak digunakan). Untuk menentukan skenario pembangunan aplikasi dan aturan pembentukan paket, diusulkan untuk menggunakan bahasa khusus domain tingkat tinggi dan komponen API Skema Guile, yang memungkinkan Anda melakukan semua operasi manajemen paket dalam Skema bahasa pemrograman fungsional.

Kemampuan untuk menggunakan paket yang disiapkan untuk manajer paket Nix dan ditempatkan di repositori Nixpkgs didukung. Selain operasi dengan paket, dimungkinkan untuk membuat skrip untuk mengelola konfigurasi aplikasi. Ketika sebuah paket dibuat, semua dependensi yang terkait dengannya secara otomatis diunduh dan dibuat. Dimungkinkan untuk mengunduh paket biner yang sudah jadi dari repositori atau membangun dari teks sumber dengan semua dependensi. Alat telah diterapkan untuk menjaga versi program yang diinstal tetap mutakhir dengan mengatur instalasi pembaruan dari repositori eksternal.

Lingkungan build untuk paket dibentuk dalam bentuk wadah yang berisi semua komponen yang diperlukan agar aplikasi dapat berfungsi, yang memungkinkan Anda membuat sekumpulan paket yang dapat bekerja tanpa memperhatikan komposisi lingkungan sistem dasar distribusi, di mana Guix digunakan sebagai add-on. Ketergantungan dapat ditentukan antara paket Guix dengan memindai hash pengidentifikasi di direktori paket yang diinstal untuk menemukan keberadaan dependensi yang sudah diinstal. Paket dipasang di pohon direktori atau subdirektori terpisah di direktori pengguna, memungkinkannya untuk hidup berdampingan secara paralel dengan pengelola paket lain dan memberikan dukungan untuk berbagai distribusi yang ada. Misalnya, paket diinstal sebagai /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, dengan "452a59..." adalah pengidentifikasi paket unik yang digunakan untuk pemantauan ketergantungan.

Distribusi ini hanya mencakup komponen gratis dan dilengkapi dengan kernel GNU Linux-Libre, dibersihkan dari elemen firmware biner yang tidak bebas. GCC 12.2 digunakan untuk perakitan. Manajer layanan GNU Shepherd (sebelumnya dmd) digunakan sebagai sistem inisialisasi, dikembangkan sebagai alternatif SysV-init dengan dukungan ketergantungan. Daemon dan utilitas kontrol Shepherd ditulis dalam Guile (salah satu implementasi bahasa Skema), yang juga digunakan untuk menentukan parameter untuk meluncurkan layanan. Gambar dasar mendukung pekerjaan dalam mode konsol, tetapi 20526 paket siap pakai disiapkan untuk instalasi, termasuk komponen tumpukan grafis berbasis X.Org, pengelola jendela dwm dan ratpoison, desktop GNOME dan Xfce, serta pilihan grafis aplikasi.

Sumber: opennet.ru

Tambah komentar