Quitter le forum et retourner au site

Ras le bol de taper systemctl tout le temps ?

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 719
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Ras le bol de taper systemctl tout le temps ?

Message par le Manchot Masqué »

En 2013, M. Lennart Poettering, créateur de systemd chez Redhat, fut sollicité par plusieurs administrateurs informatiques pour "raccourcir" sa commande systemctl en sc (cf. https://bugzilla.redhat.com/show_bug.cgi?id=905612).
Il faut dire que dans le monde informatique, les administrateurs système/réseau aiment beaucoup les commandes courtes, faciles à retenir et à chaîner. C'est même une des forces du BASH face à ses concurrents de l'autre monde.
L'autre problème, soulevé par de nombreux administrateurs, c'est que la commande systemctl est beaucoup trop proche de sysctl, qui elle sert à modifier certains réglages réseaux dans /etc/sysctl.conf.

Mais l'histoire retiendra surtout ici que M. Poettering fit la sourde oreille, et balaya d'un geste l'outrecuidance de ces gueux qui voulaient renommer son précieux. Qu'importe : la simplicité et l'efficacité finissent toujours par l'emporter. Dans notre cas, la solution tient en trois lignes :

Code : Tout sélectionner

. /usr/share/bash-completion/completions/systemctl
alias sc='systemctl'
complete -F _systemctl sc
à placer dans /root/.bash_aliases, et l'affaire est pliée : 7 caractères économisés plusieurs fois par jour et des risques d'erreurs en moins, c'est toujours bon à prendre. Il est juste dommage que M. Poettering ne l'ait pas compris.

L'astuce est de https://unix.stackexchange.com/question ... completion, et démontre une fois encore la souplesse du monde libre, mais aussi son efficacité.
Avatar de l’utilisateur
juice
Messages : 247
Inscription : dim. 29 juin 2008, 10:06
Distribution : Archlinux
Niveau : Confirmé
Localisation : Oberentzen

Re: ras le bol de taper systemctl tout le temps ?

Message par juice »

Intéressant. J’aurais bien aimé faire la même chose avec la complétion sur les services / units
avec mes fonctions du type :

Code : Tout sélectionner

# Systemd functions
if [ -n $(groups | grep -o wheel) ]; then
    if [ $(id -u) != 0 ]; then
        service="sudo systemctl"
    else
        service="systemctl"
    fi
    # Start systemd service
    sdstart() {
        $service start "$@"
    }
…
mais bon, pas sur que ça manche :roll:
Avatar de l’utilisateur
juice
Messages : 247
Inscription : dim. 29 juin 2008, 10:06
Distribution : Archlinux
Niveau : Confirmé
Localisation : Oberentzen

Re: Ras le bol de taper systemctl tout le temps ?

Message par juice »

Je me suis finalement rallié à ta solution, mais plutôt avec un « sd » comme alias et le tout dans le fichier
/etc/bash.bash_aliases

Code : Tout sélectionner

# Systemd aliases and functions
. /usr/share/bash-completion/completions/systemctl
alias sd='systemctl'
complete -F _systemctl sd

alias sdservices='systemctl list-units -t service'
alias sdfailed='systemctl --failed'
alias sdfiles='systemctl list-unit-files'
alias sderr='journalctl -p err'
Avatar de l’utilisateur
juice
Messages : 247
Inscription : dim. 29 juin 2008, 10:06
Distribution : Archlinux
Niveau : Confirmé
Localisation : Oberentzen

Re: Ras le bol de taper systemctl tout le temps ?

Message par juice »

Pour que tout marche bien avec la commande sudo, il faut rajouter ceci dans le ~/.bashrc de chaque utilisateur
déclaré « administrateur » :

Code : Tout sélectionner

alias sudo='sudo '
uniks
Messages : 2
Inscription : lun. 15 janv. 2018, 13:13

Re: Ras le bol de taper systemctl tout le temps ?

Message par uniks »

Bonjour et merci à tous pour cette astuce qui m'a sauvée la vie!
J'avoue que ça m'a énervé de taper tout le temps systemctl, j'ai cherché d'autres moyens mais votre astuce a bien marché!
tronconneuse thermique thermique
Répondre