Skip to content

바이너리 배포 버전 설치

닉스를 설치하는 가장 쉬운 방법은 다음 명령을 실행하는 것입니다:

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

이는 설치 프로그램을 상호 작용 스타일(어떤 작업을 수행하고 있는지 더 명시적으로 설명하게 만듬)로 실행하고, 사용자 플랫폼의 기본 "타입" 설치를 수행합니다: - 리눅스에서 단일 사용자 - 맥OS에서 다중 사용자

맥OS 10.15 카탈리나의 읽기 전용 파일 시스템을 루트로 사용하고 있는 경우

  • 깔끔하게 지원하기까지 시간이 좀 걸립니다. 포스트나 예시, 오래된 해결 방법 튜토리얼을 보게 될 수도 있습니다.
  • 단일 사용자를 위해 맥OS에서 깔끔하게 설치하는 과정 지원은 너무나 복잡해지기 때문에, 이 타입은 더이상 맥OS에서 지원되지 않습니다.

만일 플랫폼이 다중 사용자 타입을 지원한다면 sudo 권한을 가지고, 다중 사용자 타입으로 설치하는 것을 권장합니다.

단일 사용자 설치

시스템에 명시적으로 단일 사용자 설치를 하기 위해:

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

이 과정은 /nix를 설치한 사용자가 소유하는 단일 사용자 설치를 수행합니다. 반드시 루트가 아닌 일반 사용자 계정을 통해서만 위 명령을 실행해야 합니다. 스크립트는 /nix 디렉터리가 이미 존재하지 않는다면, sudo를 통해 수행할 것입니다. sudo가 시스템에 없다면, 우선 루트 계정을 통해 /nix 디렉터리를 수동으로 만들어아먄 합니다.

$ mkdir /nix
$ chown alice /nix

설치 스크립트는 ~/.nix-profile/etc/profile.d/nix.sh를 불러낼 수 있도록 .bash_profile, .bash_login 그리고 .profile 중 첫 번째로 마주하는 수정 가능한 파일을 수정합니다. 이런 행위를 방지하고자 한다면 설치 스크립트 실행 전에 NIX_INSTALLER_NO_MODIFY_PROFILE 환경 변수를 설정할 수 있습니다.

닉스를 삭제하고자 한다면 아래를 입력합니다:

$ rm -rf /nix

다중 사용자 설치

다중 사용자용 닉스 설치는 시스템 사용자와 닉스 데몬을 위한 시스템 서비스를 생성합니다.

지원 시스템 - SELinux가 비사용으로 설정된, systemd 사용 리눅스 - 맥OS

다음 명령을 통해 설치 프로그램이 다중 사용자용 설치를 수행하도록 지시합니다:

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

닉스 다중 사용자용 설치는 유저 ID 30001~30032 사이의 빌드 사용자와, 그룹 ID 30000 그룹을 생성합니다. 반드시 루트가 아닌 일반 사용자로 실행하시기 바랍니다. 필요하다면 스크립트가 알아서 sudo를 실행합니다.

주의

만약 다른 그룹 ID와 사용자 ID를 닉스에게 부여하고자 하는 경우, 압축 파일을 직접 다운로드 받고, 설치 스크립트를 수정해야 합니다.

설치 프로그램은 /etc/bashrc/etc/zshrc가 존재하면 해당 파일을 수정합니다. 설치 프로그램은 .backup-before-nix 확장자를 붙여 수정하고자 하는 파일을 백업부터 진행합니다. 설치 프로그램은 /etc/profile.d/nix.sh도 생성합니다.

닉스는 다음 명령을 통해 삭제할 수 있습니다:

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

# If you are on Linux with systemd, you will need to run:
sudo systemctl stop nix-daemon.socket
sudo systemctl stop nix-daemon.service
sudo systemctl disable nix-daemon.socket
sudo systemctl disable nix-daemon.service
sudo systemctl daemon-reload

# If you are on macOS, you will need to run:
sudo launchctl unload /Library/LaunchDaemons/org.nixos.nix-daemon.plist
sudo rm /Library/LaunchDaemons/org.nixos.nix-daemon.plist

아마 /etc/profile, /etc/bashrc, 그리고 /etc/zshrc가 닉스를 참조할 수 있는데 삭제해도 됩니다.

맥OS 설치

최근 맥OS에서 읽기 전용 루트 파일 시스템에 닉스를 깔끔히 설치하기 위한 방법을 생략한 것으로 보입니다. 새 설치 프로그램은 자동적으로 이를 수행하며, 기존에 존재하는 환경을 전환하려면 새 설치 프로그램을 재실행할 수도 있습니다.

이 섹션은 기존에 상황과 옵션, 포기해야 하는 것들에 대해 상세히 설명하고 있었지만 현재는 설치 프로그램이 하는 작업만을 소개합니다. 설치 프로그램 실행을 위해 이런 사항을 알 필요는 없지만, 혹시 마주할 문제를 해결하는데 도움이 됩니다:

  • 닉스 저장소를 위한 새로운 APFS를 생성
  • /etc/synthetic.conf를 수정하여 맥OS가 사용자 볼륨을 마운트 할 수 있는 빈 루트 디렉터리 "synthetic"을 생성할 수 있게 함
  • /etc/fstab에 볼륨 마운트 옵션을 명시
  • 만약 FileVault가 켜져 있으면
    • 암호화 비밀번호 생성
    • 시스템 키체인에 투입
    • 볼륨 암호화 위해 해당 키 사용
  • 닉스 저장소에 접근해야하는 프로그램이 로딩이나 복구 중 문제를 야기하지 않도록 부팅 과정에서 충분히 일찍 이 볼륨을 마운트할 수 있게 시스템 LaunchDaemon을 생성

URL을 활용해 닉스 고정 버전 설치

NixOS.org는 https://releases.nixos.org/nix/nix-version/install에 1.11.16 버전부터, 모든 닉스 버전에 해당하는 설치 URL을 제공합니다.

이 설치 스크립트들은 NixOS.org의 메인 설치 스크립트와 동일한 방법으로 사용할 수 있습니다:

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

설치 스크립트 디렉터리에 sha256 계산값과 gpg 서명 파일이 들어있습니다.

바이너리 압축 파일로 설치

닉스와 의존성을 모두 포함하는 바이너리 압축 파일을 다운로드 받을 수도 있습니다. (이것은 https://nixos.org/nix/install의 설치 스크립트가 자동적으로 수행하는 것이기도 합니다.) 해당 바이너리 압축 파일을 어딘가(예. /tmp)에 압축 해제하고 install이라는 이름의 스크립트를 실행합니다:

$ cd /tmp
$ tar xfj nix-1.8-x86_64-darwin.tar.bz2
$ cd nix-1.8-x86_64-darwin
$ ./install

만약 다중 사용자 설치 스크립트가 다른 그룹 ID나 다른 사용자 ID 번위를 사용해야 한다면, install-multi-user 파일에 적힌 변수들을 수정해야만 합니다.


Last update: November 4, 2021
Back to top