mudança da estrutura de diretório padrão do Unix

mudança da estrutura de diretório padrão do Unix

É possível alterar a estrutura de diretórios padrão do Unix/Linux? Quero dizer por configuração e sem necessidade de alterar o kernel. Ou se o kernel tiver que ser editado, quão difícil é essa tarefa? A estrutura de diretório padrão (todos esses diretórios /usr, /bin, /etc) está codificada no kernel?

O que eu preciso é ter um /diretório raiz (), onde cada usuário estará livre para criar seus próprios arquivos/diretórios e um /Linuxdiretório, onde existirão todos os arquivos do sistema operacional (provavelmente na estrutura original), incluindo todos os arquivos de configuração. Não deve haver nenhum diretório "Home" e todos os arquivos de configuração devem ser iguais para todos os usuários, editáveis ​​apenas pelo administrador do sistema.

Responder1

Sim, é possível. Mas requer muito esforço para alcançar o que deseja.

Para detalhes você pode verificarGoboLinuxprojeto.

GoboLinux é um sistema operacional gratuito e de código aberto cuja característica mais proeminente é a reorganização do sistema de arquivos Linux tradicional. Em vez de seguir o Padrão de Hierarquia do Sistema de Arquivos como a maioria dos sistemas do tipo Unix, cada programa em um sistema GoboLinux tem sua própria árvore de subdiretórios, onde todos os seus arquivos (incluindo configurações específicas para aquele programa) podem ser encontrados. Assim, um programa "Foo" possui todos os seus arquivos e bibliotecas específicos em /Programas/Foo. Segundo os desenvolvedores do GoboLinux, isso resulta em um sistema mais limpo.

Responder2

A estrutura de diretório padrão (todos esses diretórios /usr, /bin, /etc) está codificada no kernel?

Não, a maior parte disso não significa muito para o kernel. No entanto, ele preenche sistemas de arquivos montados em locais padronizados como /proce /dev.

É possível alterar a estrutura de diretórios padrão do Unix/Linux?

Absolutamente não. A razão pela qual existe umpadrão para o sistema de arquivos raizé porque esses diretórios têm uma finalidade definida e são identificados por caminho. Na verdade, não faz muito sentido dizer: "Bem, eu preferiria que meu /etcdiretório fosse chamado /masterconf." Se você deseja acessar o que todos e tudo o mais consideram /etc, /masterconfvocê pode adicionar um link simbólico ln -s /etc /masterconf, mas deixe /etccomo praticamente todo mundo e tudo o mais estarão procurando por isso.

Por analogia, alguém poderia dizer: "Gostaria de renomear todos os utilitários padrão - mkdir, ls, cd, etc. - para que existam apenas com os nomes que dei a eles". Novamente, você pode vinculá-los simbolicamente, mas criar um padrão que permita ao sistema configurar nomes para utilitários padrão no lugar dos normais seria:

  1. Muito mais complicado.
  2. Quase certamente adicionaria sobrecarga, pois os utilitários instalados teriam que passar constantemente por algum tipo de pesquisa para resolver seu novo esquema de nomenclatura.
  3. Completamente inútil para mais de 99,9999% dos usuários.

Os pontos 1 e 2 são desvantagens significativas que não podem ser justificadas à luz do ponto 3, razão pela qual não existe tal sistema. Da mesma forma, o WRT renomeia partes do sistema de arquivos padrão.

O que eu preciso é ter...

Novamente, você pode fazer o que quiser com links simbólicos ou físicos (consulte Recursos man ln), e então você pode usá-los se preferir. Mas não mexa com o padrão do sistema de arquivos,não é opcional.

Responder3

Em geral, a estrutura de diretórios não é imposta pelo Kernel do Linux, é imposta por padrões de sistema de arquivos como este:Padrão de hierarquia do sistema de arquivos. OArtigo da Wikipedia com o mesmo nomefaz um trabalho decente ao explicar isso também.

Para sua pergunta sobre movê-lo/alterá-lo. Eu diria que isso é altamente desencorajado, embora possível, da mesma forma que em um sistema Windows eles têm locais padrão como:

  • C:\Windows
  • C:\Usuários e configurações
  • C:\Arquivos de Programas
  • etc.

Há um valor inerente em fazer com que os sistemas pareçam semelhantes, tanto do ponto de vista da embalagem, para desenvolvedores de software quanto para usuários de tais sistemas.

Responder4

Muitos disto de acordo com as circunstâncias mudaram estruturas de diretórios, até mesmo seus nomes,Microtic é um dispositivo de acordo com GNU/Linux Mas seu kernel é apenas Linux.

Se você quiser fazer isso, você deve seguir os seguintes passos:

  1. alterar o código do kernel
  2. altere o código do seu processo de inicialização ou escreva um você mesmo. comoupstart
  3. altere ou implemente o diretório de níveis de execução ou se você estiver usando UNIX de acordo com arquivos rc, altere-os.
  4. Deixe o gerenciamento de pacotes ou o diretório de uso de cada software. Isso é muito importante. Você não esquece.
  5. finalmente mude a estrutura do diretório.

informação relacionada