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

Krusaf's Blog

jeudi, novembre 13 2008

Soutenez l'april

Je viens d'équiper le blog d'un nouveau widget concernant l'APRIL. Ils ont pour objectif actuel d'atteindre les 5000 membres avant la fin de l'année et à mon avis, ça va être chaud ;)

Mais concrètement, c'est quoi l'april ?

L'April est une association qui a pour but la promotion et la défense du logiciel libre dans l'espace francophone. À ce titre, elle entretient depuis le début des rapports étroits avec la Free Software Foundation, et traduit depuis longtemps la section philosophie du projet GNU.

Je vous invite à lire l'article sur wikipedia, car ils expliquent bien mieux que moi ;) et je vous invite vivement à adhérer ! Pour moi, ça fait déjà 2 ans ;)

Promouvoir et soutenir le logiciel libre

dimanche, novembre 9 2008

Connexion ssh sans mot de passe

Il s'agit juste d'une aide mémoire perso :)

ssh-keygen
eval `ssh-agent -s`
ssh-add
ssh-copy-id login@hostname 

Pour les explications, c'est ici.

Ripper un tas de CD sans se prendre la tête (rip_the_hell)

J'ai déjà fait un shell pour ripper un CD en mp3/ogg ou les 2. Le shell en question récupère les informations via une base cddb, pratique ^^ Et j'ai à présent créer une surcouche pour ripper en continu tout plein de CD.

Lire la suite...

dimanche, septembre 28 2008

La variable PS1 (prompt)

La variable d'environnement PS1 est affichée à chaque ligne de commande tapée, il s'agit du prompt de base :

krusaf@zeus:~$ 

Dans l'exemple ci-dessus, on distingue qu'elle affiche le_login@la_machine:le_chemin_courrant. Cette variable est personnalisable. Pour afficher l'exemple cité, la variable PS1 est égale à "\u@\h:\w\$ ". Sur certains systèmes, le \u \h ... ne sont pas interprétés. On pourrait également mettre : export PS1="\$USER@\$HOSTNAME:\$PWD \$ " pour obtenir le même prompt.

Il est important de précéder les caractères $ de \ pour ne pas qu'ils soient interprétés car sinon le prompt deviendrait statique (exemple) :

krusaf@zeus:~$ export PS1="$USER@$HOSTNAME:$PWD $ "
krusaf@zeus:/home/krusaf $ cd ..
krusaf@zeus:/home/krusaf $ pwd
/home
krusaf@zeus:/home/krusaf $ export PS1="\$USER@\$HOSTNAME:\$PWD \$ "
krusaf@zeus:/home $ cd
krusaf@zeus:/home/krusaf $ pwd
/home/krusaf 

Mais il est possible d'intégrer de la couleur. Il suffit de rajouter des séquences d'échappement.

Couleur : Texte-Arrière-plan

  • Noir : 30- 40
  • Rouge : 31-41
  • Vert : 32-42
  • Jaune : 33-43
  • Bleu : 34-44
  • Magenta : 35-45
  • Cyan : 36-46
  • Blanc : 37-47

Voici la variable PS1 que j'utilise : export PS1="[\033[0;32;40m\$USER\033[0m@\$HOSTNAME:\$PWD \$ "

On distingue la séquence d'échappement avec le code couleur vert en premier, suivi du login puis encore d'une séquence d'échappement pour enlever la couleur. Cela écrirait donc login en vert suivi de @la_machine:chemin_courant. une chose qui peut être pratique est de mettre le login utilisateur en vert mais pour l'admin, le mettre en rouge.

A vos claviers ;)

mercredi, août 27 2008

Installer Flash 10 rapidement sous ubuntu

Encore un petit shell pour aider les débutants ;) J'ai suivi les explications du site de Korben, rien de plus, rien de moins. Je teste évidemment tous mes shells avant d'en faire profiter.

install_flash10.shCe shell n'a par contre été testé que sur ubuntu Hardy.

mercredi, mai 14 2008

Modifier les couleurs de la commande ls

La commande ls accepte l'option -color qui permet de repérer plus facilement les fichiers en fonction de leurs types. La commande ls --color permet d'activer les couleurs simplement (sans parler d'un éventuel alias). (Des alias existent par défaut sur ubuntu dans le fichier ~/.bashrc)


Jusque là tout va bien mais parfois les couleurs ne sont pas des plus aisées à lire lorsque son écran est à contre jour. Bref,on peut les modifer sans trop de difficultés.

Pour obtenir la configuration courante :
$ dircolors -p > ~/.ls_couleur

La commande dircolors permet de lister la configuration des couleurs. Vous pouvez éditer le fichier ~/.ls_couleur que nous venons de créer.

Il existe deux façons d'associer une couleur à un fichier. La première consiste à déterminer une couleur en fonction du type de fichier. Les types valides sont les suivants :

NORMAL
: il ne s'agit pas d'un type mais plus exactement de la valeur par défaut

FILE
: fichier normal

DIR
: répertoire

LINK
: lien symbolique

FIFO
: tuyaux

SOCK
: socket

BLK
: fichier périphérique en mode bloque

CHR
: fichier périphérique en mode caractères

ORPHAN
: lien symbolique orphelin (pointant vers un fichier inexistant)

EXEC
: fichier possédant une permission d'exécution

FILE
00 # Fichiers normaux sans attribut spécifique

DIR
01;34 # Répertoire en gras, couleur bleue

.tar
01;31 # Fichiers TAR en gras, couleur rouge

.tgz
01;31 # idem

.arj
01;31 # idem

Les codes d'attributs :

00=aucun, 01=gras, 04=souligné, 05=clignotant, 07=inversé, 08=caché

Les couleur d'avant plan :

30=noir, 31=rouge, 32=vert, 33=jaune, 34=bleu, 35=magenta, 36=cyan, 37=blanc

Les codes de couleurs d'arrière plan :

40=noir, 41=rouge, 42=vert, 43=jaune, 44=bleu, 45=magenta, 46=cyan, 47=blanc

Il est possible de combiner plusieurs de ces codes comme dans notre exemple pour obtenir plus de couleurs (gras + couleur).

Une fois le fichier de configuration personnalisé, il faut le faire interpréter par l'utilitaire dircolors. Ainsi, nous pourrons obtenir la définition de la variable d'environnement LS_COLORS dont ls se sert.

Tapez la commande suivante :

$ dircolor ~/.ls_couleur

$ LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;33:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.deb=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.mpg=01;37:*.avi=01;37:*.gl=01;37:*.dl=01;37:';

$ export LS_COLORS

Et le tour est joué !

$ eval `dircolors ~/.ls_couleur`

Cette ligne devra être incluse dans votre fichier .profile (ou .bashrc ou ncore .bash_profile selon votre distribution/configuration).



jeudi, février 21 2008

La commande pax

Tout le monde ou presque connaît la commande tar et gzip. Oui elles sont pratiques et très utilisées. Cependant, quant-on travaille dans des environnements très hétérogènes, on se heurte régulièrement à des problèmes de compatibilités des différents formats :

  • Le tar sun n'est pas compatible avec le tar GNU
  • Un fichier créé avec un tar GNU 1.14 a de fortes chances d'être mal "détarré" par un tar GNU 1.13
  • ...

Mais il existe une solution méconnue : la commande pax ! Cette commande permet de créer des archives et assure la compatibilité même entre différents systèmes (SUN,linux ...).

Exemple type :

krusaf@ares:~$ pax -w photoblog > /tmp/test.pax 
krusaf@ares:~$ cd /tmp
krusaf@ares:/tmp$ ls photoblog
ls: photoblog: Aucun fichier ou répertoire de ce type
krusaf@ares:/tmp$ cat test.pax | pax -r
krusaf@ares:/tmp$ ls photoblog/
00014.jpg           blog_panorama_aubrac.jpeg     _MG_0313.xcf
00014.xcf           blog_saut_de_la_mounine.jpeg  _MG_0386.xcf
00048.xcf           blog_ttiffouille.jpeg         _MG_0393.xcf
00085.xcf           GuiGui2.jpg                   _MG_0474.jpeg
blog_00014.jpg      GuiGui.jpg                    _MG_0474.xcf
blog_00048.jpeg     IMG_0015.CR2                  Moto.jpg
blog_00085.jpeg     IMG_0015.jpeg                 panorama_aubrac.xcf
blog_IMG_0015.jpeg  IMG_0120_2.jpeg               pont_st_pierre.jpeg
blog_MG_0313.jpeg   IMG_0120_2.xcf                pont_st_pierre.xcf
blog_MG_0386.jpeg   IMG_0120.xcf                  result.xcf
blog_MG_0393.jpeg   IMG_0132.jpeg                 ttiffouille.jpeg
blog__MG_0474.jpeg  IMG_0132.xcf                  ttiffouille.xcf

samedi, novembre 24 2007

GPG Error & APT

En ayant fait un "sudo apt-get update", vous êtes peut-être tombé sur l'erreur suivante :

W: GPG error: http://download.tuxfamily.org feisty Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 2D6CFB44DD800CD9
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.

Ce n'est qu'un problème de signature qui peut être facilement arrangé en ajoutant la signature au système apt (on peut dire ça comme ça ? )

La clé est affichée dans le message d'erreur : 2D6CFB44DD800CD9 Pour ajouter la clé, voici la commande à taper :

krusaf@ares:~$ gpg --recv-key 2D6CFB44DD800CD9
gpg: requête de la clé DD800CD9 du serveur hkp subkeys.pgp.net
gpg: clé 81836EBF: clé publique « Treviño (3v1n0) <trevi55@gmail.com> » importée
gpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèle
de confiance PGP
gpg: profondeur: 0  valide:   2  signé:   0
confiance: 0-. 0g. 0n. 0m. 0f. 2u
gpg: la prochaine vérification de la base de confiance aura lieu le 2011-10-09
gpg: Quantité totale traitée: 1
gpg:               importée: 1

Par défaut, ça marhe chez moi mais vous aurez peut-être besoin de spécifier le serveur de clé :

krusaf@ares:~$ gpg --keyserver pgpkeys.mit.edu --recv-key 8BB73F9E1D59E694
gpg: requête de la clé 1D59E694 du serveur hkp pgpkeys.mit.edu
gpg: clé 1D59E694: clé publique « Cyril Lavier (Davromaniak) <cyril.lavier@gmail.com> » importée
gpg: Quantité totale traitée: 1
gpg:               importée: 1

II ne reste plus qu'a ajouter la clé au niveau d'apt :

krusaf@ares:~$ gpg -a --export 2D6CFB44DD800CD9 | sudo apt-key add -
OK

lundi, novembre 19 2007

Playstation 3 & Linux

Depuis quelques jours, je suis l'heureux possesseurs d'une playstation 3. Ayant banni windows depuis longtemps, je recherche une solution pour monter un serveur upnp et dnla afin de lire mes mp3 (voir ogg) + vidéos stockées sur ma petite ubuntu.

Non je n'ai pas la solution miracle mais j'ai fais pas mal de recherches et je m'en vais vous les exposer. Si par chance, vous avez réussi de votre côté, je serai bien heureux de compléter ce présent billet !

Passons aux choses serieuses. La playstation 3 permet de rechercher des serveurs multimédia sur le réseau local et d'en lire les photos, musique (wav d'origin peut-être ?) et vidéos (sous certains formats, pas encore divx mais ca sera arranger dans un futur firmware).

J'ai installé plusieurs serveurs :

mediathomb : Je vois le serveur depuis la PS3, j'accède aux photos mais les MP3, pas moyen de les lire. Je pense que els vodés fonctionnent mais pas tous les formats.

ushare : idem

fuppes : J'ai procédé ainsi :

Attention, il faut installer les pré-requis suivants :

sudo apt-get install libtwolame-dev liblame-dev libmpcdec-dev  libvorbis-dev libflac-dev libmagick++9-dev uuid-dev libtag1-dev libavformat-dev  libflac++-dev libdlna-dev libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev
svn co http://fuppes-svn.ulrich-voelkel.de/trunk fuppes
cd fuppes
autoreconf -iVf
./configure --prefix=/usr
make
sudo make install
fuppes

Une fois fuppes exécuté sous une console, une url s'affichera vous permettant de configurer fuppes (spécifier les répertoires à partager ...). J'avais placé paas mal d'espoir sur ce logiciel mais ... toujours pas de lecture des MP3 :(

Je n'ai testé que cela. Il en existe d'autres, je les listerai plus tard ^^ (et les testerai ... quand l'envie viendra ;) )

Technique pour convertir une vidéo au format de la play :

sudo apt-get install gpac

Et le petit script qui va bien :

#!/bin/sh
##Released under the GPL.
## www.subvida.com
## Carlos Rivero
function usage {
cat eof $0 inputFile outputFile bitrate
where
    inputFile: The video to convert
    outoutFile: The output video
    bitrate: bitrate for the output (ex: 2000)
EOF
exit 1
}
[ $# -lt 3 ] && usage

echo "EXECUTING COMMAND: mencoder $1 -ovc x264 -oac faac -x264encopts subq=6:pass=1:bitrate=$3:bframes=3:partitions=p8x8,b8x8,i4x4:weight_b:threads=auto:nopsnr:nossim:frameref=3:mixed_refs:bime:brdo:level_idc=41:direct_pred=auto:trellis=1 -o "$2.avi""
echo "Now converting to AVC.  This will take the most time." + `date`

mencoder $1 -ovc x264 -oac faac -x264encopts subq=6:pass=1:bitrate=$3:bframes=3:partitions=p8x8,b8x8,i4x4:weight_b:threads=auto:nopsnr:nossim:frameref=3:mixed_refs:bime:brdo:level_idc=41:direct_pred=auto:trellis=1 -o "$2.avi"

echo "Now converting avi to MP4, due to limitations."
MP4Box -aviraw video $2.avi
MP4Box -aviraw audio $2.avi
mv $2_audio.raw $2_audio.aac
MP4Box -add $2_audio.aac -add $2_video.h264 $2.mp4

Je n'ai pas testé le script. Si jamais vous le testez, et que ça ne fonctionne pas, je veux bien y jeter un oeil.

dimanche, septembre 30 2007

La commande diff

La commande diff permet de comparer des fichiers lignes par lignes. Il y a notamment l'option -r qui permet de comparer de manière récursive, tous les fichiers et aussi les fichiers inclus dans les sous dossiers ... Là où ça pêche, c'est lorsqu'il s'agit de comparer deux liens morts. Le diff retourne une erreur. En effet, la commande ne va pas pouvoir ouvrir les fichiers puisque le lien est mort mais d'un autre côté, pourquoi y aurait-il une erreur si mes deux liens morts sont identiques. On lui demande les différences entre deux dossiers :

[krusaf@ares tmp]$ ll
total 0
[krusaf@ares tmp]$ mkdir test_diff
[krusaf@ares tmp]$ cd test_diff/
[krusaf@ares test_diff]$ touch a b c
[krusaf@ares test_diff]$ ln -s b d
[krusaf@ares test_diff]$ ln -s e f
[krusaf@ares test_diff]$ ll
total 0
-rw-rw----  1 krusaf sgc 0 sep 25 13:30 a
-rw-rw----  1 krusaf sgc 0 sep 25 13:30 b
-rw-rw----  1 krusaf sgc 0 sep 25 13:30 c
lrwxrwxrwx  1 krusaf sgc 1 sep 25 13:31 d -> b
lrwxrwxrwx  1 krusaf sgc 1 sep 25 13:31 f -> e
[krusaf@ares test_diff]$ cd ..
[krusaf@ares tmp]$ cp -r test_diff/ test_diff2
[krusaf@ares tmp]$ diff -rq test_diff test_diff2
diff: test_diff/f: Aucun fichier ou répertoire de ce type
diff: test_diff2/f: Aucun fichier ou répertoire de ce type

- page 1 de 2