Notes et astuces sur les systèmes libres basés sur GNU/Linux

Aller au contenu | Aller au menu | Aller à la recherche

dimanche, 23 novembre 2014

#En_vrac 2 : News et tips du jour

Bonsoir cher journal toilé (Web log => blog), calendrier-2024.jpg

Fais le bilan :

Je regardais mes archives de blogging, cela va bientôt faire 5 ans que je publie mes petites notes.
Entre temps tout a changé :

  • Je suis passé d'étudiant à salarié
  • J'ai déménagé : 1,2,3,4,5 fois. En mode Bornien :D
  • Le blog est passé d'un mutualisé à un serveur dédié et dans pas longtemps vers l'auto-hebergement
  • J'ai continué à faire le tour des distributions GNU/Linux, je pense que je suis bien avec ma Debian. Je vais même retourné sous I3, le tiling me manque trop.

Il n'y a bien qu'une chose qui n'a pas changé : c'est mon rythme de publication.

Travail en cours sur des solutions libres :

  • Nous sommes en train de monter la supervision d'une infrastructure de plus de 2000 serveurs qui va être basée sur Zabbix. L'étude de faisabilité est en cours, le packaging va venir mais je pense que cela va être pas mal. Nous partons sur une architecture arborescente (superviseur national et une quarantaine de proxy) avec du SNMP. Est-ce que l'utilisation de l'agent Zabbix est à recommander par rapport à l'agen SNMP, si vous avez une expérience faites le moi savoir !
  • Un outil de déploiement centralisé de Puppet basé sur Ansible. Cela nous évite d'utiliser l'usine à gaz MCollective etc ... Cela me semble assez performant. L'outil est en recette mais se comporte plutôt très bien.
  • Un ordonnanceur Rundeck pour gérer l'ensemble des crons d'une partie de notre infrastructure, l'outil s'installe bien out-of-box. J'ai même réussi à lui faire utiliser CommandProxy.
  • Pydio, je pense que je vais l'installer sur mon serveur car cela s'installe facilement, la configuration est un peu fastidieuse mais cela me permettra de synchroniser l'ensemble de mes environnements.

Tips/Découvertes du moment :

Vim dans xterm
La dernière fois, je vous disais que j'en étais réduit à utiliser Gvim pour afficher correctement le thème Solarized. Heureusement, nous étions plusieurs sur le coup au boulot. Il suffisait de passer vim en 256 couleurs :

set t_Co=256

Le mystère de htop :
Je viens de découvrir que Htop affiche par défaut les threads alors que top non. La configuration de htop via F2 permet de les masquer ou changer leur couleur si vous le souhaitez. Source

Astuces sur Proxmox :

  • Pour accéder à la console de vos containers dans Proxmox VE 3.1, il faut que votre fichier /etc/init/tty1.conf dans vos templates Debian/Ubuntu ressemble à ça :
 start on stopped rc RUNLEVEL=[2345]
 stop on runlevel [!2345]
 respawn
 exec /sbin/getty -8 38400 tty1

Puis rebooter votre CT. Cela devrait fonctionner
Le wiki n'est pas à jour mais je vous donne quand même le lien : Wiki container Proxmox

  • Quand on a une carte mère UEFI, il vaut mieux passer par Proxmox3.1 puis utiliser la commande pveupgrade ou par une Debian puis installer Proxmox.
  • Pour mettre en marche le softraid avec Proxmox, je vous conseille la lecture suivante.
  • Supprimer le message de pub dans Proxmox: http://www.jamescoyle.net/how-to/614-remove-the-proxmox-no-subscription-message

Créer une clé bootable sous GNU/Linux :
Pour faire une clé usb bootable usb uefi :

dd if=votrefichieriso.iso of=/dev/sdc && sync

Ne pas mettre le numéro de partition derrière.

Astuce sur less :

  • Pour afficher les lignes dans less :
less -N
  • Pour se positionner à la ligne numéro :
less +42 fichier
  • Pour afficher les couleurs dans less :
less -R

Recherche multiples Grep :
Pour chercher plusieurs pattern dans un seul grep :

grep 'pattern1\|pattern2' fichier

Problème de démontage :
Si vous n'arrivez pas à démonter un volume de votre système *Nix, je peux vous conseiller d'utiliser les commandes suivantes :

umount /mnt
umount2: Device or resource busy
umount: /mnt: device is busy 

lsof | grep votre_montage #Permet de savoir quel process utilise quoi
fuser -m votre_montage # a peu près equivalent
umount -l /dev/sdb1 #Demonte le point de montage en faisant un peu de ménage

Comme vous pouvez le noter, le mois dernier a été fructueux en petites découvertes, ce qui donne un billet complètement décousu. Il faudrait que j'en fasse plusieurs afin de faire péter mes stats :D



A demain dans le train.

lundi, 27 octobre 2014

Vim, la colorisation cette galère, conque victoire et howto

vim.png
Bonsoir,

J'ai toujours bavé d'admiration devant mon pote qui avait dans son Emacs un émulateur de terminal.
Cela lui permettait de faire des copiés/collés rapide des sorties, de les retravailler etc ...
Ce soir, j'ai enfin réussi à obtenir la même chose chez moi, je vais vous dire comment faire sous Debian
J'ai réussi à faire marcher conque après avoir feuilleté Vim pour les humains.
Dans le cadre de ce bouquin j'ai essayé pas mal de truc, la colorisation, les plugins.

Mon avis du moment sur Vim:

La colorisation (un joli theme) c'est chouette mais cela ne passe pas partout : Exit le pac-manager qui ne supporte pas les thèmes.
J'ai bataillé avec xterm ou urxvt pour y mettre solarized :
Pour faire simple, il faut aller chercher le .xresources, le copier chez vous dans /etc/X11/Xresources/x11-common. Cela permet d'avoir le même thème pour tout le monde et ça marche chez moi.
Mais c'est moyennement satisfaisant car le thème ressort pas bien sur xterm et consort donc je me fais pas chier j'utilise Gvim comme ça je n'ai pas besoin de modifier mon xresources.

Installer conque-shell :

Tout d'abord, il vous faut une version de vim compilé avec python-interp c'est à dire chez Debian soit vim-python soit vim-nox.
Une fois ceci fait, vous pouvez utiliser votre gestionnaire de plugin (pathogen chez moi) pour le gérer

Ma config .vimrc :

execute pathogen#infect()
syntax on
filetype plugin indent on
set background=dark
colorscheme solarized

Vous n'avez plus qu'à télécharger conque-shell comme ceci :

cd .vim/bundle
wget https://conque.googlecode.com/files/conque_2.3.tar.gz
tar xvzf conque_2.3.tar.gz
rm conque_2.3.tar.gz

Et maintenant lancez votre vim :

vim
#Mode commande
:ConqueTerm bash

C'est beau, il y a le mode Insertion et mode normal ....

Cela me fait bien plaisir quand ça fonctionne !

Source : Blog de Joacodepel

mercredi, 8 octobre 2014

#En_vrac 1 : Gestion paquets Debian

Bonjour,

On va essayer d'écrire un peu, les astuces et notes s'accumulent mais le blog ne se remplit pas tout seul.
En plus ça devient à la mode de faire du vrac alors moi aussi je m'y mets.
Du coup quelques petites astuces pour manipuler des paquets debian à la rache.

Examen non-invasif

Afficher quelques informations sur le paquet : ses dépendances, son mainteneur, sa description
dpkg --info monpaquet.deb

nouveau paquet Debian, version 2.0.
taille 623842 octets : archive de contrôle=2370 octets.
    808 octets,    19 lignes      control              
   2999 octets,    37 lignes      md5sums              
    878 octets,    39 lignes   *  postinst             #!/bin/sh
    103 octets,    12 lignes   *  postrm               #!/bin/sh
    295 octets,    24 lignes   *  prerm                #!/bin/sh
Package: zsh
Version: 5.0.6-2
Architecture: amd64
Maintainer: Debian Zsh Maintainers <pkg-zsh-devel@lists.alioth.debian.org>
Installed-Size: 1886
Depends: zsh-common (= 5.0.6-2), libc6 (>= 2.15), libcap2 (>= 1:2.10), libtinfo5
Recommends: libncursesw5 (>= 5.6+20070908), libpcre3 (>= 8.10)
Suggests: zsh-doc
Section: shells
Priority: optional
Homepage: http://www.zsh.org/
Description: shell with lots of features
 Zsh is a UNIX command interpreter (shell) usable as an
 interactive login shell and as a shell script command
 processor. Of the standard shells, zsh most closely resembles
 ksh but includes many enhancements. Zsh has command-line editing,
 built-in spelling correction, programmable command completion,
 shell functions (with autoloading), a history mechanism, and a
 host of other features.


Afficher le contenu du paquet
dpkg --contents monpaquet.deb

drwxr-xr-x root/root         0 2014-09-21 00:19 ./
drwxr-xr-x root/root         0 2014-09-21 00:19 ./usr/
drwxr-xr-x root/root         0 2014-09-21 00:20 ./usr/share/
drwxr-xr-x root/root         0 2014-09-21 00:20 ./usr/share/lintian/
drwxr-xr-x root/root         0 2014-09-21 00:20 ./usr/share/lintian/overrides/
-rw-rr root/root       214 2014-08-26 00:45 ./usr/share/lintian/overrides/zsh
drwxr-xr-x root/root         0 2014-09-21 00:19 ./usr/share/bug/
-rwxr-xr-x root/root      1403 2014-08-26 00:45 ./usr/share/bug/zsh
drwxr-xr-x root/root         0 2014-09-21 00:20 ./usr/share/doc/
drwxr-xr-x root/root         0 2014-09-21 00:19 ./usr/lib/
drwxr-xr-x root/root         0 2014-09-21 00:19 ./usr/lib/x86_64-linux-gnu/

Décompression d'un paquet et recréation

Extraire l'arborescence
dpkg-deb -x paquet.deb repertoire Extraire le répertoire DEBIAN contenant les différents fichiers postinst, control
dpkg-deb -e paquet.deb nom_du_repertoire/DEBIAN

La vous faites ce que vous voulez ...

Pour le refabriquer
dpkg-deb -b repertoire paquet.deb

Manipulation du cache

Pour connaitre les versions d'un paquet installé ainsi que la version disponible dans vos dépots
apt-cache policy zim

zim:
 Installé : 0.60-1
 Candidat : 0.60-1
 Table de version :
 *** 0.60-1 0
       500 http://203.41.188.16/debian/ jessie/main amd64 Packages
       100 /var/lib/dpkg/status

Connaitre les dépendances inverses d'un paquet (quels paquets ont besoin de celui là pour fonctionner)
apt-cache showpkg libvte9

Package: libvte9
Reverse Depends: 
 pac,libvte9

Sur l'exemple ci-dessus, nous pouvons voir que le paquet pac a besoin du paquet libvte9 pour fonctionner.

A la prochaine.
That's all folks !

vendredi, 2 mai 2014

Une IHM pour LXC : LXC-Web-Panel

screenshot01.png
Bonjour à tous,

Un soupçon de motivation m'anime tout d'un coup, autant vous dire que c'est très rare et que je vais en profiter pour faire la promotion du made IN France :D

Comme vous le savez, j'utilise LXC pour faire mes petits tests. A part la mise en oeuvre qui est un petit peu fastidieuse, la solution tourne plutôt bien (très bien même).

Mais j'aime bien avoir une vue générale de ce qui tourne sur mon PC et une petite IHM Web pour visualiser et interagir avec LXC c'est plutôt cool.

J'ai trouvé une solution qui permet de gérer via une web appli votre hyperviseur LXC à la KISS style.
Elle est super bien référencée dans Google mais je n'ai vu aucun article français en parler, avouez que pour une application développée par des Français c'est un comble.

J'ai installé LWP sous ma Debian 7.5, of course it runs sans bidouille, juste en utilisant leur script.

Points Positifs :

  • Installation facile
  • Belle IHM, rien de superflu
  • Fait le boulot attendu.
  • Serveur léger

Axes d'améliorations :

  • Il me manque la gestion des sauvegardes/snapshot et ré-initialisation
  • Une petite console d'accès à distance (je n'ai encore pas encore de solution fiable et intéropérable mais on peut rêver)
  • Gestion des ressources systèmes de chaque containeur via un graphe
  • Laissez un script d'installation tourné en root me plaît pas trop.
  • Tout n'est pas opérationnel sous Debian mais cela devrait rentrer dans l'ordre avec LXC en version 1.0
    • Gestion du réseau
    • Création from scratch d'un container
    • Gestion du lancement des containers au boot
  • Je regrette un peu la technologie choisie qui se base sur du Python/Flask.


Quelques questions à l'un des auteurs Elie DELOUMEAU :

Qu'est-ce qui vous a poussé à developper LWP :

Avoir fait quelque chose d'utile dans ma vie et avoir quelque chose sur mon CV ^^

Quels besoins souhaitiez-vous couvrir avec cette application :

Rester dans une interface utilisable par tout le monde mais aussi poussée parfois pour les professionnels.

Vos prochaines fonctionnalités et développements en cours :

RESTful API
Backup
Gestion avancée des utilisateurs
Gestion d'ACL
Autoupdate
Gestion de plusieurs serveurs via une interface
Personnalisation de l'interface
Configuration du SSL à l'installation (si possible)
Installation sur une base MySQL si l'utilisateur le souhaite
Nous sommes actuellement sur le dev d'une version multi plateformes (debian/ubuntu/fedora etc..)

Pourquoi Python et Flask ?

Je suis parti sur du Python car je ne suis pas développeur et en tant qu'admin systèmes c'est le seul langage que je maîtrise plus ou moins. Et au final j'ai bien fait d'utiliser Python car avec LXC 1, il y a une bibliothèque Python livrée avec :D


Un grand merci à lui et une bonne continuation.

Sources :

mercredi, 5 février 2014

Gestion de mon environnement de developpement

Hello world !
Une petite note pour partager mon "expérience" sur l’administration de mon serveur dédié.
Je ne sais pas comment vous fonctionnez pour gérer vos serveurs mais moi j'utilise Puppet.
J'ai choisi cette technologie car je m'en sers énormément au boulot alors tant qu'à apprendre quelque chose autant que cela me serve.
Ce logiciel me permet d'installer/réinstaller mon serveur de zéro en quelques minutes sans oublier quelque chose.
Il y a plusieurs manières de se servir de Puppet à savoir :

  • Client/Serveur sur architecture n-tiers
  • Client/Serveur en mode standalone

Au vu de mon infrastructure, j'ai choisi la deuxième méthode. Je n'ai pas besoin de gérer un quelconque service central PuppetMaster j'ai développé un petit shell qui me permet d’exécuter mon agent Puppet sur mon serveur sans avoir besoin d'un master Puppet.

Voici l'infrastructure que j'utilise, je vais la détailler par la suite : choixlibres.png
Un petit tour des technos :
Comme vous pouvez le voir, je m’appuie sur trois étapes/environnements pseudo-cloisonnés. Les deux premières itérations s'effectuent sur mon poste de travail via la solution LXC, cette solution a l'avantage d'être légère et facilement réinstallable/réinisialisable.
J'utilise également le gestionnaire de version Git. De un car c'était une belle façon d'apprendre les DCVS et de deux car le service Github est bien pratique.
Cela ne figure pas sur le schéma mais je me sers de Zim pour documenter/noter des liens, je cherche actuellement une solution pour synchroniser mes écrits entre mes différentes machines.

Mes différents environnements :
Dev :

Cette VM me permet de tester de manière sauvage (sans documenter/en patchant comme un goret...) les futurs services que je souhaiterais mettre en place sur mon serveur dédié. Si les tests sont concluants, je passe à l'environnement suivant.

Recette :

Ce conteneur LXC est remise à zéro à chaque utilisation, je me base sur un debootstrap stable pour le faire. Je clone mon dépôt Git dans le répertoire /etc et je commence à développer le code Puppet me permettant de déployer le nouveau service. Je teste plusieurs fois en réinisialisant la VM afin de me placer dans des conditions identiques à la production. Je documente chaque étape (si la procédure le nécessite) dans mon wiki desktop ZIM. Une fois le code, la documentation, le déploiement au point, je commit et Push mon travail dans mon Git.

Production :

Sur mon serveur dédié, je me contente de faire un pull de mon dépôt Puppet et d’exécuter Puppet.
C'est tout !!!

Ce petit billet avait pour but un petit partage d'information, si vous avez des remarques ou des propositions, je suis ouvert à tout commentaires constructif ne cherchant pas à me vendre du viagra :D
Si vous le souhaitez vous pouvez visiter mon dépot Git et même me faire des commits ;)
Un début de documentation est disponible au cas ou vous souhaiteriez vous en servir.
Coming soon, une réecriutre plus propre des modules, plus de paramètres/d'automatisations pour le module parefeu

A bientôt mais en attendant, regarde comme il faut beau dehors, il faut sortir s’aérer : 15h02
J'aime bien ;)
Sources :
Mon dépot Git Puppet

samedi, 11 janvier 2014

Utiliser Thunderbird avec un serveur Exchange

exquilla.pngLe milieu de l'entreprise est souvent hostile au logiciel libre.
Il faut souvent avoir recours à la bidouille afin de pouvoir continuer à utiliser les logiciels que l'on aime.
Depuis peu mon entreprise avait décider de migrer la messagerie vers un serveur Exchange (quelle drôle d'idée ?).
En dehors du fait que cela me déplaisait au plus haut point (tout nos mails confidentiels seront surement lisibles par la firme de Redmond), je ne voyais pas l'impact que cela pourrait avoir sur mon poste de travail.
J'avais sous-estimé Micro$oft ... Chacun de leur produit est fait pour garder l'utilisateur, ils ne sont bon qu'à fournir un ensemble de logiciel privateur de libertés.
Dans cet exemple, l'utilisation du serveur Exchange implique l'utilisation du protocole MAPI qui n'est pas supporté par Thunderbird.

Après plusieurs recherches, je suis tombé sur un plugin thunderbird nommé Exquilla

Il suffit de télécharger le fichier .xpi et de l'installer comme module à Thunderbird. L'installation est très simple et tout roule.

Manipulation réalisée avec Succès sous Ubuntu 12 et Debian Testing

- page 1 de 9