Autore Topic: Creare delle scorciatoie per la gestione di systemd  (Letto 661 volte)

Offline whoami

  • *
  • Post: 1562
  • Reputazione: 64
  • Quando c'era init i log arrivavano in orario!
    • Mostra profilo
Creare delle scorciatoie per la gestione di systemd
« il: 07 Dicembre 2012 ore 15:40 »
Scopo: Creare delle scorciatoie per la gestione di Systemd
Come: Creando degli alias in ~/.bashrc
Possibili conflitti o problemi: N.D.
Prerequisiti:Shell bash, editor di testi, systemd (tutti presenti di default sulle nuove installazioni)
Vantaggi: Avere dei comandi per la gestione di Systemd più corti (quindi risparmiare tempo)
Tempo necessario: 5 minuti


Premetto che non è farina del mio sacco ma l'ho letto da qualche parte sull'internet.

Una delle questioni relative a systemd che più mi urtava (delle tante che mi fanno rimpiangere init) era la lunghezza dei comandi per gestire i servizi. Ho scoperto che con delle semplicissime funzioni di bash si può ovviare al problema.

In ~/.bashrc basta aggiungere le seguenti linee:

Codice: [Seleziona]
# start systemd service
    0.start() {
        sudo systemctl start $1
    }
# restart systemd service
    0.restart() {
        sudo systemctl restart $1
    }
# stop systemd service
    0.stop() {
        sudo systemctl stop $1
    }
# enable systemd service
    0.enable() {
        sudo systemctl enable $1
    }
# disable a systemd service
    0.disable() {
        sudo systemctl disable $1
    }
# show the status of a service
    0.status() {
        systemctl status $1
    }
# reload a service configuration
    0.reload() {
        sudo systemctl reload $1
    }
# list all running service
    0.list() {
        systemctl
    }
# list all failed service
    0.failed () {
        systemctl --failed
    }
# list all systemd available unit files
    0.list-files() {
        systemctl list-unit-files
    }
# check the log
    0.log() {
        sudo journalctl $1
    }
# show wants
    0.wants() {
        systemctl show -p "Wants" $1.target
    }
# analyze the system
    0.analyze() {
        systemd-analyze $1
    }

In modo tale da avere invece che sudo systemctl status solo 0.status

Codice: [Seleziona]
[15:35:56][gt--> ~]$ 0.status kdm
kdm.service - K Display Manager
          Loaded: loaded (/usr/lib/systemd/system/kdm.service; enabled)
          Active: active (running) since gio, 2012-12-06 22:10:02 CET; 17h ago
        Main PID: 306 (kdm)
          CGroup: name=systemd:/system/kdm.service
                  ├─ 306 /usr/bin/kdm -nodaemon
                  └─5325 /usr/bin/X -br -novtswitch -quiet :0 vt7 -nolisten tcp -auth /var/run/xauth/A:0-UnHP7a

eccetera...

Per attuare le modifiche, salvare il file .bashrc modificato e dando il comando bash, in modo da ricaricare gli alias.

Aggiungerei che molto spesso nelle operazioni diciamo "di routine" si può anche non aggiungere il .service alla fine (kdm invece di kdm.service, NetworkManager invece di NetworkManager.service) risparmiando altri 8 caratteri!

Guida aggiornata a Febbraio 2013 -Modificata da Andreazube
« Ultima modifica: 24 Febbraio 2013 ore 10:26 da andreazube »
echo "VQF AHELME I BI CI WECPF"| tr "ETAOINSHRDLUBCFGJMQPVWZYXK" "A-Z"

 

Template by Homey | Sito ufficiale | Disclaimer