Sigo leyendo / escuchando que /etc
es para archivos de configuración del sistema. ¿Alguien puede explicar / darme una idea de por qué estos scripts que inician / detienen / reinician varios programas generalmente están en /etc
lugar de /var
o son /usr
similares?
filesystems
directory-structure
Adam Thompson
fuente
fuente
Respuestas:
Al principio (tanto históricamente como en el proceso de arranque ...),
/etc
forma parte del/
(primer sistema de archivos montado), mientras que/usr
no lo fue (hasta que los discos se agrandaron)./var
contiene datos temporales , mientras que estos scripts no son temporales.No es tan simple, pero comenzó de esa manera y hay pocas razones para volver a trabajar todo el diseño del directorio.
fuente
/etc
en algún momento u otro. Al menosinit.d
es principalmente scripts en sistemas modernos. Pero todavía no es posible haber/etc
montado solo lectura./etc
podrían terminar limpiando cosas que no son de configuración./tmp
contiene datos temporales./var
contiene datos variablesLos scripts de inicio son en realidad una parte importante de la configuración del sistema.
Aunque el proceso de arranque está mucho menos personalizado que hace 15-30 años, y la mayor parte de la configuración de inicio se ha automatizado, todas esas opciones administrativas que determinan la secuencia de inicio todavía están presentes
/etc
.Esto representa una forma muy centralizada de mantener y respaldar la configuración del sistema. En la mayoría de los sistemas, la copia de seguridad
/etc
es suficiente para permitir la reinstalación de todo el sistema con facilidad. Simplemente realice una reinstalación completa con los programas necesarios y restaure su/etc
copia de seguridad.fuente
M. Dickey y M. Pelletier han comprado las premisas de la pregunta. Pero las premisas están mal.
Si has leído que "
/etc
es para los archivos de configuración del sistema", entonces has leído algo que no te muestra la imagen completa. Mira el nombre Es "etcétera". La gente ha puesto todo en el fregadero de la cocina allí en un momento u otro./etc/rc
solía ser (y en algunos sistemas todavía lo es) el programa se ejecuta para iniciar todo./etc/init
en un punto (en XENIX, por ejemplo, mucho antes de que el arranque fuera una idea)./etc/profile
,/etc/zprofile
y todo lo demás son definitivamente guiones./etc/netstart
es un programa; como es FreeBSD's/etc/ipfw.rules
./etc/rc.suspend
y/etc/rc.resume
; y, de hecho/etc/rc.sendmail
,/etc/rc.bsdextended
y/etc/rc.firewall
.Del mismo modo, si usted ha leído que "scripts que de inicio / parada / reinicio diversos programas son por lo general en
/etc
lugar de/var
o/usr
o algo similar", entonces usted ha leído algo más que no pintar el cuadro completo para usted./usr/local/etc/rc.d/
directorio pararc
scripts que no sean del sistema operativo .rc
guiones para todo tipo de cosas viven allí en lugar de debajo/etc
./var/sv
,/var/service
y lugares similares. (Mi conjunto de herramientas nosh, por ejemplo, proporciona casi mil paquetes de servicios/var/sv
. Los únicos paquetes de servicios que entran/etc/service-bundles
son los que se necesitan entre 60 y 70 antes de/usr
montarlos, incluidos los servicios que se montan y comprueban/usr
si es necesario)./etc/systemd
, algunas cosas/run/systemd
, algunas cosas/usr/lib/systemd
y ( aunque está indocumentado por razones inaplicables ) algunas cosas/usr/local/lib/systemd
. Nuevamente, la mayoría de las "cosas para iniciar / detener servicios" se encuentran en/usr
lugar de debajo/etc
.fuente
Haría bien en revisar el Estándar de Jerarquía del Sistema de Archivos . Explicará (en detalle) exactamente por qué esto es así, pero también contiene dicha información en muchos otros caminos que pueden interesarle.
fuente
Digital UNIX colocó las secuencias de comandos bajo el
/sbin/init.d
directorio con bastante sensatez . Y también HP-UX, según la piedra rosetta .fuente