GNU/Linux >> Linux の 問題 >  >> Linux

Nix –LinuxおよびUnix用の強力なパッケージマネージャー

少し前に、 Linuxbrewについて書きました 、LinuxおよびMac OS Xの一般的なパッケージマネージャー。Linuxbrewの際立った特徴は、rootまたはsudoなしでパッケージをインストールできることです。 特権。今日、このガイドでは、さらに別の同様のパッケージマネージャーについて説明します。 ニックスに会う 、Linuxおよびその他のUnixバリアント用の純粋に機能的で信頼性の高いパッケージマネージャー。他のパッケージマネージャーとは異なり、同じパッケージの複数のバージョンのサイドバイサイドインストール、アトミックサポートとロールバックサポート、ユーザーごとのパッケージ管理、パッケージ開発環境の簡単なセットアップなどを提供します。 Nixパッケージマネージャーは元々NixOSのために開発されました 、パッケージおよび構成管理への独自のアプローチを備えたGNU/Linuxディストリビューション。 NixOSは当初、 Eelco Dolstraによって研究プロジェクトとして開始されました。 2003年。

機能

Nixパッケージマネージャーは、機能と機能の点で他のLinuxパッケージマネージャーとは少し異なります。機能に関しては、以下をリストすることができます:

  • マルチユーザーパッケージ管理システム。つまり、システム内の各ユーザーは、異なるインストール済みパッケージのセットを持つことができます。
  • ユーザーは、rootまたはsudoユーザー権限なしでパッケージをインストールできます。
  • NixパッケージマネージャーはパッケージをNixストアに保存します 、通常はディレクトリ / nix / store 。各パッケージには、独自のサブディレクトリがあります。たとえば、パッケージ gzip 一意のディレクトリ/nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/に保存されます 必要なすべての依存関係とライブラリとともに。
  • 異なるユーザーは、同じパッケージの異なるバージョンを同時にインストールできます。さまざまなバージョンのパッケージと依存関係で構築されたアプリケーションをテストしたい開発者に適しています。
  • すべてのパッケージは一意のディレクトリにインストールされるため、あるユーザーが別のユーザーによってインストールされたパッケージに干渉することはできません(パッケージの削除、更新、アップグレードなど)。また、パッケージをアップグレードまたは更新しても、同じパッケージの他のバージョンやその依存関係には影響しません。
  • 以前のバージョンへのパッケージのロールバックが可能です。
  • アトミックアップグレードのサポート。これは、パッケージをアップグレードするときに、既存のバージョンが上書きされないことを意味します。新しいバージョンはそれぞれ、新しい一意のディレクトリに保存されます。パッケージは上書きされないため、アップグレード後も古いバージョンを引き続き利用できます。
  • 未使用のパッケージは安全に削除できます。
  • DevOps対応のパッケージマネージャー。 Nixは、リポジトリでまだ利用できない場合に、ユーザーがソースからパッケージを構築するのに役立ちます。そのため、Nixは、パッケージのビルド環境を簡単に自動的に設定できるため、開発者にとって非常に便利です。
  • NixパッケージマネージャーはGNU/LinuxおよびMacOSXで使用できます。

次に、UnixライクなオペレーティングシステムにNixPackageManagerをインストールする方法を説明します。

LinuxにNixパッケージマネージャーをインストールする

Nixパッケージマネージャーのインストールは簡単です。

Linuxボックスにインストールするには、通常のユーザーとして実行します。

$ curl https://nixos.org/nix/install | sh

出力例:

 % 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.

Nixをインストールした後、ログアウトしてシステムに再度ログインし、必要な環境変数が正しく設定されていることを確認します。または、ターミナルから次のコマンドを実行して確認します。

$ . /home/sk/.nix-profile/etc/profile.d/nix.sh

冒頭にドット(。)がありますのでご注意ください。出力が表示されない場合は、これで完了です。 Nixパッケージマネージャーがシステムに正常にインストールされました。また、システムにログインした後、毎回上記のコマンドを実行しないように、プロファイルPATHに上記の行を追加してください。

これを行うには、〜/.profileを編集します または〜/ .bashrc (または同様の):

$ vi ~/.bashrc

最後に次の行を追加します。

. /home/sk/.nix-profile/etc/profile.d/nix.sh

ファイルを保存して閉じます。システムを再起動します。これで、システムにログインした後、毎回上記のコマンドを実行する必要がなくなりました。

次のチュートリアルでは、Nixパッケージマネージャーを使用して、パッケージのインストール、削除、更新、アップグレード、ビルドなどの一般的なパッケージ管理操作を実行する方法について説明します。

  • Nixパッケージマネージャーの使用を開始する

Linux
  1. LinuxでYarnPackageManagerをインストールして使用する方法

  2. Nix –LinuxおよびUnix用の強力なパッケージマネージャー

  3. Fotoxx –Linux用のフォトエディターおよびコレクションマネージャー

  1. Fluxbox に柔軟に対応できますか? – UNIX / Linux 用の軽量 X Window Manager

  2. UNIX / Linux:mod_perl を Apache 2 にインストールして構成する方法

  3. Linux 用の完全に統合されたパッケージ マネージャーがないのはなぜですか?

  1. AlmaLinux8にSnapPackageManagerをインストールして使用する方法

  2. Linuxbrew –LinuxおよびMacOSX用の一般的なパッケージマネージャー

  3. DistroTest –LinuxおよびUnixオペレーティングシステムをオンラインで無料でテスト