Ciągle czytam / słyszę, że /etc
są pliki konfiguracyjne systemu. Czy ktoś może wyjaśnić, / daj mi trochę intuicji, dlaczego te skrypty start / stop / restart różne programy są zwykle /etc
zamiast /var
lub /usr
lub coś podobnego?
filesystems
directory-structure
Adam Thompson
źródło
źródło
Odpowiedzi:
Na początku (zarówno historycznie, jak i w trakcie uruchamiania ...)
/etc
jest częścią/
(pierwszego zamontowanego systemu plików), podczas gdy/usr
nie był (dopóki dyski nie stały się duże)./var
przechowuje dane tymczasowe , podczas gdy te skrypty nie są tymczasowe.Nie jest to takie proste, ale tak się zaczęło i nie ma powodu, aby przerabiać cały układ katalogu.
źródło
/etc
pewnym momencie rzeczywiste pliki binarne . Przynajmniejinit.d
są to głównie skrypty na nowoczesnych systemach. Ale nadal nie jest możliwe/etc
zamontowanie tylko do odczytu./etc
mogą zakończyć czyszczenie nie-konfiguracyjnych rzeczy./tmp
przechowuje dane tymczasowe./var
przechowuje zmienne daneSkrypty startowe są tak naprawdę ważną częścią konfiguracji systemu.
Mimo że proces rozruchu jest znacznie mniej dostosowany niż 15-30 lat temu, a większość konfiguracji uruchamiania została zautomatyzowana, wszystkie wybory administracyjne określające kolejność uruchamiania są nadal dostępne
/etc
.Jest to bardzo scentralizowany sposób utrzymania i tworzenia kopii zapasowej konfiguracji systemu. W większości systemów
/etc
wystarczy wykonać kopię zapasową , aby z łatwością ponownie zainstalować cały system. Wystarczy wykonać pełną ponowną instalację wymaganych programów i przywrócić/etc
kopię zapasową.źródło
M. Dickey i M. Pelletier dokonali zakupu na terenie pytania. Ale przesłanki są błędne.
Jeśli przeczytałeś, że „
/etc
dotyczy plików konfiguracji systemu”, to przeczytałeś coś, co nie pomaluje dla ciebie pełnego obrazu. Spójrz na imię. To „et cetera”. Ludzie włożyli wszystko do zlewu kuchennego w tym czy innym czasie./etc/rc
Kiedyś był (i na niektórych systemach nadal jest) program uruchamiany, aby wszystko uruchomić./etc/init
w pewnym momencie (na przykład w XENIX, na długo przed początkowym pomysłem)./etc/profile
,/etc/zprofile
a cała reszta to zdecydowanie skrypty./etc/netstart
to program; podobnie jak FreeBSD/etc/ipfw.rules
./etc/rc.suspend
i/etc/rc.resume
; i rzeczywiście/etc/rc.sendmail
,/etc/rc.bsdextended
i/etc/rc.firewall
.Podobnie, jeśli przeczytałeś, że „skrypty uruchamiające / zatrzymujące / restartujące różne programy zwykle znajdują się
/etc
zamiast/var
lub/usr
lub coś podobnego”, to przeczytałeś coś innego, co nie maluje dla ciebie pełnego obrazu./usr/local/etc/rc.d/
katalog dlarc
skryptów nieoperacyjnych .rc
żyją tam skrypty różnych rzeczy, a nie pod nimi/etc
./var/sv
,/var/service
oraz podobnych miejsc. (Mój zestaw narzędzi nosh, na przykład, zapewnia prawie tysiąc pakietów usług/var/sv
. Jedynymi pakietami usług, które wchodzą,/etc/service-bundles
są między 60 a 70, które są potrzebne przed/usr
zamontowaniem, w tym usługi, które montują i sprawdzają,/usr
jeśli to konieczne.)/etc/systemd
, niektóre rzeczy/run/systemd
, niektóre rzeczy/usr/lib/systemd
, i ( chociaż nie jest to dokumentowane z niewłaściwych powodów ) niektóre rzeczy/usr/local/lib/systemd
. Ponownie, większość „rzeczy do uruchomienia / zatrzymania usług” można znaleźć/usr
raczej pod niż pod/etc
.źródło
Dobrze byłoby przejrzeć Standard Hierarchii Systemów Plików . Wyjaśni (szczegółowo) dokładnie, dlaczego tak jest, ale zawiera również takie informacje na temat wielu innych ścieżek, które możesz być ciekawy.
źródło
Digital UNIX dość rozsądnie umieścił skrypty w
/sbin/init.d
katalogu. A także HP-UX, zgodnie z kamieniem rozety .źródło