Devo scoprire che tipo di script esegue fsck durante l'avvio su CentOS 7?
So che tutti gli scenari si trovano nella directory /etc/rc.d.
Ma non ne ho idea dove si trova questo script.
Risposta accettata:
So che tutti gli scenari si trovano in /etc/rc.d
directory.
Quello che sai è sbagliato.
Benvenuto in CentOS 7. Il mondo è cambiato. In particolare, la tua base di Red Hat Enterprise Linux 7 è cambiata. Stai usando un sistema operativo Linux systemd. Gran parte della saggezza ricevuta su Linux non è vera per tali sistemi.
fsck
non è affatto eseguito da alcuno script su sistemi operativi Linux di sistema.
Il formato nativo per systemd è l'unità , che può essere tra l'altro un'unità di servizio o un unità di montaggio . la corretta gestione dei servizi di systemd opera esclusivamente in termini di quelli, che legge da una delle nove directory in cui (a livello di sistema) .service
e .mount
i file possono vivere. /etc/systemd/system
, /run/systemd/system
, /usr/local/lib/systemd/system
e /usr/lib/systemd/system
sono quattro di queste directory.
Il tuo /etc/fstab
il database viene convertito in unità di montaggio da un programma chiamato systemd-fstab-generator
. Questo programma è elencato in /usr/lib/systemd/system-generators/
directory e viene quindi eseguito automaticamente da systemd all'inizio del processo di bootstrap ad ogni avvio e di nuovo ogni volta che viene richiesto a systemd di ricaricare la sua configurazione in un secondo momento.
Questo programma è un generatore , un tipo di utilità ausiliaria il cui compito è creare file di unità al volo, in un tmpfs in cui si trovano altre tre di queste nove directory (che sono destinate ad essere utilizzate solo dai generatori). systemd-fstab-generator
genera .mount
unità che montano i volumi. Questi a loro volta fanno riferimento a .service
unità che eseguono fsck
.
Quelli fsck
le unità di servizio non esistono come file nel filesystem (nemmeno in un tmpfs) e non sono i prodotti di un generatore. Sono istanziati da systemd da un modello file dell'unità di servizio, denominato [email protected]
, utilizzando il nome del dispositivo come nome dell'istanza dell'unità di servizio. L'istanza avviene a causa di Requires=
e After=
riferimenti a [email protected]device.service
dal .mount
generato unità.
Questo modello istanziato è un servizio che esegue un programma chiamato systemd-fsck
, che imposta una connessione client-server per visualizzare le informazioni sullo stato di avanzamento e quindi a sua volta esegue fsck
. systemd-fsck
è un programma C compilato, non uno script interpretato.
Ulteriori letture
- "Nuove funzionalità:sistema e servizi". Note sulla versione di Red Hat Enterprise Linux 7 . Cappello Rosso.
- Stephen Wadeley (2014). “8. Gestione dei servizi con systemd” Red Hat Enterprise Linux 7 System Administrators' Guide . Cappello Rosso.
- generatore di systemd-fstab . pagine di manuale di sistema. Freedesktop.org.
- [email protetta] . pagine di manuale di sistema. Freedesktop.org.
- systemd.mount . pagine di manuale di sistema. Freedesktop.org.
- https://unix.stackexchange.com/a/204075/5132
- https://unix.stackexchange.com/a/196014/5132