Collegamento cross-device non valido durante l'Hardlinking nello stesso file system


14

Ho /home/myuser/Desktop/rc/.netrc file che voglio hardlink a / root , cioè home directory dell'utente root . Quando io faccio:

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

dà il seguente errore:

ln: creazione del collegamento /root/.netrc' =>reale .netrc ': collegamento tra dispositivi non valido

ma funziona quando collego il file alla home di myuser , ovvero a / home / myuser .

Quindi, qual è il problema, perché dice cross-device non validi quando c'è solo un file system qui?

PS. Sto usando RHEL6


tra le mie autorizzazioni .netrc è 600, come dovrebbe essere
Elvin Aslanov

1
Sei sicuro che le due directory siano sullo stesso filesystem? Corri mount | column -te dai un'occhiata. In alternativa, eseguire mountpoint -d /, mountpoint -d /home, mountpoint -d user, e mountpoint -d /root. Dovresti ottenere ... is not a mountpointper gli ultimi tre.

2
Si prega di non effettuare post incrociati su più siti StackExchange.

@EvanTeitelman Il vero aspetto non è mount | column -tma column -t < /proc/mounts.
Hauke ​​Laging,

1
@HaukeLaging: hai ragione. /proc/mountsè più probabile che mostri tutti i supporti su un sistema rispetto a quello /etc/mtab, da dove mountestrae le sue informazioni. Tuttavia, vale la pena notare che su molti sistemi moderni, /etc/mtabe /proc/mountssono entrambi collegati /proc/self/mounts.

Risposte:


7

è molto probabile che la tua /homedirectory non sia sulla stessa partizione della /rootdirectory.

Puoi facilmente verificarlo con cat /etc/fstab hardlink che non possono essere creati tra diverse partizioni, solo i symlink possono farlo.


4

Mi sembra che il modo MIGLIORE NON sia usare un collegamento HARD ma usare invece un collegamento simbolico. Lo troverai molto meno seccante e le cose funzionano bene. L'hard link ha alcuni problemi interessanti se non ne sei consapevole.

Guarda man lne controlla l' -sopzione!

Si prega in generale di utilizzare collegamenti simbolici anziché collegamenti HARD.


8
Sebbene possa risolvere il problema, in realtà non spiega perché questo accada.
Bex,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.