Debian

System

Ce billet présente des trucs et astuces pour le système Debian. Ce système est à la base du fonctionnement des systèmes Ubuntu et Raspberry PI OS. Les manipulations proposées devraient être applicables à ces deux autres systèmes. Elles vous permettront par exemple de vous connecter automatiquement au terminal lors du démarrage du système ou de changer la configuration du clavier, etc...

Cacher le menu de démarrage du système.

Sur les systèmes Debian installés par défaut, un écran de choix du type de démarrage s'affiche lorsque le système démarre. C'est l'utilitaire Grub qui pilote ces types de démarrage par l'intermédiaire d'un menu de sélection qui s'affiche lors du lancement du système. Il est possible d'exécuter immédiatement l'option par défaut en supprimant le temps d'attente pour faire votre choix ce qui aura pour effet de ne plus afficher le menu. La configuration de cet outil se trouve dans le fichier grub à l'emplacement /etc/default. Éditez ce fichier en utilisant l'outil d'édition de fichier nano en tant qu'administrateur.

sudo nano /etc/default/grub

Modifiez le paramètre GRUB_TIMEOUT en lui donnant la valeur 0.

GRUB_TIMEOUT=0

Sauvegardez la modification puis appliquez là avec la commande

sudo update-grub

Terminez la manipulation en redémarrant le système.

sudo reboot

Haut de la page

Se connecter automatiquement au terminal avec un utilisateur par défaut.

Pour se connecter automatiquement au terminal avec un utilisateur par défaut lorsque le système démarre il faut modifier la configuration de getty qui est l'outil d'ouverture d'un port de communication vers le système Linux à partir d'un terminal.

Pour cela il faut exécuter la commande

sudo systemctl edit getty@.service

Cette commande crée automatiquement un fichier de remplacement de la configuration du service getty à l'emplacement

/etc/systemd/system/getty@.service.d/override.conf

Ce fichier commence avec les lignes suivantes :

### Editing /etc/systemd/system/getty@.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file

### Lines below this comment will be discarded
...

Il faut ajouter dans l'espace réservé les lignes suivantes en remplaçant le nom de l'utilisateur myuser par l'identifiant de l'utilisateur avec lequel on souhaite se connecter automatiquement.

[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin myuser %I $TERM

La première ligne indique entre les [] la section de configuration concernée par les lignes qui suivent. Dans notre cas, il s'agit de la section [Service] qui indique ce que le service doit exécuter comme commandes Linux et à quel moment il doit les exécuter. Il s'appuie pour cela sur les paramètres et leurs valeurs associées qui suivent la déclaration de cette section. La deuxième ligne permet de réinitialiser le paramètre ExecStart qui détermine la commande à exécuter au démarrage du service. Le fait de ne rien associer à ce paramètre va permettre de le réinitialiser. La troisième et dernière ligne contient la nouvelle commande Linux associée au paramètre ExecStart. Dans notre cas, il s’agit de la commande /sbin/agetty. L'option noclear de la commande agetty indique de ne pas vider l'écran avant l'exécution de la commande. L'option autologin indique de se connecter automatiquement avec l'utilisateur qui suit ce paramètre sans demander l'identifiant ni le mot de passe de cet utilisateur. Le dernier paramètre -I est suivi d'une chaîne de caractères qui sera transmise au début de l'exécution de la commande agetty. Dans notre cas, cette chaîne de caractères est contenue dans la variable $TERM qui contient par défaut la valeur linux. Vous pouvez obtenir une information détaillée et en Français de la commande agettysur le site officiel du système Debian. Vous trouverez également une explication détaillée et en Français du fonctionnement du gestionnaire du système et des services sur la page dédiée du Wiki de Debian.

Une fois la section ajoutée au fichier, le début de celui-ci doit ressembler à ce qui suit

### Editing /etc/systemd/system/getty@.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file

[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin myuser %I $TERM

### Lines below this comment will be discarded
...

Terminez la manipulation en redémarrant le système.

sudo reboot

Haut de la page

Configurer un clavier Mac en Français.

La configuration d'un clavier pour le système Debian se trouve dans le fichier keyboard à l'emplacement /etc/default. Éditer ce fichier en tant qu'administrateur avec la commande nano.

sudo nano /etc/default/keyboard

Remplacez la configuration existante avec celle qui correspond à un clavier Mac standard en Français.

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="fr"
XKBVARIANT="mac"
XKBOPTIONS="lv3:switch,compose:lwin"

BACKSPACE="guess"

Terminez la manipulation en redémarrant le système.

sudo reboot

Haut de la page

Permettre à un utilisateur d'exécuter une commande avec des privilèges d'administrateur.

Si vous avez installé un système Debian en donnant un mot de passe au compte root lors de son installation, le compte rootsera activé. Mais dans ce cas l'utilisateur par défaut ne disposera pas des droits lui permettant d'exécuter la commande sudo. C'est cependant cette commande qui permet à l'utilisateur d'élever ses privilèges afin d'exécuter une commande Unix qui requiert des privilèges d'administrateur.

Pour ajouter ce droit à un utilisateur il faut d'abord disposer de la commande sudo. Cette commande n'est pas disponible si vous avez activé l'utilsiateur root lors de l'installation du système.

Pour installer cette commande, il faut vous connecter au système avec l'utilisateur root puis installer la commande sudo.

apt install sudo

Il faut ensuite autoriser l'utilisateur à exécuter la commande sudo.

usermod -aG sudo myuser

Le paramètre myuser doit être remplacé par l'utilisateur choisi.

Haut de la page

Configurer les sources de mise à jour du système.

Si vous avez installé un système Debian à partir d'une image DVD, la configuration des mises à jour est paramétrée de telle manière qu'elle se fasse à partir du DVD. Pour que les mises à jour se fessent à partir de l'Internet, il faut modifier le fichier sources.list à partir de l'emplacement etc/apt avec la commande nano.

sudo nano /etc/apt/sources.list

Pour la version de système 11 "Bullseye", remplacez la configuration existante par la suivante :

# Debian Bulseye, dépôt principal
deb http://deb.debian.org/debian/ bullseye main
deb-src http://deb.debian.org/debian/ bullseye main

# Debian Bullseye, mises à jour de sécurité
deb http://deb.debian.org/debian-security/ bullseye-security main
deb-src http://deb.debian.org/debian-security/ bullseye-security main

# Debian Bullseye, mises à jour "volatiles"
deb http://deb.debian.org/debian/ bullseye-updates main
deb-src http://deb.debian.org/debian/ bullseye-updates main

Pour la version de système 12 "Bookworm", remplacez la configuration existante par la suivante :

# Debian Bookworm, dépôt principal
deb http://deb.debian.org/debian bookworm main
deb-src http://deb.debian.org/debian bookworm main

# Debian Bookworm, mises à jour de sécurité
deb http://deb.debian.org/debian-security/ bookworm-security main
deb-src http://deb.debian.org/debian-security/ bookworm-security main

# Debian Bookworm, mises à jour "volatiles"
deb http://deb.debian.org/debian bookworm-updates main
deb-src http://deb.debian.org/debian bookworm-updates main

Haut de la page

Changer la langue du système.

Le changement de la langue du système se fait avec la commande dpkg-reconfigure.

sudo dpkg-reconfigure locales

Elle affiche un écran de sélection qui vous permet de choisir la langue du système que vous souhaitez utiliser.

dpkg_reconfigure_1

Les deux premiers caractères en identifient le code langue. Il s'agit d'un acronyme du nom de la langue exprimé en Anglais. Cette codification répond à la norme internationale ISO 639-1. Les deux caractères suivants US identifient le code pays qui est une déclinaison de la langue. Il s'agit également d'un acronyme exprimé en Anglais. Cette codification répond à la norme internationale ISO 3166-1 Alpha 2. Ces deux codes sont suivis du standard d'encodage utilisé pour stocker les caractères de la langue. Plus de 95% des langues suivent le standard UTF-8.

Sélectionnez en_US.UTF-8 UTF-8 pour l'américain ou fr_FR.UTF-8 UTF-8 pour le Français.

Dans le cas où vous choisissez plusieurs langues, vous devrez déterminer quelle est la langue principale que le système utilisera.

dpkg_reconfigure_2

Cet écran apparaitra systématiquement même si vous n'avez sélectionné qu'une seule langue car il existe la langue de l'ordinateur qui est identifiée par C. Cette langue est quasiment systématiquement délivrée en américain en-US.

Les autres langues servent à supplanter cette langue principale en les attribuant spécifiquement par utilisateur mais par défaut la langue principale s'applique à tous les utilisateurs. Si vous avez installé un Bureau comme Gnome ou KDE cette supplantation se paramètre dans le fichier .dmrc de l'utilisateur en modifiant dans la section DESKTOP la valeur du paramètre Language.

L'exemple suivant permet d'attribuer la langue Française en éditant le fichier .dmrc de l'utilisateur en utilisant la commande nano

nano /home/<user>/.dmrc

Le paramètre <user> doit être remplacé par l'identifiant de l'utilisateur choisi.

Puis modifiez le fichier comme suit

...
[Desktop]
Language=fr_FR.utf8
...

Haut de la page

Se connecter à distance avec un terminal.

Il y a plusieurs raisons qui justifie de vouloir se connecter à distance sur votre système avec un terminal. LE système est installé sur un serveur distant. Le serveur n'a pas de bureau ce qui limite les interactions comme les copier/coller. Vous voulez utiliser un environnement de développement comme Visual Studio Code pour réaliser vos scripts ou vos programmes. Bref, il y a des tas de raisons qui justifient ce besoin.

La connexion à distance s'appuie sur la solution ssh. Pour que cela fonctionne, il vous faut d'abord un serveur que vous devez installer et configurer sur le système sur lequel vous souhaitez vous connecter.

Pour cela, il faut vous authentifier sur la console du système concerné et installer le serveur ssh avec la commande.

sudo apt install openssh-server

L'installation du serveur ssh entrainera automatiquement son démarrage et l'ajoutera à liste des services à lancer lors du lancement du système.

Vous pouvez vérifier son bon fonctionnement avec la commande

sudo systemctl status sshd.service

openssh_server_1

Vous devez voir la mention enabled en vert qui indique que le service est activé et se lancera automatiquement au démarrage du système. Si ce n'est pas le cas, vous pouvez activer le service avec la commande

sudo systemctl enable ssh

Vous devez également voir active en vert. Si ce n'est pas le cas, lancez le service avec la commande

sudo systemctl start sshd.service

Haut de la page

suppression du message d'accueil du terminal.

Par défaut, lors du lancement du terminal, le système affiche un message d'accueil une fois que l'on s'est authentifié.

Par exemple, on peut avoir le message suivant :

motd_1

Ce message est géré par l'utilitaire motd qui est l'acronyme de "Message Of The Day". Il est défini dans le fichier motd à l'emplacement /etc. Pour supprimer ce message, une première méthode radicale consiste à supprimer ce fichier avec la commande suivante:

sudo rm /etc/motd

Mais il est également possible de supprimer ce message en ajoutant le fichier .hushlogin au niveau du dossier d'accueil de l'utilisateur. cea se fait avec la commande suivante.

touch ~/.hushlogin

Si ce fichier existe, la commande d'authentification login va supprimer tous les messages systèmes affichés au démarrage. Vous pouvez obtenir une information détaillée et en Français de la commande login sur le site officiel du système Debian.

Haut de la page

Modification du prompt du terminal.

Par défaut, une fois que l'on est connecté au terminal, les commandes Linux que vous saisissez sont toujours précédées par une chaîne de caractères que l'on nomme le prompt. En général ce prompt reprend l'identifiant de l'utilisateur suivi de @ puis le nom du système suivi de : puis de l'emplacement du dossier où l'on se trouve, ~ indiquant que l’on se trouve au niveau dossier racine de l'utilisateur, et enfin de $. Comme par exemple

ps1_1

C'est seulement après cette chaîne de caractères que l'on peut commencer à saisir sa commande Linux. La définition de cette chaîne se trouve dans la variable d'environnement PS1. La manière la plus simple d'en modifier sa définition consiste à ajouter au fichier de configuration de l'interface en ligne de commande Bash une redéfinition de cette variable d'environnement. Ce fichier se nomme .bashrc et se trouve à la racine du dossier de l'utilisateur qui s'est connecté. Éditez ce fichier en utilisant l'outil d'édition de fichier nano.

nano ~/.bashrc

Il faut ensuite définir la variable PS1 avec une nouvelle chaîne de caractères que vous pouvez rajouter à la fin du fichier.

...

PS1=">"

Le prompt du terminal affichera alors la valeur de cette chaîne comme on peut le voir ci-dessous.

ps1_2

La définition de cette variable peut également peut faire appel à d'autres variables comme l'identifiant de l'utilisateur ou le nom du serveur mais elle peut aussi utiliser des commandes de formatage de ces informations. Par défaut l'affichage du contenu de cette variable renvoie une valeur de prompt assez complexe.

echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\] ...

Il existe une documentation provenant d'un outil qui permet d'afficher le résulat de ce formatage du prompt sur le site officiel du système Debian.

Haut de la page

Previous Post Next Post