Récemment, je me suis acheté un mini-clavier pour contrôller le futur XBMC de mon RaspberryPi... J'ai pris le iClever RII en version Bluetooth, parce que je le vaut bien 
Pour l'utiliser, rien de bien compliqué, on installe 3 paquets, on associe le clavier au Raspberry, et le tour est joué !
Allez, installons les paquets suivants via apt :
apt-get install bluetooth bluez-utils blueman
Cela étant fait, on branche notre dongle Bluetooth (fourni avec le mini-clavier), et on vérifie qu'il est bien là :
pi@raspberrypi ~ $ lsusb Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Ce qui nous intéresse ici est la dernière ligne. Nous pouvons passer à l'étape suivante !
Appuyez maintenant sur la touche "Bluetooth" de votre clavier. Elle se trouve en haut à gauche. Maintenant, on essaye de trouver notre clavier :
hcitool scan
Si votre clavier s'affiche, notez bien son adresse MAC (ex AC:4F:48:78:A2:B3).
Maintenant, nous allons associer notre clavier au Raspberry Pi. La commande suivante va vous demander de saisir un code PIN. Saisissez "0000" puis entrée. Saissez ce même code sur votre clavier (à l'aveugle), puis entrée.
bluez-simple-agent hci0 AC:4F:48:78:A2:B3
Normalement, ça doit être bon. Il ne nous reste plus qu'à valider définitivement notre clavier via les 2 commandes suivantes :
bluez-test-device trusted AC:4F:48:78:A2:B3 yes bluez-test-input connect AC:4F:48:78:A2:B3
Testez, votre clavier est maintenant fonctionnel. Bonne utilisation !
Ça faisait un petit moment que je n'avais rien publié ici ! Pour cause, je n'avais rien de réellement concret à vous dire ! En revanche, je viens d'installer Debian Wheezy sur mon Zenbook, et je constate avec amertume (c'es le mot) que je bénéficie d'Iceweasel 10...
Pour avoir la dernière version d'Iceweasel (la 20.0, qui est sortie il y a quelques jours), voici ce que j'ai fait.
Éditez votre fichier /etc/apt/sources.list et ajoutez-y cette ligne :
deb http://ftp.fr.debian.org/debian experimental main
Et on installe notre version expérimentale :
apt-get update ; apt-get install -t experimental iceweasel
Et là, surprise, vous bénéficiez d'Iceweasel 20 !
Notez bien qu'en cas de dist-upgrade (apt-get dist-upgrade), vous passerez tout votre système en experimental. Pour plus de sécurité, une fois qu'Iceweasel est bien mis à jour, vous pouvez commenter la ligne dans /etc/apt/sources.list ;).
.Ça faisait un petit moment que je n'avais rien publié ici ! Pour cause, je n'avais rien de réellement concret à vous dire ! En revanche, je viens d'installer Debian Wheezy sur mon Zenbook, et je constate avec amertume (c'es le mot) que je bénéficie d'Iceweasel 10...
Pour avoir la dernière version d'Iceweasel (la 20.0, qui est sortie il y a quelques jours), voici ce que j'ai fait.
Éditez votre fichier /etc/apt/sources.list et ajoutez-y cette ligne :
deb http://ftp.fr.debian.org/debian experimental main
Et on installe notre version expérimentale :
apt-get update ; apt-get install -t experimental iceweasel
Et là, surprise, vous bénéficiez d'Iceweasel 20 !
Notez bien qu'en cas de dist-upgrade (apt-get dist-upgrade), vous passerez tout votre système en experimental. Pour plus de sécurité, une fois qu'Iceweasel est bien mis à jour, vous pouvez commenter la ligne dans /etc/apt/sources.list ;).
.Récemment, j'ai eu besoin d'afficher le nombre de tables d'une base MySQL 5.X. Je voulais éviter de faire du Bash à outrance et extraire la donnée directement depuis MySQL... Même si le Bash, c'est bon, mangez-en.
Allez, on commence par la requête :
SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';
mysql> SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal_4'; +-------------------+ | count(table_name) | +-------------------+ | 143 | +-------------------+ 1 row in set (0.00 sec)
Maintenant, l'idée est d'obtenir l'information directement en Bash :
mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1
Résultat :
usr@srvmysql # mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1 143
Voilà !
Récemment, j'ai eu besoin d'afficher le nombre de tables d'une base MySQL 5.X. Je voulais éviter de faire du Bash à outrance et extraire la donnée directement depuis MySQL... Même si le Bash, c'est bon, mangez-en.
Allez, on commence par la requête :
SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';
mysql> SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal_4'; +-------------------+ | count(table_name) | +-------------------+ | 143 | +-------------------+ 1 row in set (0.00 sec)
Maintenant, l'idée est d'obtenir l'information directement en Bash :
mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1
Résultat :
usr@srvmysql # mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1 143
Voilà !
Levez la main si vous vous reconnaissez : vous avez sur votre laptop une quantité faramineuse d'alias Linux, qui facilitent grandement votre douce vie au sein de votre terminal favori. Seulement voilà, sauvegarder son fichier .bash_aliases, c'est lourd, et peu pratique. Pire, vous vous retrouvez sur votre PC de boulot, et là, plus aucun alias.

Voici un service Web que je viens de découvrir, qui se nomme Alias.sh. Ce service, comme son nom l'indique est une plateforme de partage et de synchronisation d'alias de commandes !

Pour l'instant, il n'y a pas énormément d'alias, mais ça grimpe vite ! Et chose pratique, vous pouvez ajouter les vôtres, les synchroniser, et découvrir ceux des autres utilisateurs. Par exemple, mes alias sont disponibles à cette adresse.
Une fois inscrit sur le site, vous pourrez récupérer vos alias en local via cette commande :
wget -q -O - "$@" https://alias.sh/user/415/alias >> ~/.bash_aliases
415 étant mon ID utilisateur ;).
Voici également un alias permettant de mettre à jour votre fichier d'alias :
alias update-aliases="wget -q -O - \"$@\" https://alias.sh/user/$ALIAS_SH_USER_ID/alias > ~/.bash_aliases && source ~/.bash_aliases"
N'oubliez pas de modifier votre fichier .bashrc en y ajoutant cette ligne :
ALIAS_SH_USER_ID=415
Bref, un petit service bien pratique ! N'hésitez pas à partager vos alias !
Levez la main si vous vous reconnaissez : vous avez sur votre laptop une quantité faramineuse d'alias Linux, qui facilitent grandement votre douce vie au sein de votre terminal favori. Seulement voilà, sauvegarder son fichier .bash_aliases, c'est lourd, et peu pratique. Pire, vous vous retrouvez sur votre PC de boulot, et là, plus aucun alias.

Voici un service Web que je viens de découvrir, qui se nomme Alias.sh. Ce service, comme son nom l'indique est une plateforme de partage et de synchronisation d'alias de commandes !

Pour l'instant, il n'y a pas énormément d'alias, mais ça grimpe vite ! Et chose pratique, vous pouvez ajouter les vôtres, les synchroniser, et découvrir ceux des autres utilisateurs. Par exemple, mes alias sont disponibles à cette adresse.
Une fois inscrit sur le site, vous pourrez récupérer vos alias en local via cette commande :
wget -q -O - "$@" https://alias.sh/user/415/alias >> ~/.bash_aliases
415 étant mon ID utilisateur ;).
Voici également un alias permettant de mettre à jour votre fichier d'alias :
alias update-aliases="wget -q -O - \"$@\" https://alias.sh/user/$ALIAS_SH_USER_ID/alias > ~/.bash_aliases && source ~/.bash_aliases"
N'oubliez pas de modifier votre fichier .bashrc en y ajoutant cette ligne :
ALIAS_SH_USER_ID=415
Bref, un petit service bien pratique ! N'hésitez pas à partager vos alias !
Ayant récemment passé à Systemd, je n'en suis pas pour autant plus convaincu... Systemd semble plus complexe à gérer, mais passons. Je cherchais à le moyen de lancer un script au démarrage. Croyez-moi, c'est un peu plus compliqué avec Systemd qu'avec l'ancien système init !
Nous allons utiliser les scripts "rc", gràce au paquet "initscripts-systemd" :
yaourt initscripts-systemd
Une fois le paquet installé, utilisez le fichier /etc/rc.local et placez-y les commandes à exécuter au boot :).
De même, utilisez /etc/rc.local.shutdown pour exécuter des commandes pendant la séquence d'arrêt ;).
Ayant récemment passé à Systemd, je n'en suis pas pour autant plus convaincu... Systemd semble plus complexe à gérer, mais passons. Je cherchais à le moyen de lancer un script au démarrage. Croyez-moi, c'est un peu plus compliqué avec Systemd qu'avec l'ancien système init !
Nous allons utiliser les scripts "rc", gràce au paquet "initscripts-systemd" :
yaourt initscripts-systemd
Une fois le paquet installé, utilisez le fichier /etc/rc.local et placez-y les commandes à exécuter au boot :).
De même, utilisez /etc/rc.local.shutdown pour exécuter des commandes pendant la séquence d'arrêt ;).
Une directive intéressante de SSH est "Match", qui permet de faire des sortes de conditions... Dans mon cas, j'avais besoin d'autoriser la connexion en root uniquement depuis une IP... Allons jouer avec la configuration d'OpenSSH...
Éditez /etc/ssh/sshd_config :
À la fin, ajoutez ce bloc :
Match Address 192.168.2.45 PermitRootLogin yes Match Address * PermitRootLogin no
Que fait ce bloc : si on notre connexion SSH vient de l'IP 192.168.2.45, on pourra se connecter en root (à condition d'avoir le mot de passe, ou d'y avoir paramétré sa clé SSH). Par contre, si on vient de toute autre adresse, pas de connexion en tant que root...
Hop, restart d'OpenSSH, et on teste :
/etc/init.d/ssh restart
[192.168.0.1] jeoffrey@arch ~ $ ssh root@mail root@srvdev1.mind-lab.eu's password: Permission denied, please try again. [192.168.2.45] jeoffrey@ubu ~ $ ssh root@mail root@mail's password: Last login: Thu Dec 20 09:46:51 2012 from ubu root@mail ~ # logout