systemd è un insieme di mattoni fondamentali per i sistemi Linux. Fornisce un gestore di sistema e servizi che esegue e avvia il resto del sistema come PID 1.
systemd offre capacità di parallelizzazione aggressive, utilizza socket e attivazione D-Bus per avviare i servizi, fornisce avvio on-demand dei daemon, utilizza gruppi di controllo Linux per tracciare i processi, mantiene mount e punti auto-mount, e implementa una logica di controllo di servizio ben progettata basata sulla dipendenza delle transazioni. systemd supporta gli script init SysV e LSB e può sostituire sysvinit.
Altre sezioni includono daemon di log, utility per controllare configurazioni di base di sistema come nomi host, date, località, mantenimento di un elenco degli utenti logjati e container e macchine virtuali in esecuzione, account di sistema, directory di runtime e impostazioni, oltre alla gestione delle configurazioni dei demoni per reti semplici, sincronizzazione temporale di rete, inoltro log e risoluzione dei nomi.
Il file di configurazione systemd si trova nelle seguenti tre cartelle:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Recensione:
Profilo dell'unità
Un file di unità in systemd è un file che codifica informazioni sulle varie unità che systemd può gestire, inclusi servizi, socket, dispositivi e così via. Questa guida si concentra sui servizi, nel qual caso il file unità con cui stiamo lavorando è il file .service. Il file di configurazione del dispositivo varnish.service contiene informazioni su come systemd dovrebbe eseguire, monitorare e gestire il daemon della vernice.
Il blocco [Unità] è solitamente il primo blocco del file di configurazione ed è utilizzato per definire i metadati dell'Unità e come essa si relaziona ad altre Unità. I suoi principali campi sono i seguenti.
- Descrizione: Una breve descrizione
- Documentazione: L'indirizzo del documento
- Richiede: Altre unità da cui dipende l'unità corrente e, se non sono in funzione, l'unità corrente non si avvierà
- Desideri: Altre Unità che lavorano con l'Unità attuale, se non sono in funzione, l'Unità attuale non fallirà l'avvio
- BindsTo: Simile a Requires, specifica un'unità che fa smettere l'Unità corrente se esce
- Prima: Se anche l'Unità specificata in questo campo deve essere avviata, deve essere avviata dopo l'Unità corrente
- Dopo: Se anche l'Unità specificata in questo campo deve essere avviata, deve essere avviata prima dell'Unità corrente
- Conflitti: L'unità qui specificata non può funzionare contemporaneamente all'unità corrente
- Condizione... : Le condizioni che devono essere soddisfatte affinché l'unità corrente possa funzionare, altrimenti non funzionerà
- Asserire... : Le condizioni che devono essere soddisfatte affinché l'unità corrente possa funzionare, altrimenti verrà segnalato il guasto all'avvio
[Install] è solitamente l'ultimo blocco del file di configurazione che definisce come avviare e se avviare. I suoi principali campi sono i seguenti.
- WantedBy: Il suo valore è uno o più Target, e quando l'Unità corrente è attiva (abilita), il symlink viene inserito in una sottodirectory sotto la directory /etc/systemd/system con il suffisso Target name + .wants
- RequiredBy: Il suo valore è uno o più Target, e quando l'Unità corrente è attiva, il symlink verrà inserito in una sottodirectory sotto la directory /etc/systemd/system con il nome Target + .required suffisso
- Alias: L'alias che l'Unità attuale può usare per iniziare
- Inoltre: quando l'unità corrente viene attivata, altre unità verranno attivate contemporaneamente
Il blocco [Service] viene utilizzato per configurare il Service, e solo le unità del tipo Service possiedono questo blocco. I suoi principali campi sono i seguenti.
- Tipo: Definisce il comportamento del processo all'avvio. Ha i seguenti valori.
- Type=simple: Il valore predefinito, eseguire il comando specificato da ExecStart per avviare il processo principale
- type=forking: Il fork crea un processo figlio dal processo genitore, che uscirà immediatamente dopo la creazione
- Type=oneshot: Un processo una tantum, Systemd aspetterà che il servizio corrente esca prima di continuare l'esecuzione
- Tipo=dbus: Il servizio attuale inizia tramite D-Bus
- type=notify: Quando il servizio corrente viene avviato, Systemd verrà notificato e continuerà l'esecuzione
- type=idle: Il servizio corrente verrà eseguito solo se vengono eseguiti altri task
- ExecStart: Il comando per avviare il servizio corrente
- ExecStartPre: Il comando eseguito prima di avviare il servizio corrente
- ExecStartPost: Il comando eseguito dopo l'avvio del servizio corrente
- ExecReload: Il comando che viene eseguito quando il servizio corrente viene riavviato
- ExecStop: Il comando eseguito quando il servizio corrente viene interrotto
- ExecStopPost: Fermare il comando eseguito quando viene eseguito
- RestartSec: Il numero di secondi tra un servizio automatico e l'altro riavvia il servizio corrente
- Restart: Definisce le circostanze in cui Systemd riavvierà automaticamente il servizio corrente, con valori possibili come sempre, on-successo, on-failure, on-anormal, on-abort, on-watchdog
- TimeoutSec: Definisce il numero di secondi che Systemd aspetta prima di interrompere il servizio corrente
- Ambiente: Specificare la variabile ambiente
Strumento di gestione Systemctl
La gestione dei programmi in CentOS è fondamentalmente svolta dallo strumento systemctl.
Servizio Startup:
systemctl start name.service
Sospensione del servizio:
systemctl nome fermata.service
Riavvio del servizio:
systemctl restart name.service
Visualizza stato:
systemctl status name.service
Riavvio condizionale:
Se il servizio è stato avviato prima, verrà riavviato, e se il servizio non viene avviato, non sarà operato
systemctl try-restart name.service
Ricarica o riavvio:
Ricarica prima e, se il ricaricamento non va bene, riavvia
systemctl reload-or-restart name.service
Ricarica o riavvio condizionale:
systemctl reload-or-try-restart name.service
Stabilisce se il servizio può essere impostato dall'utente per avviare lo stato
systemctl unmask name.service
È vietato il servizio maschera SystemCTL
Visualizza lo stato attuale di attivazione del servizio:
Il valore di ritorno di stato del comando Service has started è 0 Il valore di ritorno di stato del comando che non è stato avviato è non-0
systemctl is-active name.service
Visualizza tutti i servizi attivati:
-t Specifica il tipo di unità visualizzata.
--tutte mostrano una lista più dettagliata di informazioni.
-un equivalente --tutti
SystemCTL Unità di lista
Servizio SystemCTL List-Units -T
SystemCTL List-Units -T servizio -A
Vedi tutti i servizi:
SystemCTL List-Units -a
Visualizza tutti gli stati del servizio:
SystemCTL list-unit-file
-a 、--all : Visualizza lo stato di tutti i servizi
-t 、--tipo: Specifica il tipo di unità da osservare
caricato: Il file di configurazione è stato caricato, caricato in memoria
attivo (running): Run che vengono elaborati continuamente una o più volte
attivo(exited): La configurazione una tantum volta viene completata con successo
attivo(in attesa): Correndo, aspettando un evento
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Utilizzato per indicare a quali livelli operativi il servizio è abilitato e disabilitato
ls /etc/systemd/system/*.wants/sshd.service
systemctl list-unit-file --type target --all
Per impostare il servizio in modo che non si avvii:
SystemCTL Disabilita Unità Nome del Servizio
Controlla se il servizio è stato avviato e avviato:
SystemCTL is-abilitato name.service
Guarda le dipendenze dei servizi:
systemctl list-dependencies name.service SystemCTL List-depebdencies
Servizio di carico pesante:
systemctl daemon-reload
Uccidi il processo:
Nome del processo di eliminazione di SystemCTL
Risorse:
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
|