Why You Should Use Tmux for Unstable SSH Connections - OSTechNix
Voir aussi : https://superuser.com/questions/236158/tmux-vs-screen
Petit tutoriel des commandes/raccourcis de base : https://www.youtube.com/watch?v=nTqu6w2wc68
(Permalink)
Si vous en avez marre de regarder votre terminal afficher des trucs moches pendant que vous traquez un processus qui bouffe tout votre CPU ou votre RAM, vous pouvez opter pour NeoHTop comme hier ou passer carrément à BTop ! Ce moniteur système codé en C++ va transformer cette traque en quelque chose de presque… agréable.
Btop (le nom vient de “bashtop++”) est donc le petit dernier d’une lignée d’outils de surveillance système qui a évolué de top à htop, en passant par bashtop et bpytop. La différence majeure, c’est cette implémentation en C++ qui offre des performances nettement supérieures et une interface qui ferait presque passer htop pour un reliquat de l’époque MS-DOS.
Mise à jour : 12 mai 2025 Vous cherchez les derniers codes ? Vous êtes au bon endroit ! Je suis récemment devenu accro à One Piece, donc essayer Second Piece était une évidence. Dans ce jeu plein d’action, vous combattrez des ennemis, monterez de niveau et vous engagerez dans des aventures palpitantes, tout en […]
Le post Codes de la Deuxième Pièce (Mai 2025) : Nokotan, Frieren et Guide du Système Arise est apparu en premier sur Moyens I/O.
Si votre machine rame comme un vieil escargot devant une commission d’enquête au sujet de l’affaire Bétharram, alors j’ai un super outil pour vous. Ça s’appelle NeoHTop et ça permet de visualiser l’ensemble des processus qui tournent sur votre système ainsi que les ressources disponibles, tout ça au travers d’une interface moderne, jolie, et surtout super rapide puisque c’est codé en Rust !
Donc si vous en avez marre des interfaces en mode années 90 de top ou htop, ou si le Moniteur d’activité de macOS vous donne envie de pleurer à chaque fois que vous devez trouver quel processus bouffe toute votre RAM, NeoHtop va vous réconcilier avec le monitoring système.
Les serveurs dans le monde pro sont tous équipés de carte IPMI/BMC, qui permettent de gérer la machine depuis un réseau "out of band".
Quand on utilise une machine non pro pour un usage de lab ou de serveur à domicile, cette fonctionnalité peut manquer. C'est dans cette optique qu'iMot3k nous présente le NanoKVM :
Vous connaissez sans doute DELL iDRAC, HP iLO, Lenovo Xclarity, IBM HMC, etc. Et bien l'idée est de proposer quelque chose qui s'en rapproche à un tarif accessible.
Vous n'aimez pas le RSS : abonnez-vous par emailArticle original écrit par Mr Xhark publié sur Blogmotion le 12/05/2025 |
Pas de commentaire |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons
BleachBit 5.0 vient de débarquer et ça sent le grand ménage de printemps ! Si vous êtes du genre à accumuler plus de fichiers inutiles que Marvel n’accumule de bouses ciné, cette mise à jour va vous intéresser.
Hé oui, après plus d’un an sans update majeure, ce logiciel de nettoyage open source, capable de débarrasser votre OS de tous ses fichiers inutiles, revient avec une version qui étend ses capacités à Discord, Edge, et même aux fichiers .desktop cassés sous Linux. Pour les collectionneurs involontaires de fichiers temporaires et autres cookies périmés, c’est le bonheur !
J’ai la nostalgie d’awstats : la possibilité de faire des statistiques web sans déployer des tonnes d’infrastructure (genre Grafana).
Pour cela, j’ai codé Yahi, un module Python qui agrège dans sa forme basique les statistiques web en format usuel (nginx, apache, lighthttpd, varnish) pour les présenter dans une page web « tout en un ».
Il se décompose pour sa partie utilitaire en deux scripts:
- un d'agrégation des statistique de journaux de serveurs webs dont l'écriture d'une version personnalisée ici celle que j'utilise pour faire des démos sans IP ou URLs est relativement simple;
- un de génération d'une page de visualisation HTML avec les données.
Certes cette page requiert du JavaScript pour fonctionner, mais elle requiert zéro dépendance vers des liens externes et inclut autant toutes les visualisations que les données dans une seule page (données, CSS, visualisations). Cela permet de l’avoir en marque-page grâce à quelques ruses de javascript, et cela rend son hébergement aisé pour les sysadmins. (NdM: goaccess
(MIT en C) sait faire aussi).
Son API permet en outre de faire des agrégations plus compliquées.
Et, je recherche des bétas testeurs pour en faire un produit fini.
Commentaires : voir le flux Atom ouvrir dans le navigateur
J'utilise O&O Shutup pour supprimer les fonctionnalités, logiciels et autre bloatwares inutiles sur Windows 11/10. Et c'est dans cette même veine que l'outil WinScript fonctionne :
Il est open source et existe en version classique ou portable, et même directement en ligne.
N'activez pas des réglages que vous ne maitrisez pas, vous avez de grandes chances de casser des choses...
Merci à Florian d'IT-Connect pour la découverte!
Vous n'aimez pas le RSS : abonnez-vous par emailArticle original écrit par Mr Xhark publié sur Blogmotion le 02/04/2025 |
Pas de commentaire |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons
Petit aperçu de Nix : il y a plusieurs articles sympas ici, la récente revue de Seb95, à cause de laquelle je suis passé sur cette distribution il y a quelques jours (et sachant que visiblement lui n’y est pas resté!, peut-être qu’il me lit haha), ou cette revue plus ancienne, donc j’essaierai de mettre en avant d’autres aspects.
Dejà reprécisons - il faut remonter à 2003 pour que Eelco Dolstra développe le gestionnaire de paquets Nix, mais la distribution, elle, NixOS date de 2006. Il y a deux versions par an, nommée YY.MM, par ex. 13.05 pour version de mai 2013 - brillant.
Pour la suite j’écrirai simplement Nix pour désigner la distribution.
En 2010 un wiki démarre. En 2013, la distribution 13.05 passe de upstart à systemd et systemd-boot au démarrage (alors appelé gummiboot). La version 13.10 est la première version stable de NixOS.
On peut noter chez la concurrence, en 2014 le lancement du projet Atomic de Red Hat.
En 2016, le wiki Nix officiel est clos et un wiki non officiel démarre…
Fedora Silverblue apparait 2018 comme projet de distinct de « Atomic ». En 2019 Open Suse démarre le projet Micro OS.
Côté Nix, en 2020 ont été intégrés les Flakes (22.05). Un installateur graphique apparait en 2022, sur la 22.05.
En 2024, le wiki Nix officiel redémarre (mais le non-officiel demeure…).
Dans Nix, il n’y a pas de répertoire /bin, de /sbin, de /lib ou de /usr. Tout est gardé dans un /nix/store.
Enfin moi j’ai quand même un /usr/bin/env mais j’avoue ça fait peu, ou un /bin mais qui ne contient qu’un symlink pour bash. Mais bref
Dans le /nix/store on va retrouver nos hiérarchies habituelles, rangées dans des « dérivations ». Prenons firefox : je ne l’aurai pas directement dans /usr/bin mais dans le store voici comment ça se présente
$ ls -R /nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0
/nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0:
bin lib share
/nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0/bin:
firefox
/nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0/lib:
firefox mozilla
/nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0/lib/firefox:
application.ini defaults firefox-bin libgkcodecs.so libmozavutil.so libmozwayland.so omni.ja Throbber-small.gif
browser dependentlibs.list fonts libipcclientcerts.so libmozgtk.so libxul.so pingsender vaapitest
crashreporter distribution glxtest liblgpllibs.so libmozsandbox.so minidump-analyzer platform.ini
crashreporter.ini firefox gmp-clearkey libmozavcodec.so libmozsqlite3.so mozilla.cfg removed-files
etc.
Pour le reste c’est plus standard.
$ ls /
bin boot dev etc home lib lib64 lost+found nix proc root run srv sys tmp usr var
La configuration, utilisateurs réseaux paquets services saucisson fromage, tout est déclaré dans un fichier /etc/nixos/configuration.nix.
Comme définir un point de montage pour un disque ou les règles du pare-feu, qui correspondraient à du /etc sur d’autres distributions, mais aussi par exemple créer un utilisateur - ce qui correspondrait plutôt à des commandes sur d’autres distributions, comme useradd.
Quand vous « compilez » le fichier /etc/nixos/configuration.nix, Nix va s’occuper tout seul des /etc/fstab, iptables (*), /etc/group, et ainsi de suite ; en général on précise que l’on « switche » vers ce nouvel OS et Nix redémarre les services avec la nouvelle config (à vous de savoir si redémarrer des services est suffisant, ou si pour prendre en compte les changements vous préférez redémarrer la session voire reboot).
(*nftables dispo)
Exemple fstab, au lieu d’éditer fstab je mets ça dans /etc/nixos/configuration.nix
# FSTAB
fileSystems."/home" = {
device = "/dev/disk/by-uuid/220260f3-a7b2-4387-9a0b-9d17c604aa18";
fsType = "ext4";
options = [ # If you don't have this options attribute, it'll default to "defaults"
# boot options for fstab. Search up fstab mount options you can use
"users" # Allows any user to mount and unmount
"nofail" # Prevent system from failing if this drive doesn't mount
];
};
Ou encore ma fichue imprimante Samsung
Sous Debian, j’aurai peut-être ajouté un dépôt dans /etc/apt, j’aurai rafraichi puis installé un paquet. Sous Nix j’édite le fichier.
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [ pkgs.samsung-unified-linux-driver ];
On peut même se retrouver à configuration de manière abstraite… En effet, imaginons que je configure le pare-feu : quel pare-feu suis-je en train de configurer?
networking.firewall.allowedTCPPorts = [ 80 443 ];
La documentation vous apprendra que par défaut, Nix passe par iptables pour implémenter les règles que vous précisez. Avec la directive ci-dessous, les mêmes règles seraient implémentées en se basant sur nftables.
networking.nftables.enable
Est-ce que NixOS est immuable? On pourrait dire, comme Distro Watch, non, car on peut en réalité écrire sur la totalité du système de fichier. L’immuabilité est plutôt fonctionnelle - au sens où on ne lance pas de commande, on édite un fichier /etc/nixos/configuration.nix (que l’on peut scinder, au besoin), qui donnera toujours le même résultat. (spoil cf quand même plus bas : channel).
Après construction du système, au démarrage, vous aurez le choix d’amorcer (booter) sur chaque version de l'OS que vous avez construite. On peut démarrer sur une ancienne version. Un peu comme démarrer sur une ancienne version du noyau mais appliqué à tout.
Vous pouvez avoir plusieurs versions d’un paquet installées en même temps, en fonction des utilisateurs. Certainement très utile… et pas testé chez moi.
Cette page décrit bien les logiques différentes entre Nix et un système basé sur Debian pour quelques opérations courantes.
Bon clairement si le besoin c’est installer firefox et qu’on doit éditer un fichier /etc puis rebuild le système, on ne ressent pas particulièrement d’avantage à utiliser Nix vs un autre système (mais en cas de souci, vous serez bien content d’avoir le rollback…)
Donc l’usage pour installer une application graphique ne changera pas vraiment la vie. À noter tout de même que le dépôt est particulièrement large.
Mais quid de paquets un peu plus complexes? Quand j’ai voulu installer nginx avec le TLS, j’ai eu une bonne surprise. J’imaginais une tannée du fait de devoir « passer par Nix » pour gérer tout ce qui est configuration et certificats. En effet plus question de lancer des commandes pour acquérir ou renouveler des certificats. Comment faire? Pour le coup la doc me l’a indiqué rapidement.
security.acme.acceptTerms = true;
security.acme.defaults.email = "mon@email.example.com";
services.nginx = {
enable = true;
virtualHosts = {
"mon.domaine" = {
forceSSL = true;
enableACME = true;
root = "/var/www/mon.domaine";
};
Et voilà! Nginx est installé, mon domaine pointe vers le bon dossier, le http redirige vers https, Nix acquiert les certificats (par défaut Let'sEncrypt mais se personnalise si on veut), et surtout Nix définit un systemd pour renouveler les certificats.
Et là on voit que Nix c’est un peu l’opposé d’une ditribution minimaliste comme Arch… Les points forts de Arch sont les points faibles de Nix et réciproquement…
À noter que /etc/nginx n’existe pas. Dans mon exemple ce sera nix/store/brxfza7n2hjy6n15ffdrb7wlr2fqygy8-nginx. conf…
$ systemctl status nginx
● nginx.service - Nginx Web Server
Loaded: loaded (/etc/systemd/system/nginx.service; enabled; preset: ignored)
Active: active (running) since Sat 2025-03-29 09:45:55 CET; 1 day 10h ago
Invocation: 84e49760dcee4e5ea0a6baa79dd6ceb2
Process: 35568 ExecReload=/nix/store/alqjcv381xp2wawjc919h1qr6p4q8gvj-nginx-1.26.3/bin/nginx -c /nix/store/brxfza7n2hjy6n15ffdrb7wlr2fqygy8-nginx.conf -t>
Process: 35569 ExecReload=/nix/store/9m68vvhnsq5cpkskphgw84ikl9m6wjwp-coreutils-9.5/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
Oui tout est dans le nix store, bah oui logique.
On voit aussi que cette distribution est aussi agréable qu’elle est
Définir des choses dans /etc/nixos en déclaratif plutôt que de taper des commandes ou éditer d’autres fichiers comme /etc/nginx, c’est ce qu’on appelle nixifier, qui vient du verbe galérer-de-ouf. Non je plaisante.
Cela veut dire que pour tout ce que vous pouvez faire avec les services, le paquet Nix doit proposer des options pour le faire dans /etc/nixos… Un peu effrayant au premier abord? Par ex. si je veux utiliser une fonction plus exotique de Nginx, alors la config Nix doit inclure un moyen de le spécifier, et doit inclure chaque option Nginx ??
En fait de nombreux services vont proposer d’ajouter des options « extra ». Par ex. si je veux utiliser la fonction Nginx « rate-limit » et que le paquet Nix n’a pas d’option pour ça… Eh bien je vais utiliser une directive « appendHttpConfig » qui va me permettre de directement écrire dans le nginx.conf. Comme cela je continue d’utiliser les avantages Nix, mais je peux profiter d’options non nixifiées.
services.nginx = {
enable = true;
appendHttpConfig = " limit_req_zone $binary_remote_addr zone=mylimit:10m rate=5r/m; " ;
virtualHosts = {
"mon.domaine" = {
forceSSL = true;
enableACME = true;
root = "/var/www/mon.domaine";
extraConfig = "limit_req zone=mylimit;";
};
On peut même avoir le besoin de générer un fichier /etc. Pas de souci, exemple avec fail2ban, on peut générer un fichier /etc/fail2ban/filter.d
# Defines a filter
"fail2ban/filter.d/nginx-py.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter ''
[Definition]
failregex = ^.* \[error\] \d+#\d+: \*\d+ (\S+ )?\"\S+\" (failed|is not found) \(2\: No such file or directory\), client\: <HOST>, server\: \S*\, request: \"(GET|POST|HEAD) .*$
'');
};
Je ne vais pas rentrer dans le détail, car je suis encore débutant, mais on ne peut pas exécuter ce que l’on veut sous Nix.
$ touch holalal.sh
$ echo -e '#!/bin/sh \necho "toto"' >> holalal.sh
$ chmod +x holalal.sh
$ ./holalal.sh
bash: ./holalal.sh: Permission denied
$ bash holalal.sh
toto
Appliqué aux AppImage, eh bien j’ai un peu galéré. Apparemment on lance $appimage-run . Pas de bol pour moi, ça ne passe pas. J’ai testé deux trois un million de trucs à l’aveuge pour le fun (extraire puis ajouter chmod+x, passer par exec, voire par du sudo oh la la pardonnez moi…) Comme Google n’était clairement pas mon ami, j’ai voulu tester d’empaqueter l’AppImage moi-même. C’était la bonne piste! Si j’étais familier avec Nix cela m’aurait pris 2s. Un petit fichier .nix de quelques lignes plus tard, je peux construire cette AppImage et cette fois la lancer.
Dans de nombreux cas vous trouverez l’ppImage déjà empaquetée.
Vous souvenez vous, Nix propose une version tous les 6 mois. Mais dites-moi… Comment met-on à jour si on lance pas de commande dans Nix et qu’on n’utilise que vi /etc/nixos/configuration.nix ?
Et là, voilà la vérité révélée : oui on utilise des commandes, et non Nix n’est pas que déclarative.
(cf par exemple https://nlewo.github.io/nixos-manual-sphinx/installation/upgrading.xml.html )
# nix-channel --add https://nixos.org/channels/*channel-name* nixos
# nixos-rebuild switch --upgrade
On peut également spécifier dans la config que l’on veut automatiquement passer sur les nouvelles versions. En attendant cela veut dire que deux fichiers /etc/nixos/configuration.nix ne correspondent pas forcément au même OS!
Note sur les channels : similairement à Debian, il y a un channel unstable si on veut passer en mode rolling.
Pour résoudre cette question des channels il y a les Flake. En gros l’idée est de préciser non seulement qu’un paquet est installé mais aussi quelle version.
https://nixos-and-flakes.thiscute.world/nixos-with-flakes/introduction-to-flakes#nix-flakes-and-classic-nix
Mais rien n’oblige à utiliser Flake.
Mais à l’heure qu’il est, si Nix a un défaut c’est bien la documentation chaotique.
Fedora Silverblue propose aussi le retour arrière. Toutes les applications graphiques sont des Flatpak, et les applis dév utilisent le module Toolbox. Cf la présentation par Renault, plutôt historique puis pratique.
Silverblue semble avoir de larges défis à relever mais pourrait représenter l’avenir de Fedora.
Côté Open Suse atomic, il y a eu Micro OS (2019), puis Aeon d’abord basé dessus puis devenu projet indépendant pour offir GNOME. (En parallèle le projet Kalpa se développe pour le bureau KDE.) Vous pouvez lire cette revue par LWN. Sur Aeon la méthode préférée d’installation de paquets est encore Flatpak, mais il y a aussi Distrobox.
Voilà pour ce que je connais, cela mériterait bien plus!
Commentaires : voir le flux Atom ouvrir dans le navigateur
Après une ouverture en septembre 2016 et neuf promotions, la licence professionnelle ADSILLH (Administrateur et Développeur de Systèmes Informatiques à base de Logiciels Libres et Hybrides) ouvre de nouveau ses portes à l’Université de Bordeaux à la rentrée 2025 !
Cette licence professionnelle vise à former les étudiants à intégrer des logiciels libres en un ensemble cohérent répondant aux besoins des entreprises, un système d’information complet par exemple, en interopérant au besoin avec des logiciels propriétaires (hybridation). Il s’agit également de s’impliquer dans les communautés de développeurs de logiciels libres, pour remonter ou corriger les bogues, contribuer des fonctionnalités (c’est tout l’objet du projet tutoré).
C’est une licence pro en un an (donc BAC + 3), elle est ouverte aux L2, DUT/BUT2, BTS, en formation initiale et en alternance, mais aussi en formation continue, reprise d’études et contrat professionnel (on peut faire une VAP — Validation des Acquis Professionnels — pour l’inscription). Des VAE (Validation des Acquis de l’Expérience) sont également possibles.
Les prérequis sont l’utilisation d’Unix en général, la programmation de base en Python et en C et une touche d’algorithmie. Il est possible de s’auto‑former sur les éventuels quelques éléments manquants entre l’inscription et la rentrée. Le détail est disponible sur le site de la formation.
Commentaires : voir le flux Atom ouvrir dans le navigateur
AgentJ est une solution anti-spam utilisé pour filtrer et bloquer les messages indésirables (spams) en entrée et en sortie.
Ce logiciel est une solution sous licence GNU Affero General Public License V3.
Voici une description générale de ses fonctionnalités :
Cette nouvelle version 2.1 amène son lot d’améliorations, mais elle est surtout marquée par une amélioration majeure : la gestion des mails envoyés / le filtrage de mail en sortie.
Cela permet de gérer l’ensemble du flux de mails sortants.
Cette fonctionnalité permet que, lors d’un envoi de mail par un utilisateur interne, les destinataires (to, cc et cci) soient automatiquement autorisés.
Nous retrouverons les adresses autorisées comme les adresses actuelles avec comme précision « autorisée par envoi de mail ».
L’objectif est de permettre le paramétrage du nombre de mails par heure, par utilisateur. Le paramétrage pourra se faire soit pour le domaine mail, soit pour un groupe d’utilisateur, soit pour un utilisateur.
Sur un compte utilisateur, il sera indiqué le taux en vigueur et l’usage actuel pour l’utilisateur.
Cette fonctionnalité permettra de paramétrer un envoi d’alerte à un ou des mails spécifiques.
Les alertes pourront être envoyées lors des événements suivant :
• Spam (le niveau considéré comme Spam sera réglable)
• Virus
• Dépassement du taux d’envoi
Nous avons ajouté une recherche de mail avancé pour l’administrateur.
Maintenant, il n’est plus nécessaire de se loguer pour libérer un mail depuis le rapport quotidien envoyé par AgentJ un simple clique suffit.
Nous avons amélioré le rendu du tableau de bord des statistiques
Vous pouvez désormais prévisualiser vos emails bloqués avant de décider de les libérer (ou non).
Nous avons effectué des tests de performance sur un VM avec 4 cœurs et 4 Go de RAM avec les paramétrages par défaut. AgentJ traite 10 000 mails en 11 min. Pour précision, les tests ont été effectués avec l’envoi de mail valides, car ils sont les plus longs en traitement comparé à des spams.
Commentaires : voir le flux Atom ouvrir dans le navigateur
Yves Rougy, que l'on ne présente plus, a lancé une nouvelle thématique de vidéos sur l'auto-hébergement / homelab.
2 vidéos sont sorties dans lesquelles il parle des pré-requis et choix du matériel :
Puis il enchaine sur proxmox et Incus (qui me fait bien envie!) :
Des vidéos accessibles, y compris pour les débutants
Article original écrit par Mr Xhark publié sur Blogmotion le 14/03/2025 |
3 commentaires |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons
A chaque mise à jour de firmware de Tomato le process est le même, il est conseillé de ne pas repartir de sa configuration, mais de tout reparamétrer à la main...
Je vous explique pourquoi et comment faire pour transposer votre configuration (nvram) après une mise à jour de firmware.
Déjà parce qu'on est des feignants, mais aussi parce que cela n'a rien de passionnant. Et que c'est important de rester sur une version récente pour des questions de sécurité.
Chaque version de firmware tomato vient avec une liste de paramètres possible, le tout étant stocké en nvram.
Cela peut poser plusieurs problèmes :
Dans le pire des cas le routeur ne démarrera pas, plantera ou aura un fonctionnement difficilement compréhensible.
Dans le meilleur des cas vous consommerez de l'espace précieux en nvram au fur et à mesure des versions de firmwares que vous installerez.
Plus vous sautez de versions lors de l'upgrade, plus le risque est important. Et le changelog ne donne pas plus d'information sur les attributs qui changent (malheureusement).
Admettons que je suis sur la version Tomato 2022.1 et que je veux migrer vers la version 2025.1.
Avant de faire une mise à jour du firmware de mon FreshTomato, je fais un backup :
Ensuite je lance une réinitialisation complète de nvram, puis le routeur reboot.
Je définis une IP fixe sur ma machine (192.168.1.123/24) puis je me connecte sur http://192.168.1.1 avec l'identifiant "root" et le mot de passe "admin"
Puis je fais à nouveau un backup du fichier de configuration texte nvram (cf tutoriel) que je nomme :
nvram_v2022.1_vide.txt
C'est maintenant le moment de faire la mise à jour firmware de Tomato en v2025.1 à partir du fichier TRX sans oublier de cocher la case :
" Erase all data in NVRAM. Optional. This is performed between the firmware upload and the reboot."
Après quelques minutes le routeur revient à la vie, je me connecte sur http://192.168.1.1 avec l'identifiant "root" et le mot de passe "admin".
Puis je fais à nouveau un backup du fichier de configuration texte nvram (cf tutoriel) que je nomme nvram_v2025.1_vide.txt.
Nous disposons maintenant de 2 fichiers de configuration usine, une pour chaque version de firmware :
Maintenant que nous disposons de 2 fichiers de configuration usine, nous allons pouvoir comparer ces 2 fichiers.
Pour que ce soit plus pratique, je crée une version triée par ordre alphabétique en bash (ma préférence).
En bash (depuis WSL par exemple, ou directement depuis votre routeur Tomato) :
cat nvram_v2021.1_vide.txt | sort > nvram_v2021.1_vide_SORTED.txt cat nvram_v2025.1_vide.txt | sort > nvram_v2025.1_vide_SORTED.txt
Aussi possible en PowerShell :
gc nvram_v2021.1_vide.txt | Sort-Object | sc nvram_v2021.1_vide_SORTED.txt gc nvram_v2025.1_vide.txt | Sort-Object | sc nvram_v2025.1_vide_SORTED.txt
Je compare ces 2 fichiers triés dans WinMerge.
A noter que le tri est aussi possible directement dans WinMerge : Menu Plugins > appliquer un script > trier les lignes par ordre croissant (je conseille de travailler sur une copie pour garder les fichiers cd conf nvrame non triés).
Dès que je vois un paramètre qui a été supprimé dans le firmware plus récent, je le répercute dans mon fichier nvram_v2021.1.txt. Même chose pour les nouveaux paramètres, je les ajoute à la main. Je travaille toujours sur le fichier non trié pour modifier, les 2 fichiers triés sont là pour que la comparaison visuelle dans WinMerge soit plus facile.
Exemple ici avec la suppression du paramètre "log_ftp", que je supprime également dans ma configuration perso s'il était également présent.
Je dispose maintenant d'un nouveau fichier nvram tout beau tout propre, prêt à être injecté dans le routeur : nvram_2025.1.txt.
Je copie mon nouveau fichier nvram_2025.1.txt dans le /tmp du routeur via FTP (activez-le avant) ou directement avec vi en copier/coller.
Puis j'utilise ce code bash pour injecter la nouvelle configuration nvram :
#!/bin/sh input="/tmp/nvram_injected.txt" while IFS= read -r line do nvram set "$line" done < "$input"
Si tout s'est bien passé, on valide la nouvelle configuration :
nvram commit && reboot
Patientez plusieurs minutes jusqu'à ce que le routeur redémarre. Si ce n'est pas le cas c'est que vous avez flingué quelque chose.
Si vous avez quelques paramètres à retirer et ne souhaitez pas réinjecter toute la nvram, procédez ainsi :
nvram unset nom_du_parametre1 nvram unset nom_du_parametre2 nvram unset nom_du_parametre3 nvram commit && reboot
C'est un peu le même principe que chez Cisco, la configuration est lue au boot.
Et voilà ! Merci à ceux qui attendaient cet article depuis 2022 et qui se reconnaitront
De mon côté j'utilise un second routeur pour mes tests, cela me permet de voir s'il y a eu des changements importants d'une version de firmware à une autre, sans péter le vrai. Si vous suivez chaque version il y a peu de changement d'une version à une autre, mais ça vaut le coup de vérifier (regardez les changelog de FreshTomato).
Enfin : gardez toujours la nvram configuration usine de votre version de firmware actuelle, cela vous évitera de faire un reset configuration avant l'upgrade...
Vous n'aimez pas le RSS : abonnez-vous par emailArticle original écrit par Mr Xhark publié sur Blogmotion le 09/03/2025 |
Un commentaire |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons
Je cherchais un moyen de "sniffer" les requêtes réseau d'un programme donné depuis des lustres, juste les afficher pour savoir qui fait quoi. Et enfin, j'ai trouvé mon bonheur :
httptap -- COMMANDE
Et pour afficher les informations envoyées et récues :
httptap --head --body -- COMMANDE
Et si tous les SysAdmins étaient tous des imposteurs ? C'est la question à laquelle tente de répondre Thomas...
Plus sérieusement, il aborde l'architecture d'une application web, la répartition de charge et la scalabilité (horizontale et verticale) :
La vidéo est plutôt très bien faite, j'adore les animations ! C'est souvent des concepts qu'on apprend sur le tas, alors merci Thomas d'avoir synthétisé tout ça aussi bien
Article original écrit par Mr Xhark publié sur Blogmotion le 13/02/2025 |
Pas de commentaire |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons
MemTest86 11.2 (build 2000) est un programme qui est en mesure de tester les barrettes de mémoire vive. C'est ici la verison "Free" autrement dit la version gratuite.
The post MemTest86 11.2 (build 2000) first appeared on Bhmag.