it-swarm.com.de

Was fehlt mir, damit Symlinks mit CIFS funktionieren?

Szenario

Ich habe eine kopflose Ubuntu 10.10 RC-Box, auf der einige Dienstanwendungen in meinem Heimnetzwerk ausgeführt werden. Ich habe einen Windows 2008 Server, auf dem sich alle meine Netzwerkfreigaben und Festplatten befinden. Ich mounte gerade die Netzwerklaufwerke beim Booten mit FSTAB mit den folgenden Optionen:

credentails=/etc/smbcredentials,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,noserverino,sfu

Frage

Welche Option muss ich festlegen, damit sich SYMLINKS ordnungsgemäß mit CIFS registriert? Ich muss zugeben, dass die Informationen in man mount.cifs nicht klar genug zu definieren scheinen, welche Optionen ich für die ordnungsgemäße Unterstützung verwenden sollte.

Problem

Wenn Sie RSYNC auf dem Ubuntu-Computer ausführen, um ausgewählte Ordner auf den Windows-Freigaben zu sichern, schlägt der Versuch fehl, die SYMLINKS neu zu erstellen. Ich mache mir Sorgen, dass dies zu Problemen führen wird, wenn ich später versuche, diese Dateien wiederherzustellen, falls dies jemals nötig sein sollte.

8
Diago

Ich bin mir nicht sicher, aber ich befürchte, dass eine CIF-Freigabe, die in Ihrem Fall im Wesentlichen ein Ordner auf einer über das Netzwerk verfügbaren NTFS-Partition ist, keine symbolischen Links verwalten kann.
Anders wäre es, wenn die cifs-Freigabe von einem Samba-Server auf einem Linux-Rechner bereitgestellt würde.

Die Lösung, die mir einfällt, ist:

  • erstellen Sie eine ausreichend große Datei auf der Freigabe (z. B. mit dd)
  • erstellen Sie ein ext4-Dateisystem für diese Datei
  • hängen Sie die Datei mit -o loop als Partitionsimage ein
  • verwenden Sie diese ext4-Partition als Ziel für Ihre Sicherung
6
enzotib

Ich bin mir ziemlich sicher, dass "symbolische Verknüpfungen" in Windows (in der MS-Welt "Junctions" genannt) vor Vista nur ein Verzeichnis mit einem anderen Verzeichnis verknüpfen konnten. Ich bezweifle, dass cifs Junctions auf einer Windows-Freigabe erstellen kann, obwohl ich sehe, dass SMB Aufrufe im Ioctl-Stil unterstützt, sodass möglicherweise ein versierter Client einen Windows-Server dazu zwingen kann, eine zu erstellen Kreuzung.

Mein Problem ist, dass ich pxelinux verwenden möchte, um eine Windows-Verzeichnisfreigabe bereitzustellen, von der aus eine Linux-Box gebootet werden kann. Es wäre schön, ein Dateisystem zu haben, auf das von Windows aus zugegriffen werden kann, da Sie dann Teile des Dateisystems auf Ihrem Boot-Server verfügbar machen können, ohne sich darauf verlassen zu müssen, dass der gebootete Computer ausgeführt wird.

Die Lösung, die ich gefunden habe, ist die Verwendung von NFS unter Cygwin. Auf diese Weise können Sie den NFS-Mount weiterhin für Ihr Linux-Netzwerk verfügbar machen. Sie können dann reguläre Windows-Freigaben verwenden, um die gleichen Verzeichnisse in Ihrem Windows-Netzwerk verfügbar zu machen, wenn Sie möchten.

Bisher hat sich das Experimentieren in einer virtuellen Maschine als sehr hilfreich erwiesen.

-Waldemar

0
user12918