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.
Agrégateur de flux RSS : rssLounge
L’un des intérêts à avoir son serveur personnel (ou même un hébergement chez un prestataire) c’est qu’on a alors un choix important d’applications web open source pour tout type d’utilisation et qu’on peut ainsi se détacher des solutions propriétaires grand public avec lesquelles le contrôle de ses données personnelles est complexe pour ne pas dire impossible. Pour qui a quelques notions de base sur l’administration d’un serveur et sait suivre un tutoriel ou lire un README, il devient très facile de propulser un CMS, un blog ou encore un webmail.
Afin de poursuivre mon but de fuir Google, j’ai souhaité remplacer l’agrégateur de flux RSS Google Reader que j’utilisais par une solution open source hébergée sur mon serveur. Malheureusement, ce genre d’application ne court pas les rues. Mon premier choix s’est porté sur Gregarius qui semble être l’agrégateur web open source le plus populaire. Problème : le projet n’est plus maintenu. Bref, en cherchant un peu, je suis tombé sur rssLounge. Il s’agit d’un agrégateur de flux dont le style est bien travaillé et qui utilise PHP/MySQL (et de l’AJAX pour la navigation). Le traitement des flux est basé sur la bibliothèque Simple Pie, une des plus abouties.
Actuellement dans sa version 1.3, rssLounge propose presque tout ce qu’on attend d’un agrégateur :
- classement des flux par catégorie
- champ de recherche
- paramètres d’affichage « non-lu / tous / publié à telle date »
- affichage spécifique pour les flux ne contenant que des images
- marquage de flux en favoris
- import/export en OPML (compatible Google Reader)
- mise à jour des flux par AJAX ou crontab
Les deux seules fonctionnalités qu’il lui font vraiment défaut selon moi sont la lecture des médias (vidéo ou audio) et l’interprétation des balises spéciales permettant d’afficher du code par exemple mais ceci semble plus lié à une limitation de Simple Pie. Hormis ces deux choses qui imposent parfois d’ouvrir l’article dans son site original, cette application est très efficace. Quelques détails supplémentaires : rssLounge peut (doit?) être protégé par un identifiant et un mot de passe mais ne gère pas le multi-compte. Ah! Et j’oubliais, il est compatible avec les navigateurs basés sur Webkit et Gecko (Firefox, Safari, Opéra, Chrome, …) donc pas IE !!
Vous pouvez le tester sur la page de démo mise en place par l’auteur de rssLounge.
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.
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.
Le Planetoscope : présentation originale de statistiques
Aujourd’hui, j’aimerai vous faire partager un site très intéressant tant par son contenu que par la manière utilisée pour le présenter. Il s’agit du Planetoscope. Ce site français présente un grand nombre de statistiques (mondiales ou nationales) de façon très originale en mettant l’accent sur le temps qui passe. Ainsi, pour chaque donnée ayant fait l’objet d’une étude, en plus d’un article souvent succinct, deux compteurs sont affichés. Le premier met à jour en « temps réel » la donnée statistique depuis le 1er Janvier. Le second propose la même donnée mais cette fois calculée depuis que vous vous êtes connecté au site. Les sujets sont très variés et vont de la consommation de sandwichs en France aux nombres de morts dus à l’héroïne en Russie en passant par les litres d’eaux perdus par la calotte de glace de l’Antarctique.
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 :
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.
Une 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
Tout ce que vous avez toujours voulu savoir sur vous… [By Google]
Pour ceux d’entre vous qui ont un compte Google (peu importe qu’il s’agisse d’un compte Gmail), voici le lien vers une application de Google peu connue et pourtant particulièrement intéressante : Dashboard.
Celle-ci recense toutes les données rattachées à votre compte (ou presque…). Que ce soit l’historique de vos recherches (web, image, maps, etc…) sur le moteur ou l’intégralité de vos sessions t’chat sur Gmail ou encore la dernière vidéo que vous avez visionné sur Youtube, tout est journalisé ici. Le plus impressionnant, je trouve, est l’historique des recherches qui m’a permis de remonter jusqu’au 2 Novembre 2006! C’est carrément flippant…
ZenCoding et NetBeans IDE
J’entends parler de ZenCoding depuis déjà un moment mais je n’ai jamais pris le temps de regarder concrètement de quoi il s’agissait. C’est maintenant chose faite et j’ai voulu tester ça avec NetBeans!
Mais d’abord, qu’est-ce que ZenCoding? ZenCoding est un plugin qui a été porté sur la majorité des éditeurs de texte gérant le HTML. Il permet d’en accélérer l’écriture grâce à une syntaxe précise. Un portage non officiel a été fait pour NetBeans et c’est cette version que j’ai voulu essayer.
Tout d’abord, l’installation sur NetBeans IDE. Les différentes versions du plugin pour chacun des éditeurs supportés se trouvent à cette adresse : ZenCoding.
Une fois le dossier compressé téléchargé, il suffit d’ouvrir NetBeans IDE et d’aller dans Outils > General > Import et donc d’importer le .zip du plugin. Du plugin? Pas vraiment puisque ZenCoding n’est pas complètement porté sous NetBeans. Quand on regarde le contenu du dossier compressé, on s’aperçoit qu’il ne contient en réalité que des templates de code. Cela implique deux choses : Premièrement il faudra suivre chaque abréviation écrite d’une tabulation pour la « tranformer »; deuxièmement, une syntaxe comme
ul#my_id>li*5
qui génèrent normalement une liste non ordonnées dont l’id est my_id et contenant 5 éléments ne sera pas interprêtée. En revanche, on peut quand même gagner du temps pour parvenir à un résultat presque similaire en utilisant
ul=
(suivi d’une tabulation). Puis, pour chaque item que l’on souhaite ajouter
li
(suivi aussi d’une tabulation). Une chose également intéressante est que les templates de Zen Coding pour NetBeans gèrent la position du curseur. Ainsi, une abréviation comme
a:link
qui génère
<a href="http://">text</a>
va automatiquement positionner le curseur sur « http:// » puis grâce à une tabulation va se déplacer sur « text ». Ainsi, en plus d’écrire une bonne partie du code à notre place, Zen Coding permet également d’éditer rapidement les différents champs.
Quelques abréviations intéressantes :
link:css
a:link
ul=
form:get
input:button
ou encore les balises « html: » qui peuvent faire gagner un temps précieux dans certains cas.
Enfin, pour avoir la liste complète des abréviations et de leur résultat, rendez-vous sur la Zen Coding Cheat Sheet (en pdf)
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é.
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).
Erreur WordPress
Lors de l’installation de ce blog WordPress sur mon serveur sous Ubuntu Server 9.10, j’ai eu droit dans l’interface d’administration à plusieurs messages de ce genre dans les widgets du tableau de bord :
Fatal error: Allowed memory size of 33554432 bytes exhausted
Pour corriger ça, il suffit d’éditer la ligne suivante du fichier /etc/php5/apache2/php.ini :
memory_limit: 16M
Et la remplacer par :
memory_limit: 64M
Un redémarrage d’apache2 plus tard et c’est réglé!









