Continuo lendo / ouvindo /etc
os arquivos de configuração do sistema. Alguém pode explicar / me dar alguma intuição para por que esses scripts que iniciar / parar / reiniciar vários programas são geralmente em /etc
vez de /var
ou /usr
ou algo semelhante?
filesystems
directory-structure
Adam Thompson
fonte
fonte
Respostas:
Desde o início (historicamente, e no processo de inicialização ...),
/etc
faz parte do/
(o primeiro sistema de arquivos montado), enquanto/usr
não era (até que os discos ficassem grandes)./var
mantém dados temporários , enquanto esses scripts não são temporários.Não é tão simples, mas começou assim e há poucas razões para refazer todo o layout do diretório.
fonte
/etc
algum momento ou outro. Pelo menosinit.d
é principalmente scripts em sistemas modernos. Mas ainda não é possível ter/etc
montado somente leitura./etc
podem acabar com a limpeza de coisas que não são de configuração./tmp
mantém dados temporários./var
mantém dados variáveisOs scripts de inicialização são na verdade uma parte importante da configuração do sistema.
Embora o processo de inicialização seja muito menos personalizado do que há 15 a 30 anos, e a maior parte da configuração da inicialização tenha sido automatizada, todas as opções administrativas que determinam a sequência de inicialização ainda estão presentes
/etc
.Isso representa uma maneira muito centralizada de manter e fazer backup da configuração do sistema. Na maioria dos sistemas, o backup
/etc
é suficiente para permitir a reinstalação de todo o sistema com facilidade. Você simplesmente faz uma reinstalação completa com os programas necessários e restaura seu/etc
backup.fonte
M. Dickey e M. Pelletier compraram as instalações da questão. Mas as premissas estão erradas.
Se você leu "
/etc
é para arquivos de configuração do sistema", leu algo que não mostra a imagem completa para você. Olhe o nome. É "et cetera". As pessoas colocaram tudo na pia da cozinha uma vez ou outra./etc/rc
costumava ser (e em alguns sistemas ainda é) o programa executado para iniciar tudo./etc/init
em um ponto (no XENIX, por exemplo, muito antes de iniciar uma idéia)./etc/profile
,,/etc/zprofile
e todo o resto são definitivamente scripts./etc/netstart
é um programa; como é o FreeBSD/etc/ipfw.rules
./etc/rc.suspend
e/etc/rc.resume
; e, de fato/etc/rc.sendmail
,/etc/rc.bsdextended
e/etc/rc.firewall
.Da mesma forma, se você leu que "os scripts que iniciam / param / reiniciam vários programas geralmente estão em
/etc
vez de/var
ou/usr
ou algo semelhante", você já leu outra coisa que não mostra a imagem completa para você./usr/local/etc/rc.d/
diretório pararc
scripts do sistema não operacional .rc
scripts para todos os tipos de coisas vivem lá e não abaixo/etc
./var/sv
,/var/service
e locais semelhantes. (Meu conjunto de ferramentas nosh, por exemplo, fornece quase mil pacotes de serviços/var/sv
. Os únicos pacotes de serviços que entram/etc/service-bundles
são entre 60 e 70 necessários antes da/usr
montagem, incluindo os serviços que montam e verificam,/usr
se necessário.)/etc/systemd
, algumas coisas no/run/systemd
, algumas coisas no/usr/lib/systemd
, e ( mesmo que seja em situação irregular por razões inaplicáveis ) algumas coisas no/usr/local/lib/systemd
. Mais uma vez, a maioria das "coisas para iniciar / serviços parar" devem ser encontrado em/usr
vez de sob/etc
.fonte
Você faria bem em revisar o padrão de hierarquia do sistema de arquivos . Ele explicará (em detalhes) exatamente por que isso ocorre, mas também contém essas informações em muitos outros caminhos que podem lhe interessar.
fonte
O Digital UNIX colocou os scripts de maneira bastante sensata no
/sbin/init.d
diretório. E também o HP-UX, de acordo com a pedra de roseta .fonte