GNU/Linux >> Belajar Linux >  >> Linux

Nix – Manajer Paket yang Kuat untuk Linux dan Unix

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

Linux
  1. Cara Menginstal dan Menggunakan Snap Package Manager di Alma Linux 8

  2. Cara Menginstal Dan Menggunakan Manajer Paket Benang Di Linux

  3. Linuxbrew – Manajer Paket Umum Untuk Linux dan Mac OS X

  1. Apa manajer paket Linux favorit Anda?

  2. Mengapa tidak ada pengelola paket yang benar-benar terpadu untuk Linux?

  3. Pengelola/pemasang paket berbasis Git untuk Linux

  1. Menginstal dan Menggunakan Pengelola Paket Homebrew di Linux

  2. Fleksibel untuk Fluxbox? – X Window Manager Ringan untuk UNIX / Linux

  3. UNIX / Linux:Cara Menginstal dan Mengonfigurasi mod_perl untuk Apache 2