Mes premières impressions sous Arch Linux

\"ArchJ\’ai reçu la semaine dernière mon nouveau matériel professionnel à savoir un Dell Latitude E6510 avec station d\’accueil et un écran supplémentaire pour du dual sreen. J\’en profite d\’ailleurs pour souligner qu\’il est possible pour cette gamme de commander une machine sans OS! Bref, après un petit moment d\’hésitation, j\’ai décidé de me lancer dans l\’aventure Arch Linux. Je suis pourtant utilisateur d\’Ubuntu depuis 5 ans environ. Mon serveur et mon ordinateur fixe personnels tournent d\’ailleurs encore avec cette distribution. Je vais tenter dans un premier temps de vous expliquer brièvement les facteurs de ce changement. Puis je tâcherai de faire un bilan de ces 10 premiers jours sous Arch!

De Ubuntu à Arch Linux

Il y a plusieurs raisons qui m\’ont fait choisir Arch Linux comme nouvelle distribution. Premièrement, ça fait un moment que j\’en entend parler et à chaque fois en bien. Ensuite, je suis suffisamment curieux pour oser me lancer! Il y a aussi le fait qu\’Arch Linux est réservé à des utilisateurs avancés et c\’est quelque chose qui me plaît bien (on est totalement maître de son système et ça flatte l’ego :-D). Le principe de rolling release m\’a aussi beaucoup tenté. Enfin -troll inside- les derniers choix faits par Canonical ne m\’ont pas vraiment convaincu ou en tous cas ne répondent pas à mes attentes (plus orienté réseaux sociaux, ajout de logiciels propriétaires dans la logithèque, etc…). Attention, je ne fais pas le procès d\’Ubuntu! Si le libre en est là où il est aujourd\’hui c\’est, je pense, en grande partie grâce à Ubuntu qui a su le démocratiser un peu plus. Quoi qu\’il en soit, pour toutes ces raisons et pour d\’autres encore, j\’ai tenté l\’expérience Arch!

L\’installation

Pour commencer, je suis parti sur l\’installation par le net. L\’iso à télécharger fait ainsi moins de 200Mo et tous les paquets nécessaires sont récupérés durant le processus d\’installation. Chose importante, Arch Linux ne contient rien à la base (Pas d\’interface graphique par exemple). Il vous faudra tout installer et c\’est ça le principal atout de cette distribution selon moi. Quelques précisions pour ceux qui voudraient s\’y essayer :

  • Le mieux est de suivre ce tutoriel en français très bien fait.
  • Ne mettez pas la swap en premier sur le disque (sur sda1). Ça ne lui plaît pas du tout! Pour ma part, j\’ai découpé mon disque de cette manière :
    \"Partitions\"
  • Enfin pour le choix du serveur à utiliser pour récupérer les paquets, choisissez soit celui de archlinux.org (lent mais fonctionnel), soit un en fonction de cette page. Lors de ma première tentative d\’installation, j\’en ai choisi un au hasard et il se trouve qu\’il ne possédait pas la moitié des paquets…

Je ne vais pas détailler le processus d\’installation. Des tutoriels font ça très bien et le wiki d\’ArchLinux est on ne peut plus complet. Ce qui m\’a pris le plus de temps a été la configuration de Xorg, dont l\’ex-fichier xorg.conf est maintenant découpé en plusieurs fichiers dans /etc/X11/xorg.conf.d/. Les deux conseils que je pourrais vous donner c\’est de ne pas tenter tout de suite le dual screen, je veux dire pas avant d\’avoir installé Xorg correctement, et de bien suivre les conseils donnés dans le wiki (ici et ). Une fois que vous aurez installé un gestionnaire de bureau (Gnome par exemple) et si vous avez choisi d\’utiliser les drivers de carte graphique propriétaires pensez qu\’ils sont installés avec des outils qui génèrent les fichiers de configuration du serveur X à votre place (NVIDIA X Server Settings ou Catalyst Control Center). En revanche, ils génèrent encore le xorg.conf mais à priori, il suffit juste de le renommer et de le déplacer au bon endroit :

sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.d/10-monitor.conf

Premières impressions

Voilà 10 jours que j\’utilise quotidiennement Arch Linux et je dois dire que j\’en suis très satisfait. Alors certes, l\’installation est longue (j\’y ai passé une journée) puisqu\’il faut vraiment tout installer mais il faut prendre en compte qu\’Arch Linux ne se réinstalle pas. Le système de rolling release assure d\’avoir toujours une distribution à jour et donc pas de mises à jour de versions importantes. La documentation est très fournie et pour peu qu\’on soit à l\’aise avec la ligne de commande, ça passe tout seul. Une fois que tout est en place c\’est impeccable. On est maître de tout et ça, pour quelqu\’un qui n\’a pas peur de mettre un peu les mains dans le cambouis, c\’est fantastique! Côté gestionnaire de bureau, j\’ai fait le choix de Gnome avec le thème Equinox et le jeu d\’icône Faenza (Merci Nicolargo ;)). Enfin, pour terminer sur le bon côté de la chose, le gestionnaire de paquet, pacman, est vraiment très puissant et les paquets AUR sont une source inépuisable de logiciels.

Seulement voilà! Tout n\’est pas rose sous Arch Linux. Il y a quand même quelques petits inconvénients. Premièrement, c\’est un peu \ »roots\ ». Pour quelqu\’un qui n\’a pas envie de se prendre la tête, ce sera vite décourageant. Une installation d\’Ubuntu prend maintenant une heure maximum. Une installation d\’Arch Linux (j’entends par là le système, l\’ajout d\’interface graphique, les paquets de base et tout et tout…) prend nettement plus de temps, en tous cas la première fois. Mais on apprend beaucoup sur le fonctionnement de son système et ça c\’est inestimable! Deuxièmement, le système de rolling release choisi par Arch Linux a aussi ses inconvénients. Deux exemples issus de mon expérience : la mise à jour vers la toute dernière version de Thunderbird m\’a obligé à fouiller sur le net pour trouver une version de Lightning (agenda) compatible. La version proposée via l\’interface d\’installation de modules de Thunderbird ne l\’était plus… Ensuite une mise à jour \ »buggée\ » d\’Empathy m\’a privé quelques heures de messagerie instantanée. Heureusement, ce sont des choses qui sont très vite corrigées et ne pose finalement pas tant de problèmes que ça. Troisièmement, il y a des automatismes à acquérir. Notamment avec le passage de apt-get à pacman. Ce dernier suivant une logique qui me dépasse quant au nom de ses arguments. Petit comparatif :

[table id=3 /]

Il faut avouer que c\’est spécial… Mais après quelques heures d\’utilisation ça ne pose plus vraiment de problèmes. Enfin, et ce n\’est pas tant la faute d\’Arch Linux que des constructeurs de matériel, il est parfois difficile de trouver les pilotes pour certains périphériques. Je pense en particulier à la webcam incrustée dans l\’écran du E6510 que je n\’ai toujours pas réussi à faire fonctionner… La documentation technique de chez Dell ne m\’a pas permis de déterminer quel pilote installer. Une Ubuntu, par exemple, détectera ce type de matériel et installera les pilotes nécessaires.

Conclusion

Je n\’utilise Arch Linux que depuis 10 jours donc ce n\’est pas encore très facile de se faire un avis mais je suis pour le moment très satisfait. Je n\’exclue pas de passer également mes machines personnelles sous cette distribution. Il y a certes quelques couacs de temps à autre mais c\’est un moindre mal comparé à la satisfaction qu\’apporte un système stable, à jour et dont on est complètement maître. Qui plus est, le système étant \ »vide\ » au départ on installe vraiment que ce dont on a besoin, ce qui rend la distribution très légère et réactive.

PS : Si certains sont tentés de passer sous Arch Linux, n\’hésitez pas à poser vos questions dans les commentaires. J\’en ai eu pas mal moi-même, notamment pour les fichiers de configuration type rc.conf ou pacman.conf, donc je pourrais peut-être y répondre.

Mémo : comment \ »débannir\ » une IP bloquée par fail2ban?

Quand on a son serveur personnel, fail2ban fait partie des indispensables à installer. Ce démon scrute les logs (que ce soient les logs ssh, apache, etc…) à la recherche des tentatives de connexion infructueuses et peut ainsi bannir une IP si nécessaire. Concrètement, dans le cas d\’une tentative de connexion par ssh qui échouerait 3 fois d\’affilés (ces paramètres sont configurables), l\’IP de la machine à l\’origine de ces tentatives aura droit à une belle règle iptable de façon à lui bloquer complètement la connexion via le port 22 pour une durée donnée (5 minutes ou 3000 ans, c\’est vous qui choisissez!). Bref, pour vous donner une idée, sur mon serveur je bloque en moyenne 5 IP par jour. Les tentatives sont faites en général via ssh avec des logins comme \ »root\ » ou \ »login\ » et des mots de passes évidemment faux!

Quoi qu\’il en soit, il peut arriver qu\’une IP vous appartenant soit bloquée. Ça peut arriver par exemple dans le cas où la connexion à ssh via login/password est activée (et pas uniquement par clé publique/privée) et où vous tentez de vous connecter à votre serveur depuis le boulot en vous trompant de login parce que vous en avez à la pelle vu le nombre de machines que vous utilisez. Du coup, vous tentez 3 fois votre mot de passe sans vous apercevoir que votre login n\’est pas bon… et hop! Banni pour un an! (True story!)

Il devient alors pratique, une fois rentré à la maison, de se \ »débannir\ », de bloquer la connexion ssh via login/password et d\’ajouter sa clé publique pour ne plus avoir de soucis. Mais comment se débannir? Comme ceci :

Admettons que vous ayez été banni à partir de tentatives infructueuses de connexion à ssh. Pour lister les IP bannies, il vous faudra lancer dans un premier temps la commande suivante :

$ sudo iptables -L fail2ban-ssh
Chain fail2ban-ssh (1 references)
target     prot opt source               destination
DROP 0 -- 66.249.92.104 anywhere
DROP 0 -- 91.189.90.40 anywhere
DROP 0 -- 207.46.170.123 anywhere
RETURN     all  --  anywhere             anywhere

Bien que la \ »mise en page\ » ne le laisse pas paraitre, il s\’agit ici d\’un tableau dont les en-têtes sont \ »target\ », \ »prot\ », … Il suffit alors de noter à quelle ligne du tableau apparait votre adresse IP. Considérons que vous souhaitez débloquer 91.189.90.40. Cette IP apparait à la ligne 2. Il ne reste plus qu\’à exécuter la commande suivante :

$ sudo iptables -D fail2ban-ssh 2

Votre IP sera bien supprimée des règles iptables, vous autorisant à nouveau à vous connecter en ssh!

Ajouter ou mettre à jour un package LaTeX manuellement (texlive)

Cet article fait en particulier suite à celui concernant la création de son CV en LaTeX avec moderncv. Pour ceux d\’entre vous qui ont essayé, vous êtes probablement tombé sur un os en tentant d\’ajouter votre page web dans vos coordonnées :

\\documentclass[10pt,a4paper]{moderncv}
% .....
\\homepage{www.francoistessier.info/blog}

Une erreur sur cette balise empêche la compilation. En y regardant de plus près, on peut s\’apercevoir dans /usr/share/doc/texlive-latex-extra-doc/latex/moderncv/CHANGELOG.gz (pour une installation de texlive sous Ubuntu) que la version installé de moderncv est la 0.7. Or, il y a eu quelques mises à jour depuis (version 0.11) permettant entre autres d\’utiliser la balise /homepage{} comme dans l\’exemple fourni par l\’auteur. Mais comment utiliser la dernière version?

Une solution consisterai à écraser la version actuelle par la nouvelle. Certes, ça semble efficace mais c\’est trop \ »risqué\ », pas propre, et on perdrait cette modification à la prochaine mise à jour de texlive.

Heureusement pour nous, LaTeX a tout prévu! Il existe en effet une variable TEXMFHOME dans sa configuration qui correspond en général au chemin du dossier $HOME/texmf. Ce dossier, s\’il existe, est parcouru par LaTeX lors de la compilation d\’un document pour y chercher l\’existence de la classe utilisée. Deuxième point important, c\’est la classe trouvée dans ce dossier (en suivant une arborescence précise), si elle existe, qui est choisie en priorité pour compiler le document. Donc pour utiliser, par exemple, la dernière version de moderncv, on procèdera de cette façon :

  1. On exécute dans un premier temps la commande suivante pour connaître le dossier correspondant à la variable TEXMFHOME :
    $ texconfig conf | grep TEXMFHOME
    TEXMFHOME=/home/login/texmf
    
  2. En fonction du repertoire fourni précédemment, on crée l\’arborescence dont à besoin LaTeX pour trouver et utiliser notre package :
    $ mkdir -p /home/login/texmf/tex/latex
    
  3. On y copie le package téléchargé et décompressé
    $ cd /home/login/texmf/tex/latex
    $ wget http://mirror.ctan.org/macros/latex/contrib/moderncv.zip
    $ unzip moderncv.zip
    $ rm moderncv.zip
    
  4. En fonction de comment est organisé le package, il sera peut-être nécessaire de faire des manipulations supplémentaires (je pense en particulier aux packages contenant des .ins et .dtx) mais je n\’ai pas encore été confronté à ce type de cas…
  5. On execute la commande sudo texhash qui mettra à jour la base de données de LaTeX. Cette commande ne semble pas nécessaire dans le cas d\’une autre version d\’un package existant (par exemple moderncv).

Et voilà! Si tout va bien, le package est accessible et, dans le cas de moderncv, il sera utilisé à la place de la version installée avec texlive.

Pour récupérer la dernière version des packages les plus populaires ou en trouver de nouveau, je vous renvoie vers ce site.

Environnement LaTeX sous Ubuntu

On m\’a fait remarquer il y a peu de temps que j\’avais publié un article sur comment écrire son CV en LaTeX sans expliquer comment faire du LaTeX… Remarque très pertinente! Du coup, je vais tenter de faire un rapide tutoriel permettant de se lancer rapidement et sans trop de difficultés dans l\’aventure LaTeX. Je laisserai de côté la syntaxe qui est déjà très bien documentée sur de nombreux sites (celui-ci étant mon favori) pour me concentrer plus spécifiquement sur l\’environnement nécessaire pour créer et compiler du LaTeX.

Installer LaTeX

Dans un premier temps, nous allons installer les bibliothèques et executables permettant de compiler des documents en LaTeX (que ce soit en DVI, PS ou encore PDF). Le plus simple, si on a un bon giga-octet de libre sur son disque, est d\’installer le paquet texlive-full. C\’est certes assez lourd en terme d\’espace mais on est sûr de ne rien oublier. Si en revanche on veut s\’éviter l\’installation de la prise en charge du grec ou du letton et économiser ainsi 300Mo je vous conseille plutôt d\’exécuter la commande suivante qui n\’installera que le nécessaire :

$ sudo apt-get install texlive texlive-lang-french texlive-latex-extra

En fonction de votre connexion, cette installation peut prendre un certain temps. Elle demande en effet de prendre plus de 400Mo dans les dépôts. Une fois ceci fait, vous devriez être en mesure de compiler votre premier document. Pour en être convaincu, créez un document doc.tex avec le premier éditeur de texte venu et écrivez dedans :

\\documentclass{article}
\\begin{document}
Premier test de compilation d\'un document \\LaTeX\\ en PDF.
\\end{document}

La compilation en PDF se fait ensuite simplement de cette manière :

$ pdflatex doc.tex

Dans le même dossier sera créé le fichier doc.pdf (mais aussi des fichiers temporaires que vous pouvez supprimer sans problème à savoir doc.aux et doc.log).

Seulement, écrire un document en LaTeX n\’est pas si évident à l\’aide d\’un simple éditeur de texte. Un peu d\’auto-complétion et de compilation automatique peut vite s\’avérer pratique si on veut gagner du temps et se consacrer exclusivement au contenu.

Éditeur LaTeX

Je ne connais pas vraiment les différents IDE (si on peut parler d\’IDE…) aidant à la rédaction de documents LaTeX donc je n\’oserai pas prétendre que ma solution est la meilleure. Cependant, je vais vous faire partager les outils que j\’utilise et qui pour le moment me conviennent parfaitement : Eclipse et le plugin TeXlipse.

Installation d\’Eclipse

Eclipse est un IDE open-source très connu écrit en Java fonctionnant essentiellement grâce à un système de plugins. Une communauté très active gravite autour de ce projet et propose des modules pour à peu près tout et en particulier pour le LaTeX. J\’utilise Eclipse aussi pour coder en Java et en C++. Du coup, pour éviter un nombre incalculable d\’applications et parce que je suis familier avec son interface, je l\’ai choisi aussi pour le LaTeX.

\ »Installation\ » est un bien grand mot puisque Eclipse n\’en nécessite justement pas! Pour pouvoir l\’utiliser, il faut dans un premier temps récupérer la dernière version disponible à cette adresse :

http://www.eclipse.org/downloads/packages/eclipse-classic-360/heliosr

Une fois l\’archive téléchargée, décompressez-là et lancez l\’exécutable eclipse. Si vous n\’avez pas de JRE (Java Runtime Environment), Eclipse vous le spécifiera puisqu\’il ne pourra tout simplement pas démarrer! vous pouvez remédier à ça en installant une implémentation libre du JRE d\’Oracle, OpenJDK :

$ sudo apt-get install openjdk-6-jre

Le lancement d\’Eclipse devrait ensuite ne plus poser de problèmes. Nous allons maintenant ajouter le plugin aidant à la création de documents LaTeX.

Ajout du plugin TeXlipse

Dans Eclipse, ouvrez Help > Install New Software. Dans le fenêtre qui s\’affiche, cliquez sur le bouton Add, ajoutez les informations suivantes puis validez :

  • Name : TeXlipse
  • Location : http://texlipse.sourceforge.net/
\"Add

Un item \ »TeXlipse\ » est alors proposé dans la liste. Cochez-le et cliquez sur Next. Il ne reste plus qu\’à suivre les instructions. Quelques questions sont posées durant le processus (accepter les conditions de licence, valider l\’installation) auxquelles vous devez bien entendu répondre par la positive.

Un redémarrage d\’Eclipse plus tard, le plugin est bien installé. On peut maintenant créer un projet LaTeX. Pour cela, File > New > Project… puis dans la fenêtre qui s\’est ouverte, séléctionnez LaTeX project dans le sous-menu de TeXlipse.

\"new

Attribuez un nom au projet et sélectionnez le format de sortie du document une fois le .tex compilé (par exemple PDF). Cet écran permet également de choisir le template qui sera utilisé pour mettre du contenu par défaut dans votre fichier LaTeX. Ça n\’a pas grand intérêt si ce n\’est de \ »pré-écrire\ » la balise \\documentclass{}. L\’étape suivante permet en particulier de renommer le fichier .tex principal et surtout le fichier de sortie (par exemple CV.pdf).

Et voilà! Il n\’y a plus qu\’à écrire son document. A chaque sauvegarde d\’un fichier du projet dans Eclipse, le LaTeX sera recompilé. Plus besoin de la ligne de commande, tout est automatique. Petite précision pour vous éviter des frayeurs, l\’instruction \\tableofcontents nécessite une double compilation pour que la table des matières du document soit mise à jour.

Notifications depuis le shell

Voilà déjà un moment que les bulles de notification ont fait leur apparation sur des distributions linux (je pense en particulier à Ubuntu ou Kubuntu). Je les trouve personnellement très pratiques et bien intégrées. Du coup, pourquoi ne pas s\’en servir pour une utilisation plus personnelle depuis un terminal?

Prenons un exemple concret dans le cadre du développement d\’un site web avec le framework PHP Symfony (comme ça je commence un peu à en parler…). La tâche Symfony doctrine:build-all-reload permet de reconstruire la base de données, regénérer les classes d\’abstraction et remplir la base avec les données qu\’on lui fournit. Bref, dans le cadre d\’un projet qui devient important, cette tâche peut prendre facilement une dizaine de minutes. Il peut alors être intéressant d\’être alerté une fois ceci terminé plutôt que de surveiller régulièrement son terminal. C\’est là que la commande notify-send intervient. Pour pouvoir l\’utiliser :

sudo apt-get install libnotify-bin

Puis pour faire apparaitre un premier message :

notify-send \"Test notification\"
\"Test

Pour le moment c\’est assez simple. Mais bien entendu, comme toujours, il existe un certain nombre de paramètres pour personnaliser tout ça. Les deux principaux selon moi sont :

  • -t <temps_en_millisecondes> qui permet de spécifier le temps (en millisecondes) au bout duquel le message expirera.
  • -i <chemin_vers_icone> qui permet d\’ajouter une icone dans la bulle de notification. Très pratique pour que l\’avertissement soit plus visuel.

Revenons à notre exemple. Dans un premier temps, j\’ai créé à la racine de mon répertoire personnel un dossier .notify dans lequel j\’ai copié une icone représentant le logo de Symfony. J\’ai ensuite rajouté un alias pour ma commande dans mon .bashrc. La commande qui doit être executée comprend la commande Symfony suivi d\’une notification (d\’où le && entre). Ce qui donne ceci :

alias sf-doctrine-build-all-reload=\'sf doctrine:build-all-reload --no-confirmation && notify-send -i ~/.notify/sf.png \"doctrine:build-all-reload done\"\'

On obtient tout de suite quelque chose de plus sympa!

\"Sf

Et voilà! C\’est facilement adaptable à d\’autres alias ou scripts en tout genre et ça a quand même de la gueule! Pour la manuel, c\’est par là. Pour les spécifications complètes de la commande, c\’est par ici.

Connaître la place prise sur le disque par un paquet

J\’ai eu besoin il y a quelques jours de connaître la taille utilisée sur le disque par un paquet installé. Sur une version desktop d\’Ubuntu (ou autre) il suffit d\’ouvrir le gestionnaire de paquet et de regarder les propriétés du programme installé. En revanche, sur une version serveur sans interface graphique, ça demande évidemment un peu plus de travail. A ma connaissance, deux solutions pour y parvenir : aptitude ou dpkg-query.

Exemple concret : on souhaite connaître la place utilisée sur le disque par l\’éditeur de texte vim.

1 – via aptitude

aptitude show vim

Cette commande fournit en sortie un certain nombre d\’informations concernant le paquet en question. La ligne qui nous intéresse est celle intitulée \ »Taille décompressée\ » :

Paquet : vim
État: installé
Automatiquement installé: non
Version : 2:7.2.245-2ubuntu2
Priorité : optionnel
Section : editors
Responsable : Ubuntu Developers
Taille décompressée : 1 937k
Dépend: vim-common (= 2:7.2.245-2ubuntu2), vim-runtime (= 2:7.2.245-2ubuntu2), libacl1 (>= 2.2.11-1), libc6 (>= 2.7), libgpm2 (>= 1.20.4), libncurses5 (>=
5.6+20071006-3), libpython2.6 (>= 2.6), libselinux1 (>= 2.0.85)
Suggère: ctags, vim-doc, vim-scripts
Est en conflit: vim-common (< 1:7.1-175+1)
Remplace: vim-common (< 1:7.1-175+1)
Fournit: editor
Fourni par: vim-gnome, vim-gtk, vim-nox
Description : Vi IMproved – enhanced vi editor
Vim is an almost compatible version of the UNIX editor Vi.

Many new features have been added: multi level undo, syntax highlighting, command line history, on-line help, filename completion, block operations, folding, Unicode
support, etc.

This package contains a version of vim compiled with a rather standard set of features. This package does not provide a GUI version of Vim. See the other vim-*
packages if you need more (or less).
Site : http://www.vim.org/

2 – via dpkg-query

dpkg-query -s vim

Dans ce cas, c\’est la ligne \ »Installed size\ » qui va nous importer (la valeur affichée est en kilo-octet) :

Package: vim
Status: install ok installed
Priority: optional
Section: editors
Installed-Size: 1892
Maintainer: Ubuntu Developers
Architecture: amd64
Version: 2:7.2.245-2ubuntu2
Replaces: vim-common (<< 1:7.1-175+1) Provides: editor Depends: vim-common (= 2:7.2.245-2ubuntu2), vim-runtime (= 2:7.2.245-2ubuntu2), libacl1 (>= 2.2.11-1), libc6 (>= 2.7), libgpm2 (>= 1.20.4), libncurses5 (>= 5.6+20071006-3), libpython2.6 (>= 2.6), libselinux1 (>= 2.0.85)
Suggests: ctags, vim-doc, vim-scripts
Conflicts: vim-common (<< 1:7.1-175+1)
Description: Vi IMproved – enhanced vi editor
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a version of vim compiled with a rather
standard set of features. This package does not provide a GUI
version of Vim. See the other vim-* packages if you need more
(or less).
Homepage: http://www.vim.org/
Original-Maintainer: Debian VIM Maintainers

L\’avantage selon moi de dpkg-query est le grand nombre d\’options permettant notamment de spécialiser l\’affichage en le limitant à l\’information que l\’on cherche. Ainsi pour n\’afficher que le nom du paquet et la place qu\’il prend sur le disque :

dpkg-query --show --showformat=\'${Package}\\t${Installed-Size}\\n\' vim

On aura alors en sortie :

vim 1892

Cependant, comme on peut le voir sur cet exemple les informations donnée par chacune des commandes ne sont pas toujours les mêmes (par exemple 1937ko pour aptitude contre 1892ko pour dpkg-query). Cette différence ne se constate que sur certains paquets et je dois dire que je n\’ai pas encore trouvé quelle en est la raison…
Pour plus d\’informations sur ces commandes : manuel d\’aptitude et manuel de dpkg-query.

Decibel Audio Player

Suite à un post de Jerôme M. (Phollow me), j\’ai découvert un player audio open source pour GNU/Linux : Decibel Audio Player.

\"Decibel

Celui-ci a plusieurs avantages à mon sens :

  • Il est très léger! Le player pèse seulement 1,6Mo une fois installé contre 3,8Mo pour vlc et 14,9Mo pour Rhythmbox. Qui plus est, d\’après le benchmark présenté sur le site du projet (ça vaut ce que ça vaut…) son temps de chargement est très court et sa consommation mémoire est particulièrement faible. A l\’usage en tous cas, ces résultats ne me semblent pas aberrants. Enfin, il est léger dans son utilisation. Pas de superfu, juste l\’essentiel pour écouter ses fichiers musicaux.
  • On peut facilement \ »switcher\ » entre un système de bibliothèque et l\’arborescence réelle des fichiers audios. C\’est un gros avantage pour tous ceux qui, comme moi, n\’ont pas taggé leurs fichiers audios mais qui en revanche les ont classé par dossier.
  • Il dispose de quelques options bien pratiques comme l\’ajout d\’une icône dans la barre des tâches depuis laquelle les principaux raccourcis sont disponibles (lecture, pause, piste suivante, …), l\’affichage d\’un message lors d\’un changement de piste utilisant dans mon cas le système de notification d\’Ubuntu ou encore la normalisation du volume. Tout fonctionne en activant/désactivant ces options comme avec un système de greffons.

Bref, je l\’ai trouvé très concluant et l\’ai adopté. La version 1.03 est disponible dans les paquets universe d\’Ubuntu.

sudo apt-get install decibel-audio-player

Cependant une version plus recente estampillée 1.04 peut être installée en téléchargeant le .deb proposé sur le site du projet ou en récupérant et compilant les sources.

Opérations sur les images dans Nautilus

Pour ceux qui utilisent Nautilus comme gestionnaire de fichiers (sous Ubuntu par exemple…), il existe un paquet qui ajoute dans le menu contextuel qui apparait lors d\’un clic droit sur une image, des options de redimensionnement et de rotation d\’images. Ce qui permet ainsi d\’effectuer ces opérations de base sur une image sans avoir à ouvrir GIMP ou autre. Pour cela, un petit

sudo apt-get install nautilus-image-converter
killall nautilus
nautilus

Et le tour est joué. Dorénavant, un clic droit sur une image propose deux nouvelles entrées :

\"Menu

Le redimensionnement comme la rotation fonctionnent de la même manière. Une fenêtre vous propose deux options. La première concerne respectivement les dimensions de l\’image et l\’angle de rotation que l\’on souhaite appliquer. La seconde option offre la possibilité d\’enregistrer l\’image modifiée dans un nouveau fichier ou d\’écraser celui d\’origine. Quelques précisions tout de même concernant l\’option de redimensionnement : quel que soit le système de calcul de dimension que vous choisirez (taille prédéfinie, échelle ou taille personnalisée) les proportions de l\’image d\’origine seront toujours respectées! Ainsi, une image de taille 800x600px redimensionnée en choisissant la taille prédéfinie 128x128px aura au final comme dimension 128x96px. De plus, en utilisant l\’option de redimensionnement personnalisé, il faudra veiller à modifier les deux valeurs dans le cas d\’un agrandissement… En effet, pour une image de taille 800x600px, si vous spécifiez une hauteur de 500px pour réduire l\’image d\’origine, la largeur par defaut de 1000px ne sera pas prise en compte et vous aurez une image en sortie de 667x500px. En revanche, si vous spécifiez une hauteur de 900px, l\’image en sortie sera de 1000x750px. Il s\’agit sans doute d\’un bug donc dans le doute, le mieux sera toujours d\’enregistrer l\’image modifiée dans un nouveau fichier pour préserver le fichier d\’origine. Malgré tout, c\’est une fonctionnalité de nautilus très pratique et qui fait gagner un temps précieux!

Quitter Google, Free et les autres : 1ère étape, le serveur perso

Je me suis mis en tête depuis quelque temps de me défaire petit à petit des services proposés par des sociétés en qui je n\’ai plus aucune confiance. Parmi elles : Free et Google.

Free pour deux raisons : premièrement à cause des problèmes de connexion que j\’ai eu avec eux et qui m\’ont conduit à les mettre au tribunal (procès que j\’ai gagné mais j\’y reviendrai plus tard) et deuxièmement à cause de la qualité de l\’hébergement gratuit proposé, pas assez satisfaisant selon moi ou plutôt selon mes besoins.

Et Google pour une foule de choses qui font que comme Facebook, ils occultent le \ »personnelles\ » dans le terme \ »données personnelles\ »  (scan des mails, analyse des recherches effectuées, etc…etc…). Voir ce billet.

N\’ayant pas particulièrement envie d\’acheter un hébergement chez un prestataire, j\’ai choisi de me monter un serveur de façon à tout contrôler moi-même. Cette machine devait remplacer un vieux PC pas discret pour un sous et mal configuré que j\’avais installé quelques mois auparavant. Les critères de ce serveur devaient être les suivants : peu bruyant (fanless si possible), consommation d\’énergie minimum, peu encombrant, à un prix raisonnable (300€ de budget) et avec un système de sauvegarde fiable.

Je me suis donc tourné vers cette configuration après m\’être pas mal documenté et avoir demandé l\’avis d\’utilisateurs du forum d\’Hardware.fr.

\"ConfigurationUne petite explication d\’impose :

  • 2 x 1Go de DDRII : On est dans du classique. 2Go m\’ont paru nécessaire afin de faire face à d\’éventuelles surcharge si jamais ce blog était amené à être lu…
  • Intel D510MO : Il s\’agit là d\’une carte mère mini-ATX intégrant un processeur Atom double coeurs (cadencé à 1.66 Ghz). J\’ai fait ce choix d\’une part parce que la consommation d\’énergie de ce type de \ »carte mère + processeur\ » est extrêmement faible (13W1 contre environ 65W2 pour un Pentium 4 à 2,4 Ghz) et d\’autre part parce que le rapport qualité/puissance/prix m\’a semblé plus que raisonnable. A noter de plus que le tout est en refroidissement passif!
  • Lian Li PC-Q07B : C\’est solide, c\’est joli, c\’est petit, c\’est du Lian Li! Détail supplémentaire, c\’est un des seuls boitiers pour mini-ATX permettant d\’embarquer une alimentation en format ATX et possédant une baie 3,5\’ et 5,25\’  (soit de quoi mettre deux disques durs 3,5\’). Qui plus est, cette tour est conçue pour ne nécessiter aucun ventilateur pour gérer les flux d\’air.
  • Alimentation Be Quiet 350W : Cette alimentation est certifiée 80+, ce qui signifie que son rendement est excellent. C\’est finalement le seul élément de la tour possédant un ventilateur. Les alimentations à refroidissement passif sont encore un peu chères et en toute honnêteté, le ventilateur est des plus silencieux!
  • Adaptateur 3,5\’ vers 5,25\’ : De façon à mettre deux disques durs dont un dans l\’emplacement 5,25\’.
  • 2 disques dur SATA de 320Go : Ici pas de choix particulier… juste la capacité dont j\’ai besoin. J\’ai pris deux disques de façon à faire du RAID 1 (copie conforme des deux disques) pour sauvegarder mon système et mes données.

Pas de carte graphique (chipset intégré sur la carte mère), pas de lecteur CD. Seulement le strict minimum pour répondre à toutes les contraintes que je m\’étais fixé. J\’ai commandé le tout sur Materiel.net. Reçu deux jours après. Monté dans la foulée. Une petite Ubuntu Server 9.10 et quelques installations et configurations plus tard tout fonctionne parfaitement. La machine tourne comme une horloge sans aucun ralentissement ou plantage :

caradhras@server:~$ uptime
 10:01:19 up 52 days, 17:00,  1 user,  load average: 0.00, 0.01, 0.00

et le RAID 1 logiciel m\’assure un bon système de sauvegarde (même si pas complètement infaillible) :

caradhras@server:~$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Mar 16 22:51:20 2010
     Raid Level : raid1
     Array Size : 97659008 (93.13 GiB 100.00 GB)
  Used Dev Size : 97659008 (93.13 GiB 100.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Wed May 19 10:44:27 2010
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : cdc56660:bf3c75b4:7a610bf1:d22aab7f
         Events : 0.443207

    Number   Major   Minor   RaidDevice State
       0       8        6        0      active sync   /dev/sda6
       1       8       21        1      active sync   /dev/sdb5

Pour plus d\’infos concernant les bases de l\’installation (apache, php, mysql en particulier), je vous recommance le blog de Vanaryon qui a fait une suite d\’articles sur le sujet. Et pour le RAID 1 logiciel à configurer lors de l\’installation du système tout est détaillé dans la documentation officielle d\’Ubuntu.

1 : http://www.tomshardware.com/reviews/atom-d510-d510mo,2507-3.html
2 : http://www.intel.com/support/processors/pentium4/sb/cs-007999.htm#Specifications

Ubuntu: changer la source des paquets

Lors de la sortie il y a quelques jours de la version 10.04 alias Lucid Lynx d\’Ubuntu, j\’ai tenté à plusieurs reprise la migration depuis ma 9.10. Le problème qui s\’est posé et qui se pose finalement à chaque nouvelle version était que les serveurs utilisés par défaut étaient surchargés. Chacune de mes tentatives de mise à jour s\’est alors soldée par un échec cuisant jusqu\’à ce que je m\’aperçoive que chez Canonical (Debian?), on pense à tout!
En effet, si vous allez dans Système > Administration > Sources de logiciels vous verrez dans le premier onglet la ligne \ »Télécharger depuis: \ » avec comme sélection par defaut \ »Serveur National (France)\ ». Sélectionnez à la place \ »Autre…\ » puis dans la fenêtre qui s\’affiche, cliquez sur \ »Sélectionner le meilleur serveur\ ». Une série de tests de connexion est alors lancée sur quelques 350 serveurs afin de déterminer celui qui est le mieux adapté.

\"Changer

Dans mon cas, il m\’a choisi un serveur qui appartient visiblement à Orange :

http://ftp.oleane.net/ubuntu

La mise à jour s\’est ensuite faite sans aucun problème et à une vitesse folle (3Mo/s pour la partie téléchargement des paquets).