루트 파일 시스템이 작을 것으로 예상되는데 usr을 "파일 시스템"이라고 부르는 이유는 무엇입니까?

루트 파일 시스템이 작을 것으로 예상되는데 usr을 "파일 시스템"이라고 부르는 이유는 무엇입니까?

Linux의 파일 시스템을 이해하려고 노력하고 있지만 아직도 이해가 안되는 부분이 있습니다. 지금까지 내가 올바르게 이해한 바는 파일 시스템이 볼륨의 파티션에서 파일을 검색하는 데 사용되는 일련의 방법 및 데이터 구조라는 것입니다. 파일 시스템은 Linux 명령을 통해 나열될 수 있습니다. df 지금까지는 매우 좋습니다.

또한 Linux는 합성 파일 시스템을 procs로 생성하는데, 이는 파일이 아닌 개체에 대해 일반 파일 시스템으로 표시됩니다. proc 파일 시스템이 그 예입니다. 플래그를 추가하면 df 명령을 사용하여 합성 파일 시스템을 나열할 수 있습니다 -a.

이제 질문은 /usr/ 폴더가 파일 시스템이라고 불리는 이유입니다.https://tldp.org/LDP/sag/html/usr-fs.html)? 나에게 그것은 루트 파일 시스템에 속하는 폴더인 것 같습니다. 그렇다면 사람들은 왜 그것을 파일 시스템이라고 부를까요?

또한 사람들이 루트 파일 시스템이 작아야 한다고 말하는 이유는 무엇입니까(https://tldp.org/LDP/sag/html/root-fs.html)?

실제로 df다음 명령을 호출하면 다음과 같습니다.

Filesystem     1K-blocks      Used Available Use% Mounted on
udev            32866696         0  32866696   0% /dev
tmpfs            6578976      2484   6576492   1% /run
/dev/nvme0n1p5 959862832 101610168 809424504  12% /
tmpfs           32894876    109020  32785856   1% /dev/shm
tmpfs               5120         4      5116   1% /run/lock
tmpfs           32894876         0  32894876   0% /sys/fs/cgroup
/dev/loop1         56704     56704         0 100% /snap/core18/1885
/dev/loop2        261760    261760         0 100% /snap/gnome-3-34-1804/36
/dev/nvme0n1p1    523248         4    523244   1% /boot/efi
/dev/loop3         63616     63616         0 100% /snap/gtk-common-themes/1506
/dev/loop4         51968     51968         0 100% /snap/snap-store/481
/dev/loop5         31744     31744         0 100% /snap/snapd/9721
/dev/loop6         30720     30720         0 100% /snap/snapd/8542
/dev/loop7        223232    223232         0 100% /snap/gnome-3-34-1804/60
/dev/loop8         51072     51072         0 100% /snap/snap-store/467
tmpfs            6578972        20   6578952   1% /run/user/125
tmpfs            6578972        40   6578932   1% /run/user/1000
/dev/sda1       30702592   2498400  28204192   9% /media/tommaso/USB
/dev/loop9         56704     56704         0 100% /snap/core18/1932

루트 파일 시스템은 실제로 다음으로 구성되어 있는 것으로 보입니다.모든 것내 컴퓨터에서는 왜 작아야합니까?

답변1

기본 원칙은배경 부분. 2000년대 중반부터 후반까지 관련이 있었지만 오늘날에는 더 이상 관련이 없습니다.

별도의 파일 시스템을 만드는 이유는 /usr루트 파일 시스템을 작게 유지하기 위해서입니다. 디렉토리 /usr트리는 소프트웨어를 설치하는 데 사용됩니다.

  • 설치된 소프트웨어는 자주 변경되지 않으므로 /usr읽기 전용으로 설치할 수 있습니다. 루트 파일 시스템은 /etc일반적으로 자주 수정해야 하기 때문에 읽기 전용으로 마운트할 수 없습니다. 읽기 전용으로 유지 하는 주요 이점 /usr은 읽기-쓰기가 마운트된 동안 시스템이 충돌하는 경우 긴 파일 시스템 검사를 피할 수 있다는 것입니다. 이는 더 이상 최신 파일 시스템과 관련이 없습니다.잡지또는 충돌로부터 직접 복구할 수 있는 다른 메커니즘도 있습니다.

  • 동일한 시스템에 설치된 소프트웨어는 동일하므로 /usr읽기 전용일 수 있습니다. 또는 로컬 네트워크가 있는 경우 이를 단일 서버에 저장하고 다른 시스템에서 설치하도록 할 수 있습니다. 네트워크의 루트 파일 시스템에서 부팅하는 것은 더 복잡합니다(더 많은 부트로더 및 커널 지원에 의존하며 네트워크가 다운되면 머신을 완전히 사용할 수 없게 만듭니다). 이는 디스크 공간 비용이 200달러였던 당시에는 일반적이었지만 /usr비용이 1센트에 불과하기 때문에 더 이상 중요하지 않습니다.

따라서 요즘에는 /usr별도의 파일 시스템을 갖 /usr거나 /.

적어도 Linux에서는 더 이상 그렇지 않습니다. 원인은 이 /etc/mtab파일이 예전에는 일반 파일이었지만 이제는 일반적 으로 심볼릭 링크가 있을 /proc/mounts정도로 충분하다는 것입니다 . 그러나 프린터/네트워크가 마지막으로 확인된 시간의 타임스탬프가 포함된 파일을 업데이트하려는 Cups 및 NetworkManager와 같은 새로운 범인이 등장했습니다./etc/mtab/etc/mtab

답변2

당신은 어떤 면에서 더 이상 사용되지 않는 아주 오래된 매뉴얼을 읽고 있습니다.

과거에는 일부 Unix의 경우에 익숙해은 별도의 /usr마운트 지점이고 나머지 파일( /bin /etc /root /usr /sbin)은 성공적인 시작을 위해서만 필요합니다.

요즘 Linux 배포판은 그 안에 있는 모든 것을 제거 /bin /sbin하고 이동하고 있습니다. 이는 ( 및 와 함께 ) 루트 파일 시스템에 속하는 것이 매우 적합하다는 것을 의미합니다 ./lib/usr/{bin,sbin,lib}/usr/etc /root/var

2020년 최신 Linux의 계층 구조는 다음과 같습니다.

/bin     -> /usr/bin
/boot     : a separate FS for storing kernel images and initial ram disks
/boot/efi : an EFI system partition - not specific to Linux
/dev      : tmpfs
/etc
/home
/lib     -> /usr/lib
/lib64   -> /usr/lib64
/media
/mnt
/opt
/proc      : virtual fs
/run       : tmpfs
/sbin     -> /usr/sbin
/sys       : virtual fs
/tmp       : tmpfs
/usr
/var

/따라서 최소한 및 에 대한 파일 시스템이 있어야 합니다 /boot. 그러나 누구도 다른 접두사를 별도의 파일 시스템에 넣는 것을 막지 못합니다.

그러나 다음은 좋은 습관입니다.

  • /home배포판을 쉽게 전환할 수 있으므로 별도의 파일 시스템 으로 사용
  • /var/lib/{mysql|postgres|something else}속도를 높이고 조각화를 줄이기 위해 별도의 FS가 있을 수 있음
  • 어떤 사람들은 독점적인 대규모 응용 프로그램을 설치 /opt하거나 /usr/local별도의 파일 시스템을 보증할 수도 있습니다.

그게 다야.

관련 정보