2.3. 파일 시스템 레이아웃
Red Hat Enterprise Linux 7에는 파일 시스템의 레이아웃에 대한 두 가지 주요 변경 사항이 도입되었습니다.
-
/bin,/sbin,디렉토리가 이제/lib64/usr디렉토리 아래에 있습니다. -
이제
/tmp디렉터리를 임시 파일 스토리지 시스템(tmpfs)으로 사용할 수 있습니다. -
/run디렉토리는 이제 임시 파일 스토리지 시스템(tmpfs)으로 사용됩니다. 애플리케이션은/var디렉터리를 사용하는 방식과 동일하게 /run을 사용할 수 있습니다./run
2.3.1. 루트 파일 시스템의 새로운 레이아웃 링크 복사링크가 클립보드에 복사되었습니다!
일반적으로 부팅 프로세스 속도 저하를 방지하기 위해 필요한 최소 콘텐츠만 /bin 및 /lib 디렉터리에 포함되었습니다. /usr 파티션을 마운트하기 위해 루트(/) 수준에 일부 유틸리티가 있어야 합니다. 이로 인해 다른 유틸리티에서 콘텐츠를 여러 수준의 디렉터리에 분배하는 경우가 있었습니다(예: /bin 및 /usr/bin ).
Red Hat Enterprise Linux 7은 /bin,/sbin, 디렉토리를 /lib 64/usr 으로 이동합니다. 이제 /usr 파일 시스템을 루트 수준 디렉터리의 유틸리티가 아닌 initramfs 로 마운트할 수 있으므로 더 이상 서로 다른 두 디렉토리 수준 간에 패키지 콘텐츠를 분할할 필요가 없습니다. 이를 통해 훨씬 더 작은 루트 파일 시스템을 통해 디스크 공간 및 시스템을 보다 효율적으로 공유할 수 있으며 유지 관리, 보다 유연하고 안전한 시스템을 사용할 수 있습니다.
이러한 변경의 영향을 줄이기 위해 이전 /bin 디렉토리는 이제 /usr/bin,/sbin 에 대한 /usr/ bin 에 대한 심볼릭 링크입니다.
2.3.1.1. 업그레이드를 위해 파일 시스템 준비 링크 복사링크가 클립보드에 복사되었습니다!
/usr 이 별도의 파티션에 있는 경우 인플레이스 업그레이드가 불가능합니다. /usr 을 별도의 파티션에서 이동하기로 결정하는 경우 이는 사용자의 위험이 있습니다.
/var 가 별도의 파티션에 있는 경우 /var/run 및 /var/lock 을 심볼릭 링크로 수동으로 변환해야 합니다.
# mv -f /var/run /var/run.runmove~
# ln -sfn ../run /var/run
# mv -f /var/lock /var/lock.lockmove~
# ln -sfn ../run/lock /var/lock
파티션 체계에 대한 모든 사전 업그레이드 관련 결과를 처리해야 합니다.
준비가 완료되면 업그레이드 프로세스에 대한 자세한 내용은 설치 가이드 를 참조하십시오.
2.3.1.2. 업그레이드 성공 확인 링크 복사링크가 클립보드에 복사되었습니다!
업그레이드 프로세스를 수행한 후에는 업그레이드가 예상대로 작동하는지 확인해야 합니다.
다음 심볼릭 링크가 있는지 확인합니다.
-
/bin은/usr/bin에 대한 심볼릭 링크입니다. -
/sbin은/usr/sbin에 대한 심볼릭 링크입니다. -
/lib는/usr/lib에 대한 심볼릭 링크입니다. -
/lib64는/usr/lib64에 대한 심볼릭 링크입니다. -
/var/run은/run에 대한 심볼릭 링크입니다. /var/lock은/run/lock에 대한 심볼릭 링크입니다.나열된 디렉터리가 심볼릭 링크인 경우 예상대로 두 가지 검사가 필요합니다.
-
다음 find 명령의 출력을 확인합니다.
# find /usr/{lib,lib64,bin,sbin} -name '.usrmove'/usr에 동일한 이름의 파일 또는 디렉토리가 이미 존재하기 때문에 이 명령에 대한 응답으로 표시되는 파일 또는 디렉토리는/usr에 복사할 수 없습니다. 이러한 이름 지정 충돌을 수동으로 해결해야 합니다.보관하려는 파일에 대해 다음 디렉터리를 확인합니다.
-
/var/run.runmove~ -
/var/lock.lockmove~
-
나열된 디렉터리 중 심볼릭 링크가 아닌 경우 2.3.1.3절. “실패한 업그레이드에서 복구” 에 설명된 복구 프로세스를 따라야 합니다.
2.3.1.3. 실패한 업그레이드에서 복구 링크 복사링크가 클립보드에 복사되었습니다!
업그레이드 프로세스는 여러 가지 이유로 실패할 수 있습니다. 다음 명령의 출력을 확인하여 무엇이 잘못되었는지 확인합니다.
# dmesg
# journalctl -ab --full
오류가 표시되지 않으면 다음을 확인합니다.
-
/쓰기 가능 -
/usr쓰기 가능 -
/충분한 공간이 있습니다. -
/usr에 충분한 공간이 있습니다. -
/var이 에 마운트됨 rhelup 툴
추가 지원이 필요한 경우 Red Hat 지원에 문의하십시오.
2.3.2. /tmp 디렉토리의 변경 사항 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7은 /tmp 를 임시 파일 스토리지 시스템(tmpfs)의 마운트 지점으로 사용할 수 있는 기능을 제공합니다.
이 임시 스토리지는 활성화된 경우 마운트된 파일 시스템으로 표시되지만, 영구 스토리지 장치가 아닌 휘발성 메모리에 해당 콘텐츠를 저장합니다. 메모리가 부족한 경우를 제외하고 /tmp 의 파일은 하드 드라이브에 저장되지 않으며, 이 경우에는 스왑 공간이 사용됩니다. 즉, /tmp 의 콘텐츠는 재부팅 후에도 유지되지 않습니다.
이 기능을 활성화하려면 다음 명령을 실행합니다.
# systemctl enable tmp.mount
이 기능을 비활성화하려면 다음 명령을 실행합니다.
# systemctl disable tmp.mount
Red Hat은 Red Hat Enterprise Linux 7의 다양한 유형의 임시 스토리지 공간에 다음 용도로 사용하는 것이 좋습니다.
-
데몬과 같은 권한 있는 프로세스는
/run/processname을 사용하여 임시 데이터를 저장해야 합니다. -
대량의 데이터를 저장하거나 재부팅 시 임시 데이터를 유지해야 하는 프로세스는
/var/tmp를 사용해야 합니다. -
다른 모든 프로세스는
/tmp를 사용하여 임시 데이터를 저장해야 합니다.
2.3.3. /run 디렉토리 관련 변경 사항 링크 복사링크가 클립보드에 복사되었습니다!
preupgrade Assistant는 Red Hat Enterprise Linux 7.0의 초기 릴리스에서 이 변경 사항이 미치는 영향을 아직 확인하지 않았습니다. 이 문제는 RHBA-2014:1627에서 수정되었습니다. https://rhn.redhat.com/errata/RHBA-2014-1627.html.
이전 버전의 Red Hat Enterprise Linux에서는 일부 프로그램이 /var 디렉토리가 마운트되기 전에 초기 부팅 중에 /dev 디렉토리에 런타임 데이터를 저장할 수 있었습니다. 주요 Linux 배포판 간의 합의는 /dev 디렉토리가 장치 노드에만 사용해야 하므로 /run 을 대신 사용해야 한다는 것입니다.
따라서 Red Hat Enterprise Linux 7에서 /run 디렉토리는 /var/run 디렉터리를 바인딩하는 임시 파일 스토리지 시스템(tmpfs)입니다. 마찬가지로 /run/lock 디렉터리에서 이제 /var/lock 디렉토리를 바인딩 마운트합니다. /run 및 /run/lock 에 저장된 파일은 더 이상 영구적이지 않으며 재부팅 후에도 유지되지 않습니다. 즉, 애플리케이션은 설치 시 이 작업을 수행하는 대신 시작 시 자체 파일과 디렉터리를 다시 생성해야 합니다. /etc/app_name 디렉토리는 이에 적합합니다.
시작 시 파일 및 디렉터리를 재생성하는 방법에 대한 자세한 내용은 tmpfiles.d 도움말 페이지( man tmpfiles.d )를 참조하십시오. 예를 들어 구성의 경우 /etc/tmpfiles.d 의 구성 파일을 참조하십시오.