[ArchLinux] Passage à yay

Focus rapide sur l’accès aux paquets AUR sous ArchLinux. J’utilisais jusqu’à présent yaourt, mais celui-ci n’étant plus maintenu, je vais tester yay pour la gestion de mes paquets AUR.

Le processus d’installation est simple, récupération d’une copie des sources, construction du paquet puis installation. Le programme étant écrit en go, on installera au préalable de quoi le compiler: sudo pacman -S go.

Installation :

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Onduleur – Surveillance sur le réseau

Dans un article précédent, nous nous étions quitté avec une connexion directe par USB entre l’une des machines connectée à l’onduleur et l’onduleur lui-même. Aujourd’hui, retour sur la configuration du service de surveillance de l’état de l’onduleur, cette fois pour que la machine connectée partage l’information sur le réseau. Le but étant que les autres machines connectées à l’onduleur soit elles aussi capable de connaître son état, de déclencher un arrêt en cas de batterie faible et ainsi, de pouvoir s’éteindre avant de subir une perte de courant totale.

Je repars ici de ma configuration déjà en place. Comme la première fois, plusieurs fichiers sont à modifier, mais en nombre plus réduit. Je commence par éditer le fichier /etc/nut/upsd.users, sur la machine déjà configurée en mode client et connectée à l’onduleur, pour y ajouter un utilisateur « esclave » qui servira à mon autre ordinateur pour l’authentification des demandes d’état.

[slave]
  password = PASSWORD
  upsmon slave

Je modifie ensuite /etc/nut/upsd.conf pour que le serveur nut soit accessible sur le réseau et non plus seulement en localhost; en considérant que l’IP de ma machine est statique.

LISTEN 192.168.24.42 3493

J’enchaîne ensuite avec /etc/nut/nut.conf, où je précise que nut devra désormais fonctionner en mode serveur.

MODE=netserver

Enfin, pour terminer la configuration de la machine principale, je redémarre ups-monitor et nut-server.

Passons maintenant à la machine cliente, où, après avoir installé nut, je définie la manière dont nut va récupérer les informations d’état de l’onduleur, en modifiant /etc/nut/upsmon.conf. J’utilise ici l’utilisateur « slave » configuré précédemment.

MONITOR eaton@192.168.24.42 1 slave PASSWORD slave

Ensuite, édition du fichier /etc/nut/nut.conf afin de préciser le mode de fonctionnement de nut, à savoir ici, client du réseau.

MODE=netclient

Pour finir sur cette machine cliente, redémarrage de ups-monitor et nut-client.

Dernier point de configuration important, mais non lié à nut, au démarrage, j’ai constaté que nut n’était pas capable d’écouter sur l’IP définie dans la configuration, cela étant due, au fait que la récupération de l’IP était encore en cours d’acquisition (statique côté DHCP), au moment du démarrage de nut. Pour palier au problème, j’ai configuré mon RPI pour attendre la connexion au réseau avant de continuer plus avant dans la procédure de boot. Sur un RPI, la configuration s’effectue comme suit :

  • sudo raspi-config
  • 3 Boot Options
  • B2 Wait for Network at Boot
  • « Yes ».
  • Sauvegarder et quitter.

Une fois ces configurations réalisées sur mes deux machines, je suis en mesure de consulter l’état de l’onduleur sur chacune des machines. Un test d’arrêt forcé, m’a permis de vérifier que l’extinction de la machine cliente a bien lieu avant l’extinction de la machine ayant le rôle de serveur, et de m’assurer que l’ensemble redémarre sans assistance au retour du courant.

Récupération de variables système sur Windows

Aujourd’hui j’ai installé Python et Django sur mon système Windows pour essayer de faire un petit site web rapidement, disons avant la fin de la journée.

Je commence donc ma configuration sur mon système Windows et en parallèle je fais la même chose en SSH sur une console MSYS2,une VM en mode console d’un système linux pour faire simple.

Sur windows je teste alors que sur la console MYSYS je suis connecté à mon serveur dédié de l’autre côté de la France mon serveur de production en quelque sorte.

Arrivé à l’étape d’installation de Django sur mon Windows, j’ai un message qui attire mon attention. Il semblerait qu’il manque un chemin dans PATH.

Pas de soucis. Touche Windows, j’écris « path » et j’appuie sur entrée. Je me retrouve sur les propriétés système.

Un clic de plus sur « Variables d’environnement… » et je me retrouve devant deux choix.

  • Variables utilisateur pour MonOrdinateur
  • Variables système

Dans les deux cas j’ai accès à une variable PATH que je peux modifier. Je ne me pose pas plus de questions et je modifie la variable Path dans variables système et y ajoute mon chemin.

Je valide tout, je suis content, tout va marcher et la commande

django-admin --version

devrait enfin m’afficher quelque chose à l’écran. Mais ce n’est pas le cas…

Je retourne dans les propriétés système et je commence vraiment à avoir peur. Plus aucuns chemins n’est accessible dans la liste PATH des variables système. Je pose la question à mon moteur de recherche qui m’indique qu’une restauration est le seul moyen de retrouver mes données perdues. Mais pour cela, il faut un point de restauration.

Je n’ai pas de point de restauration actif, la protection du système semble désactivée.

Je continue les recherches avec de moins en moins d’espoir de pouvoir redémarrer mon système dans de bonne condition. Pour ce qui ne le savent pas, les variables système dans PATH conditionnent beaucoup de chemins vers des exécutables utiles au bon fonctionnement de votre ordinateur.

Plus d’une heure passe, en désespoir de cause je récupère quelques PATH sur un autre ordinateur et un ami m’envoie les siens, mais je vois bien qu’il n’y a pas tous les chemins que j’avais avant de tout casser.

Quand mes recherches prennent un tournant inattendu. Je trouve enfin quelque chose d’intéressant. On peut exécuter la commande set pour lister et modifier les variables d’environnement et système propre à l’exécution d’un interpréteur de commande (CMD). D’ailleurs si on modifie des chemins dans l’interpréteur et qu’on le quitte, les chemins ajoutés ne sont pas sauvegardés. De la même manière si j’ai modifié les variables PATH par l’interface graphique sans relancer l’interpréteur celui-ci connait encore les anciennes valeurs de PATH.

J’ai un sursaut d’excitation. Est-ce que j’ai encore une CMD ouverte ?

Malheureursment non. Je n’ai plus aucune CMD ouvertes dans la barre des tâches. Par contre il y a toujours MYSYS ouvert avec une connexion SSH en cours vers mon serveur.

Se pourrait-il que j’avais la solution pour récupérer mes variables système PATH sous les yeux depuis le début ?

Après avoir mis fin à la connexion ssh avec le serveur. Le verdict. Je tape au hasard la commande Windows « SET » dans l’interpréteur MYSYS Linux. Un résultat ! Peut être que j’ai de la chance après tout ? Je fracasse la molette pour remonter rapidement tout en haut de la sortie affichée, quand enfin j’ai ce que je cherchais !

Toutes mes variables PATH gardées en mémoire par MSYS2. Avec pour seul inconvénient un typage Unix et non Windows. Dix minutes plus tard j’ai mes variables système PATH d’origine. Et en bonus, j’ai même compris mon erreur. J’aurais du mettre mon chemin dans les variables utilisateur et vérifier qu’il était bien écrit. En plus j’aurais pu tester que tout fonctionne en le faisant avec la commande set en console avant de faire la modification réel.

Conclusion

Si vous perdez toutes vos variables système ou variables utilisateur sur Windows vous pouvez les récupérer en dernier recours si il vous reste une console ouverte avant la réalisation des modifications qui ont détruits vos chemins. Pour les trouver il suffit de taper la commande « set » ou « path » dans cette console et de récupérer et mettre en forme les chemins, puis de les réinsérer par l’interface graphique dans PATH en vérifiant si ce sont des variables utilisateur ou système.

Pour la petite astuce, ne faites pas comme moi et pensez à faire des points de restauration système réguliers.

Asus UX31E – Changement de clavier

Il y a de cela sept années environ, j’avais fait l’acquisition d’un ordinateur portable de marque Asus, à savoir le modèle UX31E. Celui-ci m’a accompagné pendant mes études et dans les pérégrinations qui ont suivi les années suivantes, lorsque le besoin d’emmener un ordinateur portable se faisait sentir.

Dernièrement, plusieurs touches du clavier ont commencé à dysfonctionner sérieusement, jusqu’à rendre quasiment impossible le processus de connexion et compromettant donc une utilisation apaisée de l’ordinateur. Résistant à l’envie de balancer le tout par la fenêtre après une vingtaine de tentative de connexion ratée, je me suis donc mis en tête de remplacer le clavier défectueux.

A l’aide d’une série de tournevis de précision, je me suis donc attelé au démontage pièce par pièce de l’ordinateur, afin de dégager le clavier des composants qui le recouvrent. L’opération en soi n’est pas spécialement compliquée, pour peu que l’on prenne son temps, que l’on note l’ordre de démontage et que l’on classe les vis retirées.

Pour avoir une idée des différentes étapes, j’ai pris connaissance du guide « Replacing an Ultrabook (Asus UX21E) keyboard« , qui ne correspond pas à 100%, mais dont les similitudes sont suffisantes pour être d’une aide précieuse. L’essentiel étant de ne surtout pas forcer pour le démontage des composants et autres câbles de connexion. Sur mon modèle en particulier, l’une des vis de la carte mère est cachée par la carte SSD elle-même vissée à la carte mère.

Une fois le clavier remplacé, on remonte tout en sens inverse, en prenant soin de ne pas oublier une quelconque connexion et on croise les doigts pour que ça démarre correctement. Après quelques secondes d’attente, le terminal apparaît, me demandant d’entrer mon login. Quelques appuis sur le nouveau clavier et les touches autrefois défectueuses, me confirme rapidement que la réparation est un succès.

Bref, une vingtaine d’euros, quelques tournevis, et un peu d’huile de coude m’auront permis de prolonger la vie de mon ordinateur. Si ce n’est pas forcément le modèle que je choisirais, si le choix était à refaire, il aurait été dommage de mettre l’ensemble de la machine au rebu, pour un simple problème de clavier. Cette petite réparation me permet donc de donner une deuxième vie à cet ordinateur; qui ne soit pas statique, un clavier externe pour prothèse, ni celle d’une reconversion en serveur. C’est sur ces quelques lignes que je vous laisse : j’ai 2GB de mises à jour à appliquer.

[ArchLinux] Problème de DHCP avec NetworkManager

La semaine dernière, j’ai eu quelques problèmes de récupération de la configuration DHCP à partir de mon système ArchLinux. Cela provient d’un changement effectué du côté du client DHCP interne de NetworkManager. Le bug est connu et tracé dans le ticket 64880. Si l’erreur est à priori corrigée dans le code de NetworkManager, le correctif n’est pas encore disponible au moment où j’écris ces lignes; ou bien celui-ci n’est pas suffisant. Bref, afin de retrouver une connexion fonctionnelle, j’ai donc installé un client DHCP externe: dhclient et édité le fichier /etc/NetworkManager/conf.d/dhcp-client.conf pour y ajouter les lignes suivantes:

[main]
dhcp=dhclient

Redémarrage du service NetworkManager et retour de la connexion!