Archive

Archive for the ‘linux’ Category

Linux, cluster, Docker, …

avril 4, 2017 Laisser un commentaire

Hé oui, je me fais mon petit cluster perso… Ça me faisait envie depuis longtemps.

Pourquoi ? Par curiosité technique, par curiosité tout court, pour utiliser la petite pile de vieilles brêles qui traînent chez-moi, et pour voir ce que je peux en faire.

Le matériel

J’ai dans mon tas trois PC anciens, mais fonctionnels :

  • Intel Dual Core ou AMD 64×2 +/-2GHz
  • RAM 1 ou 2 GO
  • Disque 240 GO ou plus
  • Port Ethernet

La dessus, ajouter un écran, clavier, souris et lecteur DVD pour l’installation du système d’exploitation, et un switch 10/100 pour interconnecter tout ça.

Les disques vérifiés avec SmartmonTools n’ont pour le moment aucun défaut.

Le système d’exploitation

Je pourrais, ou même devrais peut-être utiliser net/free/PC BDS ou une autre variante, mais je suis plus à l’aise avec Linux, pour le moment du moins.

Debian version 8 a été préféré aux Ubuntu Server et autres distributions courantes.

Une installation minimale n’occupe qu’une toute petite partie du disque et de la mémoire. IIRC, ça passait sur un AMDx2 avec seulement 512 MO de mémoire et ça tenait largement sur un disque de 80 GO.

En plus des outils de base, j’ai installé quelques packages intéressants, à mon sens, comme vim, ssh-server et client et d’autres petites fioritures qui ne mangent pas de pain.

Que faire avec un si petit cluster ?

Vu le peu de mémoire de chaque machine, exit les applications les plus gourmandes, par exemple à base de java, exit hadoop, exit MPI, Beowulf & Co, encore que j’ai lu des articles sur des clusters à base de Raspberry pi. On se rassure comme on peut ,d’ailleurs, je vais l’appeler le « Pourquoi pas? »

Ça tombe bien, je n’ai pas besoin d’une grosse base de données, je n’ai pas de masses de données à calculer, pas de craquage de clés RSA en vue…

Par contre, j’aurais bien besoin d’un NAS, s’un serveur Mercurial, d’une machine de build et de tests, d’une petite base de données, … Le cas du NAS mis à part, tout cela tiendrait sur mon PC principal, mais outre surcharger la babasse, je n’apprendrais rien de vraiment neuf dans l’opération.

Docker, Swarm

La conteneurisation, Docker sont des sujets à la « mode » en ce moment. Pour résumer, il s’agit d’isoler les applications – base de données, serveur web, CMS, etc – dans des containers qu’il « suffit » de déployer sur l’un ou l’autre nœud d’un cluster pour les rendre disponibles. Swarm permet d’automatiser le déploiement et l’exécution des containers sur le cluster

En principe, ça devrait tenir sur mes machines. Reste à s’y mettre.

Les prochaines étapes

Pour résumer :

  • Installer Debian Linux sur les trois machines (ou nœuds) du cluster
  • Connecter les trois nœuds sur le réseau local, et y accéder par ssh
  • Installer docker sur chaque nœud
  • Sélectionner un nœud « maître » du swarm
  • Ajouter les autres nœuds au swarm

Même si ça n’a pas l’air très compliqué, ça ne va pas se faire tout seul, et il va falloir y passer du temps. Entre le camp NaNoWriMo d’Avril (je récidive), le potager (je récidive aussi), et tout le reste, on va y aller étape par étape, en documentant au fur et à mesure.

Prochain billet sur le sujet ? Euh… question suivante ?

 

(Licence Creative Commons France | Faire sans contrefaire No$ Share Alike, (c) )

Catégories :linux Étiquettes :

Linux, sort, ou comment saturer /tmp

mars 21, 2017 Laisser un commentaire

Allez, un petit article dans le ton de feu opl32.com ( 2000/2001/2002, ça ne nous rajeunit pas) , mais dans le domaine linux.

Le problème

Besoin de trier un gros fichier sous Linux ? Pas de problème, la commande sort est là pour ça, et propose même une option -u pour supprimer les doublons.

Allez Go : 

sort -u < big_mega_fichier > resultat

No space left on device !??

Explication sommaire (mais suffisante)

La commande « sort » par défaut utilise la mémoire puis, si le volume à trier devient trop important, crée des fichiers temporaires dans le répertoire /tmp.

Que /tmp soit le montage d’un filesystem séparé (conseillé sur une machine de production ou un serveur), ou un simple répertoire du disque racine (monté sur /), la place disponible est limitée. On peut se retrouver avec une message du type « No space left on device » , voire parfois même empêcher certains traitements (batch, système, ou autres) de s’exécuter.

C’est très rare, mais si ça arrive sur une machine de production …

Une solution

La commande sort accepte deux options qui peuvent nous faciliter la vie

  • -T spécifie de stocker les fichiers temporaires dans le répertoire mon_repertoire_tmp
  • –compress-program spécifie de compresser les fichiers temporaires. Cette option ralentit la commande sort, mais permet de s’accommoder de filesystems plus petits ou de volumes à trier plus grands.

Exemple
sort -T ~/tmp –compress-program=gzip -u < big_mega_fichier > resultat

Conclusions

  • Ne jamais présumer que tout se passe en mémoire
  • Les commandes info et man sont nos amis
  • On peut bloquer – même quelques secondes – une machine de production sans avoir l’air d’y toucher
Catégories :linux Étiquettes :

Migration Linux Mint 14 vers 17

septembre 9, 2014 Laisser un commentaire

Linux Mint  version  14 Alias « Nadia » n’est plus maintenue. Mon PC de bureau a donc nécessité une mise à jour. J’ai ciblé la version 17 « Qiana » sensée être LTS (support longue durée).

Plutôt que de réinstaller le système, j’ai tenté une mise à jour à l’ancienne, pensant gagner du temps et faciliter les choses. Le passage de la théorie à la pratique m’a rappelé l’un des principes fondamentaux de l’informatique,  interprété à ma sauce : « Keep It Simple, Stupid » que je traduirai par « Va au plus simple, hé banane! », mais procédons dans l’ordre.

De la théorie …

Mint ne permet pas « d’usine » de pratiquer des upgrades de distribution, contrairement à Ubuntu et Debian par exemple.

Le site officiel conseille une réinstallation « à blanc », mais il existe plusieurs méthodes pour se forcer un passage vers les dernières versions. Les tutoriels sont plutôt nombreux, par exemple:

Il s’agit de modifier un ou plusieurs fichiers dans le répertoire /etc/apt , en y remplaçant les anciens noms de distribution utilisés par Mint 14 par ceux de la nouvelle version.

Les commandes fournies par ces tutoriels fonctionnent très bien. Il suffit de copier / coller et après quelques commandes apt-get classiques dans un environnement de type Debian, l’on devrait se retrouver avec une Linux Mint à jour.

… à la pratique.

J’ai dit « devrait » car dans mon cas cela ne s’est pas tout-à-fait passé comme prévu. En effet, après redémarrage de la machine :

  • Le gestionnaire de connexion ne se lance pas
  • Après quelques manipulations sans trop de rapport, le gestionnaire de connexion a enfin daigné fonctionner, mais l’interface graphique est réduite à un xterm
  • Les temps de réponse permettraient presque de détartrer la cafetière, pétrir le pain et se préparer un thé le temps que ça se passe

J’ai fini par remplacer le répertoire /etc/apt de ma machine par celui de mon netbook, en Mint version 16 et relancé les commandes de mise à jour Le système a alors retrouvé une certaine stabilité, même si d’autres problèmes sont apparus, et le passage vers la version 17 n’a pas arrangé grand-chose.

Cette ribambelle de surprises s’explique, entre autres par diverses bidouilles de modules faites il y a pas mal de temps, pour tester des programmes de musique, sans jamais avoir pu faire un retour arrière par la suite. Les installations depuis les sources sont souvent amusantes, parfois surprenantes, mais tout a un prix.

« Va au plus simple, hé banane! »

Je me suis finalement rangé aux conseils du site officiel : une installation à blanc, avec reformatage de la partition système.

Après quelques applications supplémentaires – rsync, htop, gvim, calibre, eog, remmina et autres rdp, dosemu, wine, gpodder – installées à coups de apt-get install , mon pc était fin prêt, et mes réglages et préférences directement utilisables, sans avoir besoin de tout re-paramétrer. Mes données sont sur une partition séparée et n’ont pas donc été compromises. Au pire, il m’aurait fallu restaurer une sauvegarde.

Petit plus, le PC va un peu plus vite, même s’il ne sera jamais une bête de course à faire baver un hardcore gamer.

Ma Remington restera pour l’heure en version 16 qui est bien suffisante . Je le migrerai après la NaNoWriMo 2014

 

Creative Commons License

Catégories :informatique, linux Étiquettes : ,

Récupérer un dossier personnel crypté sous Linux

janvier 18, 2013 Laisser un commentaire

Le disque dur de mon PC m’a lâchement abandonné peu avant la nouvelle année. Il a donc été remplacé il y a quelques jours, et a reçu un nouveau système avant restauration des données sauvegardées.

L’ancien disque a bien voulu démarrer une dernière fois (depuis, c’est RIP) et j’en ai profité pour récupérer ce qui pouvait l’être, principalement mes dernières archives mail.

Mon ancien système cryptait mon répertoire personnel (choix peu judicieux lors de l’installation) avec ecryptfs. Linux étant bien fait, la commande ecryptfs-recover-private vient à la rescousse.

Lancée depuis un compte d’administration, ou via sudo, ecryptfs-recover-private pose quelques questions auxquelles il suffit de répondre, à condition évidemment de se souvenir du mot de passe utilisé lors du cryptage :

$ sudo ecryptfs-recover-private
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/mnt/old_home/.ecryptfs/jb/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [6d4b174437f6ec16] into the user session keyring
INFO: Success!  Private data mounted read-only at [/tmp/ecryptfs.JEwuNfuD].
$

Et voilà! Le dossier crypté est accessible en lecture seule depuis un répertoire créé sous /tmp, et il n’y a plus qu’à se servir.

En passant, exit Ubuntu Linux, mon PC est maintenant sous Linux Mint, bien plus plaisant et pratique que Unity and Co.

Creative Commons License

Catégories :linux Étiquettes :

Nettoyer un Linux/Debian avec deborphan

février 14, 2012 2 commentaires

Je viens de réanimer – à nouveau – mon vieil Asus eeePC 701. Après tant d’années, il fonctionne toujours. Je pense le baptiser « Good Old Faithful » et lui donner un semblant de pseudo nose-art. C’est mérité.

Avec un disque USB je suis sur qu’il ferait un NAS correct, et pourquoi pas un noeud Freenet, moyennant peut-être un petit supplément mémoire.

Il tourne maintenant sous Linux Mint, Debian edition. L’installation est sans surprise, mais les mises à jour ont failli poser un problème de place sur le disque SSD, seuls quelques dizaines de mégaoctets restant libres :

$ df -m
Sys. de fichiers  1M-blocs  Utilisé  Dispo. Uti% Monté sur
/dev/sda1             3536     3429       0 100% /
$

Une première approche consiste à désinstaller les applications inutiles, et à vider régulièrement le cache des paquets installés. Un petit coup de  sudo apt-get clean plus tard, on a légèrement progressé si j’en crois le df -m . Prometteur mais insuffisant…

Seconde technique : supprimer les paquets orphelins (installés mais inutilisés). Une fois le paquet deborphan installé par un toujours klingon-esque mais magiquement efficace sudo apt-get install deborphan, il suffit d’un petit mais brutal sudo apt-get remove --purge `deborphan` pour se retrouver tout de suite plus à l’aise, avec 760 Mo libres, à un yak près.

$ df -m
Sys. de fichiers  1M-blocs  Utilisé  Dispo. Uti% Monté sur
/dev/sda1             3536     2592     764  78% /
$

Ce n’est toujours pas Bizance, mais ça laisse de quoi travailler sans être trop à l’étroit.

Creative Commons License

Catégories :linux Étiquettes :

PirateBox/Sharebook & Lubuntu

avril 4, 2011 Laisser un commentaire

I just installed  PirateBox by David Darts onto my  eeePc 701 (the very first netbook since Psion). I just installed Lubuntu onto the good old faithfull machine, I simply followed the instructions given on the Blogeee forum.

It simply works. Obviously the 701 is rather limited with its 4 Gb SSD, but an 😄 card would make it much more interesting…

BTW, PirateBox is not for piracy. Its goal is to share documents, videos, musics freed by their authors either explicitly, either by the chosen licence.

PirateBox allows you to make your PC, laptop, netbook, Android phone, even some routers into wifi accessible internet servers

Creative Commons License

Catégories :english, linux, piratebox Étiquettes : , ,

PirateBox/Sharebook et Lubuntu

avril 3, 2011 3 commentaires

Je viens d’installer PirateBox de David Darts sur un veil eeePc 701 (le tout premier netbook depuis celui de Psion). Après avoir installé Lubuntu sur la babasse, j’ai simplement suivi les instructions fournies sur le forum Blogeee.

Simple, sans fioriture, ça fonctionne, tout simplement. Bien sur le 701 est plutôt limité avec son SSD de 4 Go, mais avec une carte 😄 ou mieux ça devrait devenir beaucoup plus intéressant…

En passant, PirateBox n’a de pirate que le nom. Le but est simplement de mettre à disposition de tous des documents vidéos, musiques dont la diffusion est autorisée par leurs auteurs soit explicitement, soit de par la licence de diffustion choisie.

PirateBox permet de transformer votre PC, portable, netbook, téléphone Android, voire certains routeurs en serveur internet accessibles par le Wifi

 

Creative Commons License

Catégories :linux, piratebox Étiquettes : ,
%d blogueurs aiment cette page :