
기본 Unix/Linux 디렉토리 구조를 변경할 수 있습니까? 즉, 커널을 변경할 필요 없이 구성을 의미합니다. 아니면 커널을 편집해야 한다면 그 작업이 얼마나 어려운가요? 기본 디렉터리 구조(이 모든 /usr
, /bin
, /etc
디렉터리)가 커널에 하드 코딩되어 있습니까?
나에게 필요한 것은 /
모든 사용자가 자신의 파일/디렉터리를 자유롭게 만들 수 있는 하나의 루트( ) 디렉토리와 /Linux
모든 구성 파일을 포함하여 모든 OS 파일이 (아마 원래 구조로) 존재하는 하나의 디렉토리를 갖는 것입니다. "홈" 디렉터리가 전혀 없어야 하며 모든 구성 파일은 시스템 관리자만 편집할 수 있는 모든 사용자에 대해 동일해야 합니다.
답변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
비유하자면 누군가는 "모든 표준 유틸리티( , ls
, cd
등)의 이름을 바꾸어 내가 지정한 이름으로만 존재하도록 하고 싶습니다."라고 말할 수 있습니다. 다시 말하지만, 이들을 심볼릭 링크할 수 있지만 시스템이 일반 유틸리티 이름 대신 표준 유틸리티의 이름을 구성할 수 있도록 하는 표준을 만드는 방법은 다음과 같습니다.
- 훨씬 더 복잡합니다.
- 설치된 유틸리티는 새로운 명명 체계를 분류하기 위해 지속적으로 일종의 조회를 거쳐야 하므로 오버헤드가 추가되는 것은 거의 확실합니다.
- 99.9999% 이상의 사용자에게는 전혀 의미가 없습니다.
1번과 2번은 3번의 관점에서 정당화될 수 없는 중대한 결점이므로 그러한 시스템이 존재하지 않습니다. 마찬가지로 WRT는 표준 파일 시스템의 일부 이름을 바꿉니다.
나에게 필요한 것은...
다시 말하지만, 기호 링크나 하드 링크를 사용하여 원하는 것은 무엇이든 할 수 있으며(참고자료 참조 man ln
) 원하는 경우 이를 사용할 수 있습니다. 그러나 파일 시스템 표준을 망쳐 놓지 마십시오.그것은 선택사항이 아니다.
답변3
일반적으로 디렉토리 구조는 Linux 커널에 의해 적용되지 않고 다음과 같은 파일 시스템 표준에 의해 적용됩니다.파일 시스템 계층 표준. 그만큼같은 이름의 위키피디아 기사설명도 잘해줍니다.
이동/변경에 대한 질문입니다. 가능하지만 Windows 시스템에서 다음과 같은 표준 위치가 있는 것과 같은 방식으로 이는 매우 권장되지 않습니다.
- C:\윈도우
- C:\사용자 및 설정
- C:\프로그램 파일
- 등.
소프트웨어 개발자와 해당 시스템 사용자의 패키징 관점에서 시스템을 유사하게 보이게 만드는 데에는 고유한 가치가 있습니다.
답변4
상황에 따라 디렉토리 구조, 이름까지 변경된 disto의 대부분은 Microtic은 GNU/Linux에 따른 어플라이언스이지만 커널은 Linux일 뿐입니다.
그렇게 하고 싶다면 다음 단계를 수행해야 합니다.
- 커널 코드 변경
- 부팅 프로세스의 코드를 변경하거나 직접 작성하십시오. ~와 같은
upstart
- 런레벨의 디렉토리를 변경 또는 구현하거나 rc 파일에 따라 UNIX를 사용하는 경우 변경하십시오.
- 패키지 관리나 각 소프트웨어 사용 디렉터리를 그대로 둡니다. 그것은 매우 중요합니다. 당신은 그것을 잊지 않습니다.
- 마지막으로 디렉토리 구조를 변경하십시오.