리눅스 파일 시스템에서 inode 번호가 사용되는 방법에 대한 몇 가지 질문이 있습니다. 이 질문들은 관련이있을 수 있지만 명확히하기 위해 하나씩 묻습니다. "예를 들어,"Design and Implementation of the Second Extended Filesystem "에서 EXT2/3 가져 오기 블록 그룹에 inode 테이블이 있다는 것을 알고 있고, inode가 파일을 제공한다는 것을 알고 있지만 파일이 너무 많지만 inode 번호가 충분하지 않은 경우 어떻게 될까요? ? 필자의 가장 좋은 추측은 파일 시스템이 모든 inode 번호가 모두 소모 되었다면 아무것도하지 않는다는 것입니다. 그리고 일부 파일이 나중에 삭제되면 inode가 재활용 될 수 있습니다.inode 번호가 리눅스 루트 파일 시스템에서 어떻게 분산되어 있습니까?
Q2 : 내 리눅스 서버의 "DF -i"를 실행하고 나는이 얻을 :
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1313280 7853 1305427 1% /
devtmpfs 0 0 0 - /dev
tmpfs 525298 4 525294 1% /dev/shm
/dev/sda2 65808 50 65758 1% /boot
/dev/sda5 1313280 146 1313134 1% /opt
/dev/sda6 655776 37 655739 1% /tmp
/dev/sda7 655776 5219 650557 1% /home
/dev/sda8 1313280 840 1312440 1% /var
/dev/sda9 655776 36529 619247 6% /usr
/dev/sda10 6432 11 6421 1% /crash
/dev/sda12 135488 11 135477 1% /usr/local/instances
tmpfs 525298 3 525295 1% /var/run/xenstored
tmpfs 525298 3 525295 1% /var/lib/xenstored
tmpfs 525298 3 525295 1% /var/lib/xend/socket
tmpfs 517536 3 517533 1% /var/run/libvirt/socket
나는 각각의 파일 시스템 (devtmpfs tmpfs와 같은) 자신의 아이 노드의 수와 이들 파일 시스템을 가지고 모두 볼 수 있습니다 root file system에 장착 나는 각 파일 시스템이 각각의 inode 테이블을 가지고 있다고 가정하지만 루트 파일 시스템은 [0, N]이고 tmpfs는 [N + 1, M]과 같이 서로 다른 범위로 분산 된 서로 다른 파일 시스템의 inode 번호입니까?
다른 파일 시스템의 inode 번호가 다른 범위에 있다면 (나는 그렇게 생각하지 않습니다) 파일 시스템이 범위 분할에 대해 어떻게 합의합니까?
같은 규칙에 따라 다른 파일 시스템의 inode 번호가 생성되는 경우 (모두 0부터 시작), 서로 파일 시스템을 마운트해도 파일 시스템이 서로 충돌 할 수 있습니까? 내가 아는 한, inode는 실행중인 OS에서 파일을 표시하고, 루트 파일 시스템의 파일이 inode 번호 N이고 다른 파일 시스템 (tmpfs와 같은)의 다른 파일도 inode 번호 N 인 경우 OS가 수행 할 작업은 무엇입니까?
추신. 나는 리눅스에 익숙하지 않고 영어 사용 국가에서 온 것이 아닙니다. 미안하지만 분명히 표현하지 않으면 유감입니다. 미리 감사드립니다.
http://s.tk/unix에서 더 좋은 질문 인 것처럼 들립니다. –
"유닉스"또는 "우분투"포럼 중 하나를 시도해보십시오. 더 나은 답변을 얻을 수 있습니다 : -}. 우리는 여기에 그냥 코더이며 일반적으로 "System.IO.WriteLine()"다음에 무슨 일이 일어나 든 상관하지 않습니다. –
이것은 말하기 어려운 질문 중 하나입니다. 나는 이것이 유닉스 전반에 관한 흥미로운 구현 세부 사항이기 때문에 여기에 속한다고 말한다. – Omnifarious