GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Posizione dello script Fsck?

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.

Correlati:Debian – Il DNS non è impostato correttamente in Debian Linux?

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

Linux
  1. Come creare un servizio Systemd in Linux

  2. Aggiunta di un nuovo servizio a Linux systemd

  3. Come scrivere uno script di avvio per Systemd?

  4. Servizio del sistema operativo Linux 'dhcpd'

  5. Servizio del sistema operativo Linux "anacron"

Come eseguire lo script della shell come servizio Systemd in Linux

Come eseguire lo script della shell come servizio SystemD in Linux

Servizio del sistema operativo Linux 'microcode_ctl'

Servizio del sistema operativo Linux "NetFS"

Servizio del sistema operativo Linux 'ldap'

Servizio del sistema operativo Linux 'yppasswdd'