Potřebuji zjistit, jaký typ skriptu spouští fsck během bootování na CentOS 7?
Vím, že všechny scénáře jsou umístěny v adresáři /etc/rc.d.
Ale nemám o tom ani ponětí kde je tento skript umístěn.
Přijatá odpověď:
Vím, že všechny scénáře jsou umístěny v
/etc/rc.d
adresář.
To, co víte, je špatně.
Vítejte v CentOS 7. Svět se změnil. Zejména se změnila vaše základna Red Hat Enterprise Linux 7. Používáte systémový operační systém Linux. Mnoho získaných poznatků o Linuxu pro takové systémy neplatí.
fsck
není vůbec spuštěn žádným skriptem na systemd operačních systémech Linux.
Nativní formát pro systemd je jednotka , což může být mimo jiné servisní jednotka nebo montážní jednotku . Vlastní správa služeb systemd funguje pouze z hlediska těch, které čte z jednoho z devíti adresářů, kde (v celém systému) .service
a .mount
soubory mohou žít. /etc/systemd/system
, /run/systemd/system
, /usr/local/lib/systemd/system
a /usr/lib/systemd/system
jsou čtyři z těchto adresářů.
Váš /etc/fstab
databáze je převedena na jednotky připojení pomocí programu s názvem systemd-fstab-generator
. Tento program je uveden v /usr/lib/systemd/system-generators/
adresář a je tedy spouštěn automaticky systemd na začátku procesu bootstrap při každém bootování a znovu pokaždé, když systemd dostane pokyn k opětovnému načtení konfigurace později.
Tento program je generátor , typ pomocného nástroje, jehož úkolem je vytvářet soubory jednotek za běhu v tmpfs, kde jsou umístěny další tři z těchto devíti adresářů (které jsou určeny pouze pro použití generátory). systemd-fstab-generator
generuje .mount
jednotky, které připojují svazky. Ty ve svém tahu odkazují na .service
jednotky, na kterých běží fsck
.
Tyto fsck
servisní jednotky samy o sobě neexistují jako soubory v souborovém systému (ani v tmpfs) a nejsou produkty generátoru. Jsou okamžité pomocí systemd ze šablony soubor servisní jednotky s názvem [email protected]
pomocí názvu zařízení jako názvu instance servisní jednotky. K vytvoření instance dochází kvůli Requires=
a After=
odkazy na [email protected]device.service
z vygenerovaného .mount
jednotky.
Tato vytvořená šablona je služba, která spouští program s názvem systemd-fsck
, který nastaví spojení klient-server pro zobrazení informací o průběhu a následně spustí fsck
. systemd-fsck
je zkompilovaný program C, nikoli interpretovaný skript.
Další čtení
- „Nové funkce:Systém a služby“. Poznámky k vydání Red Hat Enterprise Linux 7 . Red Hat.
- Stephen Wadeley (2014). "8. Správa služeb pomocí systemd” Příručka správce systému Red Hat Enterprise Linux 7 . Red Hat.
- systemd-fstab-generator . systémové manuálové stránky. Freedesktop.org.
- [e-mail chráněn] . systémové manuálové stránky. Freedesktop.org.
- systemd.mount . systémové manuálové stránky. Freedesktop.org.
- https://unix.stackexchange.com/a/204075/5132
- https://unix.stackexchange.com/a/196014/5132