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.

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.

samedi, août 9 2008

Obtenir une progress bar avec les commandes cp et mv

Les commandes cp et mv permettent respectivement de copier et déplacer un fichier. Lorsqu'on déplace ou copie un gros fichier, ces commandes n'affichent pourtant pas de progress bar. Il existe néanmoins des patch pour cela. Il suffit donc de compiler les sources une fois patchées. Les commandes font partie du package nommé coreutils.

Druuna explique tout ça très bien et indique aussi que ces opérations ne sont pas noob friendly ;) Et c'est là que je vais rendre la manipulation automatique et bien plus noob friendly. J'ai simplement écris un shell qui se chargera de tout à votre place. Ce shell ne fait que suivre les indications de Druuna en appliquant une modification en plus pour permettre la compilation sous ubntu/debian.

La seule chose que ce script ne fait pas est la vérification des dépendances permettant de compiler coreutils. J'espère quevous me ferez des retours pour que je corrige le script.

mercredi, juillet 16 2008

Les charsets

Il y a peu de temps, j'ai converti tout un site web d'iso en utf8, je vous raconte pas le boulot : - Modification des tables MYSQL niveau structure mais aussi données - Modification de l'encodage des pages web php . - Modification de programmes python, bash ...

C'est pas rien et je tombe de plus en plus sur des soucis d'encodage. Pour PHP, y a tout un tas de fonctions et pour le scripting BASH, il y a :

  • utrac qui permet de détecter le type d'encodage d'un fichier
  • iconv pour convertir un fichier

iconv est très pratique !

lundi, juillet 14 2008

Vi vim ...

Pourquoi les gens utilisent vim en ligne de commande à la place de vi ?

C'est pareille :

krusaf@ares:~$ which vi
/usr/bin/vi
krusaf@ares:~$ which vim
/usr/bin/vim
krusaf@ares:~$ ll /usr/bin/vi /usr/bin/vim
lrwxrwxrwx 1 root root 20 2008-05-11 18:23 /usr/bin/vi -> /etc/alternatives/vi
lrwxrwxrwx 1 root root 21 2008-05-11 18:23 /usr/bin/vim -> /etc/alternatives/vim
krusaf@ares:~$ ll /etc/alternatives/vi /etc/alternatives/vim
lrwxrwxrwx 1 root root 17 2008-05-11 18:22 /etc/alternatives/vi -> /usr/bin/vim.tiny
lrwxrwxrwx 1 root root 17 2008-05-11 18:22 /etc/alternatives/vim -> /usr/bin/vim.tiny

Alors utilisez vi, vous gagnerez un caractère !!!!

PS : Oui ce billet ne sert à rien et est d'une inutilité astronomique ;)

lundi, juin 30 2008

par2 : un utilitaire qui peut être fort utile !

par2 is a program for creating and using PAR2 files to detect damage in data files and repair them if necessary. It can be used with any kind of file.

par2 est une petite application qui permet réparer un(des) fichier(s) qui aurait pu être altérés. Par exemple, je grave un CD de mes sauvegardes et malheureusement, le CD a subit quelques rayures et les fichiers ont été endommagés. je ne peux plus décompresser le fichier. Si j'avais utiliser l'utilitaire par2, j'aurais peut-être pu réparer mes si précieuses sauvegardes.

comment ça marche ? par2 créé simplement quelques fichiers en plus permettant, si le fichier est endommagé, de le réparer. En fait, cest basé sur des calculs de CRC, il me semble avoir étudié ça en IUT ou autre .... :)

Installation (sous debian et dérivé) : apt-get install par2

Créer les fichiers par2 : par2 c fichier.tar (Je prends exemple avec un fichier tar, cela pourrait être autre chose hein ... voirplusieurs fichiers)

Vérifier que le fichier ne soit pas endommagé : par2 v premier_fichier.par2

krusaf@ares:/home/bkp$ ll _etc_20080630_.tar.gz*
-rwx------ 1 root root 3992006 2008-06-30 22:50 _etc_20080630_.tar.gz
-rwx------ 1 root root   40436 2008-06-30 22:50 _etc_20080630_.tar.gz.par2
-rwx------ 1 root root   42500 2008-06-30 22:50 _etc_20080630_.tar.gz.vol000+01.par2
-rwx------ 1 root root   84900 2008-06-30 22:50 _etc_20080630_.tar.gz.vol001+02.par2
-rwx------ 1 root root  129364 2008-06-30 22:50 _etc_20080630_.tar.gz.vol003+04.par2
-rwx------ 1 root root  177956 2008-06-30 22:50 _etc_20080630_.tar.gz.vol007+08.par2
-rwx------ 1 root root  234804 2008-06-30 22:50 _etc_20080630_.tar.gz.vol015+16.par2
-rwx------ 1 root root  308164 2008-06-30 22:50 _etc_20080630_.tar.gz.vol031+32.par2
-rwx------ 1 root root  318484 2008-06-30 22:50 _etc_20080630_.tar.gz.vol063+37.par2
krusaf@ares:/home/bkp$ sudo par2 v _etc_20080630_.tar.gz.par2
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Loading "_etc_20080630_.tar.gz.par2".
Loaded 4 new packets
Loading "_etc_20080630_.tar.gz.vol063+37.par2".
Loaded 37 new packets including 37 recovery blocks
Loading "_etc_20080630_.tar.gz.vol003+04.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "_etc_20080630_.tar.gz.vol015+16.par2".
Loaded 16 new packets including 16 recovery blocks
Loading "_etc_20080630_.tar.gz.vol001+02.par2".
Loaded 2 new packets including 2 recovery blocks
Loading "_etc_20080630_.tar.gz.vol007+08.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "_etc_20080630_.tar.gz.vol031+32.par2".
Loaded 32 new packets including 32 recovery blocks
Loading "_etc_20080630_.tar.gz.vol000+01.par2".
Loaded 1 new packets including 1 recovery blocks

There are 1 recoverable files and 0 other files.
The block size used was 1996 bytes.
There are a total of 2001 data blocks.
The total size of the data files is 3992006 bytes.

Verifying source files:

Target: "_etc_20080630_.tar.gz" - found.

All files are correct, repair is not required.

Réparer un fichier : par2 r premier_fichier.par2

Et pour les allergiques à la ligne de commande ( Merci schyzo) : pypar2 : http://pypar2.silent-blade.org/ gpar2 : http://sourceforge.net/project/show

Biensûr, ce billet ne remplace par le manuel ;) RTFM : man par2

mercredi, mai 14 2008

GdmGreeter à 100%

Si comme moi, l'upgrade vers Hardy heron s'est bien passé mais ne vous permet plus de vous connecter par GDM, il existe des solutions ci-dessous :

En fait, pour bien identifier le problème, connectez-vous en mode console et tapez la commande top. Vous devriez voir le processus gdmgreeter prendre 100% du CPU.

Si les solutions ci-dessus ne fonctionnent pas, je vous conseille de tout sauvegarder (vos fichiers de conf, votre home directory ...) et de refaire l'installation à partir du CD en faisant un formatage. Personnellement, c'est ça qui a marché pour moi. Vous comprenez pourquoi je n'ai aps écris de post depuis un petit momentà présent (bon j'avoue, je n'avis pas non plus grand chose à dire ;) )

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).



- page 1 de 6