Ungültige geräteübergreifende Verknüpfung beim Verknüpfen im selben Dateisystem


14

Ich habe /home/myuser/Desktop/rc/.netrc Datei , die ich will Verknüpfung zu / root , dh Home - Verzeichnis von root Benutzer. Wenn ich mache:

ln /home/user/Destkop/rc/.netrc /root

es gibt den folgenden Fehler:

ln: Hardlink erstellen /root/.netrc' =>.netrc ': Ungültiger geräteübergreifender Link

Aber es funktioniert, wenn ich die Datei fest mit dem Haus meines Benutzers verbinde , dh mit / home / myuser .

Also, was ist das Problem, warum heißt es ungültig geräteübergreifend, wenn es hier nur ein Dateisystem gibt?

PS. Ich benutze RHEL6


Übrigens sind meine .netrc-Berechtigungen 600, wie es sein sollte
Elvin Aslanov

1
Sind Sie sicher, dass sich die beiden Verzeichnisse im selben Dateisystem befinden? Laufen Sie mount | column -tund werfen Sie einen Blick darauf. Oder laufen mountpoint -d /, mountpoint -d /home, mountpoint -d user, und mountpoint -d /root. Sie sollten ... is not a mountpointfür die letzten drei bekommen.

2
Bitte nicht auf mehreren StackExchange-Sites posten .

@EvanTeitelman Der wahre Look ist mount | column -taber nicht column -t < /proc/mounts.
Hauke ​​Laging

1
@HaukeLaging: Du hast recht. /proc/mountszeigt eher alle Mounts auf einem System an als /etc/mtab, von wo mountdie Informationen abgerufen werden . Es ist jedoch erwähnenswert, dass auf vielen modernen Systemen /etc/mtabund /proc/mountsbeide verbunden sind /proc/self/mounts.

Antworten:


7

Höchstwahrscheinlich befindet sich Ihr /homeVerzeichnis nicht auf derselben Partition wie das /rootVerzeichnis.

Sie können dies leicht überprüfen, cat /etc/fstab indem Hardlinks nicht zwischen verschiedenen Partitionen erstellt werden, sondern nur Symlinks.


4

Mir scheint, der BESTE Weg ist es, KEINEN HARD-Link zu verwenden, sondern stattdessen einen symbolischen Link. Sie werden feststellen, dass es weitaus weniger stressig ist und die Dinge gut funktionieren. Harte Links haben einige interessante Probleme, wenn Sie sich dessen nicht bewusst sind.

Sehen man lnund prüfen Sie die -sOption!

Bitte verwenden Sie generell symbolische Links anstelle von HARD-Links.


8
Es könnte das Problem lösen, erklärt aber nicht wirklich, warum dies geschieht.
Bex
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.