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.dadresář.
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