Link de dispositivo cruzado inválido durante a ligação direta no mesmo sistema de arquivos


14

Eu tenho /home/myuser/Desktop/rc/.netrc arquivo que eu quero hardlink para / root , ou seja, diretório inicial do usuário root . Quando eu faço:

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

fornece o seguinte erro:

ln: criando link /root/.netrc' =>físico .netrc ': link de dispositivo inválido

mas funciona quando eu vinculo o arquivo à casa do myuser , ou seja, a / home / myuser .

Então, qual é o problema, por que diz vários dispositivos inválidos quando há apenas um sistema de arquivos aqui?

PS. Eu estou usando RHEL6


btw meus permissões .netrc é de 600, como deveria ser
Elvin Aslanov

1
Você tem certeza de que os dois diretórios estão no mesmo sistema de arquivos? Corra mount | column -te dê uma olhada. Ou, executar mountpoint -d /, mountpoint -d /home, mountpoint -d user, e mountpoint -d /root. Você deve pegar ... is not a mountpointos três últimos.

2
Não faça postagens cruzadas em vários sites do StackExchange.

@EvanTeitelman A aparência real não é mount | column -tmas column -t < /proc/mounts.
Hauke ​​Laging

1
@HaukeLaging: Você está certo. /proc/mountsé mais provável que mostre todas as montagens em um sistema do /etc/mtabque é de onde mountextrai suas informações. No entanto, vale a pena notar que em muitos sistemas modernos, /etc/mtabe /proc/mountsambos estão ligados /proc/self/mounts.

Respostas:


7

é mais provável que seu /homediretório não esteja na mesma partição que o /rootdiretório.

Você pode verificar isso facilmente, cat /etc/fstab pois os hardlinks não podem ser criados entre diferentes partições, apenas os symlinks podem.


4

Parece-me que a MELHOR maneira NÃO é usar um link DURO, mas sim um link simbólico. Você encontrará muito menos problemas e as coisas funcionam muito bem. O link físico tem alguns problemas interessantes, se você não os conhece.

Veja man lne confira a -sopção!

Em geral, use links simbólicos em vez de links HARD.


8
Embora possa resolver o problema, na verdade não explica por que isso está acontecendo.
Bex
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.