tag:blogger.com,1999:blog-71434013282775222442024-03-13T22:55:56.084+01:00::meta synthax::Sociologie des systèmes libres ...Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.comBlogger73125tag:blogger.com,1999:blog-7143401328277522244.post-68167289411247809362016-11-20T13:56:00.003+01:002016-11-20T14:05:40.999+01:00Créer un clip vidéo (waveform) pour n'importe quel mp3 avec ffmpeg/avconvJ'avais envie de créer pour une collection de fichiers audio une vidéo affichant une courbe audio, afin d'avoir quelque chose de mieux à afficher sur youtube qu'un bête logo.<br />
( le resultat final est visible ici:<a href="https://www.youtube.com/watch?v=oI32z19iu_o"> https://www.youtube.com/watch?v=oI32z19iu_o</a> )<br />
<br />
En utilisant ffmpeg et son filtre "showvaves", on arrive a un résultat assez convaincant.<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">ffmpeg -i mon_fichier.wav -filter_complex "[0:a]showwaves=s=720x576:mode=cline:rate=12:scale=log:colors=Black|LightBlue,format=yuv420p[v]" -map "[v]" -map 0:a -c:v libx264 -c:a aac -b:a 192k ma_video.mp4 </span><br />
<br />
Cette commande va créer a partir d'un fichier wav un video au format mp4, en utilisant les bons codecs que recommande youtube (x264 pour la video, aac pour l'audio)<br />
La vidéo sera en résolution DVD ce qui est largement suffisant a mon avis pour le web, mais vous pouvez remplacer 720x576<br />
par 1920×1080 si vous voulez absolument du full hd.<br />
<br />
Maintenant que l'on a une belle courbe audio, pourquoi ne pas ajouter une image en fond ? <br />
Cette fois ci nous allons utiliser le filtre "blend" avec un fichier mon_logo.jpg, qui devra être à la même résolution que le fichier audio (ici 720x576 donc) L'image sera ici en arrière plan, car <span style="font-family: "courier new" , "courier" , monospace;">mon_logo.jpg</span> est specifié en deuxième paramètre sur la ligne de commande.<br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />ffmpeg -i ma_video.mp4 -i mon_logo.jpg -filter_complex "blend=all_mode=overlay:all_opacity=0.7" ma_video_logo.mp4</span>Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-54310013689125981452016-01-03T16:23:00.000+01:002019-03-01T16:58:31.399+01:00Pinky syndrom ou syndrome du petit doigt sur clavierLa semaine dernière je me suis rendu compte que mon auriculaire de la main gauche était victime du"<a href="http://ergoemacs.org/emacs/emacs_pinky.html">pinky syndrome</a>" : la partie médiane de l’auriculaire étant particulièrement douloureuse alors que le reste de la main en pleine forme. J'ai rapidement relié ceci a un abus de l'utilisation de l'auriculaire sur mon clavier, j'utilise en effet l'auriculaire de la main gauche a la fois pour acceder à la touche 'shift', à la touche 'Control' et a la touche 'esc'<br />
Quand on travaille avec Eclipse, Vim et la console Unix, Dieu sait si ces touches sont souvent utilisées !<br />
<br />
Comme solution à ce problème j'ai configuré deux options pour mon clavier:<br />
* la touche 'Control' de gauche est échangée avec la touche 'Alt' de gauche, ce qui me force à utiliser le pouce, plus musclé, pour entrer 'Control'.<br />
* la touche 'Caps lock' est replacée par une touche 'Control'.<br />
* j'essaye d'utiliser 'Control-C' pour passer an mode commande dans vim, ce qui évite d'aller chercher une touche bien loin de la position départ de la main.<br />
<br />
Les deux premières options se configurent avec<br />
<span style="font-family: "courier new" , "courier" , monospace;">XKBOPTIONS="ctrl:swap_lalt_lctl,caps:ctrl_modifier,terminate:ctrl_alt_bksp"</span><br />
<br />
dans <b><span style="font-family: "courier new" , "courier" , monospace;">/etc/default/keyboard</span></b><br />
<br />
ou avec <span style="font-family: "courier new" , "courier" , monospace;"><b>setxkbmap -model pc105 -layout us -option ctrl:swap_lalt_lctl,caps:ctrl_modifier,terminate:ctrl_alt_bksp</b></span> en ligne de commande.<br />
<br />
Enfin si vous utilisez Gnome 3, il est possible que Gnome écrase ces règlages, il faudra les réintroduire pour Gnome avec:<br />
<b><span style="font-family: "Courier New", Courier, monospace;">dconf write "/org/gnome/desktop/input-sources/xkb-options" "['ctrl:swap_lalt_lctl','caps:ctrl_modifier','terminate:ctrl_alt_bksp']"</span></b><br />
<br />
NB : on obtient aussi le même résultat en insérant dans le fichier<span style="font-family: "courier new" , "courier" , monospace;"> .<b>Xmodmap</b></span>:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">clear control<br />clear mod1<br />keycode 37 = Alt_L Meta_L<br />keycode 64 = Control_L<br />add control = Control_L Control_R<br />add mod1 = Alt_L </span><br />
<br />
La liste complète des options d'agencement se trouve dans <span style="font-family: "courier new" , "courier" , monospace;"><b>/usr/share/X11/xkb/rules/base.xml</b></span>, ces options sont accessibles graphiquement via gnome-tweak-tool.<br />
Le détail du fonctionnement du clavier sous Linux / X11 est expliqué en détail <a href="https://medium.com/@damko/a-simple-humble-but-comprehensive-guide-to-xkb-for-linux-6f1ad5e13450">ici</a>.Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-27981312054912770212015-10-28T19:56:00.002+01:002021-02-16T18:49:26.493+01:00Débit d'un réseau TCP/IP avec iperfA toutes fin de comparaison utiles, j'ai décidé de collecter la vitesse de transfert brute de différents réseaux physiques auquel j'ai accès , via la commande iperf.<br />
<br />
<h4>
Commandes utilisées</h4>
Commande client: iperf -c nasi.local -w 65536 -p 12345 -t 60<br />
Commande server:iperf -s -w 65536 -p 12345<br />
NB: les cartes réseaux utilisées sont indiqués par leur nom de pilote Linux ou FreeBSD<br /><br /><h4>
Réseau Fast Ethernet</h4>
VIA Technologies Rhine I/II/III Ethernet sur le serveur (FreeBSD vr)<br />
e1000e sur le client<br />
<b>77.1</b> Mbits/sec<br />
<h4>
Réseau Gigabit Ethernet</h4><p>
Intel e1000e sur le serveur<br />
e1000e sur le client<br />
<b>726</b> Mbits/sec<br />
</p><h4>
Réseau Powerline, distance 20m / 1 Etage, <br /><span style="font-weight: normal;">Netgear Powerline 200</span></h4><b>6.45</b> Mbits/sec<h4>
Réseau Powerline, distance 20m / 1 Etage, <br /><span style="font-weight: normal;">Devolo dlan 1200+<br /></span></h4><b>58</b> Mbits/sec<br /><br />
<br />
<h4>
Réseau Wifi 11g 54Mb/s, Link Quality=70/70 Signal level=-34 dBm</h4>
Atheros 5212 sur le serveur (FreeBSD ath)<br />
iwlwifi sur le client<br />
<br />
<b>13.2</b> Mbits/sec<br />
<br />
<h4>
Réseau Wifi 11n 150Mb/s, Link Quality=70/70 Signal level=-34 dBm</h4><p>
Point d'accès UPC Connect Box<br />
iwlwifi sur le client<br />
<br />
<b> 22.3 </b>Mbits/sec<br />
</p><p></p><h4>Réseau Wifi 11ac 405Mb/s, Signal 100%<br /></h4>
Point d'accès UPC Connect Box<br />
Intel Corporation Wireless-AC 9260 sur le client<br />
<br /> <b>374 </b>Mbits/sec (yeah !)<br />
<p><br />
<br />
<br />
<br />
<br /></p>Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com1tag:blogger.com,1999:blog-7143401328277522244.post-37226508500899533322015-04-12T16:06:00.003+02:002015-04-12T16:06:54.246+02:00Désactiver la mise en veille à distance sous Gnome3Par défaut mon ordinateur de bureau se met en veille au bout de 30 minutes, une mesure d'économie bien pratique.<br />
Seulement de temps en temps, j'ai besoin d'y acceder par ssh, et après 30 minutes d'activité, il se remet en veille.<br />
Le paramètre de mise en veille est configurée dans le registre <i>dconf</i>, qui peut se lire avec:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout</span><br />
<span style="font-family: "Courier New",Courier,monospace;">1800 # 30 min x 60 sec</span><br />
<br />
Pour désactiver la mise en veille, on met le <i>timeout</i> à 0.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0</span><br />
<br />
La commande <b><span style="font-family: "Courier New",Courier,monospace;">dbus-launch</span></b> est nécessaire en cas de connexion distante.<br />
<br />
<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-27674810617153819332015-03-26T22:24:00.000+01:002015-03-26T22:24:11.402+01:00Comprendre ce que fait le Javascript en 30 secondes et 3 commandesSi vous avez déjà vu un terminal et une ligne de commande sous Linux, vous êtes à moins de 30 secondes de votre premier programme Javascript.<br />
<br />
Top Chrono:<br />
<br />
* ouvrez une autre fenêtre avec votre navigateur, allez sur une page au hasard<br />
(par exemple: la mienne !), tout en gardant ce texte sous les yeux<br />
<br />
* sur cette nouvelle fenêtre appuyez sur F12 sur votre navigateur, pour activer les outils de développement<br />
Vous devriez voire apparaître une fenêtre semblable à ceci en bas:<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirCCgatJrnpWGer4i90N_6XlSbtY-rAbFrrtJULeaTjsSyt1BUH0ZiEGgHnj4BzxQ3YEPbF-PYI2vAOjhv2NuJ_dNx1Zw3N_BCvGQTCRwoDuOHUWf0exQLiSDgTyBFSOjhrlp6mLTs-hdp/s1600/console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirCCgatJrnpWGer4i90N_6XlSbtY-rAbFrrtJULeaTjsSyt1BUH0ZiEGgHnj4BzxQ3YEPbF-PYI2vAOjhv2NuJ_dNx1Zw3N_BCvGQTCRwoDuOHUWf0exQLiSDgTyBFSOjhrlp6mLTs-hdp/s1600/console.png" height="161" width="640" /></a></div>
<br />
* dans les outils de développements, cliquer sur l'onglet indiqué "Console".<br />
Cet onglet contient tout en bas une ligne deux chevrons qu'on appelle un prompt, et dans lequel on peut taper des commandes:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAr7_Qm0aLqVpICHeIpmRg0RhvV1x0sic42FZupIUHhScZLDl4pK93VDdsApdb5k_mUexrq7aLw8AJHktfqmi8K8WlLSk8excpgCSW8nOdhqmhom8w97jdPPmX9H9PMIwOE3SAnko89UsV/s1600/prompt.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAr7_Qm0aLqVpICHeIpmRg0RhvV1x0sic42FZupIUHhScZLDl4pK93VDdsApdb5k_mUexrq7aLw8AJHktfqmi8K8WlLSk8excpgCSW8nOdhqmhom8w97jdPPmX9H9PMIwOE3SAnko89UsV/s1600/prompt.png" height="200" width="144" /></a></div>
<br />
<br />
* cliquer dans la barre au niveau du prompt, et entrez le texte suivant:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">console.log('bonjour la companie');</span><br />
<br />
Voila il s'agit de votre première commande Javascript ! N'oubliez pas les guillemets, le point virgule est optionnel mais fait partie des bonnes habitudes.<br />
<br />
* on peut tenter comme dans un shell unix/linux d'autres commandes:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">new date(); </span><br />
<span style="font-family: "Courier New",Courier,monospace;">2 + 2 ;</span><br />
<br />
* on peut obtenir des informations sur la page web que l'on est en train de lire:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">console.log(document.domain);</span><br />
<span style="font-family: "Courier New",Courier,monospace;">console.log(document.title);</span><br />
<br />
* et encore mieux on peut le modifier !<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">document.title = 'ca me plait pas mal';</span><br />
<span style="font-family: "Courier New",Courier,monospace;">document.bodyInnerHTML = 'a small text' </span><br />
<span style="font-family: "Courier New",Courier,monospace;">document.bodyInnerHTML = '&lt;h1&gt; a bigger title &lt;/h1&gt;'</span><br />
<br />
Voila vous avez découvert ce qu'est le Javascript, un langage pour lire, créer et modifier le contenu d'une page web !<br />
<br />
<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com3tag:blogger.com,1999:blog-7143401328277522244.post-65446132703351072342015-01-01T21:47:00.003+01:002015-01-01T21:51:59.666+01:00Le plus grand succès du logiciel libre ? Internet, tout simplementLe bug n°1 de Ubuntu (Microsoft has a Majority Market share) parait toujours d'actualité si on l'on se dirige vers le rayon PC de n'importe quelle grande surface. Cependant le post de blog que vous lisez à l'heure actuelle, est sans doute affiché dans un navigateur opensource (comme <a href="http://fr.wikipedia.org/wiki/Parts_de_march%C3%A9_des_navigateurs_web">60% du marché</a>). Pour vous connecter à ce serveur vous avez utilisé un serveur DNS, sans doute Bind, le serveur DNS opensource de référence ? Ou si vous êtes chez Free, peut être PowerDNS encore un serveur DNS OpenSource.<br />
Quel serveur distribue ces pages webs ? Apache ou Nginx deux logiciels libres qui possèdent 80 % du marché.<br />
<br />
Quel langage de programmation utilise ce système pour afficher ce blog à partir de la base de données ? Java, Perl, PHP, Python ? Scala, Ruby ? Tous des langages dont l'implémentation de référence est libre.<br />
Et sur quel OS tourne ce langage de programmation ? Qu'il soit chez Google, Yahoo ou un serveur perso sur OVH, Gandi ou Dedibox, vraisemblablement Linux ou FreeBSD, un OS libre.<br />
<br />
La seule partie de l'infrastucture Internet sur laquelle le propriétaire
domine c'est dans le domaine des routeurs des FAI, avec Cisco comme acteur dominant (encore
que Juniper, basé sur FreeBSD, occupe maintenant 30% du marché)<br />
<br />
On pourrait parler encore de protocoles réseaux, de formats d'image, mais l'essentiel est là: de BSD 4.2 qui a mis TCP/IP sur le devant de la scène en 1982 , à Chromium aujourd'hui, Internet a été construit <b>par</b> le logiciel libre.<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com4tag:blogger.com,1999:blog-7143401328277522244.post-26944039269468773862014-03-19T17:31:00.000+01:002014-03-19T17:31:37.981+01:00Le bug numero un d'Ubuntu vu par les statistiques de WikipediaIl y a un an, Mark Shuttleworth d'Ubuntu / Canonical annonçait avec un certain triomphalisme que Microsoft n'avait plus une part de part de marché dominante dans l'informatique personnelle, <a href="https://bugs.launchpad.net/ubuntu/+bug/1/comments/1834">fermant ainsi le bug n°1</a> à l'origine d'Ubuntu. Effectivement le boom d'Android et d'IOS ont rejeté les parts de marché de Windows bien en arrière.<br />
Est ce une victoire pour le consommateur ? Dans un certain sens, oui, car un choix de plateformes permet d'éviter un monopole de l' accès à l'information.<br />
Y a-t-il derrière un succès pour le logiciel libre ? Faiblement, il s'agit toujours globalement de plateformes fermées, le cœur libre de IOS (<a href="http://opensource.apple.com/">Darwin</a>) et celui d'Android (<a href="https://source.android.com/">ASOP</a>) se réduisant à <a href="http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/">une part de plus en plus congrue</a>.<br />
On peut observer cette évolution des parts de marché de façon très intéressante en consultant <a href="http://stats.wikimedia.org/archive/squid_reports/2014-02/SquidReportOperatingSystems.htm">les statistiques de fréquentations de Wikipedia triées par système d'exploitation</a>.<br />
<br />
On se rend alors compte que Windows est en dessous de 50% de la barre des visites, Android tournant à 11% et les distributions Linux autour de 1% (FreeBSD et OpenBSD faisant une performance honorable en apparaissant même dans ces statistiques ... )<br />
N'en doutant pas, une grande part des utilisateurs d'IOS vus dans ces statistiques on peut sans doute un PC quelque part, mais alors ces statistiques indiquent que le PC est beaucoup moins utilisé, et recouvre alors bien moins d'importance.<br />
Il y a quatre ans, Windows caracolait<a href="http://stats.wikimedia.org/archive/squid_reports/2010-03/SquidReportOperatingSystems.htm"> encore en tête avec 87 % des visites ...</a><br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-18550907090243417422013-11-28T10:42:00.000+01:002013-11-28T10:48:18.931+01:00Utiliser l'API gandi pour faire du DNS dynamique (à la DynDNS)Vous avez un nom de domaine enregistré chez gandi.net ? Vous avez besoin d'un nom de domain pour une machine perso sur une ligne ADSL ? Rien de plus simple !<br />
<br />
Créer d'abord une clé d'API sur <a href="https://www.gandi.net/admin/api_key">https://www.gandi.net/admin/api_key</a><br />
<br />
Puis on crée via l'interface web une entrée initiale pour la machine qui nous intéresse (par exemple monpc.mydomain.com) sur <a href="https://www.gandi.net/admin/domain">https://www.gandi.net/admin/domain</a><br />
<br />
On télécharge le script python qui va accèder à cette API:<br />
<span style="font-family: "Courier New",Courier,monospace;">git clone https://github.com/lembregtse/gandi-dyndns.git /usr/local/src/gandi-dyndns</span><br />
<span style="font-family: "Courier New",Courier,monospace;">ln -s /usr/local/src/gandi-dyndns/gandi-dyndns /usr/local/bin/gandi-dyndns</span><br />
<br />
Premier jet en ligne de commande ( vous devez utilisez la clé de production pour que ca marche)<br />
<span style="font-family: "Courier New",Courier,monospace;">gandi-dyndns --api=123rdyy --domain=mydomain.com --record=monpc</span><br />
<br />
On ajoute dans la crontab le script suivant pour actualiser toutes les heures:<br />
<br />
dans un fichier <span style="font-family: "Courier New",Courier,monospace;">/etc/cron.hourly/gandy</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">#!/bin/sh</span><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">/usr/local/bin/gandi-dyndns</span> --api=123rdBy --domain=mydomain.com --record=monpc > /var/log/gandy.log</span><br />
<br />
Enjoy your dyndns !<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-60073963416250439212013-08-29T12:12:00.000+02:002013-08-29T12:12:25.575+02:00Comment vérifier si l'acceleration matérielle est activée pour votre carte graphique<h4>
Accélération 3D:</h4>
<span style="font-family: "Courier New",Courier,monospace;">apt-get mesa-utils</span><br />
<span style="font-family: "Courier New",Courier,monospace;">glxinfo | grep render<br /> </span><br />
<span style="font-family: "Courier New",Courier,monospace;">direct rendering: <span style="color: #38761d;">Yes</span><br />OpenGL renderer string: Gallium 0.4 on <span style="color: #38761d;">AMD RV710</span><br /> GL_EXT_vertex_array_bgra, GL_NV_conditional_render</span>, <br />
<br />
AMD RV710 étant ici le chipset de la carte graphique. <br />
<br />
<h4>
Accélération Video (hardware scaling)</h4>
<span style="font-family: "Courier New",Courier,monospace;">xvinfo | grep Adaptor<br /> Adaptor #0: "<span style="color: #38761d;">Radeon Textured Video</span></span>"<br /><br />
<h4>
Accélération 3D pour OpenGL ES ( pour systèmes embarqués / ARM)</h4>
<span style="font-family: "Courier New",Courier,monospace;">es2_info | grep RENDERER<br />GL_RENDERER: Gallium 0.4 on <span style="color: #38761d;">AMD RV710 </span></span>Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-30397413033542447132013-06-26T10:34:00.000+02:002013-06-26T10:34:09.576+02:00Provisioning d'une VM Debian avec libvirt, kvm, et pressedEn cherchant comme automatiser la création de machines virtuelles, je me suis penché sur <b>libvirt</b>, l'outil de virtualisation générique pour contrôler KVM, Xen, VmVare et quelques autres.<br />
<br />
En combinant l'installeur <b>virt-install</b> avec un fichier preseed qui permet d'automatiser l'installation sur Debian, on peut créer sa propre machine virtuelle sans toucher une seule fois le clavier !<br />
C'est assez impressionnant de voire l'installeur configurer le réseau, partitionner le système, installer le système sans aucune intervention utilisateur.
La commande suivant installera un système Debian minimal avec openssh, et les comptes root/root et user/user <br />
<script src="https://gist.github.com/EmmanuelKasper/5861319.js"></script>
<br />
La Machine Virtuelle ainsi créée est ensuite controlable avec <b>virt-manager</b>, pour peu que votre utilisateur soit membre du groupe livirt.
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgemUnUIQtEO23tCj7u5D5A-eG2DtcZGtbc74snaKA2sx7J4PfKQ8u3EKgkUhzCmNvmV7RXHdKaYLzvhblQ45RpQmHtzvve5GSy-v4SNihIEZLHhtNKFsMjPMjrrQZNtBC2l-AFU_Dn-p-e/s1600/debian7.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgemUnUIQtEO23tCj7u5D5A-eG2DtcZGtbc74snaKA2sx7J4PfKQ8u3EKgkUhzCmNvmV7RXHdKaYLzvhblQ45RpQmHtzvve5GSy-v4SNihIEZLHhtNKFsMjPMjrrQZNtBC2l-AFU_Dn-p-e/s1600/debian7.png" /></a>
<br />
<i>Remarques, questions, suggestions ? Plutot que de laisser un commentaire qui passera ici peut etre ici inaperçu, contactez moi <a href="https://twitter.com/formicapunk">@formicapunk</a> sur Twitter !</i>Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com3tag:blogger.com,1999:blog-7143401328277522244.post-1760639244151148172013-06-06T19:21:00.004+02:002013-06-06T19:21:59.900+02:00Ubuntu + Gnome Classic = Debian boot screen !Après une upgrade party at $JOB de Ubuntu 10.04 vers 12.04, et après avoir installé Gnome Classic, sur deux d'entre elles un phénomène intéressant se produit: l'écran de boot (GRUB) affiche le theme de Debian 6 !<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/Bp40NLAoE-A?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
Un cas de packaging qui a peut être mal tourné, et qui rappelle bien la synergie Debian / Ubuntu: Ubuntu c'est de mémoire 71% de paquets Debian recompilés sans modification et 29 % de paquets nouveaux/modifiés. (NB: Une source plus ancienne <a href="http://raphaelhertzog.com/2010/12/06/state-of-the-debian-ubuntu-relationship/">sur ce même thème</a> )<br />
<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-49259428042707881982013-06-01T01:25:00.000+02:002013-06-01T01:25:25.403+02:00Le n°1 des ventes d'ordinateurs portable sur Amazon Etats Unis tourne sous LinuxJe ne sais pas depuis combien de temps il est en tête des ventes, mais c'est un chromebook qui occupe actuellement <a href="http://www.amazon.com/Best-Sellers-Computers-Accessories-Laptop/zgbs/pc/565108">le top des ventes sur Amazon US</a>. Le même portable est en neuxième position des ventes chez Amazon France. Et cette fois ci il s'agit d'une vraie machine Linux avec u boot, noyau, glibc, xorg et upstart comme système de démarrage (<a href="http://www.chromium.org/chromium-os/chromiumos-design-docs/system-hardening">l'architecture sécurité</a> mentionne tous ces composants)<br />
<br />
La doc officielle mentionne comment activer l'appareil en mode développement pour avoir un accès complet (shell root) Après <a href="http://meta.libera.cc/2011/05/du-hardware-libre-dacces-palm-pre.html">smartphone et routeur</a>, une nouvelle fois une "appliance" fait confiance à ses utilisateurs, et c'est une bonne nouvelle.<br />
<br />
Après l'installation d'un environnement Debian ou Ubuntu (on vout explique ici comment faire avec le <a href="https://github.com/dnschneid/crouton">savoureux script crouton</a>), ce portable peut faire un outil idéal pour devops (7 heures d'autonomie, boot en 10 secondes)<br />
<br />
<br />
<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-50443140871280985052013-04-23T12:30:00.001+02:002013-04-23T14:31:58.220+02:00IPv6 sur VPS Hetzner / NetBSDAyant découvert il y a quelques mois que mon hébergeur <a href="http://meta.libera.cc/2011/09/serveur-prive-vps-chez-hetznerde-pour.html">(Hetzner</a>) proposait IPv6 sur ses offres VPS, je me suis décidé à l'activer, pour avoir un aperçu de la configuration requise.<br />
<br />
Configuration envoyée par Hetzner:<br />
<span style="font-family: "Courier New",Courier,monospace;">IPs: 2a01:4f8:d13:1d00:: /64<br />Gateway: 2a01:4f8:d13:1d00::1 /64<br />Useable IP addresses:<br />2a01:4f8:d13:1d00::2 to 2a01:4f8:d13:1d00:ffff:ffff:ffff:ffff</span><br />
<br />
On ajoute la première adresse du pool IPv6 à l'interface réseau:<br />
<span style="font-family: "Courier New",Courier,monospace;">cat /etc/ifconfig.rtk0<br />inet 78.47.36.230 netmask 0xfffffff0<br />inet6 2a01:4f8:d13:1d00::2 prefixlen 64</span><br />
<br />
et on définit la passerelle IPv6:<br />
<span style="font-family: "Courier New",Courier,monospace;">cat /etc/mygate6 <br />2a01:4f8:d13:1d00::1</span><br />
<br />
Après avoir ajouté une entrée de type AAAA sur le registrar DNS (pour moi <a href="https://www.gandi.net/">Gandi</a>) on vérifie que cette entrée est bien accessible:<br />
<span style="font-family: "Courier New",Courier,monospace;">host -t AAAA libera.cc<br />libera.cc has IPv6 address 2a01:4f8:d13:1d00::2</span><br />
<br />
Par défaut Apache httpd "écoute" seulement sur IPv4, il faut ajouter "<span style="font-family: "Courier New",Courier,monospace;">Listen [::]:80</span>" dans <span style="font-family: "Courier New",Courier,monospace;">/usr/pkg/etc/httpd/httpd.conf</span>:<br />
<span style="font-family: "Courier New",Courier,monospace;">grep ^Listen httpd.conf <br />Listen 0.0.0.0:80<br />Listen [::]:80</span><br />
<br />
Avons une socket ouverte en IPv6 sur le port 80 ? <br />
<span style="font-family: "Courier New",Courier,monospace;">sockstat -f inet6 -ln | grep 80<br />www httpd 700 4 tcp6 *.80 *.*<br />www httpd 1958 4 tcp6 *.80 *.*<br />www httpd 1971 4 tcp6 *.80 *.*<br />root httpd 2100 4 tcp6 *.80</span><br />
On peut donc tester depuis une machine cliente si Apache envoie répond bien sur IPv6:<br />
<span style="font-family: "Courier New",Courier,monospace;">curl -6 libera.cc<br /><html><br /><head><br /><title>Computer says: </title></head><br /><body bgcolor="white" text="black"><br /><pre>
Computer says:</pre>
<br /><center>
<h1>
Hello World !</h1>
</center>
</body></html></span><br />
<br />
Business as usual ...<br />
<br />
<br />
<br />
<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-85540234547221299652013-01-05T20:29:00.000+01:002013-01-05T20:30:49.291+01:00Augmenter le volume d'un fichier video avec ffmpegEn ligne de commande:<br />
ffmpeg -i file.mpg -vcodec copy -vol 1024 file_louder.mpg<br />
<br />
-i : fichier en entrée à modifier<br />
-vcodec copy: laisser la partie video inchangée <br />
-vol 1024: multiplie le volume par 4 ( la valeur de base est -vol 256)<br />
<br />
Il est important de se rappeler qu'a trop faire augmenter le volume, le son risque de saturer, bien vérifier par une écoute préliminaire, ou encore mieux, extraire la piste audio et la modifier dans <a href="http://audacity.sourceforge.net/">Audacity</a>.<br />
Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-42095123788294809802012-11-05T18:50:00.000+01:002012-11-05T18:50:16.553+01:00Drush, un apt-get pour drupalJe viens de faire la découverte de <a href="http://drupal.org/project/drush">Drush</a>, un utilitaire en ligne de commandes qui permet de mettre à jour un site Drupal d'une manière efficace en ligne de commandes. (Dans le cas où Drupal est installé à partir des sources de <a href="http://drupal.org/">drupal.org</a>, et non le paquet d'une distribution)<br />
<br />
L'usage en est le suivant:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">cd my_drupal_site/</span><br />
<br />
<table cellpadding="4" cellspacing="0" style="width: 645px;">
<colgroup><col width="207"></col>
<col width="206"></col>
<col width="206"></col>
</colgroup><tbody>
<tr valign="TOP">
<th style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;" width="207">Objectif</th>
<th style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;" width="206"><b>Debian</b></th>
<th style="border: 1px solid #000000; padding: 0.1cm;" width="206"><b>Drush</b></th>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="207"><i>Liste les paquets installés</i>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="206">dpkg -l</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="206">drush pm-list</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="207"><i>Mets à jour la liste des paquets disponibles</i>
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="206">apt-get update</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="206">drush pm-refresh</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="207"><i>Montre les mises à jour possibles</i></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="206">apt-get --simulate upgrade
</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="206">drush --simulate pm-update</td>
</tr>
<tr valign="TOP">
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="207"><i>Installe les dernières mises à jour via le réseau</i></td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;" width="206">apt-get upgrade</td>
<td style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;" width="206">drush pm-update
</td>
</tr>
</tbody></table>
<br />
Un outil tellement puissant qu'on en vient à souhaiter <a href="http://www.leonelson.com/2011/10/24/drush-for-wordpress/">son existence pour wordpress</a>.Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-53822860650392776682012-09-18T17:10:00.000+02:002012-12-18T12:37:12.549+01:00Linux, ZFS et disque SATA: remplacement de disque sans faute en 5 commandes<br />
Le serveur en question tourne sur Debian 6 avec zfs-fuse comme système de fichier sur un volume <i>stripped mirror</i>, équivalent d'un RAID 10. <b><br /></b><br />
<b style="font-family: 'Courier New', Courier, monospace;">zpool get version tank</b><br />
<div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">NAME PROPERTY VALUE SOURCE</span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">tank version 23 default</span></div>
</div>
<div>
<br /></div>
<br />
Alors que je regardais l'espace disponible sur un volume ZFS dédié à des backups, je m'apercois du message d'erreur suivant:<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>zpool status | head</b></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> pool: tank</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> state: ONLINE</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">status: One or more devices has experienced an unrecoverable error. An</span> <span style="font-family: 'Courier New', Courier, monospace;">attempt was made to correct the error. Applications are unaffected.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">action: Determine if the device needs to be replaced, and clear the errors </span><span style="font-family: 'Courier New', Courier, monospace;">using 'zpool clear' or replace the device with 'zpool replace'.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> see: http://www.sun.com/msg/ZFS-8000-9P</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> scrub: none requested</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">config:</span><br />
<br />
Effectivement le noyau a du mal à communiquer avec un disque dur<br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>dmesg | grep sd </b></span><br />
<span style="font-family: 'Courier New', Courier, monospace;">[87538.049395] sd 1:0:1:0: [sdd] Unhandled sense code</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">[87538.049399] sd 1:0:1:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">[87538.049404] sd 1:0:1:0: [sdd] Sense Key : Medium Error [current] [descriptor]</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">[87538.049430] sd 1:0:1:0: [sdd] Add. Sense: Unrecovered read error - auto reallocate failed</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">[87538.049437] sd 1:0:1:0: [sdd] CDB: Read(10): 28 00 48 06 54 00 00 00 80 00</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">[87538.049448] end_request: I/O error, dev sdd, sector 1208374353</span><br />
<br />
Cecu est confirmé par le status SMART du disque en question: un disque dur vieux de 1541 jours, on peut le changer !<br />
<b style="font-family: 'Courier New', Courier, monospace;">smartctl --all /dev/sdd | grep ^Error</b><br />
<span style="font-family: 'Courier New', Courier, monospace;">Error logging capability: (0x01) Error logging supported.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Error 7453 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Error 7452 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Error 7451 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Error 7450 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hours)</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Error 7449 occurred at disk power-on lifetime: 36998 hours (1541 days + 14 hour</span><br />
Notons tout d'abord son numéro de série:<br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>hdparm -I /dev/sdd | grep "Serial Number"</b></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Serial Number: WD-WCASJ0402738</span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span style="font-family: inherit;">Un petit tour <a href="https://westerndigital.secure.force.com/WarrantyCheck?lang=en">sur le site du constructeur</a> permet d'ailleurs de constater que la date de garantie est déja dépassée:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6iQRyNYn4382HE45yZWV0FbgQ_PsJVlTh7TboNVyXfGcPl8IpN-o7tG0EqWtsTHc7KH3VLAAr3zpzFErMfHfFUn43UxeGGFcqvy4U_PZf3-Wz_v0ZGh62iVoNuFbzmfcLlzx9NFcic4r/s1600/warranty.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit6iQRyNYn4382HE45yZWV0FbgQ_PsJVlTh7TboNVyXfGcPl8IpN-o7tG0EqWtsTHc7KH3VLAAr3zpzFErMfHfFUn43UxeGGFcqvy4U_PZf3-Wz_v0ZGh62iVoNuFbzmfcLlzx9NFcic4r/s1600/warranty.png" /></a></div>
<br />
<br />
Et retirons le disque dur du pool zfs:<br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>zpool offline tank /dev/sdd</b></span><br />
<br />
Notre pool "tank" apparait alors en statut "dégradé" mais heureusement pas d'erreurs sur les données.<br />
<b style="font-family: 'Courier New', Courier, monospace;">zpool status</b><br />
<span style="font-family: 'Courier New', Courier, monospace;"> pool: tank</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> state: DEGRADED</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">status: One or more devices has been taken offline by the administrator.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Sufficient replicas exist for the pool to continue functioning in a<span class="Apple-tab-span" style="white-space: pre;"> </span>degraded state.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">action: Online the device using 'zpool online' or replace the device with</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>'zpool replace'.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> scrub: none requested</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">config:</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>NAME STATE READ WRITE CKSUM</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tank DEGRADED 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> mirror-0 ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sda ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sdb ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> mirror-1 DEGRADED 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sdc ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sdd OFFLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<span style="font-family: 'Courier New', Courier, monospace;">errors: No known data errors</span><br />
<br />
Une fois le serveur arrêté il s'agit de remplacer le disque dur comme le noyau l'avait reconnu comme /dev/sdd, il est sans doute sur la troisième nappe SATA (la numérotation commençant à partir de 0)<br />
Un coup d’œil au disque permet de vérifier le numéro de série:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiXiiP6WsuayKNr0Pt8pWopiJ-iwd2CjxoKVGW-T28E4xW6AaHioAmrgeEwGnqJJwv_R8DPbejdcc-XGuup_KHEP9TF-dlpT0aUWPvLwZx-92lQXqzk3jmi1GZU7IKQ3KEf-s_rYgbZ60X/s1600/disk_small.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiXiiP6WsuayKNr0Pt8pWopiJ-iwd2CjxoKVGW-T28E4xW6AaHioAmrgeEwGnqJJwv_R8DPbejdcc-XGuup_KHEP9TF-dlpT0aUWPvLwZx-92lQXqzk3jmi1GZU7IKQ3KEf-s_rYgbZ60X/s320/disk_small.png" width="320" /></a></div>
<br />
<br />
Après avoir recablé le disque, rajoutons le dans le pool zfs:<br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>zpool replace tank /dev/sdd</b></span><br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;"><span style="font-family: inherit;">Si vous utilisez les numeros de series des disques comme identifiant:</span><b> </b></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>zpool replace tank ata-WDC_WD2003FYYS-02W0B0_WD-WMAY02196811 ata-Hitachi_HDS721010KLA330_GTE002PBGTNYME </b></span><br />
<br />
Zfs va maintenant resynchroniser les blocs de données:<br />
(Dans le jargon de ZFS, resilvering signifie copier les blocs d'un disque à un autre pour regagner un état initial)<br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>zpool status</b></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> pool: tank</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> state: DEGRADED</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">status: One or more devices is currently being resilvered. The pool will<span class="Apple-tab-span" style="white-space: pre;"> </span>continue to function, possibly in a degraded state.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">action: Wait for the resilver to complete.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"> scrub: resilver in progress for 0h33m, 34.92% done, 1h1m to go</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">config:</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>NAME STATE READ WRITE CKSUM</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tank DEGRADED 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> mirror-0 ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sda ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sdb ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> mirror-1 DEGRADED 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sdc ONLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> replacing-1 DEGRADED 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sdd/old OFFLINE 0 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> sdd ONLINE 0 0 0 67.0G resilvered</span><br />
<br />
<br />
On peut aussi suivre l'état de la synchronisation, qui s'effectue environ à 47MB/s sur ce système:<br />
<span style="font-family: 'Courier New', Courier, monospace;"><b>iostat -d 1 -m</b></span><br />
<span style="font-family: 'Courier New', Courier, monospace;">Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">sda 0.00 0.00 0.00 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">sdd 137.00 0.00 48.13 0 48</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">sdc 138.00 48.69 0.00 48 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">sdb 0.00 0.00 0.00 0 0</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">sde 0.00 0.00 0.00 0 0</span><br />
<br />
Environ deux heures plus tard la synchronisation des blocs de données est terminée, et le pool zfs est de nouveau en statut normal:<br />
<span style="font-family: "Courier New",Courier,monospace;"><b>zpool status</b><br /> pool: tank<br /> state: ONLINE<br /> scrub: resilver completed after 1h38m with 0 errors on Tue Sep 18 17:04:25 2012<br />config:<br /><br /> NAME STATE READ WRITE CKSUM<br /> tank ONLINE 0 0 0<br /> mirror-0 ONLINE 0 0 0<br /> sda ONLINE 0 0 0<br /> sdb ONLINE 0 0 0<br /> mirror-1 ONLINE 0 0 0<br /> sdc ONLINE 0 0 0<br /> sdd ONLINE 0 0 0 192G resilvered<br /><br />errors: No known data errors</span><br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-55335444342982301722012-09-08T12:37:00.001+02:002012-09-08T13:43:09.900+02:00Installation sur un Imac 24'': comment je suis devenu intégrateur OEM sans le vouloir<span style="font-size: large;">Une histoire d'upgrade</span><br />
<br />
Un Imac 24'', c'est sans doute un ordinateur assez répandu, si on juge par <a href="http://www.computerworld.com/s/article/9230367/Apple_stock_price_hits_record_high_as_investors_await_iPhone_5_iPad_Mini">les succès de la maison mère</a>, et bien pourtant l'installation de Debian 7 (Beta) s'est révélé loin d'être une partie de plaisir. Évidemment avec 10 d'expérience de Linux, et le fait que je sois <i>Debian Maintainer</i>, j'avais pas mal d'atouts dans les mains et en quelques heures tout fonctionnait nickel. Cependant.<br />
<br />
<span style="font-size: large;">Carte graphique: tout le monde descend du bus</span><br />
Pour installer le driver nvidia propriétaire, un petit coup de<br />
<span style="font-family: 'Courier New', Courier, monospace;">apt-get install nvidia-kernel-dkms linux-headers-amd64</span><br />
est suffisant.<br />
<br />
On reboot, on se connecte tranquille, et après deux minutes le système se bloque complètement. Après deux heures d'Essais infructueux je remarque dans le /var/log/syslog:<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;">Sep 7 21:50:58 leonard kernel: [ 257.212660] NVRM: GPU at 0000:01:00.0 has fallen off the bus.</span><br />
<div>
<br /></div>
<div>
Finalement je supprime nvidia-kernel-dkms et linux-headers-amd64, je reboote le système, et là miraculeusement Xorg se utilise le driver nouveau avec accélération 3D Gallium, et plus de plantage.</div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRzbaZMv9lFfVEV-aT-xiErMXdmXAA_cOJ8JJk0QBhaqMTu3rCcnjvAUvGI7ATLgIm7FoZHYhH6OJeRTDZMxd-nhng8SRYzZBpG0uIhbCq1Dw8f8McjWwBPOgRk-ca111mIDJM8qXvRmY-/s1600/gallium.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRzbaZMv9lFfVEV-aT-xiErMXdmXAA_cOJ8JJk0QBhaqMTu3rCcnjvAUvGI7ATLgIm7FoZHYhH6OJeRTDZMxd-nhng8SRYzZBpG0uIhbCq1Dw8f8McjWwBPOgRk-ca111mIDJM8qXvRmY-/s320/gallium.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"> (NB: <i>Restreint</i> signifie ici que j'utilise <b>Gnome Classic</b> et n'a rien à voir avec le fonctionnement de la carte)</td></tr>
</tbody></table>
<br /></div>
<div>
<span style="font-size: large;">Carte Son: mbp3 pour jouer des mp3</span></div>
<div>
En branchant mes baffles sur la sortie, je me rend compte tout d'un coup que le système utilise le haut parleur interne pour au lieu de ma luxueuse HiFi Sony. Après avoir incriminé à tort PulseAudio pendant une bonne demi heure, je me rends compte que le coupable est le module snd-hda-intel.</div>
<div>
<br /></div>
<div>
Celui ci a besoin de l'entrée</div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">options snd-hda-intel model=mbp3</span></div>
<div>
<br />
dans <span style="font-family: 'Courier New', Courier, monospace;">/etc/modprobe.d/alsa-base.conf</span></div>
<div>
pour fonctionner correctement (<a href="http://ubuntuforums.org/archive/index.php/t-777014.html">source</a>) </div>
<div>
<br /></div>
<div>
<span style="font-size: large;">Clavier: Une carte pourrie pour nous sortir de là</span></div>
<div>
Pas au bout de mes peines je me rends compte que les touches ^ (accent circonflexe) et '<' '>' sont inversées sur mon clavier mac allemand. Apparemment il s'agit d'un bug sur les claviers apple, qui n'affichent pas les codes qu'ils prétendent envoyer.</div>
<div>
Il faut donc corriger le problème en ajoutant:</div>
<div>
<div>
<br /></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">XKBMODEL="pc105"</span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">XKBLAYOUT="de"</span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">XKBVARIANT="mac"</span></div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;">XKBOPTIONS="lv3:rwin_switch,apple:badmap"</span></div>
</div>
<div>
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: inherit;">dans </span><span style="font-family: 'Courier New', Courier, monospace;">/etc/default/keyboard</span></div>
<div>
<br /></div>
<div>
<span style="font-family: inherit; font-size: large;">Conclusion: je fais le boulot d'Apple, Dell, et Toshiba</span></div>
<div>
Les trois bugs mentionnés plus hauts ne me seraient jamais arrivés sur un portable acheté à la Fnac au rayon PC ou Apple.</div>
<div>
Pourquoi ? Tout simplement pour n'importe quel PC de marque, le constructeur se charge de préinstaller Windows avec les meilleurs drivers, et se charge à cette occasion de masquer <a href="https://www.google.com/search?client=safari&rls=x86_64&q=mask+buggy+ACPI+implementation&ie=UTF-8&oe=UTF-8#hl=de&client=safari&rls=x86_64&sa=X&ei=GBlLUP2VMYTTtAbKg4CgAw&ved=0CBoQBSgA&q=buggy+ACPI+implementation&spell=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=1ceeab2b1d8c446e&biw=1119&bih=1037">les défauts de ses propres produits</a> via une couche de plâtre logiciel.</div>
<div>
En installant vous même Linux ou un autre OS non préinstallé c'est vous qui effectuez ce travail. <br />
<br />
Sur un serveur le problème est quasi inexistant car vous avez seulement besoin d'un driver pour votre contrôleur de disque et pour la carte réseau, le plus souvent maintenu directement par le constructeur (Intel, Broadcom) pour <a href="http://software.intel.com/en-us/blogs/2009/08/24/who-works-on-the-linux-kernel/">Linux</a> et <a href="http://unix.derkeiler.com/Mailing-Lists/FreeBSD/net/2012-01/msg00062.html">FreeBSD</a> dans les sources du noyau.<br />
Pour un portable vous avez en plus besoin de suspend to disk, suspend to RAM, bluetooth, wifi, accélération 3D, carte son, lecteur de carte Smart Media, touches de fonction Volume/Luminosité et maintenant écran tactile, <a href="https://help.ubuntu.com/community/HybridGraphics">carte graphiques hybride</a>.<br />
<br />
Update: ajout de liens vers les contributions Intel/Broadcom à Linux & FreeBSD<br />
<br /></div>
Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com1tag:blogger.com,1999:blog-7143401328277522244.post-38983416971329353892012-08-23T15:20:00.000+02:002012-08-23T15:26:06.287+02:00Gnome3: parfait pour un netbook<h2>
</h2>
<br />
Voici un petit retour d'expérience sur Gnome3, installé sur un netbook depuis une semaine. Le Netbook en question est un modèle assez peu courant (un <a href="http://de.wikipedia.org/w/index.php?title=Datei:Dtm-systems_classmate_vierte_generation.jpg&filetimestamp=20101029152726">Intel Classmate</a>, destiné au marché de l'éducation) mais utilise des composants très standards ( proc Atom N450, Chipset graphique Intel, Wifi Realtek .. )<br />
<br />
<h4>
<span style="font-family: Verdana, sans-serif;">Prise en main et support du hardware</span></h4>
J'ai installé Debian 7.0 (Wheezy) en version Beta, en bootant à partir du réseau. Les images iso fournies par Debian sont aussi utilisables comme image USB,<a href="http://www.debian.org/releases/stable/i386/ch04s03.html.fr"> il suffit de les copier bit a bit sur une clé USB</a><br />
Après le premier boot, tout fonctionne (Suspend to Ram, Ethernet, Webcam, son, accélération 3D) sauf la carte wifi.<br />
<br />
La carte réseau du netbook est le modèle suivant ( sortie de la commande <span style="font-family: "Courier New",Courier,monospace;">lspci</span>)<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;">07:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Subsystem: Device 1a32:0308</span><br />
<br />
Il suffit d'installer le firmware depuis le catalogue non-free:<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;">apt-get install firmware-realtek</span><br />
<br />
et la carte réseau est reconnue.<br />
<br />
Gnome3 est l’environnement par défaut de bureau de Debian, et donc relativement bien intégré au reste du système.<br />
<br />
<h4>
<span style="font-family: Verdana, sans-serif;"> Gnome 3 et Netbook: un mariage réussi</span></h4>
Tout d'abord pour ceux qui s'inquiéteraient des performance d'un environnement de bureau complet par rapport à un simple gestionnaire de fenêtre, je trouve le temps de boot du netbook tout a fait raisonnable environ 35 secondes jusqu'à l'affichage du navigateur web. NetBSD avec XFCE installé sur une autre partition mets quand à lui plus de 45 secondes à démarrer (et ne supporte ni wifi, ni suspend to RAM, ni accélération 3D)<br />
<br />
La première fois que j'avais installé Gnome3 dans une machine virtuelle, je n'avais pour ainsi dire rien compris au paradigme de Gnome3 et j'avais plutôt été dérouté. Maintenant que j'ai compris le Paradigme "Laissons plus de place aux applications", et après avoir adoré <a href="http://www.webos-blog.de/2010-10-19-weitere-webos-2-0-screenshots-und-infos/">WebOS</a> l'OS de Palm qui ressemble en de nombreux points à Gnome3, je trouve Gnome3 très pratique.<br />
<br />
Ce qui m'a tout d'abord marqué dans l'utilisation de Gnome3 c'est l'utilisation judicieuse de la place dans un écran réduit. 1024x600 cela vous laisse en effet pas grand chose et autant bien en tirer parti.<br />
Tout d'abord Gnome3 se contente d'une fine barre de statut par défaut: pas de barre des taches remplies d’icônes illisibles, ni de menu démarrer rempli de programmes mal catégorisés comme dans Gnome2 ou Windows XP.<br />
Ceci plus laisse de place pour les applications en verticale, encore plus quand on utilise Web, le navigateur livré avec Gnome3.<br />
<br />
Regardons la même page Youtube avec Firefox et avec Web.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju4Rj3R3bIT3sdfkJudHRLl-lgVAXMIEqWRExtyWn4KMKEck1gTHR98-bFEmW8K9T8K3z1jZ8dtIHeelr_WeyZBFubSFydCiWXQktHsJTOlGxu_O8zNIF0DGJlBxA1wxE98BetyJLv0i6i/s1600/firefox.png" imageanchor="1"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju4Rj3R3bIT3sdfkJudHRLl-lgVAXMIEqWRExtyWn4KMKEck1gTHR98-bFEmW8K9T8K3z1jZ8dtIHeelr_WeyZBFubSFydCiWXQktHsJTOlGxu_O8zNIF0DGJlBxA1wxE98BetyJLv0i6i/s1600/firefox.png" width="400" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcT6MyhkdnNKLPVtFw-2WVODNuRqatenXHho52K9n-nM7_AIyJ8qKiITdYmAemm93nmJPx8IvWhDdN8_LR9AjC9o0nVQQWaV7-tt6kyMoLRpXbYH3jjzm0JCOGDDI-Lr0fp5qBCgb359-6/s1600/web.png" imageanchor="1"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcT6MyhkdnNKLPVtFw-2WVODNuRqatenXHho52K9n-nM7_AIyJ8qKiITdYmAemm93nmJPx8IvWhDdN8_LR9AjC9o0nVQQWaV7-tt6kyMoLRpXbYH3jjzm0JCOGDDI-Lr0fp5qBCgb359-6/s1600/web.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Contrairement À Firefox, Web affiche la barre de contrôle video sans avoir à scroller.</td></tr>
</tbody></table>
<br />
Gnome3 ne dispose pas de bouton réduire, ou maximiser pour la bonne raison que tout est en plein écran par défaut. Encore un choix judicieux pour un Netbook.<br />
<br />
Dans le cas ou deux fenêtres auraient besoin d’être ouvertes simultanément, Gnome3, comme Unity, dispose d'un mode comparaison. Il suffit de "tirer" la barre de titre d'une fenêtre via un <i>drag and drop</i> sur le côté pour que cette fenêtre se réduise de moitié <b>et</b> se colle au bord de l'écran. Plus besoin de manipulations pesantes du coin inférieur droit de la fenêtre comme sous Gnome2, Mac ou Windows pour maximiser la place disponible.<br />
<br />
Pour lancer un programme, changer de programme, rechercher un fichier ou sur le web, tout se fait à partir de la vue Activité, qu'on active en appuyant sur la touche Windows, ou Alt F1, ou en pointant le bord supérieur gauche de l'écran.<br />
<br />
Depuis la vue <i>Activité</i> je peux ainsi lancer par exemple Virtualbox ou Audacity simplement en tapant "Auda" voire "Au" même sans avoir le focus. Ceci se révèle à l'usage bien plus pratique que de chercher si VirtualBox est dans le menu "Système" ou "Accessoires" comme dans Gnome2. Au fait pourquoi dans Accessoires ? Aucune idée.<br /><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_HrbTf2HvXla0UgBin7G4QRcQamMyfshYHNuuWa5cXiQbB6zzdSulNIO6anoKLXjcHZsZhyb5WdWQKlrB-WmK6h_UvY-6qwqSdkvYnGEQWaNUIgTpIGfAcXBLQwScesyQzkuc-Py0pkJR/s1600/aud.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_HrbTf2HvXla0UgBin7G4QRcQamMyfshYHNuuWa5cXiQbB6zzdSulNIO6anoKLXjcHZsZhyb5WdWQKlrB-WmK6h_UvY-6qwqSdkvYnGEQWaNUIgTpIGfAcXBLQwScesyQzkuc-Py0pkJR/s400/aud.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Trois caractères à taper + Entrée et voila notre application démarrée</td></tr>
</tbody></table>
<br />
Depuis la vue activité on peut aussi insérer du texte, qui sera directement recherché sur Google ou Wikipedia. Car après tout qu'est ce qu'un Netbook si ce n'est une fine couche de software et une fine couche de hardware permettant de lancer le vrai OS: le navigateur Web ?<br />
<br />
Gnome3 ne convient peut être pas à tous les cas d'usage, sur mon PC de bureau je suis resté à Gnome2, étant donné que j'ai deux écrans de 22 pouces, le besoin de place se fait pour l'instant moins ressentir, et que j'utilise sur ce dernier un workflow professionel spécifique avec 4 bureaux virtuels, 4 Terminaux ouverts en permanence, Firefox et une multitude d'extensions.Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com4tag:blogger.com,1999:blog-7143401328277522244.post-11336558233250955992012-08-14T17:11:00.002+02:002013-02-27T15:13:41.711+01:00Copier la partition système d'une machine à une autre en préservant les id/gidDe façon générale pour copier la partition racine d'un disque à un autre, par exemple depuis un live CD, on peut utiliser la commande suivante:<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">cd /OLD</span><br />
<div style="font-family: "Courier New",Courier,monospace;">
tar --numeric-owner -cpf - . | (cd /NEW && tar -xpf - )</div>
<br />
L'option de tar <span style="font-family: "Courier New",Courier,monospace;">-<b>-numeric-owner</b></span> est ici capitale pour que chaque utilisateur retrouve bien ses fichiers à l'arrivée. Si votre système de fichier /OLD contient un fichier /OLD/postgresql (uid 1000) et que votre live CD contient l'utilisateur <i>demo</i> aussi avec un uid de 1000, sans cette option, tar recréera /NEW/postgresql en l'affectant à l'utilisateur <i>demo</i> ...<br />
<br />
GNU Tar et le tar de libarchive (utilisé par exemple sur FreeBSD) possèdent cette option.<br />
<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-10292085827232110082012-07-28T19:01:00.000+02:002012-07-28T19:18:31.192+02:00Convertir un fichier video pour l'utiliser dans un logiciel VJ (Resolume,Veejay)Il semble que le format <a href="http://fr.wikipedia.org/wiki/Motion_JPEG">MJPEG</a> soit le <a href="http://resolume.com/support/manual/">format</a> <a href="http://www.veejayhq.net/">préféré</a> des logiciels de VJ'ing. FFmpeg, le couteau suisse de la video sous Unix, supporte naturellement ce format.<br />
<br />
Pour convertir une video dans un format supporté en entrée par ffmpeg (c'est à dire: <i>tous</i>) en un mjpeg il suffira d'utiliser la commande suivante:<br />
<span style="font-family: "Courier New",Courier,monospace;">ffmpeg -i input.nimp <input_file> -vcodec mjpeg -qscale 1 -an output.avi</input_file></span><br />
<br />
ici <b>-an </b>signifie d'ignorer l'audio, et -<b>qscale 1</b> signifie qualité à l'identique<br />
<br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
ffmpeg -i output.avi 2>&1 | tail -5</div>
<span style="font-family: "Courier New",Courier,monospace;"> Metadata:</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> encoder : Lavf52.111.0</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> Duration: 00:00:10.28, start: 0.000000, bitrate: 9263 kb/s</span><br />
<span style="font-family: "Courier New",Courier,monospace;"> Stream #0.0: Video: mjpeg, yuvj420p, 720x576 [PAR 16:15 DAR 4:3], 25 tbr, 25 tbn, 25 tbc</span><br />
<br />
On a bien un fichier mjpeg.Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-66569971749641074322012-07-26T16:01:00.000+02:002012-07-26T16:01:03.334+02:00HP Pre3: un smartphone sous Linux non bridéEn 2010, j'avais fait <a href="http://meta.libera.cc/2010/02/nouveau-noyau-nouvelle-plateforme-palm.html">le choix d'un palm pre comme smartphone</a>, et j' avais dit le bien que j'en pensais a <a href="http://meta.libera.cc/2011/05/du-hardware-libre-dacces-palm-pre.html">plusieurs reprises</a>. Après avoir perdu le smartphone en question, je l'ai racheté en version 3, maintenant sous marque HP.<br />
Encore une fois je me félicite de la facon avec laquelle on obtient un accès complet (compte root sur la plateforme) en installant deux paquets debian, et en activant le mode développeur, tout ceci indiqué <a href="https://developer.palm.com/content/api/dev-guide/tools/enabling-developer-mode.html">la documentation officielle de HP</a>.<br />
<br />
Les seuls autres téléphones que je connaisse qui offre ce niveau de liberté sont la défunte plateforme <a href="http://wiki.maemo.org/Root_access">Maemo</a> de Nokia, et la <a href="http://en.wikipedia.org/wiki/Google_Nexus">série Nexus </a>de Google.<br />A quoi sert un accès root ? Par exemple pour moi à ajouter le point d'accès de son obscur opérateur téléphonique (yesss, Austria, HP Pre 3 , carrierdb.json, bonjour moteur de recherche) en suivant cette<a href="http://forums.webosnation.com/hp-veer/285449-howto-edit-your-carrierdb-json-file.html"> documentation.</a><br /><br />Le fichier de conf en question à ajouter à carrierdb.json se trouve sur <a href="http://pastebin.com/qWzzrB86">pastebin</a>.Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-65850901603653887312012-07-16T01:05:00.001+02:002012-07-16T01:34:19.857+02:00Copie à l'identique d'un DVD video sous LinuxLa video que ce soit sous Unix, Windows ou Mac, c'est une jungle de formats différents. Alors qu'un fichier .odt ou .jpeg correspond a un type de données bien précis, un fichier .mpeg, .mov ou .avi ne vous renseigne pas beaucoup sur les données du fichier. L'extension ne désigne en effet que le type de <i>container</i>, à l'intérieur duquel vous pouvez avoir de la video au format h264, mpeg1, de l'audio au format aac, mp3 ...<br />
<br />
Voyons maintenant le cas d'une copie à l'identique d'un DVD video. Je souhaite copier l'intégralité d'un petit film, afin de l'éditer dans le logiciel de montage video openshot, sans perte de qualité.<br />
Si je suis prêt à perdre de la qualité pour un fichier six fois plus petit,<a href="http://meta.libera.cc/2012/07/copie-de-dvd-sous-linux-enfin-quelque.html"> je conseille d'utiliser l'excellent Thoggen</a> qui encodera les fichiers en ogv (Ogg Theora), avec une interface graphique ultra simple.<br />
<br />
Une fois le DVD inséré, ffmpeg nous renseigne sur les codecs utilisés dans la video (les fichiers video de DVD sont des .vob):<br />
<b>ffmpeg -i /media/cdrom0/VIDEO_TS/VTS_01_1.VOB 2>&1| tail -5</b>
<br />
<pre>Input #0, mpeg, from '/media/cdrom0/VIDEO_TS/VTS_01_1.VOB':
Duration: 00:27:47.84, start: 0.060000, bitrate: 5150 kb/s
Stream #0.0[0x1e0]: Video: <b style="color: #783f04;">mpeg2video</b> (Main), yuv420p, 720x576 [PAR 16:15 DAR 4:3], 7000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: <b><span style="color: #783f04;">ac3</span></b>, 48000 Hz, stereo, s16, 192 kb/s
</pre>
Dans ce jargon on distingue que le film est encodé avec le codec video mpeg2 et le codec audio ac3<br />
<br />
On extrait tout d'abord l'ensemble des fichiers video du DVD dans un .vob unique dans le répertoire courant:<br />
<b>vobcopy <span class="sy2">-</span>l</b><br />
<br />
On convertit le .vob un fichier mpeg, sans changer ni la qualité de la vidéo, ni celle de l'audio<br />
<span class="st0"><b>ffmpeg -i 23_1APRIL2.vob -vcodec copy -acodec copy 23_1APRIL2.mpg</b><br /><br />On vérifie avec ffmpeg que l'encodage est resté le même:</span><br />
<b>ffmpeg -i 23_1APRIL2.mpg </b><b> 2>&1</b><b> | tail -5 </b>
<br />
<pre>Input #0, mpeg, from '23_1APRIL2.mpg':
Duration: 01:40:36.79, start: 1.000000, bitrate: 5223 kb/s
Stream #0.0[0x1e0]: Video: <b><span style="color: #783f04;">mpeg2video</span></b> (Main), yuv420p, 720x576 [PAR 16:15 DAR 4:3], 7000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: <b><span style="color: #783f04;">ac3</span></b>, 48000 Hz, stereo, s16, 192 kb/</pre>
<br />
Le fichier obtenu est volumineux, car nous avons gardé la qualité du DVD original
<br />
<b>ls -sh 23_1APRIL2.mpg </b><br />
3,7G 23_1APRIL2.mpg<br />
<br />
Le résultat pourra directement être édité dans <a href="http://www.openshotvideo.com/">Openshot</a>, ou lu avec la pluspart des lecteurs video sous Linux.<br />
<br />
NB: Pour un ffmpeg capable de lire tous les codecs video, il vaudra mieux installer le paquet ffmpeg contenu dans les repositories <a href="http://deb-multimedia.org/">Deb Multimedia</a> (Debian) ou <a href="http://medibuntu.org/">Medibuntu</a> (Ubuntu)<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-41487006954695013482012-07-14T12:00:00.000+02:002012-07-15T08:28:14.089+02:00Copie de DVD sous Linux: enfin quelque chose de SIMPLEAyant besoin de copier un DVD video sous Linux (Debian Squeeze), je me voyais déjà, non pas en haut de l'affiche, mais avec des <span style="font-family: "Courier New",Courier,monospace;">-vo acc3_x264_mspte -vr 640*324:44</span> à taper dans mencoder.<br />
<br />
Après avoir installé thoggen avec <span style="font-family: "Courier New",Courier,monospace;">apt-get install thoggen</span>, il a suffi de cliquer "valider" deux fois, et hop l'encodage était déja en cours, avec fenêtre de prévisualisation s'il vous plait ! Thoggen encode par défaut en Ogg/Theora, format libre; ce choix m'est par ailleurs indifférent, n'ayant aucune envie de rentrer dans la jungle des codes / containers.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2PDUbBCB96Ewwz7WSQrZpdS_D15Efav7a31pHHJnpp8-JVk8mQGCQ8f6H2z11EbYd5Q_p-jWMQgc-Hgu4O69othPHbm1IoRtQ8JBwVQr7i55C5xhj66rp1ROSh9mMjVb4_8bllUQ0PrTc/s1600/Capture-thoggen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2PDUbBCB96Ewwz7WSQrZpdS_D15Efav7a31pHHJnpp8-JVk8mQGCQ8f6H2z11EbYd5Q_p-jWMQgc-Hgu4O69othPHbm1IoRtQ8JBwVQr7i55C5xhj66rp1ROSh9mMjVb4_8bllUQ0PrTc/s400/Capture-thoggen.png" width="306" /></a></div>
<br />
<br />
Finalement après une expérience particulièrement réussie de <a href="http://www.youtube.com/watch?v=8RN4FsYz8B4">montage vidéo avec OpenShot pour Tabor Live Dub</a>, je dois reconnaître que la Video sous Linux, finalement ca marche, <i>sans avoir besoin de passer des heures sur le teminal</i>.Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com2tag:blogger.com,1999:blog-7143401328277522244.post-15632034906416716862012-05-22T18:09:00.000+02:002012-05-23T12:03:00.021+02:00Documentation avant le changement: Desktop 2012Pas grand chose à voir avec les dernières élections mais plutôt une photo d'un appartement virtuel, le bureau de ma station de travail principale, avant le passage à Gnome 3.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjip4F1hFKkh28WbXD4inYjU1Pp66-CDhDALqkPTdM9M4-OulyjrznjiHDqKloOn8Omh0kYIoqn6ciTXm9URPTvDuDLUcE1k96xAp_tMiCsWrEL6GkxY6NyuO6hD2NnCE9ozAsZ58w2psGE/s1600/Capture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjip4F1hFKkh28WbXD4inYjU1Pp66-CDhDALqkPTdM9M4-OulyjrznjiHDqKloOn8Omh0kYIoqn6ciTXm9URPTvDuDLUcE1k96xAp_tMiCsWrEL6GkxY6NyuO6hD2NnCE9ozAsZ58w2psGE/s640/Capture.png" width="640" /></a></div>
<br />
Ceci est un bureau Gnome 2 avec Docky, Gnome Do, et Compiz, qui correspond aux <i>features</i> de Gnome 3 (Dock, Vue Application, Menu Applications) installées à partir d'éléments séparés.<br />
Je pense qu'au niveau fonctionnalités, je n'ai donc pas trop de souci à me faire.<br />
Les applications ici visibles sont <a href="http://mamedev.org/">Mame</a> (émulateur de bornes d'arcade), son front end <a href="https://live.gnome.org/GnomeVideoArcade">Gnome Video Arcade</a>, l'émulateur Atari ST <a href="http://hatari.tuxfamily.org/">Hatari</a>, et le navigateur Iceweasel/Firefox.<br />
<br />
<br />
<br />Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com0tag:blogger.com,1999:blog-7143401328277522244.post-81276766194315170072012-04-18T17:20:00.000+02:002012-04-18T17:20:55.226+02:00Des Unix libres partout: Minix 1.5 sur Atari STLinux ou NetBSD sur i386, amd64, powerpc ou ARM, d'accord on connaît.<br />
Mais si on installait un Unix libre, avec micro noyau et license BSD sur notre bon vieil Atari ST ?<br />
En suivant <a href="http://www.subsole.org/minix_on_the_atari_st">les instructions suivantes</a>, j'ai donc installé Minix en version 1.5 sur un Atari 520 STE, doté de 4 Mo de Ram et d'un disque dur d'une taille faramineuse de 20 Mo. La documentation exhaustive rend l'installation relativement aisée, le plus long restant de préparer les images des six disquettes.<br />
<br />
Une fois Minix installé il est possible d'activer un terminal sur le port série pour pouvoir se connecter depuis une autre machine, et là attention votre monstre de 4Go de RAM / quad core devient un terminal passif pour votre Atari de 4Mo / 8Mhz.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnuw7Frw-or9_5O67eGBcqq5pjUfVL5nljRXlneW-URIXBD4fsBGOdtkzD_fENJ6rr40McPDUaV3V7KtEZo6z4tFVAs_X7RVm-B_OF2yamprfYVouAqNh8EQAXK6OZsn21gv8SuMoHTAk-/s1600/Minix_Serial_Terminal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnuw7Frw-or9_5O67eGBcqq5pjUfVL5nljRXlneW-URIXBD4fsBGOdtkzD_fENJ6rr40McPDUaV3V7KtEZo6z4tFVAs_X7RVm-B_OF2yamprfYVouAqNh8EQAXK6OZsn21gv8SuMoHTAk-/s1600/Minix_Serial_Terminal.png" /></a></div><br />
L'environnement en lui même est assez semblable à BSD 4.3 comme le montre la présence de la commande <a href="http://netbsd.gw.com/cgi-bin/man-cgi?machine+1+NetBSD-current" style="font-family: "Courier New",Courier,monospace;">machine</a>, ou la syntaxe de la commande <span style="font-family: "Courier New",Courier,monospace;">ps</span>. Pas de TCP/IP, mais il est possible de transférer des fichiers via <span style="font-family: "Courier New",Courier,monospace;">kermit</span>, <span style="font-family: "Courier New",Courier,monospace;">zmodem</span> en utilisant le port série.<br />
<br />
Que faire à partir de la ? Minix 1.5 est livré avec son code source et dispose de tous les outils Unix standards. On peut donc moyennant patches y installer de vieilles versions de GCC et Bash. Et en utilisant Minix 1.5 comme système de développement, on a déjà pu démarrer <a href="http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b">pas mal de choses.</a>Emmanuel Kasperhttp://www.blogger.com/profile/09406228937831964688noreply@blogger.com2