Articles

Compter le nombre d'entités de type différentes dans un dessin dxf

Image
Quand on reçoit des données graphiques sous forme d'un simple fichier DXF, il se peut que l'on soit confronter au fait de vérifier le type d'entités différentes se trouvant dans ce fichier. l'utilitaire ogrinfo de la suite d'outil gdal  est bien pratique et il permet de résoudre ce petit problème en une seule ligne de commande sous n'importe quel shell tel que bash avec votre distribution Gnu/Linux favorite. Ceci permet de filtrer tout de suite un fichier d'un lot qui contiendrait des types d'entités que l'on ne veut pas traiter. ogrinfo -geom=SUMMARY -al  085_VOL2008.dxf |grep AcDbEntity|sort |uniq -c        332   SubClasses (String) = AcDbEntity:AcDb3dPolyline     580   SubClasses (String) = AcDbEntity:AcDbBlockReference     405   SubClasses (String) = AcDbEntity:AcDbCircle      64   SubClasses (String) = AcDbEntity:AcDbCircle:AcDbArc      50   SubClasses (String) = ...

Richard M. Stallman en tournée en Suisse Romande "It's Now & It's Free like in Freedom" !

Image
Richard M. Stallman, alias RMS  est un programmeur à l'origine du projet GNU   , auteur d'outils indispensables tels que l’éditeur de texte  GNU Emacs , le  compilateur C de GNU , le  débogueur GNU  mais aussi, en collaboration avec  Roland McGrath , le  moteur de production   GNU Make .   Il s'agit d'un vrai  "Personnage" figure emblématique, charismatique et incontournable du Monde du Libre Il a déclaré à plusieurs reprises « Je puis expliquer la base philosophique du logiciel libre en trois mots :  liberté, égalité, fraternité .  Liberté , parce que les utilisateurs sont libres. Égalité , parce qu'ils disposent tous des mêmes libertés.  Fraternité , parce que nous encourageons chacun à coopérer dans la communauté ». Il est actuellement en tournée de conférence dans la région suisse romande, le 8 et le 10 novembre à Lausanne, le 9 et le 11 à Genève. Ne ratez pas cette occasion unique de le rencont...

Ubuntu 10.10 est disponible !

Image
La 13ème version de la distribution Linux Ubuntu "The Maverick Meerkat" est disponible ! Plus d'informations en français sur le site du zéro Vous pouvez vous rendre aussi directement sur le site principal Ubuntu pour aller rechercher votre copie   Entre autres caractéristiques on a le passage au noyau Linux  2.6.35, et la nouvelle version de  Gnome 2.32. 

SuperTux is alive : Numéro 2 dans le top500 avec du Linux du Nvidia TESLA

Image
Dans un précédent post en mars dernier j'évoquais le fait qu'il y avait de forte chance que les futurs supercalculateurs dans le Top500 utilisent la puissance de calcul des processeurs graphiques actuels pour atteindre à un moindre coût d'acquisition et de consommation les sommets du top500...    Et bien ça y est c'est chose faite la Chine a rejoint  le classement de juin 2010 des supercalculateurs les plus puissants  de la planète, (le fameux Top500  ) avec trois supercalculateurs ! Et attention pas n'importe ou, elle place directement ces nouveaux   clusters dans le top20 (19ème,7ème et 2ème place) dont une deuxième place d'entrée de jeu. C'est très impressionnant, et surtout ce n'est probablement qu'un début, je suis près à parier qu'avant la fin de l'année la Chine risque de se placer encore plus haut.  En attendant la deuxième place est occupée par un supercalculateur du  National Supercomputing Centre in Shenzhen (NSCS) ...

Choisir parmi plusieurs versions de java sous Ubuntu

Image
Sous Linux Gentoo il existe une commande java-config qui permet de configurer la version de java runtime que l'on désire utiliser par défaut. Avec Ubuntu il faut utiliser la commande update-alternatives Pour différente raison j'ai besoin d'utiliser la dernière version de java provenant de chez SUN et les paquets se trouvant dans aptitude ne correspondent  pas forcément à la toute dernière version. Ainsi après avoir installé le jdk de Sun dans /opt et fait un lien symbolique sur la version courante avec (ln -s jdk1.6.0_19 jdk) je vais dire que c'est cette version que je veux utiliser avec ces deux commandes : sudo update-alternatives --install /usr/bin/java java /opt/jdk/jre/bin/java 1 sudo update-alternatives --config java lors de cette dernière commande je me verais présenter une liste des java disponibles sur le système et je n'aurais qu'à choisir parmi une d'entre elles avec le numéro se trouvant à gauche. Plus d'informations sont disponibles ...

Comment renommer 350 fichiers d'un coup d'un seul sous Linux-bash

Je me suis retrouvé dans la situation ou dans un répertoire j'avais 350 fichiers du style dtmgrid122413_1m.asc.gz qu'il fallai que je renomme en MNT_1224-13_1m.asc.gz grâce aux pipe et à sed c'est possible en une seule commande: for i in dtm*; do (mv $i `echo $i|sed 's/dtmgrid\([1-9]\{4\}\)/MNT_\1-/'`); done on retrouve une boucle for qui parcoure chaque fichier dans le répertoire courant et le stocke dans la variable i. Puis pour chaque fichier trouver on va faire un mv pour renommer l'ancien nom de fichier se trouvant en $i en quelquechose qui se trouve etre le résultat de l'expression: `echo $i|sed 's/dtmgrid\([1-9]\{4\}\)/MNT_\1-/'` notez bien que l'expression est entre backquotes c'est grâce à cela que l'on reçoit la valeur finale de l'éxécution de cette suite de commande et non pas une simple chaine de caractères équivalent à notre commande... en gros c'est grâce à une substitution sed " s/avant/apres/ " qui ...

SuperTux is back : 4.6 TeraFlops avec ATI Radeon™ HD 5970 & OpenCL let's go ride

Image
Et si en 2010 vous vous offriez  votre supercalculateur Linux personnalisé  : Viva  SuperTux ! Si on se rend sur la  fiche technique de la nouvelle ATI Radeon HD 5970   on découvre que cette nouvelle carte graphique possède une puissance de calcul assez impressionnante de 4.6  TeraFLOPS  par GPU : Processing power (single precision): 4.64 TeraFLOPS Processing power (double precision): 928 GigaFLOPS Polygon throughput: 1.45 billion polygons/sec Si on décide d'utiliser toute cette puissance pour  qqchose de plus constructif que des FPS et autre jeux stériles et bien on arrive vite à la conclusion que l'on peut avoir un supercalculateur pour pas cher. Nvidia avait déjà lancé CUDA mais personnellement, je pense comme dans l'article de Douglas Eadline, Ph.D.   ( GP-GPUs: OpenCL Is Ready For The Heavy Lifting sur Linux Magazine ) que   OpenCL a pas mal de chances d'avoir plus de succès...

Download du snapshoot de chromium

Image
Si vous êtes comme moi, vous aimez avoir   chromium sur votre distribution Linux favorite. Pers Personnellement rien que pour la syncro automatique des favoris et pour pouvoir tester webgl, j'avoue que je ne pourrais plus me passer de chromium. Pour avoir toujours la dernière version j'ai écrit ce petit script perl getchromium.pl Maintenant en lançant getchromium.pl sur ma Ubuntu j'obtiens la dernière archive pour Linux x86_64 qui va se décompresser dans le répertoire du nom de cette release et créer un lien symbolique sur ce répertoire. Comme j'ai créé sur mon bureau Gnome un lanceur qui pointe sur ~/tools/chromium/chrome-linux/chrome --enable-webgl je peux donc toujours lancer la dernière snapshoot de chromium x86_64 disponible sur le buildbot chromium.

Clonage d'une machine virtuelle OpenVZ

Image
Je suis un heureux administrateur système Linux qui utilise Proxmox comme plateforme de virtualisation J'utilise passablement les "conteneurs" OpenVZ. Et je venais de me finaliser un clônage comme indiqué sur le wiki , Comme j'étais sur un cluster proxmox, j'ai pris soin de créer au préalable mon nouveau conteneur depuis l'interface de management web du noeud "master" (j'utilise les mêmes valeurs de config que pour l'original), puis j'effectue une migration sur le noeud de destination. Ensuite j'ai effectué un ssh sur le noeud destination et j'ai effectué # vzctl stop 101 # vzctl stop 112 # rsync -avz /var/lib/vz/private/101/ /var/lib/vz/private/112/ # diff /etc/vz/conf/101.conf /etc/vz/conf/112.conf # théoriquement il ne devrait pas y avoir de différence si ce n'est l'adr IP qui doit être différente donc on démarre les deux noeuds # vzctl start 101 # vzctl start 112 Par rapport à la démarche proposée sur le wik...

Utiliser curl pour récupérer des logs sur un serveur Microsoft IIS avec l'authentification ntlm

Image
Quand il s'agit de récupérer des fichiers depuis un serveur Web Microsoft IIS, (sisi ça arrive dans la vie d'un sysadmin linux) il ne faut pas hésiter à utiliser curl (en lieu et place de wget) En effet curl (via libcurl) supporte toute les variantes d'authentification dont certaines spécifiques à Microsoft comme le fameux ntlm. Pour vérifier si vous avez déjà curl vous pouvez exécuter un simple dpkg -l |grep curl Ce qui dans mon cas donne sur une Ubuntu 9.1 : ii curl 7.19.5-1ubuntu2 Get a file from an HTTP, HTTPS or FTP server ii libcurl3 7.19.5-1ubuntu2 Multi-protocol file transfer library (OpenSS ii libcurl3-gnutls 7.19.5-1ubuntu2 Multi-protocol file transfer library (GnuTLS ii libcurl4-gnutls-dev 7.19.5-1ubuntu2 Development files and documentation for libc ii php5-curl 5.2.10.dfsg.1-2ubuntu6.3 CURL module for php5 Vous pouvez le cas échéant installer ces paquets avec un gestionnaire de paq...

Lire un site web en mode offline grâce à wget

Image
Il existe plusieurs "aspirateurs" de site web, il y a même une extension comme scrapbook pour firefox qui permettent de lire des infos ou une documentation en ligne sur votre netbook même sans connexion réseau mais je dois dire que en ce qui me concerne l'efficacité d'un outil tel que GNU Wget reste le top du must absolu ainsi avec un simple : wget -N -r --no-parent --convert-links http://www.example.com/projects/doc/ c'est tout le contenu du répertoire doc sur le site www.example.com que vous allez pouvoir consulter offline. La documentation de wget est disponible en ligne l'option -r signifie que la récursion est active, l'option  --no-parent  évite d'aspirer les répertoires parents et --convert-links permet de créer une copie contenant des hyperliens pointant correctement Essayez ! Vous verrez que vous ne pourrez plus vous en passer !

Pavé numérique innopérant ou bloqué sous Linux Ubuntu (Avec Gnome)

Si d'aventure d'un coup d'un seul un bô jour vous avez un pavé numérique qui ne semble plus fonctionner... Et ce malgré que que vous appuyez frénétiquement sur NumLock ou non, ça changer rien... Bon et ben je vous épargne de chercher vainement Support de votre clavier S520 Logitech (rien à voir il fonctionne bien au boot) Support des touches multimedia (la touce calculatrice n'y est pour rien) L'évt influence de la conjonction de Mars et Saturne... Non, non que no y que no "señor", il se trouve que vous utilisez Gnome (ou Ubuntu standard peut-être si vous préférez) et vous avez malencontreusement utilisez la combinaison de touche [Shift]+[Num Lock] qui a pour effet sous Gnome de désactiver totalement le pavé numérique Donc il suffit de refaire cette combinaison de touche et tout rentrera dans l'ordre... J'ai perdu une énergie à cause de ce truc... Me demande bien ce qui pouvais se passer dans l'esprit du gars qui a voulu mettre cett...

Changer le prompt en ligne de commande sous Bash

Quand on est tout le temps en train de travailler dans la console, il peut arriver que l'on désire changer le prompt du shell. Ce prompt peut ressembler à qqch du style : cfred@tuxhost:/var/log$ seulement parfois on arrive dans des profondeurs de répertoire qui rendent juste intenable l'affichage du path courant dans le prompt. Dans ce cas il suffit de changer la définition du prompt qui se trouve dans la variable PS1 cfred@tuxhost:/var/log$ SAVE=$PS1 cfred@tuxhost:/var/log$ PS1="\u:\W $ " cfred:log $ echo "Pour restaurer la valeur d'origine il suffira alors de faire" cfred:log $ PS1=$SAVE Il y a plusieurs caractères d'échappement qui peuvent être utilisé comme par exemple : \d pour la date \h le nom du host jusqu'au premier point (sans le suffixe dns) \H le nom du host complet \t l'heure au format 24h HH:MM:SS \T l'heure au format 12h HH:MM:SS \u le nom d'utilisateur courant \w le chemin compl...

postgresql et les encodages

Sur une distribution récente avec la base de données Postgresql je n'arrivais pas à créer une nouvelle BD avec un encodage LATIN1. Après quelques recherches le problème provient du fait qu'a l'installation du paquet le cluster est créé avec un encodage UTF8, pour vérifier regarder la valeur de : /usr/lib/postgresql/8.3/bin/pg_controldata /var/lib/postgresql/8.3/main/ Dans mon cas j'avais : LC_COLLATE:fr_CH.UTF-8 LC_CTYPE: fr_CH.UTF-8 Or le problème avec cette config c'est que du coup quand on veut créer une nouvelle base de données avec un encodage différent rien ne va plus. su postgres -c 'createdb -E LATIN1 -O cgdb goeland' On se voit recevoir un message fort peu sympathique en forme de fin de non-recevoir : createdb: database creation failed: ERREUR: l'encodage LATIN1 ne correspond pas à la locale fr_CH.UTF-8 du serveur DETAIL: Le paramètre LC_CTYPE du serveur nécessite l'encodage UTF8. L'explication se trouve dans la documenta...

Utiliser rsync pour syncroniser de gros volumes de données

Image
On se retrouve parfois dans la situation ou on a un serveur principal qui contient un certain volume de données qui doivent être copiée à intervalle régulier sur des serveurs "miroirs". Dans ces cas de figures il peut être intéressant de configurer d'apprendre à utiliser la commande rsync (voire même de configurer un serveur rsync). Cet utilitaire du projet samba maintenu par Wayne Davison est excellent pour les transferts de fichier en mode incrémental. Il y a une excellente documentation et de nombreux exemples sur le site du projet http://www.samba.org/rsync/ . S'il n'est pas déjà présent sur votre box, il peut être installé relativement facilement sur votre distribution Linux avec les outils de paquetages adapté ( yum install rsync rpm sous fedora & co, et apt-get install rsync pour debian, ubuntu et dérivés) Dans mon cas je l'utilise dans des scripts executé par des crontab toutes les nuits pour synchroniser quotidiennement plus de 80 GB de géodo...

Avoir une belle distro SliTaz sur sa clé USB

Avec l'utilitaire UNetbootin on peut intaller en quelques click de souris une chouette Distribution Linux comme par exemple la fameuse distro SliTaz (30 mb de concentré de bonheur) sur sa clé USB favorite

Comment comparer (et connaitre) les paquets debian installés sur 2 serveurs

Je me suis retrouvé dans la situation ou je voulais connaitre la liste des paquets installés sur une Debian 5.0 Lenny et comparer cette liste avec ce qui était sur un autre serveur. Tout d'abord pour obtenir une liste exhaustive des paquets présent sur un serveur Debian j'utilise l'excellent dpkg . dpkg -l va donner une liste des paquets installés par ordre alphabétique avec version et description et status, qqch du style: gocarto01:~# dpkg -l Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-=================================-=================================-================================================================================== ii adduser 3.110 add and remove users and gr...

Augmenter la taille d'un volume logique LVM2 online

J'ai installé proxmox sur un de mes serveurs contenant 2 disques physiques en miroir RAID1 (raid hard avec un controlleur PERC) vu comme /dev/sda d'une taille de 73GB par Linux. Proxmox installé avec un partitionnment par défaut j'avais au final le partitionnment suivant sur le disque : calc0:/var/lib/vz# fdisk /dev/sda -l Disk /dev/sda: 73.5 GB, 73555509248 bytes 255 heads, 63 sectors/track, 8942 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 66 524288 83 Linux /dev/sda2 66 8942 71302295 8e Linux LVM et au niveau du LVM j'avais les infos suivantes au niveau physique, de "volume group" et logique: calc0nokvm:/var/lib/vz# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name pve PV Size 68.00 GB / not usable 0 Allocatable yes (but full) PE Size (KBy...

Utilisation de Proxmox derrière un Proxy

J'utilise depuis peu la distribution Proxmox comme environnent de virtualisation. Seulement il se trouve que dans le réseau ou j'utilise cette distribution je dois utiliser un proxy pour sortir sur le Net. Voici les modifications qu'il faut effectuer dans l'installation de base pour que tout cela fonctionne correctement. Pour que "apt-get update" et "apt-get upgrade" fonctionne on modifie (ou le cas échéant création) du fichier /etc/apt/apt.conf contenant au moins la ligne : Acquire::http::Proxy "http://10.1.253.63:3128"; Pour que wget fonctionne on modifie le fichier /etc/wgetrc aux environs de la ligne 79 on enlève le commentaire en supprimant le # et on corrige l'adresse du proxy comme suit : http_proxy = http://10.1.253.63:3128/ Pour que la commande "pveam update" fonctionne on modifie le fichier : /usr/share/perl5/PVE/APLInfo.pm après la ligne 84 dans la méthode update on ajoute : # this code works for ftp and htt...

Sur la coloration syntaxique dans Vim sur Debian

Je travaille en ce moment sur la configuration d'un serveur ProxMox. Cette distribution permet de mettre en oeuvre un serveur de virtualisation assez rapidement en s'appuyant sur une debian 64 bit et sur les outils kvm que j'utilise déjà depuis un bon bout de temps sur Gentoo et OpenVz (une solution de virtualisation "container" pour Linux que je découvre), il faudra d'ailleurs que je fasse un post rien que sur ça. En attendant je vous livre l'url publique de mon blocnotes sur la virtualisation Bref toujours est-il que dans mon envirronement réseau je suis dérrière un Proxy et qu'il a fallu que je fasse 2-3 modifs pour que tout cela fonctionne. Et comme ProxMox utilise les modules PVE en perl et que j'en avais marre de voir le code Perl dans /usr/share/perl5/PVE/ en Noir et Blanc avec vim je voulais activer la coloration syntaxique en faisant un syntax enable en mode commande dans Vim et je me vois répondre que c'est Nicht Supportieren dans c...