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?
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?
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.
/etc
pewnym momencie rzeczywiste pliki binarne . Przynajmniej init.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 dane
Skrypty 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ą.
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 dla rc
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
.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.
Standard systemu plików został zaprojektowany do użytku przez programistów dystrybucji Unix, twórców pakietów i implementatorów systemów. Jednak ma on przede wszystkim stanowić odniesienie i nie jest instrukcją na temat zarządzania systemem plików lub hierarchią katalogów w systemie Unix.
Digital UNIX dość rozsądnie umieścił skrypty w /sbin/init.d
katalogu. A także HP-UX, zgodnie z kamieniem rozety .