Faire un miroir avec apt-mirror de raspberry.org

Je ne vais pas vous réexpliquer comment faire un miroir local, mais comment arriver à faire un miroir pour le raspberry Pi.

Si vous essayez d’utiliser apt-mirror sur une version plus ancienne que Quantal, vous aurez une erreur disant que apt-mirror ne peut localiser le dépôt arm (binary-arm/Packages.gz). Or, il devrait chercher armhf (binary-armhf/Packages.gz)!

Il suffit d’aller modifier /usr/bin/apt-mirror avec un éditeur quelconque pour modifier la ligne 269 ainsi:

remplacer

if($config_line =~ /deb-(alpha|amd64|armel|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {
par

if($config_line =~ /deb-(alpha|amd64|armel|armhf|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {

en fait, on rajoute armhf avant arm, afin qu’il ne s’arrête pas sur la première correspondance, qui serait incomplète.

Sauvegardez, et ajoutez ensuite dans le fichier /etc/apt/mirror.list la ligne suivante:

deb-armhf http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi

Il ne vous reste plus qu’à lancer apt-mirror pour créer votre miroir local et accélérer le téléchargement des paquets de votre Raspberry Pi.

Ubuntu: faire fonctionner la carte Ethernet Atheros AR8151

Ethernet controller [0200]: Atheros Communications AR8152 v2.0 Fast Ethernet [1969:2062] (rev c1)

Les derniers pilotes Athéros ne sont pas disponibles. Le serveur semble down ou cassé, mais il est possible d’installer les drivers pour faire fonctionner cette carte réseau grâce à un forum allemand.

Installons d’abord les éléments nécessaires

sudo apt-get install --reinstall linux-headers-$(uname -r) build-essential

Nous allons ensuite installer DKMS pour installer le module

sudo apt-get install --reinstall linux-headers-$(uname -r) build-essential dkms        # s'ils ne sont pas déjà installés
## Pour Ubuntu 10.04
wget http://media.cdn.ubuntu-de.org/forum/attachments/2666793/AR81Family-linux-v1.0.1.14_dkms.tar.gz
sudo tar xvf AR81Family-linux-v1.0.1.14_dkms.tar.gz -C /usr/src
 
# Pour Ubuntu 10.10 et supérieur
wget http://media.cdn.ubuntu-de.org/forum/attachments/2666793/AR81Family-linux-v1.0.1.14_10.10.tar.gz
sudo tar xvf AR81Family-linux-v1.0.1.14_10.10.tar.gz -C /usr/src

Création du module et installation

sudo dkms add -m atl1e -v 1.0.1.14
sudo dkms build -m atl1e -v 1.0.1.14
sudo dkms install -m atl1e -v 1.0.1.14

Chargement du module et test

sudo modprobe atl1e
dmesg | egrep 'atl1e|eth'
ifconfig -a

Malheureusement, l’archive pour 10.10 et supérieurs n’est plus disponible sur ce site. Je met donc au moins l’archive pour 10.04 à disposition sur le mien au cas où elle disparaitrait

AR81Family-linux-v1.0.1.14_dkms.tar

Source: http://forum.ubuntuusers.de/topic/lan-geht-nicht-wlan-schon/#post-2666793

Convertir un carnet d’adresse LDIF en VCF (Thunderbird vers Roundcube)

Thunderbird exporte son carnet d’adresses en format LDIF ou CSV ou  TSV. Or, quand on veut importer son carnet d’adresses dans Roundcube qui n’importe que le format VCF, on est un peu coincé…

Du coup, j’ai écrit rapidement un petit programme python qui fait la conversion (ldif2vcf.py) d’un carnet d’adresses rapidement, puisque je n’ai pas trouvé de solution sur le net ((vive les formats ouverts!)).

Comme il est destiné à Roundcube et que celui ci n’utilise pas (pour l’instant) tous les champs disponibles dans une vcard, seules sont converties les informations de nom, prénom, nom à afficher et adresse mail principale. Par conséquent, si vous voulez l’utiliser pour autre chose, ne vous étonnez pas si toutes les informations ne sont pas récupérées dans le fichier de sortie ((mais la modification de code serait simple pour tout récupérer)).

Le fonctionnement est simple: vous indiquez le fichier d’entrée (.ldif) avec l’option « -f » et le fichier de sortie (.vcf) avec l’option « -o« . Si vous n’indiquez pas de fichier de sortie, le résultat s’affiche à l’écran.

Il faut bien sûr exporter préalablement votre carnet d’adresses depuis Thunderbird quelque part sur votre ordinateur.

exemple:

python ldif2vcf.py -f /tmp/adresses_personnelles.ldif

ou

python ldif2vcf.py -f /tmp/adresses_personnelles.ldif -o /tmp/sortie.vcf

L’option « -h » affiche une aide succincte.

Netspeed: monitorer l’activité réseau sur Gnu/Linux

Voici Netspeed, une applet permettant de monitorer l’activité de votre (ou vos) carte réseau d’un seul coup d’oeuil.

Pour l’installer:

sudo apt-get install netspeed

Ensuite, un clic droit sur l’une de vos barres d’outils et Ajouter au tableau de bord

Ce qui vous donnera ceci:

Enfin, clic droit sur l’applet sur le tableau de bord pour sélectionner les préférences (en particulier la carte réseau) et pour voir les détails sous forme de graphique du périphérique

Mine de rien, c’est un programme pratique pour vérifier que les échanges sur le réseau se font bien à la vitesse attendue et aider à déterminer si un ralentissement provient du réseau ou de la machine. Je sais qu’il existe des outils plus puissants en ligne de commande, mais il est parfois nécessaire que des néophytes sachent constater par eux même certains éléments, et Netspeed est simple et rapide à utiliser pour eux.

[Apache2] Résoudre « Code d’erreur : ssl_error_rx_record_too_long »

En essayant de paramétrer un site en SSL sur Lucid, j’ai obtenu cette erreur de la part de Firefox ((à noter qu’Opera donne un autre type d’erreur, mais que je ne l’ai pas notée (erreur fatale 550, si ma mémoire est bonne) )). Erreur qui ne veut rien dire par elle même et une recherche sur le net ne vous donnera que peu de résultat au vu de la variété de réponses, parfois loufoques.

La première chose à faire est de vous assurer que le serveur réponde bien en HTTPS et non en HTTP, et de faire un GET:


telnet 82.XXX.XXX.XXX 443
Trying 82.XXX.XXX.XXX...
Connected to 82.XXX.XXX.XXX.
Escape character is '^]'.
GET /
<html>
<body>

<h1>It works !</h1>
<br />
</body>
</html>
Connection closed by foreign host.

Si vous obtenez du code html, comme c’est le cas ci dessus , au lieu d’une bouillie de caractères (ou de …rien), c’est que vous n’êtes pas en HTTPS mais en HTTP tout court.
Or, comme firefox s’attend à recevoir un certificat dont la longueur est faible, mais qu’il reçoit le code html complet d’une page, forcément il dit que c’est trop long.

Ce qui se trouve confirmé par la lecture du fichier /var/log/apache2/error.log:
[Sat Oct 09 14:40:18 2010] [error] [client 10.0.0.1] Invalid method in request \x16\x03
qui dit que la méthode d’accès n’est pas la bonne.

C’est pas très parlant, mais vu que j’ai galéré pour trouvé d’où venait le problème, j’essaye d’en faire profiter les autres.

Ah, au fait! Mon problème venait que dans la conf de mon virtualhost en SSL je mettais l’IP publique, vu que c’est le seul serveur en DMZ et que tout renvoie dessus. Je croyais le firewall transparent, vis à vis d’apache.
Je me trompais. Il faut mettre l’IP sur le réseau local, vu par la carte réseau elle même.
Après, ça va tout de suite mieux.

Se connecter automatiquement à FreeWifi

C’est une astuce trouvée sur webynux (comme quoi c’est intéressant de suivre ses pings) qui permet de s’identifier automatiquement sur le réseau FreeWifi sans avoir à entrer à chaque fois ses codes.

Voici le script à créer dans /etc/NetworkManager/dispatcher.d/freewifi.sh:

#!/bin/sh
 
[ ! -f /sbin/iwconfig -o ! -x /sbin/iwconfig ] && exit 0
[ `/sbin/iwconfig 2>&1|grep -i freewifi|wc -l` -eq 0 ] && logger "Ce n'est pas FreeWifi ..." && exit 0
 
. /etc/freewifi.conf
 
wget -O - --post-data="login=$LOGIN&password=$PASSWORD" "https://wifi.free.fr/Auth" 2>/dev/null|grep "CONNEXION AU SERVICE REUSSIE" 1>/dev/null 2>&1 && logger "Connection FreeWifi OK" && exit 0
logger "Erreur de connection FreeWifi"
exit 0

Rendez ce script exécutable avec la commande:

chmod +x /etc/NetworkManager/dispatcher.d/freewifi.sh

Créez ensuite un fichier /etc/freewifi.conf contenant:

LOGIN=xxxx
PASSWORD=yyyy

C’est tellement pratique!

Dès que j’aurais le temps, j’en ferais un deb pour pouvoir l’installer facilement.

Au passage, ça m’a permis de découvrir la commande logger

Accéder à un serveur MYSQL sur le réseau

Lorsque vous installez un serveur MYSQL (ou un serveur LAMP avec tasksel), celui ci est paramétré par défaut pour n’autoriser que les connexions provenant de localhost, pour des raisons de sécurité.

[root@halter]:# telnet 10.0.0.134 3306
Trying 10.0.0.134...
telnet: Unable to connect to remote host: Connection refused

Si on effectue un scan de port sur l’ordinateur hébergeant le serveur Mysql, on voit bien que le port par défaut de Mysql, le 3306, n’apparait pas. Il est donc impossible de se connecter à se serveur depuis un autre ordinateur du réseau.

[root@halter]:# nmap 10.0.0.134</code>
 
Starting Nmap 4.76 ( http://nmap.org ) at 2010-04-04 15:15 CEST
Interesting ports on vdomaine.com (10.0.0.134):
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
2000/tcp open  callbook
MAC Address: 00:1E:2A:B4:CA:xx (Netgear)

Pour indiquer au serveur qu’il doit autoriser les connexions provenant d’autres ordinateurs du réseau, il faut modifier le fichier de configuration de Mysql, le fichier /etc/mysql/my.cnf et modifier 2 lignes:

La première, dé-commentée par défaut, indique au serveur d’ignorer les requêtes extérieures. Il faut donc la commenter (ou la supprimer)

#skip-external-locking

La seconde indique au serveur sur quelle adresse il faut écouter les requètes. Par défaut, il s’agit de 127.0.0.1. Si vous voulez autoriser le réseau local, n’indiquez pas une adresse réseau mais bien l’adresse du serveur sur le réseau. D’où l’intérêt d’avoir des réglages IP fixes ou des baux permanents attribués par le DHCP. Dans le cas contraire, je vous promet des heures de recherche infructueuses avant de revenir dessus.

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 10.0.0.134

Une fois le serveur Mysql relancé, un nouveau scan montre l’ouverture effective pour Mysql:

[root@halter]:# nmap 10.0.0.134</code>
 
Starting Nmap 4.76 ( http://nmap.org ) at 2010-04-04 15:16 CEST
Interesting ports on vdomaine.com (10.0.0.134):
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
2000/tcp open  callbook
3306/tcp open  mysql
MAC Address: 00:1E:2A:B4:CA:xx (Netgear)

A partir de ce moment, une connexion au serveur a déjà beaucoup plus de chances de réussir:

manu@halter:~$ mysql -p -h 10.0.0.134 -u othtest -P 3306
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 5.1.41-3ubuntu11 (Ubuntu)
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql&gt;

Ce n’est pas une astuce extraordinaire, mais maintenant que j’en ai fait un article, je suis sûr de m’en souvenir et de ne plus perdre une matinée à trouver le problème lorsque je rechangerais mon adressage… Alors, j’imagine que ça sera utile pour d’autres que moi.