NixOS에서 외부 장치를 자동으로 마운트/영구적으로 마운트하는 방법

NixOS에서 외부 장치를 자동으로 마운트/영구적으로 마운트하는 방법

USB 드라이브와 NTFS 하드 디스크 파티션이 있고 이를 NixOS에서 사용하고 싶습니다. 다른 배포판에서는 ntfs-3gin 을 사용하여 설치 합니다 /mnt. 그러나 NixOS에는 해당 디렉토리가 존재하지 않습니다. NixOS에는 이를 수행할 수 있는 다른 표준적인 방법 및/또는 장소가 있다고 생각됩니다.

NixOS에서 외부 파티션의 자동 마운트를 어떻게 설정해야 하며 가장 좋은 사용 방법은 무엇입니까 configuration.nix?

답변1

글쎄요, 저는 주로 USB 스틱을 사용 bashmount하거나 설치합니다. udisksctl에 설치됩니다 /run/media/$(user name)/$(drive label or UUID).

그러나 내부 하드 드라이브나 로컬 하드 드라이브의 파티션에 대해 이야기하는 경우 가장 쉬운 방법은 다음과 같습니다.

  1. /mnt/windows-partition과 같이 원하는 디렉터리를 만듭니다.
  2. 이 디렉터리에 필요한 파티션을 마운트합니다(예: /dev/sdn5):

$mount /dev/sdn5 /mnt/windows-partition

  1. 달리기nixos 빌드 구성. 업데이트됩니다/etc/nixos/hardwareconfig.nix새 파티션 구성과 일치하도록(그리고구성.nix사용하지 않는 한 변경되지 않은 상태로 유지됩니다.- 힘옵션).
  2. 마지막 하나 nixos-rebuild switch!

답변2

개인적으로 사용하고 있어요유티카그런 이유로. 즉, USB 스틱을 마운트하려면 USB 스틱을 연결하고 실행하면 됩니다.

$ udisksctl mount -b /dev/sdc

더 짧게 만들기 udisksctl mount -b위해 별칭을 사용합니다 . udm그러면 장치가 설치되어 /run/media/$USER/$DEVICE_LABEL사용할 준비가 됩니다.

내 생각에 일부 도구(예:노틸러스그리고LDM) 이 작업을 자동으로 수행할 수 있습니다.

편집하다:아, 방금 udisk가 장치를 자동 마운트할 수도 있다는 것을 발견했습니다.

답변3

hardware-configuration.nix파일을 직접 수정


다른 답변에서 언급한 것과 동일한 결과를 얻으려면 다음 fileSystems위치에 다른 구성 항목을 추가 할 수도 있습니다 hardware-configuration.nix.

{
  ...

  fileSystems."${mount_location}" = {
    device = "/dev/${device}";
    fsType = "${filesystem_extension}";
  };

  ...
}
노트:

특정 파티션에 대한 파일 시스템 확장 정보를 얻으려면 다음을 실행하십시오.

df -T | grep /dev/${device}

/dev/sda1ext4다음 위치에 설치될 파일 시스템 확장이 있는 장치에 대한 구성 예 /mnt/sda1:

{
  ...

  fileSystems."/mnt/sda1" = {
    device = "/dev/sda1";
    fsType = "ext4";
  };

  ...
}

nixos-generate-config솔루션에서처럼 장치 이름이 NixOS 특정 네임스페이스에 의해 재정의되지 않기 때문에 이러한 솔루션이 더 독특하다고 생각합니다 .

관련 정보