Unix 기본 디렉토리 구조 변경 [닫기]

Unix 기본 디렉토리 구조 변경 [닫기]

기본 Unix/Linux 디렉토리 구조를 변경할 수 있습니까? 구성을 의미하며 커널을 변경할 필요가 없습니다. 아니면 커널을 편집해야 한다면 작업이 얼마나 어려운가요? 기본 디렉터리 구조(이러한 모든 /usr, /bin, /etc디렉터리)가 커널에 하드코딩되어 있습니까?

/나에게 필요한 것은 각 사용자가 자신의 파일/디렉터리를 자유롭게 만들 수 있는 루트( ) 디렉터리와 /Linux모든 구성 파일을 포함하여 모든 운영 체제 파일이 존재하는 디렉터리(아마도 원래 구조에 있음)를 갖는 것입니다 . "홈" 디렉터리가 전혀 없어야 하며 모든 구성 파일은 모든 사용자에게 동일해야 하며 시스템 관리자만 편집할 수 있어야 합니다.

답변1

예, 가능합니다. 하지만 원하는 것을 이루기 위해서는 많은 노력이 필요합니다.

볼 수 있는 자세한 정보패턴리눅스프로젝트.

GoboLinux는 무료 오픈 소스 운영 체제로, 가장 눈에 띄는 기능은 기존 Linux 파일 시스템을 재구성하는 것입니다. 대부분의 Unix 계열 시스템처럼 파일 시스템 계층 구조 표준을 따르는 대신 GoboLinux 시스템의 각 프로그램에는 모든 파일을 찾을 수 있는 자체 하위 디렉터리 트리가 있습니다(해당 프로그램에 특정한 설정 포함). 따라서 "Foo" 프로그램의 모든 특정 파일과 라이브러리는 /Programs/Foo에 있습니다. GoboLinux 개발자에 따르면 이로 인해 시스템이 더 깨끗해집니다.

답변2

기본 디렉토리 구조(모든 /usr, /bin, /etc 디렉토리)가 커널에 하드코딩되어 있습니까?

아니요, 대부분은 커널에 별로 의미가 없습니다. 그러나 /proc및 와 같은 표준화된 위치에 마운트된 파일 시스템을 채웁니다 /dev.

기본 Unix/Linux 디렉토리 구조를 변경할 수 있습니까?

절대적으로하지. 이유는 하나야루트 파일 시스템 표준이는 이러한 디렉토리가 명확한 목적을 갖고 있고 경로로 식별되기 때문입니다. "아, 글쎄, 내 /etc디렉토리 이름을 /masterconf." 이라고 말하는 것은 별로 의미가 없습니다. 모든 사람과 다른 모든 것이 찾는 /etc것에 액세스하려면 /masterconf심볼릭 링크를 추가할 수 있지만 거의 모든 사람과 다른 모든 것이 검색하므로 심볼릭 링크는 그대로 ln -s /etc /masterconf두십시오 ./etc

비유적으로 누군가는 "모든 표준 유틸리티( , 등)의 이름을 변경하여 내가 지정한 이름으로만 존재하도록 하고 싶습니다."라고 말할 수 mkdir있습니다 . 일반 유틸리티 대신 표준 유틸리티 이름:lscd

  1. 훨씬 더 복잡합니다.
  2. 설치된 유틸리티는 새로운 이름 지정 체계를 분류하기 위해 일종의 조회를 지속적으로 수행해야 하기 때문에 거의 확실히 오버헤드가 추가될 것입니다.
  3. 99.9999% 이상의 사용자에게는 전혀 의미가 없습니다.

1번과 2번은 3번의 관점에서 정당화될 수 없는 명백한 결점이므로 그러한 시스템이 존재하지 않습니다. 마찬가지로 WRT는 표준 파일 시스템의 일부 이름을 바꿉니다.

나에게 필요한 것은...

다시 말하지만, 심볼릭 링크나 하드 링크(참고자료 참조)를 사용하여 원하는 대로 수행 man ln한 다음 적절하다고 판단되는 대로 사용할 수 있습니다. 그러나 파일 시스템 표준을 깨지 마십시오.그것은 선택사항이 아니다.

답변3

일반적으로 디렉터리 구조는 Linux 커널이 아니라 파일 시스템 표준에 따라 적용됩니다. 예를 들면 다음과 같습니다.파일 시스템 계층 표준. 이것같은 이름의 위키피디아 기사또한 이것을 아주 잘 설명합니다.

이동/변경에 관해서입니다. 내가 말하려는 것은 가능하더라도 Windows 시스템과 마찬가지로 다음과 같은 표준 위치가 있으므로 권장하지 않는다는 것입니다.

  • C:\윈도우
  • C:\사용자 및 설정
  • C:\프로그램 파일
  • 등.

소프트웨어 개발자와 시스템 사용자 모두의 패키징 관점에서 볼 때 시스템을 비슷하게 만드는 데는 고유한 가치가 있습니다.

답변4

많은 배포판에서는 상황에 따라 디렉터리 구조와 이름까지 변경합니다. Microtic은 GNU/Linux에 따른 응용 프로그램이지만 해당 커널은 Linux일 뿐입니다.

이를 수행하려면 다음 단계를 수행해야 합니다.

  1. 커널 코드 변경
  2. 시작 프로세스의 코드를 변경하거나 직접 작성하세요. 예를 들어upstart
  3. 런레벨 디렉토리를 변경 또는 구현하거나, rc 파일 기반 UNIX를 사용하는 경우 이를 변경하십시오.
  4. 각 소프트웨어에서 사용하는 패키지 관리 또는 디렉터리를 그대로 둡니다. 이건 중요하다. 당신은 그것을 잊지 않을 것입니다.
  5. 마지막으로 디렉토리 구조를 변경하십시오.

관련 정보