PROJET AUTOBLOG


Blog-Libre

Site original : Blog-Libre

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Gestion des mises à jour

vendredi 18 octobre 2019 à 14:30

Début juillet je vous relatais Plus de barre des tâches et autres joyeusetés sur Mint Xfce après mises à jour, deux fails dans cette histoire : 1/ Mint publiant une MAJ foireuse 2/ Ma gestion des mises à jour à revoir.

Concernant le point 1/ malgré les moyens humains, financiers et techniques, les équipes derrière les systèmes d’exploitation n’arrivent pas à empêcher de gros bugs/fails. Je parle bien de tous les systèmes d’exploitation, ces deux dernières années les exemples sont nombreux, je pense notamment à Windows 10, on peut aussi citer iOS 13 en ce moment (13.1 le 24 septembre, 13.1.1 le 27/09 et 13.1.2 le 30/09). Cela revient à se demander si un jour il n’y aura plus de bugs et si on sera capable de les détecter systématiquement. Je pars du principe que ça n’arrivera jamais dit autrement ce problème continuera de se produire et nous n’avons aucun moyen de l’empêcher.

Reste le second point où on peut agir avec de l’organisation, une gestion des mises à jour.

À la maison

J’ai actuellement un pc fixe et un pc portable. J’attire votre attention sur le fait que le pc portable est le plus « essentiel », ils n’ont donc pas la même importance. En effet le pc portable me permet de travailler en déplacement (cowork/datacenter) quand le pc fixe ne me permet de travailler qu’à mon domicile.

Le 3 juillet j’ai mis à jour mon pc fixe dans la journée, Mint propose un gestionnaire de mises à jour nommé mintUpdate prévenant lorsqu’une MAJ est disponible dans la barre des tâches. Souvent dans le canapé le soir je mets à jour le pc portable en repensant que des mises à jour sont dispos. Le 4 juillet au matin alors que je devais effectuer une grosse opération pour le boulot, mes deux postes étaient pas loin d’être inutilisables (plus de barre des tâches, plus accès aux boutons Réduire/Maximiser des fenêtres, difficultés à ouvrir des applications en maximisé comme Firefox, etc.). L’erreur principale a été de mettre à jour les 2 postes en même temps (même jour), la seconde erreur vient de mon utilisation trop systématique d’un alias mis en place depuis une éternité alias uu='sudo apt update && sudo apt upgrade'.

Voici comment je procède maintenant :

Il faut découpler le update du upgrade ainsi on a le même référentiel de paquets à mettre à jour sur les 2 postes, le pc fixe va essuyer les plâtres, si/quand tout se passe bien alors on upgrade le pc portable.

En environnement professionnel

Au boulot :

Je ne rentre pas dans les détails de l’automatisation (Ansible ou autres), ce n’est pas le sujet du jour. Évidemment si il y a des mises à jour de sécurité importantes, on les fait sans attendre (mais pas sans quelques tests).

Si on veut installer/maj des outils maison en évitant un update de toutes les sources, on peut apt-get -o Dir::Etc::SourceList=/etc/apt/sources.list.d/00_jolirepoboulot.list -o Dir::Etc::sourceparts="-" update (voir FICHIERS ici) qui va update le référentiel de paquets uniquement avec les sources présentes dans 00_jolirepoboulot.list (et pas avec les sources Debian typiquement).

Je vous rappelle l’existence des paquets unattended-upgrades et apt-listchanges en vous invitant à de saines lectures (1, 2). Lorsque j’avais juste quelques serveurs j’utilisais ces outils, dans mon contexte actuel (hébergeur) avec plus de 250 serveurs/VM, on checke le déroulement de la MAJ pour chaque serveur (en sortie de l’outil d’automatisation) et on intervient au moindre problème. Tout dépend du contexte.

Première mineure après la majeure

Dans un registre un peu différent, avec l’expérience je n’installe plus les versions majeures des systèmes d’exploitation de suite, j’attends la première mineure. Concrètement je n’installe pas Debian Buster (10) avant que la 10.1 ne soit sortie corrigeant tous les petits problèmes/bugs et laissant aux autres le soin d’essuyer les plâtres.

De votre côté, comment vous gérez vos mises à jour ?

Les petites infos – 1

vendredi 27 septembre 2019 à 19:00

J’aimerais publier de manière plus légère et plus régulière notamment pour remonter des infos qui me semble intéressantes. Je me suis rendu compte que chaque semaine j’accumule de la valeur nutritive sans la partager. Il faut encore que je trouve le format et le rythme de cette nouvelle publication, ça viendra avec le temps. Les thèmes abordés seront de toute sorte (même si souvent du côté informatique comme d’hab avec moi) du coup je ne balancerai pas les articles sur Planet-Libre ou le Jdh.

Fer à souder

Jesuisundev est la révélation du moment sur le Jdh avec de nombreux articles upvotés, il a écrit Recueil de blogs de développeurs(euses) pour présenter des blogs francophones. J’ai dépilé les adresses, fouillé puis je me suis inscrit à certains dont Geeek. On est tous un peu bricoleur/geek dans le coin alors go to : TS100 : Probablement le meilleur fer à souder du marché !

Memcached can recover its cache

Memcached 1.5.18 est sorti il y a quelques jours, grosse nouveauté de cette version : Memcached 1.5.18 and newer can recover its cache between restarts. It can restart after upgrades of the binary, most changes in settings, and so on. It now also supports using persistent memory via DAX filesystem mounts.

phpMyAdmin absent de Buster

phpMyAdmin n’est pas présent dans Debian Buster. Pour ma part je le déconseille mais malheureusement il est encore largement utilisé et surtout plébiscité/demandé par les clients. Je vous invite à considérer Adminer.

SecuriteInfo pour ClamAV

ClamAV est bien connu sur GNU/Linux, on s’en sert en général pour nettoyer/scanner les mails ou comme antivirus sur son poste. J’attire votre attention sur SecuriteInfo qui permet d’ajouter 3 millions de signatures à ClamAV, entreprise Française, développé par un ancien de chez ClamAV, gratuit pour un serveur, 29,90 euros par an HT pour la version « Professionnel » qu’on utilise avec satisfaction en prod au boulot.

EaseUS Todo Backup Free

À tout seigneur tout honneur, j’ai eu envie de lancer Les petites infos en lisant les LinksOfTheWeek de IT-Connect. Ils ont parlé récemment de EaseUS Todo Backup Free pour Windows gratuit mais pas libre, nous n’utilisons pas tous GNU/Linux et il faut souligner les outils de qualité.

systemctl –user

dimanche 15 septembre 2019 à 08:00

La littérature concernant systemctl est assez abondante en revanche pour systemctl --user on frôle le désert, un petit article ?

J’avais le désir de lancer mon émulateur de terminal Tilix au démarrage de ma session et qu’il se relance à chaque fois qu’il est fermé. Je commence à bien toucher les services systemd, systemctl mais là je me suis pris un four.

Le tiercé dans le bon ordre

Comme d’habitude ce n’est pas forcément compliqué, c’est juste qu’il faut le savoir. Pour mettre en place un service utilisateur systemd la difficulté ne se situe pas dans les lignes de commande mais davantage dans le bon ordre/enchaînement des commandes.

mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/tilix.service
systemctl --user enable tilix.service # systemctl --user reenable tilix.service
systemctl --user start tilix.service # journalctl --user -u tilix -f

nano ~/.config/systemd/user/tilix.service
systemctl --user daemon-reload; systemctl --user restart tilix # systemctl --user --now enable tilix

Remarquez que nulle part il n’y a de sudo, vous n’avez besoin d’aucun droit root justement parce qu’on met en place un service utilisateur. Un service plus « classique » systemd comme on en met sur les serveurs par exemple aurait donné sudo systemctl enable joli.service.

On commence par créer le dossier qui va accueillir nos services utilisateur mkdir -p ~/.config/systemd/user. On crée/configure notre service nano ~/.config/systemd/user/tilix.service puis on l’active systemctl --user enable tilix.service donc à la prochaine ouverture de session de notre utilisateur, il sera lancé automatiquement. Maintenant on le démarre systemctl --user start tilix.service notamment pour voir si il fonctionne comme on le souhaite. En plus de ces commandes, il vous faudra utiliser journalctl --user -u tilix -f pour consulter les messages de votre service dans le journal et systemctl --user status tilix.service pour connaître l’état de votre service. À retenir aussi la commande systemctl --user reenable tilix.service qui va supprimer les symlinks créés par systemd pour démarrer le service et les recréer (This is a combination of disable and enable and is useful to reset the symlinks a unit file is enabled with to the defaults configured in its « [Install] » section), utile quand on se trompe dans la section [Install] (multi-user.target => default.target par exemple comme nous allons le voir après).

On part du principe que le service ne correspond pas exactement à ce que l’on souhaite (ça arrive souvent), on rentre donc dans une seconde phase, la modification du service et les commandes pour la prendre en compte. On modifie notre service car un truc nous convient pas nano ~/.config/systemd/user/tilix.service. On informe systemd que le service a été modifié et on redémarre le service systemctl --user daemon-reload; systemctl --user restart tilix. À connaître également on active le service à l’ouverture de la session et on le démarre systemctl --user --now enable tilix qui est l’équivalent de deux commandes --user enable et --user start.

tilix.service

La première version de mon service fut celle-ci, cat ~/.config/systemd/user/tilix.service.

[Unit]
Description=Tilix

[Service]
Type=simple
ExecStart=/usr/bin/tilix --minimize
Restart=always

[Install]
WantedBy=multi-user.target

Du très classique sur lequel je vais peu revenir, voir la documentation. Le Restart=always qui relance automatiquement Tilix dès qu’il est fermé, la commande à lancer ExecStart=/usr/bin/tilix --minimize. Dans mon cas je ne veux pas que Tilix ait le focus (soit au premier plan), je le veux minimisé.

La seconde version définitive.

[Unit]
Description=Tilix

[Service]
Type=simple
ExecStart=/usr/bin/tilix --minimize
KillMode=none
Restart=always

[Install]
WantedBy=default.target

J’ai remarqué rapidement que lorsque je fermais Tilix, toutes les applications que j’avais lancé via le terminal (par exemple Firefox ou TeamViewer) étaient fermées immédiatement. Voir KillMode. Autre subtilité/difficulté d’un service utilisateur, les targets ne sont pas les mêmes qu’un service systemd classique. Dans ce dernier vous verrez souvent WantedBy=multi-user.target alors que dans un service utilisateur, il n’y a pas multi-user.target notamment. Comparez systemctl list-units --type target et systemctl --user list-units --type target.

Euh… mais ça marche pas ?

Soudain le drame, Tilix n’est pas lancé à l’ouverture de la session après un redémarrage du pc. J’ai creusé, retourné, testé pensant que mon service Tilix n’était pas bon. L’un des côtés négatifs de mon syndrome de l’imposteur est que je vais passer X heures à chercher mon erreur sans envisager que ça ne vient pas de moi.

Après plusieurs heures de tests et de recherches vaines, j’allais raccrocher, la défaite était lourde. Je me suis souvenu qu’au boulot j’avais ramé deux heures sur un truc qui ne fonctionnait pas, c’était « juste » le script fourni qui était merdique. J’ai fait une recherche et en deux minutes j’ai trouvé le bug… Assez ironiquement il est reporté chez Red Hat depuis 15 jours, chez Ubuntu ça date. Il s’agit d’un bug lié à ECryptFS (partition /home chiffrée), j’ai testé la solution proposée avec /etc/pam.d/common-session mais ça ne fonctionne pas chez moi. J’ai confirmé le bug avec la session de Madame (partition /home non chiffrée), le service Tilix se lance bien à l’ouverture de session.

And voilà. Finalement j’ai ajouté dans l’utilitaire Session et démarrage de XFCE, Démarrage automatique d’application : systemctl --user --now enable tilix en attendant que le bug soit résolu.

Sources :
https://wiki.archlinux.fr/Systemd/utilisateur
https://vic.demuzere.be/articles/using-systemd-user-units/
https://unix.stackexchange.com/questions/385964/launching-chromium-on-startup-with-systemd

Lancer TeamViewer

samedi 14 septembre 2019 à 09:30

J’utilise TeamViewer pour dépanner et me connecter à un poste à distance. Son fonctionnement m’avait cependant dérangé et je m’étais noté de revenir dessus pour corriger ça.

La petite particularité et complexité de TeamViewer est qu’il nécessite le service teamviewerd (sudo systemctl status teamviewerd.service) ET le client graphique (TeamViewer).

ps aux | egrep '[t]eam'
root      6449  4.8  0.0 1473636 12424 ?       Sl   06:17   0:00 /opt/teamviewer/tv_bin/teamviewerd -d
moi      6466  7.1  0.7 2223904 116492 pts/1  Sl   06:17   0:00 /opt/teamviewer/tv_bin/TeamViewer

Si vous lancez le client sans que le service tourne, vous aurez le message : « Pas prêt. Veuillez vérifier votre connexion ». Au contraire si le service tourne alors tout sera bon : « Prêt à se connecter (connexion sécurisée) ».

Je me sers de TeamViewer peut-être 20 mn par mois et un jour je me rends compte qu’un $%*?#+ de service tourne : teamviewerd.service. Déjà j’ai horreur que le service d’un outil de contrôle à distance tourne sur mon poste mais surtout je veux juste pas d’un service qui tourne pour rien. J’ai ouvert le client graphique, je suis allé dans Suppléments, Options puis dans Général, j’ai décoché « Start TeamViewer with system »… pour me rendre compte quelques jours après qu’en fait le service tournait toujours.

Maintenant faisons les choses proprement comme si on l’installait pour la première fois.

wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb # Téléchargement de la dernière version
sudo gdebi teamviewer_amd64.deb; rm teamviewer_amd64.deb # Installation de TeamViewer et ses dépendances avec gdebi puis suppression du paquet deb
sudo systemctl disable --now teamviewerd.service # Désactivation du service teamviewerd au démarrage et arrêt du service

L’option --now (When used with disable or mask, the units will also be stopped) permet d’économiser une ligne : systemctl stop teamviewerd.service.

Le service ne tourne plus et ne sera pas lancer au prochain démarrage du pc, maintenant comment lancer TeamViewer ?

sudo systemctl start teamviewerd.service && (teamviewer >/dev/null 2>&1 && sudo systemctl stop teamviewerd.service &)

sudo systemctl start teamviewerd.service # On démarre le service
teamviewer >/dev/null 2>&1 # On lance le client graphique en redirigant toutes les sorties vers /dev/null (>/dev/null 2>&1)
&& sudo systemctl stop teamviewerd.service # Une fois que le client graphique est quitté, on stoppe le service
Concernant la grammaire (&&, & et ( )), je vous invite à man bash puis /Liste.

Évidemment je ne tape pas cette commande à chaque fois, j’ai un alias dans ~/.bashrc.

alias team='sudo systemctl start teamviewerd.service && (teamviewer >/dev/null 2>&1 && sudo systemctl stop teamviewerd.service &)'

Je suppose que cela doit paraître bien lourd et compliqué à certains, perso ce que je trouve lourd c’est un service qui tourne pour rien ha ha.

Bonus : Confiance ou méfiance

Lecteur tu es arrivé jusque là, tu as le droit à un bonus de lecture !

TeamViewer est un logiciel propriétaire et payant, mon dieu ! Depuis 1 an, on commence à entendre du bien de DWService, un article chez Microlinux et Sebsauvage cette semaine. Le client est publié sur GitHub depuis quelques mois, le service est gratuit et non limité (contrairement à TeamViewer pour la version gratuite).

Je m’étais penché dessus, j’en avais conclu que je n’installerai certainement pas ce logiciel. La page Sécurité ne me rassure pas du tout, aucune précision sur les technos utilisées. Le fait que ça fonctionne est la condition 0, on n’en parlerait même pas si ça ne fonctionnait pas. Pour un outil de prise de contrôle à distance, la condition N°1 pour moi est la sécurité et n’est pas remplie.

À titre personnel ce logiciel aurait été un lecteur vidéo, une calculette, etc. la condition N°1 n’aurait pas été la sécurité mais il s’agit d’un outil de prise de contrôle à distance dont on installe le serveur sur le poste qu’on souhaite piloter puis client/serveur se connecte à une node. Les sources de la node et du serveur ne sont pas fournies, on ne sait rien de comment ça fonctionne et ce que ça fait. Je précise que je trouve très bien que DWService propose le code source de son client, je ne sais pas si node et serveur sont des outils de qualité et sécurisés mais je ne peux qu’encourager et souhaiter bonne chance à l’équipe derrière. Il n’est pas question pour moi de dire que c’est mauvais mais juste de s’interroger sur la confiance qu’on peut placer dans cet outil.

Alors lecteur tu privilégies un outil proprio faisant plus de 20 millions de sessions d’assistance par jour avec 360000 abonnés payants développé par une entreprise allemande de 900 personnes et récemment introduite en bourse (source) ou un logiciel libre (pour certaines parties) dont on ne sait pas grand-chose ?

Numérique et éducation des enfants : non, internet n’est pas une nourrice

mercredi 4 septembre 2019 à 17:16

Discussion cet été avec une mère concernant ses 2 filles de 6 et 8 ans.
Elle : Elles vont en camping la semaine prochaine. Mais je ne les ai pas averti. Il n’y a pas de wifi là-bas ».
Moi (naïvement) : C’est-à-dire « les avertir » ?
Elle : Bah, elles n’auront pas de wifi pour leurs tablettes et leurs téléphones.
Moi : …
Elle : Oui, c’est tellement pratique la tablette. Ça les occupe le weekend quand on a des trucs à faire à la maison ou à organiser…

Discussion plus récente avec une petite cousine de 10 ans gardée par ses grands-parents.
Elle : On s’est couché tard avec ma soeur (14 ans) parce qu’on a regardé « Moi bête et méchant 2 » sur la tablette.
Moi (interrogateur) : C’est passé à la télé ? Hier au soir ?
Elle : Bah non, sur le téléphone. Sur un site internet. On a regardé vers 22h.
Moi : Ah sur quel site ?
Elle : C’est un site avec plein de séries et de films. Ma soeur l’a trouvé sur Google. Je crois que maman n’est pas d’accord. C’était super drôle ce film.

J’imagine la tête de la belle-mêre qui recevra une lettre de la Hadopi lui signifiant la coupure de sa connexion internet, un grand moment de rire en perspective.
A noter que notre ami le moteur de recherche, sans contrôle ni filtre parental, fonctionne bien !

Autre discussion avec cette même cousine de 10 ans, un peu plus tard
Moi : Et ta tablette, tu l’utilises pour faire quoi ?
Elle : Ben j’envoie des messages sur Snapshat. Je suis sur Tik tok. Je fais des jeux.
Moi : Ah oui ? Et ta maman, elle en pense quoi ?
Elle : Bah…. euh… rien…

Snapshat et Tik Tok, laissés entre les mains d’enfants de 10 ans, comment cela peut-il finir ? je vous laisse voir et

Ce que je retiens de ces échanges, c’est qu’élever des enfants, joueur avec eux et les stimuler intellectuellement demandent de l’énergie. Beaucoup d’énergie. Et qu’il est facile de renoncer et de les clouer devant un écran. Il y a toujours l’excuse de « Ce n’est pas grave » ou « C’est de leur époque ».

Ce qui est grave, c’est de laisser un téléphone ou un pc portable dans la chambre d’un enfant, accessible le soir et la nuit avec un navigateur sans contrôle parental. Ce qui est grave, c’est de ne pas savoir ce qui se passe sur l’écran de l’enfant alors que le meilleur et le pire sont accessibles en un clic de souris.

Planter un enfant devant Youtube Kids pendant des heures ou le laisser dans sa poussette jouer avec un smartphone est aussi dangereux et malsain que de le nourrir de fastfood ou de le laisser au volant d’une voiture : c’est irresponsable. Soyons clair, un enfant de 5 ans, 10 ans ou 15 ans n’a rien à faire sur internet. Internet est un outil, pas une nourrice.

Ce que je peux rajouter sur « numérique et enfants », c’est ce que j’ai constaté dans le cadre de mes ateliers numériques à destination des collégiens et collégiennes : les enfants ne savent pas manipuler une souris, ni taper au clavier. J’ai donc réalisé assez rapidement que la majorité des enfants ne possèdent pas d’ordinateurs dans leurs familles : tout se fait sur téléphone ou tablette. Le numérique n’est pas en relation avec un usage a minima professionnalisant (ex : taper sur un simple traitement de texte…) et je ne parle pas de coder… mais c’est uniquement de la consommation de contenu et de pub, une soumission plus ou moins abrutissante, calqué sur le modèle de la télévision. Pour l’expression « Digital natives », vous repasserez…. Utilisez plutôt « Digital slaves ».

J’avais échangé il y a quelques mois avec un ancien décideur politique local qui trouvait ma position très dure sur l’analyse de l’usage du numérique dans le cercle familial. En tant que parent, j’apparaissais sur la ligne dixit lui-même « de ceux qui ne veulent pas lâcher la bride ». Je l’ai revu la semaine dernière et il est revenu sur le sujet. Il m’a confié que la gestion du numérique en famille était devenu un fléau ! Lors d’un grand repas familial, il m’expliquait avoir dû envoyer un SMS à un de ces filleuls de 8 ans qui jouait non stop sur son téléphone, oreillettes fixées dans les oreilles, coupé du monde, pour lui dire d’arrêter ! Et les parents de l’enfant ? Ca les a fait sourire… Et il s’agit d’une famille CSP++.

Des idées et recommandations pour faire des choses intéressantes en associant numérique et enfants

Ce que j’aimerais faire passer comme message, ca n’est pas « non aux écrans », mais « mieux de temps d’écran ». Le numérique est incontournable, certes, mais pas n’importe quel numérique.

Bref, les solutions existent pour faire des choses ludiques et numériques ! Si vous avez des recommandations d’usage intelligent du numérique pour vos enfants, n’hésitez pas à les partager.

 

Edit de ma part le lendemain de la publication de ce billet :

Données personnelles des enfants : YouTube et Google écopent bien de 170 millions d’amende