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

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

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

jeudi, 2 janvier 2014

Test/Utilisation Seagate Central

seagate_central_banner1_978x379.png
Bonne année à tous,

Pendant ces fêtes de fin d'année, j'ai acheté un petit NAS à mes parents.
N'habitant pas à coté et sachant qu'ils utilisent des disques durs hors d'age, je me suis dit qu'il serait intéressant qu'ils ne perdent pas tout lorsqu'un ordinateur tombe en panne ou qu'ils puissent regarder leur photo sur la télé.

Après un achat par réservation sur Boulanger (à noter que ce service n'est pas au point). Je rentre faire l'installation qui est normalement accessibles au néophytes.

Premier constat, les documentations papiers n'existent plus, elles ne sont plus fournies, je tombe tout juste sur un dépliant en 2 étapes m'indiquant comment brancher le NAS à la Box.

Pour avoir un peu plus de détail, il faudra passer par un site web en anglais, très très sommaire. Pour tout vous dire, la documentation (presque) complète du produit fait 70 pages et elle est difficilement trouvable.

Je ne sais pas si les économies réalisées sur le papier sont vraiment rentables car cela incite l'usager à faire appel au support ou alors à changer de produit.

Bon une fois, le NAS repéré par Windows, il est conseillé d'utiliser le logiciel Seagate Central afin de paramétrer vos plans de sauvegarde. Cet outil particulièrement lourd est assez mal fait et si je puis dire buggué. Je songe à lui trouver un remplaçant du style Cobian backup.

Le cauchemar commence avec la gestion des accès. Chaque utilisateur possède un espèce de home auquel il pourra accèder en s'identifiant avec un mot de passe. Sous WIndows, la gestion du montage automatique est assez mal faite, il faut que le nom d'utilisateur et le mot de passe de votre session Windows soit le même que celui de votre Nas sinon vous pouvez dire adieu à l'automatisation de vos sauvegardes au démarrage.

Pour finir, je devais transférer des données d'un de mes serveurs GNU/Linux vers ce Nas, je me suis dit que j'allais manger un peu de Samba et cela me ferait du bien

Que nenni, le petit Nas a le bon goût de tourner sous GNU/Linux (Monta Vista), il offre un accès SSH root sans mot de passe (moyen) et un accès ftp.

Là, je me suis dit que ne Nas n'était pas si mal :)
A partir de ce moment, plus aucune prise de tête, je transfert mes données en ftp à une vitesse défiant toute concurrence et fin de chantiers.

EN conclusion, le matériel est pas mal, il tourne sur un OS libre, la documentation est quasi-inexistante sous Windows.
Sur les autres OS, il n'y pas besoin de documentation car nous pouvons utiliser des technologies éprouvées et c'est tant mieux.

Nb : Cet article est non sponsorisé :)

- page 1 de 9