mat@oxyg3n.org

Mon bloc note perso sur les systèmes UNIX & GNU/Linux, le développement et... la photo.

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

05fév. 2010

Changement d'encoding avec Iconv

Pour changer l'encoding d'un fichier ou d'une chaine vous pouvez utiliser iconv:

echo "éé" |iconv --to-code UTF8

20janv. 2010

Subversion: retour à une version précédente d'un fichier

Pour passer de la révision 351 à 12, exemple:

svn merge --dry-run -r 351:12 log4j.xml
svn merge -r 351:12 log4j.xml
svn commit -m "retour a la revision 12"

Pour connaitre le diff entre les deux révisions:

svn diff -r 351:12 log4j.xml

11janv. 2010

Fusionner plusieurs pdf avec ghostscript

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=output.pdf -dBATCH  doc1.pdf doc2.pdf

01déc. 2009

Liste des utilitaires que j'installe après déploiement d'un nouveau serveur

Ci-dessous une liste des utilitaires que je déploie sur chacun de mes serveurs (Debian pour la plupart).

Au minimum:

  • openntpd: permet de garder le serveur à l'heure
  • logcheck: analyse les logs et génère des rapports mail avec les informations intéressantes.
  • upgrade-system: un script qui utilise apt/deborphan pour garder le système à jour.
  • apticron: script cron qui envoie la liste des mise a jour disponibles pour votre système.
  • aide: détecte les changements dans les fichiers du système. Utile pour détecter les intrusions.
  • vim: version améliorée de l'éditeur de texte VI.
  • denyhosts: (ou fail2ban) bloque les attaques bruteforce ssh en ajoutant des entrées dans /etc/hosts.deny
  • screen: permet de faire tourner plusieurs terminaux sur un seul.
  • sysstat (sar,iostat...): indispensable pour avoir le maximum d'indicateurs sur l'état du système (IO, CPU ...)
  • munin-node: agent munin, pour la supervision du serveur.
  • unzip: pour dézipper...
  • psmisc (fuser, killall, pstree, peekfd)
  • subversion: pour le versionning des fichiers de conf du serveur.
  • rsync: copie différentielle de fichiers à distance.
  • libwww-perl: utilisé par le plugin apache de munin-node
aptitude install openntpd logcheck upgrade-system apticron aide vim denyhosts screen sysstat munin-node unzip psmisc subversion rsync libwww-perl


en option:

  • htop: version améliorée de l'utilitaire "top"
  • tcpdump: capture du trafic réseau
  • make: :-)
  • lshw: information sur le matériel
  • ethtool: obtenir des infos sur la carte réseau (vitesse...)
  • iproute: amélioration des outils réseau...
  • dmidecode: description du matériel (pratique pour obtenir le servicetag d'un serveur dell...)
  • pwgen: générateur de mot de passe
  • pv: peut être inséré dans tout tube entre deux processus pour afficher visuellement la rapidité de transfert de données entre les processus, le temps mis, la quantité effectuée ainsi qu'une estimation de la date/heure de fin
  • hdparm: visualiser/modifier les paramètres des disques dur
  • strace: trace les appels système que fait un programme

28nov. 2009

Tunnels SSH

Pour le SMTP:

ssh -N -f login@ssh-gateway.com -L9025:serveur.mail.com:25 sleep 60

le serveur devient accessible via localhost:9025

et pour l'IMAP:

ssh -N -f login@ssh-gateway-ssh.com -L9143:serveur.mail.com:143 sleep 60

le serveur devient accessible via localhost:9143

22nov. 2009

Nouveau Blog

Juste un billet pour vous signaler la création d'un nouveau blog. Celui-ci sera moins orienté technique et plus orienté "réflexion". Je continuerai bien évidemment à publier mes notes techniques sur le blog que vous êtes en train de lire ;-) Pourquoi un nouveau blog? Parce-que ça fait un moment que je souhaite bloguer sur des sujets autres que la technique pure. Il y a un certains nombres de thèmes qui me font cogiter et pour lesquels je souhaiterai me forcer à:

  • pousser un peu plus ma réflexion
  • prendre le temps d'organiser mes pensées par écrit
  • partager ma vision des choses

Le blog que vous avez sous les yeux étant déjà rempli de billets "techniques", j'avais du mal a imaginer le lecteur "naviguer" entre tous ces types de billets.

Bonne lecture, et ...
n'hésitez pas à me faire des retours !

16nov. 2009

Réinitialiser un password root perdu :)

  • (re)démarrer la machine
  • une fois sous grub, sélectionner l'os à booter et pressez "e" (edit)
  • sélectionnez la ligne "kernel" et pressez "e"
  • ajoutez "single init=/bin/bash" en fin de ligne
  • pressez "enter" puis "b" pour booter l'os.
  • remontez le filesystem en rw à l'aide de la commande: "mount -o remount,rw /"
  • exécutez "passwd" afin de changer le mot de passe
  • "reboot"

15nov. 2009

Alias SSH

Un exemple vaut mieux qu'un long discours :)

ssh monutilisateur@rXXXXX.ovh.net <-- lourd

editer le fichier: ~/.ssh/config
ajouter:

host myserver
    Hostname rXXXXX.ovh.net
    User monutilisateur

et hop, on tape maintenant:

ssh myserver

manpage ssh_config: ici

15nov. 2009

Mac OS Finder: afficher les fichiers cachés

Dans un terminal:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

Pour cacher les fichiers:

defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder

03nov. 2009

Postgresql: requêtes sur une base de données distante avec db_link

dblink est un module qui permet de se connecter à d'autres bases de données PostgreSQL™ depuis une session de base de données.

Installation des contrib-postgresql

Afin de pouvoir utiliser db_link in faut installer les "contrib" postgresql. Pour cela:
apt-get install postgresql-contrib-8.3
ou
cd ~/sources/postgresql-8.2.3/contrib/dblink
make
make install

Ajout des fonctions dblink à la base de données

su postgres
psql -d testgis -f /opt/pgsql/share/contrib/dblink.sql

Création d'une connexion à la base de données distante

SELECT * from dblink_connect('connexion_autre_base','hostaddr=10.1.1.1 port=5432 dbname=autre_base user=test password=test');

Exécution d'une requête

SELECT * FROM dblink('connexion_autre_base','SELECT id,userid,homedir FROM users',true) AS foo(id int,userid text,homedir text) ORDER BY id;

Fermeture de la connexion

SELECT * from dblink_disconnect('connexion_autre_base');

01nov. 2009

Support de Groovy & Grails sur AppEngine


Guillaume Laforge à propos du support Groovy/Grails sur AppEngine.

15oct. 2009

Augmenter Entropie

Lorsque votre système n'a pas assez d'entropie pour pouvoir générer suffisamment de nombres aléatoires - pour générer une clé GPG par exemple - deux solutions: La première est de générer suffisamment de "bruit" sur la machine par exemple en faisant un find /. Ca marche... mais ça prend pas mal de temps :-) La seconde, est d'installer le paquet rng-tools.

Vous pouvez connaitre l'entropie disponible grâce à la commande: sysctl kernel.random.entropy_avail

13oct. 2009

"Passeport pour UNIX et C"

UNIX et C Je viens de terminer la lecture du bouquin "Passeport pour UNIX et C" et j'ai trouvé vraiment pas mal. Ce bouquin m'a permis de faire la poussière sur les quelques connaissances C acquises au cours de mes études et d'apprendre pas mal de nouvelles choses ;-) A noter que même si le bouquin est clairement orienté dev, la première partie (10 premiers chapitres) me parait intéressante pour les Sysadmins en herbe. Est abordé dans cette partie: les systèmes de fichiers, les processus (avec leurs états, l'ordonnancement... ), le scripts shell et les commandes UNIX standards. Bref, que du bon!

09oct. 2009

Cloner une partition avec Netcat et dd

Les commandes suivante permettent d'envoyer les données du server1 vers le serveur2. On peut ainsi cloner une partition:

Server2# nc -l 12345 | dd of=/dev/sdb1
Server1# dd if=/dev/sda1 | nc server2 12345

et en y ajoutant de la compression:

Server2# nc -l 12345 | gzip -dc | dd of=/dev/sdb1
Server1# dd if=/dev/sda1 | gzip | nc server2 12345

09oct. 2009

SSH et authentification par clé

Tout est dans le titre :)

ssh-keygen
cat ~/.ssh/id_rsa.pub | ssh test@10.1.1.1 "cat - >> ~/.ssh/authorized_key"

et hop:

ssh test@10.1.1.1

29sept. 2009

Find et fichiers modifiés

Petite commande FIND pour afficher les nombre de fichiers modifiés au cours des dernières 24h et la taille que cela représente:

nice -n 15 find /tmp -mtime -1 \! -type d -printf '%Ad-%Am-%AY\t%AH:%AM:%AS\t%s %p\n' |awk '{total+=$3;nbfich+=1}END{print "Taille: " total " Bytes";print "Nombre de fichiers modifies: "nbfich}'

Résultat de l'exécution:
Taille: 17418964 Bytes
Nombre de fichiers modifies: 7

15sept. 2009

Host Série Linux Mag - Postgresql 8.4

Linux Mag Postgresql
Ça y est je l'ai en main! Le nouveau hors série GNU/Linux Magazine France n°44. Cette fois-ci Postgresql est à l'honneur avec sa version 8.4. J'ai commencé à feuilleter le magazine et je dois dire Guillaume Lelarge (rédacteur à lui seul de la totalité des articles de ce HS) à réalisé un travail titanesque (éléphantesque?) . Dans la lignée de ses précédents articles, didactique, passionnant et vraiment très instructif. Bravo Guillaume. Un grand merci. Bref, courrez acheter cet numéro, c'est que du bon ;-)

08sept. 2009

Chiffrer ses fichiers avec openssl.vim

L'utilisation de gnupg pour chiffrer un fichier est viable mais pas vraiment adaptée au chiffrement d'un fichiers de mots de passe (contrairement à ce que j'affirmais il y a quelque temps dans ce billet). En effet, il faut déchiffrer/chiffrer manuellement le fichier à chaque utilisation. Sympa, mais au bout d'un moment on a tendance a "oublier" de rechiffrer le fichier après utilisation.

Heureusement il existe une méthode ultime pour ça... avec openssl... et VIM ;-)
Il existe un plugin VIM nommé "openssl.vim" qui répond parfaitement à ce besoin. Ce plugin "hook" les ouvertures et enregistrements de fichiers en appelant openssl pour respectivement déchiffrer et chiffrer le fichier avant utilisation. Pratique non? L'installation est très simple, il vous suffit de télécharger le plugin ici et de le copier dans votre répertoire ~/.vim/plugin.

Il suffit maintenant de créer un fichier avec (au choix) l'extension: des3, aes, bf, bfa, idea, cast, rc2, rc4, ou rc5 en fonction de l'algo choisi. Lors de l'enregistrement du fichier une clé vous sera demandé afin de chiffrer celui-ci. A l'ouverture, il faudra saisir la clé afin d'avoir accès au contenu.

07août 2009

En vrac - Retour de vacances

29juil. 2009

LaTeX le retour

J'ai très souvent utilisé LaTeX pour rédiger des rapports. Cet outil génère vraiment des documents de qualité exemplaire. Ce n'est que très récemment, à l'occasion de la traduction du tutoriel "Learn Python in 10 minutes" que j'ai relancé mon éditeur préféré. Sous mac, j'utilise la distribution MiKTeX et l'éditeur TexShop. TexShop facilite grandement la création des documents LaTex. Un fois lancé, en quelques clics je génère un template pour un document de type "article" (voici ce que ça donne). J'ajoute la balise "\usepackage[latin1]{inputenc}" en début de document pour le support des caractères accentués et hop, c'est parti.
Il existe de nombreux tutoriaux pour LaTeX sur internet . J'ai même trouvé des "cheatsheet".

- page 1 de 4