NIX - Manajer Paket Fungsional murni untuk Linux

NIX - Manajer Paket Fungsional murni untuk Linux

Nix adalah sistem manajemen paket yang kuat dan murni yang dirancang untuk manajemen paket yang andal dan dapat direproduksi, dirilis berdasarkan ketentuan GNU LGPLV2.1. Ini adalah sistem manajemen paket utama di Nixos, distribusi linux yang kurang dikenal.

Nix menawarkan peningkatan atom dan rollback, beberapa versi instalasi paket, manajemen paket multi-pengguna, dan pengaturan lingkungan build yang mudah untuk sebuah paket, terlepas dari bahasa dan alat pemrograman apa yang digunakan pengembang yang digunakan pengembang.

Di bawah Nix, Paket dibangun dari bahasa paket fungsional yang disebut “Ekspresi nix". Pendekatan fungsional untuk manajemen paket ini menjamin bahwa menginstal atau meningkatkan satu paket tidak dapat merusak paket lain.

NIX juga memiliki dukungan multi-pengguna, yang menyiratkan bahwa pengguna sistem normal (atau tidak istimewa) dapat secara aman menginstal paket dan setiap pengguna diidentifikasi oleh profil (kumpulan paket di toko NIX yang muncul di jalur pengguna).

Jika satu pengguna telah menginstal paket, jika pengguna lain mencoba menginstal paket yang sama, paket tidak akan dibangun atau diunduh untuk kedua kalinya.

Saat ini mendukung Linux (i686, x86_64) dan Mac OS X (x86_64). Namun, ini cukup portabel, Anda dapat mencobanya di sebagian besar platform yang mendukung utas POSIX dan memiliki kompiler C ++ 11.

Di artikel ini, kami akan menunjukkan cara menginstal (dalam mode multi pengguna) dan menggunakan Nix Manajer Paket di Linux. Kami akan membahas beberapa tugas manajemen paket dasar sehubungan dengan alat yang umum digunakan.

Cara menginstal nix package manager di linux

Kami akan menginstal versi terbaru Nix (v2.1.3 Pada saat penulisan) dalam mode multi pengguna. Untungnya, ada skrip instalasi siap siap yang dapat Anda jalankan dari shell Anda sebagai pengguna normal menggunakan perintah curl berikut di sistem Anda.

$ sh <(curl https://nixos.org/nix/install) --daemon 

Menjalankan perintah di atas akan mengunduh Tarball Binary Nix terbaru, dan Anda akan mendarat di layar instalasi multi-pengguna NIX seperti yang ditunjukkan di tangkapan layar.

Instal Nix Package Manager di Linux

Untuk melihat daftar terperinci tentang apa yang akan terjadi selama proses instalasi, ketik y dan tekan Memasuki. Jika Anda puas dan siap untuk melanjutkan, ketik y dan tekan Memasuki.

Ringkasan Instalasi NIX

Skrip akan memohon perintah sudo berkali -kali sesuai kebutuhan. Anda perlu mengizinkannya untuk menggunakannya sudo dengan menjawab y dan memukul Memasuki.

Instalasi NIX berlanjut

Penginstal kemudian akan menjalankan beberapa tes dan menghasilkan laporan konfigurasi NIX, membuat Build Pengguna di antara ID Pengguna 30001 Dan 30032, dan grup dengan ID grup 30000. Memasuki y untuk melanjutkan saat diminta. Ini akan mengatur grup build untuk pengguna build yang berbeda, membuat struktur direktori dasar NIX.

Itu akan memodifikasi file /etc/bashrc, (Dan /etc/zshrc Untuk zsh) Jika ada. Perhatikan bahwa itu pertama -tama mendukung file yang disebutkan dengan a .cadangan-before-nix ekstensi dan penginstal juga membuat file /etc/profile.d/nix.SH.

Penginstal juga akan mengatur layanan Nix-Daemon dan Nix-Daemon Socket Service, memuat unit SystemD untuk Nix-Daemon dan memulai dua layanan yang disebutkan di atas.

Setelah instalasi selesai, Anda perlu membuka jendela terminal baru untuk mulai menggunakan NIX. Atau, tutup dan buka kembali shell Anda untuk menerapkan perubahan terbaru. Kemudian sumber file /etc/profile.d/nix.SH (Karena ini bukan file startup shell, membuka shell baru tidak akan sumbernya).

$ source /etc /profile.d/nix.SH 

Selanjutnya, jalankan perintah berikut untuk mengunduh beberapa jalur dari situs web proyek resmi, diperlukan untuk Nix mengoperasikan. Setelah semua jalur diunduh dan disalin ke lokasi yang benar, Anda akan melihat ringkasan jenis instalasi sistem dan nix seperti yang ditunjukkan pada tangkapan layar.

$ nix-shell -p nix-info--run "nix-info -m" 
Ringkasan Instalasi dan Sistem NIX

Cara menggunakan nix package manager di linux

Di bawah Nix, Manajemen paket dilakukan oleh Nix-env kegunaan. Ini digunakan untuk menginstal, meningkatkan, dan menghapus/menghapus paket, dan untuk menanyakan paket apa yang diinstal atau tersedia untuk instalasi.

Semua paket terletak di saluran NIX, yang merupakan URL yang menunjuk ke repositori yang terdiri dari koleksi ekspresi NIX dan penunjuk ke cache biner.

Saluran defaultnya adalah Nixpkgs dan daftar saluran berlangganan disimpan ~/.NIX-Channels, Anda dapat mencantumkannya menggunakan perintah berikut (tidak ada output berarti tidak ada saluran).

$ nix-channel --list 

Untuk menambahkan saluran NIX, gunakan perintah berikut.

$ nix-channel --add https: // nixos.org/saluran/nixpkgs-unstable 

Sebelum Anda menginstal paket apa pun, mulailah dengan memperbarui saluran NIX; Ini mirip dengan berlari Pembaruan yang tepat Di bawah Manajer Paket APT.

$ nix-channel-update 
Perbarui saluran NIX

Anda dapat menanyakan paket apa yang tersedia untuk diinstal menggunakan perintah berikut.

$ nix -env -QA 
Paket kueri tersedia untuk instalasi

Dalam contoh ini, kami akan menginstal server Apache Tomcat menggunakan perintah sebelumnya bersama dengan GREP untuk menemukan paket tersedia untuk diinstal seperti yang ditunjukkan.

$ nix -env -QA | grep "Apache-tomcat" 
Temukan paket untuk instalasi

Untuk menginstal paket, gunakan perintah berikut dengan menentukan versi paket, misalnya Apache-tomcat-9.0.2.

$ nix-env -i apache-tomcat-9.0.2 
Instal Paket Menggunakan Nix

Pada sistem lokal, NIX menyimpan paket di Toko nix, yang secara default /nix/toko direktori, di mana setiap paket memiliki sub-direktori yang unik. Misalnya, Apache-tomcat Paket disimpan di:

/NIX/STORE/95GMGNXLRCPKHLM00FA5AX8KVD6189PY-APACHE-TOMCAT-9.0.2 

Di jalur ini, karakter acak 95GMGNXLRCPKHLM00FA5AX8KVD6189PY adalah pengidentifikasi unik untuk paket yang memperhitungkan semua dependensinya.

Anda dapat membuat daftar paket yang diinstal dengan perintah berikut.

$ nix -env -q 
Daftar paket yang diinstal

Untuk meningkatkan Apache-tomcat paket, Anda dapat menggunakan -u Tingkatkan sakelar seperti yang ditunjukkan.

$ nix-env -u apache-tomcat 

Jika Anda ingin menghapus/menghapus Apache-tomcat, menggunakan -e bendera. Di sini, satu paket tidak dihapus dari sistem segera, itu hanya tidak digunakan. Ini berguna karena Anda ingin melakukan rollback, atau mungkin ada di profil pengguna lain.

$ nix-env -e apache-tomcat 

Setelah melepas paket, Anda dapat melakukan beberapa koleksi sampah dengan Nix-Collect-Garbage kegunaan.

$ nix-collect-garbage 

Cara menghapus manajer paket nix di linux

Untuk menghapus nix, hapus semua file terkait NIX sekaligus.

$ sudo rm -rf/etc/profile/nix.sh /etc /nix /nix ~ root /.nix-profile ~ root/.Nix-Defexpr ~ root/.nix-channels ~/.nix-profile ~/.Nix-Defexpr ~/.NIX-Channels 

Pada sistem dengan SystemD, jalankan perintah berikut untuk menghentikan layanan terkait semua NIX dan menonaktifkannya.

$ sudo systemctl stop nix-daemon.soket $ sudo systemctl stop nix-daemon.Layanan $ Sudo Systemctl Nonaktifkan Nix-Daemon.soket $ sudo systemctl nonaktifkan nix-daemon.Layanan $ Sudo Systemctl Daemon-Reload 

Selain itu, Anda perlu menghapus referensi apa pun ke NIX di file -file ini: /etc/profile, /etc/bashrc, Dan /etc/zshrc.

Untuk informasi lebih lanjut, lihat halaman pria dari utilitas di atas yang telah kita lihat.

$ man nix-channel $ man nix-env 

Anda dapat menemukan dokumentasi NIX Package Manager di situs web proyek: https: // nixos.org/nix/.

Ringkasan

Nix adalah manajer paket murni fungsional yang dirancang untuk manajemen paket yang andal dan dapat direproduksi. Ini memberikan konsep manajemen paket yang menarik, sangat berbeda dengan alat yang umum digunakan di linux seperti yum, apt, dan banyak lainnya.

Di artikel ini, kami menunjukkan cara menginstal NIX dalam mode multi pengguna dan membahas cara melakukan manajemen paket dengan NIX. Bagikan pemikiran Anda dengan kami atau ajukan pertanyaan apa pun melalui formulir komentar di bawah ini. Terakhir, dalam artikel yang akan datang, kami akan menjelaskan lebih banyak perintah manajemen paket nix. Sampai saat itu, tetap terhubung.