/dev 디렉토리 외부의 장치 파일에서 하드 링크를 생성할 수 없는 이유는 무엇입니까?

/dev 디렉토리 외부의 장치 파일에서 하드 링크를 생성할 수 없는 이유는 무엇입니까?

/home내 디렉토리에 하드링크를 만들고 싶을 때뿌리모드에서 Linux는 다음 오류 메시지를 표시합니다.

ln: failed to create hard link ‘my_sdb’ => ‘/dev/sda1’: Invalid cross-device link

위의 오류 메시지는 아래와 같습니다.

# cd /home/user/
# ln /dev/sda1 my_sdb

하지만 다른 디렉토리가 아닌 해당 디렉토리에만 하드 링크를 생성할 수 있습니다 /dev.

sdb1이제 디렉터리(또는 다른 디렉터리)에 있는 기존 장치 파일(예:)에서 하드 링크를 만드는 방법이 궁금합니다 ./home

답변1

하지만 /dev 디렉토리에만 하드링크를 생성할 수 있고 다른 디렉토리에서는 생성이 불가능합니다.

오류 메시지에서 알 수 있듯이 다른 파일 시스템에서는 하드 링크를 만들 수 없습니다. 소프트(심볼릭) 링크만 만들 수 있습니다.

예를 들어 /home파티션이 루트 파티션과 다른 /tmp/foo경우 /home/user/.

이제 @RichardNeumann이 지적했듯이 /dev이는 일반적으로 devtmpfs 파일 시스템으로 마운트됩니다. 이 예를 보세요:

[dr01@centos7 ~]$ df
Filesystem                      1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos_centos7-root  46110724 3792836  42317888   9% /
devtmpfs                          4063180       0   4063180   0% /dev
tmpfs                             4078924       0   4078924   0% /dev/shm
tmpfs                             4078924    9148   4069776   1% /run
tmpfs                             4078924       0   4078924   0% /sys/fs/cgroup
/dev/sda1                         1038336  202684    835652  20% /boot
tmpfs                              815788      28    815760   1% /run/user/1000

따라서 /dev내 파일에 대한 하드 링크 만 생성할 수 있습니다 /dev.

답변2

하드 링크는 파일 시스템 간에 작동하지 않기 때문에 원하는 것을 달성하는 데 사용할 수 없습니다.

그러나 명령을 사용하면 원하는 것을 얻을 수 있습니다 mknod.

  1. 달리다 ls -l /dev/devicefile. 다음과 같은 출력이 표시됩니다.

    crw-rw-rw- 1 root root 1, 9 Mar 29 15:46 /dev/urandom
    
  2. 측정기준 열의 숫자( )를 확인하세요 1, 9.
  3. 명령을 실행하십시오 mknod /path/to/destination c 1 9(원하는 값을 바꾸십시오).

이것이 작동하는 이유는 무엇입니까?

장치 파일은 실제로 커널이나 커널 드라이버에 의해 구현된 추상 파일에 대한 하드 링크입니다. 다른 파일 시스템에서 파일 시스템 개체에 대한 하드 링크를 만들 수는 없지만 파일 시스템 개체는 아니므로 해당 주 및 부 참조 번호를 알면 모든 파일 시스템에서 해당 개체에 대한 참조를 만들 수 있습니다.

답변3

하드 링크는 단순히 파일을 가리키는 또 다른 항목을 디렉토리에 생성합니다(여기서 file은 디렉토리와 같은 파일과 유사합니다). 따라서 하드 링크는 다른 파일 시스템의 파일을 참조할 수 없습니다.

이 경우 소프트 링크는 당신의 친구입니다. 사용 ln -s. 소프트 링크는 파일 시스템에 걸쳐 있을 수 있으며 심지어 존재하지 않는 항목을 가리킬 수도 있습니다.

관련 정보