Un ordinateur de petit format, un HP Pavilion, se morfondait dans un coin en grand besoin d'un nouveau but dans la vie. Pour preuve du fait que l'ordinateur est plutôt ancien, disons simplement qu'il dispose d'un processeur AMD Athlon 64 X2 et qu'il a est livré avec Windows Vista Media Center (32 bits) préinstallé. J'ai décidé qu'il pourrait bien être un système de sauvegarde à distance étêté (sans moniteur et sans clavier). À cette fin, son petit disque dur a été remplacé par un Seagate de 2 To libéré d'un boîtier USB 2.0. La carte d'extension du syntonisateur télé a été retirée. De plus, le lecteur de CD-ROM pour être éventuellement remplacé par un deuxième disque dur. Il ne restait plus qu'à installer une distribution de Linux serveur et c'est là qu'un problème s'est manifesté. Je n'ai pas pu faire fonctionner l'interface réseau Wi-Fi. Comme le dit le sous-titre, c'était de ma faute, la solution était dans le manuel.
Table of Contents
- Quelle distribution serveur ?
- Installation et configuration initiale
- Installation de l'interface Wi-Fi
- Suppression de Snap
- Désactivation des mises à niveau automatiques
- Désactivation de CloudInit
- Conclusion
Quelle distribution serveur ?
Bien que j'aie installé diverses distributions « légères » de Linux sur un certain nombre d'ordinateurs monocarte basés sur l'architecture ARM ces dernières années, mon expérience avec les systèmes AMD64 est beaucoup plus limitée. L'installation de Debian sur un vieil ordinateur Dell il y a quelques mois était relativement simple (voir Scripts de sauvegarde de Domoticz), même si la légèreté système fut surprenante. j'ai installé cette même distribution dite « non libre » (non-free) et constaté que l'installateur ait trouvé les interfaces réseau Ethernet et Wi-Fi et pouvait procéder à l'installation de Debian « standard » avec l'une ou l'autre de ces interfaces. Cependant, je n'ai pas pu faire fonctionner la carte Wi-Fi avec l'image installée.
La tentative suivante a été d'installer Mint 20 Mate. Cela s'est bien passé et le Wi-Fi a fonctionné dans cette distribution. Cependant, installer une interface utilisateur graphique complète qui ne serait pas utilisée uniquement pour activer la carte Wi-Fi n'était pas très satisfaisant. Bien sûr, il aurait été possible de supprimer l'interface graphique et de se retrouver avec une distribution plus légère.
Mon troisième essai a été d'installer Ubuntu Server. Son installateur n'a pas trouvé l'interface Wi-Fi et encore une fois, je n'ai pas pu installer la carte Wi-Fi une fois que le système d'exploitation fonctionnait. J'ai également remarqué que Snap était installé et qu'il se trouve que j'ai un préjugé probablement injustifié contre ce gestionnaire de paquets.
À ce moment-là, il y a quelques semaines, j'ai manqué de temps et j'ai dû abandonner le projet. Hier, j'ai pu y revenir et j'ai réussi à mettre en place le Wi-Fi dans Ubuntu Server et à modifier ce dernier à mon goût.
Installation et configuration initiale
La première chose que j'ai faite après le démarrage initial a été de modifier le fichier sudoers
pour réduire le nombre de fois où il est nécessaire de saisir le mot de passe utilisateur avec la commande sudo
.
Le seul membre du groupe michel
étant l'utilisateur michel
, le préfixe de pourcentage (%) n'est donc pas vraiment nécessaire. Bien sûr, d'autres devront s'adapter et utiliser le bon utilisateur ou groupe s'ils font la même chose. Ensuite, comme d'habitude, le système doit être mis à jour puis mis à niveau. Bien sûr, il est nécessaire d'avoir une connexion réseau pour cela mais heureusement, Linux n'a généralement aucun problème à mettre en place des interfaces Ethernet filaires.
Comme on peut le voir, j'ai ouvert une session SSH environ une minute après le démarrage du serveur. Tout a été fait dans les sessions SSH à partir de là.
Parce que ce serveur sera déplacé vers un autre réseau dont je sais qu'il utilise un sous-réseau (subnet) différent, j'ai délibérément continué avec une adresse IP dynamique qui n'est pas la meilleure solution pour un serveur. Pour faciliter la recherche de l'adresse, en particulier lorsque le système sera utilisé sans clavier et sans moniteur, j'ai installé le service avahi-daemonet de type ZeroConfiguration puis j'ai modifié son fichier de configuration afin qu'il annonce le serveur comme un système bureau.
En vérifiant sur mon bureau, j'ai trouvé le serveur avec le navigateur Zeronconf.
Le fuseau horaire n'est pas défini comme indiqué par l'lutilitaire timedatect
Puisque je sais que la ville voisine de Halifax (N.-É.) se trouve dans la base de données des fuseaux horaires, il était facile de confirmer le nom correct du fuseau horaire local en vue de le définir avec le même utilitaire.
Un autre appel de l'utilitaire a montré que la dernière étape était réussie.
L'étape suivante consistait à faire fonctionner la carte réseau Wi-Fi. Encore une fois, il serait préférerable qu'un serveur soit connecté au réseau local avec un câble Ethernet, mais cette machine est destinée à vivre au sous-sol d'un parent où il n'y a aucun espoir d'y acheminer un câble du routeur situé à l'étage.
Installation de l'interface Wi-Fi
En l'occurrence, Ubuntu a non seulement reconnu l'interface Wi-Fi, mais a également installé les pilotes.
Le paquet NetManager
n'est pas installé, j'ai donc supposé que l'ajout de paramètres dans le fichier de configuration /etc/network/interfaces
ou /etc/dhcp/dhcpcd.conf
et l'ajout d'un fichier de configuration pour WPA Supplicant avec les informations d'identification Wi-Fi devraient faire l'affaire, tout comme cela a été le cas dans de nombreuses installations de distributions basées sur Debian sur des ordinateurs monocarte. Pour faire court, je n'y arrivais pas, mais j'ai finalement atterri sur un article, Ubuntu 20.04: Connect to WiFi from command line de Lubos Rendek (13 mai 2020), qui m'a mis sur la bonne voie. Il s'avère que depuis un certain temps,Ubuntu utilise un autre outil de configuration réseau: Netplan. Après avoir lu une partie de la documentation sur ce site et le billet How to Use the Netplan Network Configuration Tool on Linux de Jack Wallen (7 septembre 2018), j'ai créé le netplanfichier de configuration suivant.
Notez que subiquity
est l'installeur d'Ubuntu, et conséquemment, le fichier .yaml
ne sera pas remplacé. La section ethernets
avait été créée par l'installateur, j'y ai ajouté la ligne optional: true
car cela ne ferait pas de suspendre le processus de démarrage en attendant une connexion Ethernet qui à la fin ne sera pas utilisée. J'avais trouvé le nom de l'interface de la carte Wi-Fi, wlx001644ac8279
, avec la commande lshw
ci-dessus, mais il peut être trouvé avec la commande ip a
également.
Après un redémarrage, on constate que la carte Wi-Fi n'était pas prise en charge.
Heureusement, le journal système contenait des informations pertinentes :
En fait, j'ai trouvé les informations d'une autre manière, d'abord en affichant les services défaillants; il y en avait un, puis en vérifiant son statut.
J'ai vérifié que le paquet, appelé wpasupplicant, qui contient wpa_supplicant
n'était pas installé, puis je l'ai installé de la manière habituelle.
Après un redémarrage, l'écran de bienvenue a montré que tout fonctionnait.
Si j'avais lu la page de manuel pour netplan, j'aurais réalisé immédiatement que WPA Supplicant devait être installé.
In conclusion, installation of a Wi-Fi network interface in Ubuntu Server 20.04 is not complicated at all:
- Make sure that the hardware driver is loaded.
- Install the
wpasupplicant
package. - Add the needed Wi-Fi credentials to the the
/etc/netplan/xxx.yaml
file.
En somme, l'installation d'une interface réseau Wi-Fi dans Ubuntu Server 20.04 n'est pas du tout compliquée:
- Assurez-vous que le pilote matériel est chargé.
- Installez le paquet
wpasupplicant
. - Ajoutez les informations d'identification Wi-Fi nécessaires au fichier
/etc/netplan/xxx.yaml
.
Curieux, j'ai vérifié comment l'interface Wi-Fi est gérée sur mon bureau exécutant Mint 19 qui est dérivé d'Ubuntu.
J'apprécie le fait qu'Ubuntu Server utilise le contrôleur de configuration intégré systemd-networkd
au lieu d'installer un autre paquet. Cependant, il y a certains aspects d'Ubuntu Server que je voulais changer.
Suppression de Snap
Snap de Canonical est un gestionnaire de paquet qui rivalise avec Flatpak et AppImage. A mon avis, son étroite intégration au système (essayez la commande df -h
pour voir ce que je veux dire) va à contresens. De plus, j'ai été déçu par les premiers paquets Snap dans Ubuntu 18.04 ce qui fut l'une des raisons, parmi les moins importantes, qui m'a poussé à revenir à Mint.
La suppression du paquet et du service Snap n'a pas été compliquée en suivant les instructions trouvées dans Disabling Snaps in Ubuntu 20.04 de Kevin Custer (20 avril 2020) et dans la video de Chris Titus Are Snaps Bad?. J'ai remarqué que les paquets Snap installés n'étaient pas les mêmes que dans l'article de Kevin Custer, mais l'auteur avait peut-être la version complète d'Ubuntu avec environment de bureau. Sur mon système, snap list a montré que seulement deux modules étaient en cours en plus du service spand
. Les commandes suivantes ont suffit pour supprimer Snap sur mon système.
Malheureusement, n'ayant pas fait attention, je ne me souviens pas du nom réel du service principal Snap qui a dû être démonté. Il peut être trouvé en exécutant la commande df. Je n'ai trouvé aucun des répertoires liés à Snap mentionnés dans l'article, mais il y avait un répertoire supplémentaire lié à lxd
qui était presque vide et que j'ai supprimé.
On peut vérifier que tout les paquets Snap ont été supprimés.
Aucun paquet ne devrait être affiché. Selon Chris Titus la commande suivante devrait empêcher la réinstallation automatique du service Snap.
J'ai des doutes quand à l'efficacité de hold, car on peut à insaller ou mettre à jour snapd
sans problème.
On peut voir qu'il y a un avertissement qu'un changement sera apporté à snapd
qui est figé, mais c'est tout. Si l'on accepte de faire la mise à jour (ou si l'on utilisait le paramètre -y
je suppose), Snap sera réinstallé.
Désactivation des mises à niveau automatiques
Par défaut, les mises à niveau automatiques sont activées. Puisque je préfère contrôler les mises à jour du système, j'ai désactivé cette option.

Le service qui gère les mises à niveau, un script Python, est toujours chargé par systemd
. Si cela doit être évité, consultez How To Disable Unattended Upgrades On Ubuntu de sk (16 mars 2020) pour plus de détails sur la façon de supprimer le paquet définitivement. J'attendrai d'être sûr que c'est ce que je veux, même si cela devrait être assez simple de réinstaller le paquet supprimé si désiré.
Désactivation de CloudInit
Suite à Hitoriki, (How to remove cloud-init from Ubuntu Server 20.04 (20 juin 2020) j'ai désactivé CloudInit.
Cela prendra effet au prochain démarrage. Après avoir lu ce que fait CloudInit
, j'ai préféré désactiver le service au cas où... Or la désactivation du service n'a pas changé les paramètres régionaux, le fuseau horaire ou le nom d'hôte, alors peut-être que je supprimerai simplement le paquet un peu plus tard.
Conclusion
Avec tous ces changements, j'ai constaté que le système d'exploitation occupe 118 Mo sur les 3,72 Go de mémoire disponible, ce qui représente un encombrement relativement faible. Selon htop
le système exécutait 29 tâches une fois la séquence de démarrage initiale terminée. Ce n'est pas trop mal, mon serveur Debian affecté à la sauvegarde locale a 78 tâches chargées qui utilisent 141,7 Mo mais il exécute deux serveurs importants, syncthing
et nginx
pas encore ajoutés dans le système Ubuntu.
Aujourd'hui, j'ai cherché à savoir comment utiliser ce serveur distant pour constater qu'il est possible qu'Ubuntu soit remplacé par un système NAS léger. Peu importe, cet exercice était une leçon que je suis heureux d'avoir achevée.