Beberapa waktu yang lalu, kami telah menulis tentang Linuxbrew , manajer paket umum untuk Linux dan Mac OS X. Fitur yang membedakan Linuxbrew adalah Anda dapat menginstal paket tanpa root atau sudo hak istimewa. Hari ini, dalam panduan ini, kita akan membahas tentang pengelola paket serupa lainnya. Temui Nix , manajer paket yang murni fungsional dan andal untuk Linux dan varian Unix lainnya. Tidak seperti manajer paket lainnya, ini menyediakan instalasi berdampingan dari beberapa versi paket yang sama, dukungan atomik dan rollback, manajemen paket per pengguna, pengaturan lingkungan pengembangan paket yang mudah, dan banyak lagi. Manajer paket Nix awalnya dikembangkan untuk NixOS , distribusi GNU/Linux dengan pendekatan unik untuk manajemen paket dan konfigurasi. NixOS awalnya dimulai sebagai proyek penelitian oleh Eelco Dolstra pada tahun 2003.
Fitur
Manajer paket Nix sedikit berbeda dari manajer paket Linux lainnya dalam hal fungsionalitas dan fitur. Mengenai fitur-fiturnya, kami dapat membuat daftar berikut:
- Sistem manajemen paket multi-pengguna. Artinya, setiap pengguna dalam sistem dapat memiliki kumpulan paket terinstal yang berbeda.
- Pengguna dapat menginstal paket tanpa hak pengguna root atau sudo.
- Manajer paket Nix menyimpan paket di Toko Nix , biasanya direktori /nix/store . Setiap paket memiliki subdirektori uniknya sendiri. Misalnya, paket gzip akan disimpan di bawah direktori unik /nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/ bersama dengan semua dependensi dan pustaka yang diperlukan.
- Pengguna yang berbeda dapat menginstal versi yang berbeda dari paket yang sama pada waktu yang sama. Ini bagus untuk pengembang yang ingin menguji aplikasi mereka yang dibuat dengan versi paket dan dependensi yang berbeda.
- Karena semua paket diinstal dalam direktori unik, satu pengguna tidak dapat mengganggu (seperti menghapus, memperbarui atau meningkatkan paket) dengan paket yang diinstal oleh pengguna lain. Selain itu, mengupgrade atau mengupdate paket tidak memengaruhi versi lain dari paket yang sama atau dependensinya.
- Mengembalikan paket ke versi sebelumnya dimungkinkan.
- Dukungan peningkatan versi atom. Ini berarti bahwa ketika Anda memutakhirkan sebuah paket, itu tidak menimpa versi yang ada. Setiap versi baru akan disimpan di bawah direktori unik baru. Karena paket tidak ditimpa, versi lama masih tersedia bahkan setelah peningkatan versi.
- Paket yang tidak digunakan dapat dihapus dengan aman.
- Pengelola paket yang mendukung DevOps. Nix membantu pengguna membangun paket dari sumber, jika belum tersedia di repositori. Jadi, Nix sangat berguna bagi developer karena memudahkan penyiapan lingkungan build untuk sebuah paket secara otomatis.
- Manajer paket Nix dapat digunakan di GNU/Linux dan Mac OS X.
Sekarang, kita akan melihat cara menginstal Nix Package manager di sistem operasi mirip Unix.
Instal manajer paket Nix Di Linux
Menginstal manajer paket Nix itu sepele.
Untuk menginstalnya di kotak Linux Anda, jalankan sebagai pengguna biasa:
$ curl https://nixos.org/nix/install | sh
Contoh keluaran:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2354 100 2354 0 0 833 0 0:00:02 0:00:02 --:--:-- 833 downloading Nix 1.11.9 binary tarball for x86_64-linux from 'https://nixos.org/releases/nix/nix-1.11.9/nix-1.11.9-x86_64-linux.tar.bz2' to '/tmp/nix-binary-tarball-unpack.SoCHJhv4Vz'... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 27.3M 100 27.3M 0 0 525k 0 0:00:53 0:00:53 --:--:-- 248k performing a single-user installation of Nix... directory /nix does not exist; creating it by running ‘mkdir -m 0755 /nix && chown sk /nix’ using sudo [sudo] password for sk: copying Nix to /nix/store............................... initialising Nix database... creating /home/sk/.nix-profile installing ‘nix-1.11.9’ building path(s) ‘/nix/store/7dv1lghxz40rbvv9ffg7fq2as972a4r7-user-environment’ created 6 symlinks in user environment downloading Nix expressions from ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’... downloading ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’... [7625/8656 KiB, 403.0 KiB/s] unpacking channels... created 2 symlinks in user environment modifying /home/sk/.bash_profile... Installation finished! To ensure that the necessary environment variables are set, either log in again, or type . /home/sk/.nix-profile/etc/profile.d/nix.sh in your shell.
Setelah menginstal Nix, keluar dan masuk kembali ke sistem Anda untuk memverifikasi bahwa variabel lingkungan yang diperlukan telah diatur dengan benar. Atau, jalankan perintah berikut dari Terminal untuk memastikannya.
$ . /home/sk/.nix-profile/etc/profile.d/nix.sh
Harap dicatat bahwa ada titik (.) di awal. Jika Anda tidak melihat output apa pun, maka Anda selesai! Manajer paket Nix telah berhasil diinstal pada sistem Anda. Juga, tambahkan baris di atas ke PATH profil Anda untuk menghindari menjalankan perintah di atas setiap kali setelah masuk ke sistem Anda.
Untuk melakukannya, edit ~/.profile atau ~/.bashrc (atau serupa):
$ vi ~/.bashrc
Tambahkan baris berikut di akhir.
. /home/sk/.nix-profile/etc/profile.d/nix.sh
Simpan dan tutup file. Nyalakan ulang sistem Anda. Sekarang, Anda tidak perlu menjalankan perintah di atas setiap kali masuk ke sistem Anda.
Tutorial berikut menjelaskan cara menggunakan manajer paket Nix untuk melakukan operasi manajemen paket umum seperti menginstal, menghapus, memperbarui, meningkatkan, dan membangun paket.
- Memulai Pengelola Paket Nix