Automatisches / permanentes Mounten externer Geräte unter NixOS


12

Ich habe einen USB-Stick und eine NTFS-Festplattenpartition, die ich in NixOS verwenden möchte. In einer anderen Distribution würde ich es mit ntfs-3g in / mnt mounten. Unter NixOS existiert das Verzeichnis jedoch nicht. Ich nehme an, NixOS hat eine andere kanonische Methode und / oder einen anderen Ort dafür.

Wie sollte man in NixOS das automatische Einbinden externer Partitionen einrichten, vorzugsweise mithilfe von configuration.nix?


Öffnen Sie, nautiluswenn Sie services.xserver.desktopManager.gnome3.enable = true;in Ihrem configuration.nixund Sie das Laufwerk und es wird erhalten montiert sehen/run/media/$USER/<drive name>
— Boris

Antworten:


12

Nun, ich benutze bashmountoder udisksctlmontiere normalerweise USB-Sticks. Sie werden montiert /run/media/$(user name)/$(drive label or UUID).

Wenn es sich jedoch um eine interne Festplatte oder Partition auf einer lokalen Festplatte handelt, ist der einfachste Weg:

  1. Erstellen Sie ein Verzeichnis Ihrer Wahl als / mnt / windows-partition
  2. Hängen Sie die gewünschte Partition, z. B. / dev / sdn5, in dieses Verzeichnis ein:

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

  1. Führen Sie nixos-generate-config aus . Es wird /etc/nixos/hardware-configuration.nix entsprechend der neuen Partitionskonfiguration aktualisiert (und configuration.nix bleibt unberührt, sofern Sie nicht die Option --force verwenden ).
  2. Und schließlich ein nixos-rebuild switch!

1
Wenn Sie also ein /mntVerzeichnis weglassen, lautet die Antwort scheinbar "Machen Sie es sich selbst oder mounten Sie es, wo immer Sie möchten".
— Ryne Everett

Was ist der Zweck von Schritt 3? Macht das die Montierung dauerhaft?
— Chris Stryczynski

Ja! Dieser Schritt besteht darin, / mnt / windows-partition in der (maschinengenerierten) Datei hardware-configuration.nix zu registrieren. Auf diese Weise wird es beim nächsten Start gemountet (natürlich nach einem Nixos-Rebuild).
— Anderson Torres

8

Ich persönlich benutze dazu Udisks . Das heißt, wenn ich einen USB-Stick mounten möchte, muss ich ihn nur anschließen und ausführen:

$ udisksctl mount -b /dev/sdc

Ich aliased udisksctl mount -bzu udmihm noch kürzer zu machen. Das Gerät ist dann /run/media/$USER/$DEVICE_LABELfür Sie montiert und zugänglich.

Ich denke, einige Tools (zB Nautilus und LDM ) können das automatisch für Sie tun.

EDIT : ah, ich habe gerade herausgefunden, dass udisks auch Geräte automount können.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.