Screen le « multiplexeur de terminaux »

Screen est un « multiplexeur de terminaux » permettant d’ouvrir
plusieurs terminaux dans une même console, de passer de l’un à l’autre
et de les récupérer plus tard.
screen
installation
$ sudo apt-get install screen

Créer nouveau screen
$ screen
CTRL+a  (relâcher) c
$ screen -S toto1  (pour nommer le screen)

Détacher le screen (obligatoire pour récupérer le screen d’un autre poste)
$ screen -d
ou
CTRL+a  (relâcher) d

Réouvrir le screen (unique)
$ screen -r                 (cas fenetre unique)
$ screen -r  10586      (le screen n°10586)
$ screen -p pluton       (le screen nommé pluton)

Lister les screens de créer
$ screen -ls

Basculer entre screens
CTRL+a  (relâcher) N (où N correspond au numéro de la fenêtre)

Visualiser un screen sur 2 pc (et plus)
créer un screen “toto” sur le pc1
afficher ce screen sur le pc2 avec la commande : $ screen -x toto

Tuer un screen quand on est dedans
$ screen -a (pour l’attacher)
$ exit (pour le tuer et revenir sur le terminal)

Tuer un screen depuis la session générale
$ screen -X -S 28250 kill

Quitter un screen bloqué:
CTRL+a  (relâcher) k

Fail2Ban utilise plus de 90% du CPU

Ce soir je me connecte sur mon serveur Raspberry Pi pour faire un peu de maintenance. Un petit tour sur HTop pour voir comment ronronne le moteur et que vois-je …. 90% du CPU qui travaille pour Fail2Ban!

htop

hypothèse 1 : Une attaque des robots chinois? Je ferme tous les ports, mais le CPU est toujours aussi accaparé!
hypothèse 2 : J’arrête transmission, le CPU bronche pas, toujours aussi haut.
hypothèse3 : Je mets à jour le système en arrêtant transmission car il gênait yaourt qui avait besoin d’un peu de CPU! Mais au redémarrage toujours la même histoire :-/
hypothèse4 : J’ai alors l’idée qu’il travaille vraiment trop pour un pauvre petit Raspberry Pi. Ma dernière intuition était la bonne, car après quelques recherches il existe la commande : ulimit -s 256 à rajouter à la fin du fichier fail2ban.conf pour adapter l’utilisation de fail2ban à la mémoire d’un système à faible mémoire.

Manipulations:

Edition du fichier fail2ban :
$ sudo nano /etc/fail2ban/fail2ban.conf
Ajouter à la fin du fichier :
ulimit -s 256
(si votre système à 256 Mo de mémoire vive par exemple)
Recharger les modifications dans systemd :
$ sudo systemctl daemon-reload

Comment installer son Raspberry Pi sur un disque dur externe

Comment installer son Raspberry Pi sur un disque dur externe

raspberrypi-dd-externe

Je vous ai déjà parlé de l’installation d’un Raspberry Pi sous Arch Linux dans l’article Projet Hexapode – Part 1 – installation d’Arch Linux sur Raspberry Pi. Cette fois-ci l’enjeu est de sauvegarder votre précieuse carte SD qui n’a que peu de temps à vivre (entre 10 000 et 100 000 écritures suivant votre carte) en utilisant un disque dur externe relié par USB sur le Raspberri Pi (voir la photo ci-dessus). Ce tutoriel peut très bien être réalisé avec une clef USB au lieu d’un disque dur externe.

 

Ne pas se tromper sur le disque dur externe pour le raspberry

Lors de votre choix de disque dur externe plusieurs solutions s’offrent à vous mais certaines ne marcheront pas:

  • Disque dur externe auto-alimenté par un hub externe avec alimentation : ce type de disque dur externe a une connectique avec une reprise d’alimentation qui devra être branchée au hub. Cette solution est de loin la meilleure car l’alimentation fournie au disque dur externe sera stable et vous pourrez aussi alimenter votre Raspberry Pi via le hub. Si vous recherchez une solution fiable je vous conseille le PiHub de Pimoroni.

pihubPiHub de Pimoroni

  • Disque dur externe auto-alimenté par secteur + Raspberry Pi alimenté par secteur : cette solution marche très bien et permet d’être assez compacte. C’est celle-ci que j’ai installée.
  • Disque dur externe auto-alimenté par un hub externe sans alimentation relié au Raspberry Pi : Cette solution ne marchera pas car la tension délivrée par le Raspberry Pi ne délivre pas assez d’ampères pour faire marcher un disque dur externe. Le disque dur externe s’allumera, mais ne sera pas reconnu par la commande “fdisk -l”. Toute fois, cette solution permet d’alimenter une clef wifi, une webcam ou une clef USB.

usb-autoalimentéCâble USB avec reprise d’alimentation

  • Disque dur externe simple : ce type de disque dur a un câble usb simple : une entrée et une sortie USB. Comme dans le cas précédent, il ne sera pas reconnu une fois branché au Raspberry Pi car la tension n’est pas suffisante pour son bon fonctionnement. Dans ce cas de figure aucune solution possible pour ce type de matériel, à moins d’acheter un câble USB avec reprise d’alimentation.

 

Préparation de la carte SD depuis une distribution Linux

sandisk-class-10

La préparation de la carte SD s’effectue depuis un ordinateur installé sous Ubuntu. Les convertis sauront l’adapter à n’importe quelle distribution, et pour les néophytes vous pouvez réaliser la manipulation depuis un live-cd Ubuntu par exemple.

[important] Aparté pour les débutants GNU/Linux : pour créer un live-cd Ubuntu, téléchargez l’image iso à graver sur un cd ici : http://www.ubuntu-fr.org/telechargement. Une fois le cd gravé, redémarrez votre ordinateur en bootant dessus, puis repérez l’application Terminal… vous en aurez vite besoin![/important]

Récupérons depuis un OS Linux, une image d’Arch Linux pour raspberry pi :
$ cd ~/Téléchargements
$ wget http://downloads.raspberrypi.org/arch_latest

L’image téléchargée, nous allons la transférer sur la carte SD avec la commande dd.
Insérez la carte SD dans votre ordinateur et repérons son emplacement avec la commande fdisk :
$ sudo fdisk -l
Disk /dev/sdb: 3980 MB, 3980394496 bytes
[warning] Attention la suite du tutoriel va effacer toutes les données de votre carte SD. Veuillez sauvegarder toutes vos données sur un autre média.[/warning]

J’ai trouvé ma carte SD de 4 Gigas sous /dev/sdb, nous pouvons copier l’image sur la carte :
$ cd ~/Téléchargements
$ unzip archlinux-hf-2013-07-22.img.zip
$ sudo dd if=~/Téléchargements/archlinux-hf-2013-07-22.img of=/dev/sdb

Sortez la carte SD de votre ordinateur un instant car nous en aurons besoin pour la suite.

 

Préparation du disque dur externe depuis une distribution Linux

disque_dur_externe

Veuillez insérer votre disque dur dans votre ordinateur. Nous allons le formater en EXT4. Pour cela, nous pouvons faire de la ligne de commande :-D

Repérons le disque dur :
$ sudo fdisk -l
Disk /dev/sdc: 250.1 GB, 250059350016 bytes

Lançons fdisk sur la partition du disque dur:
$ sudo fdisk /dev/sdc

Une fois dans fdisk, supprimez toutes les partitions existantes en abusant de la touche “d” jusqu’à plus faim!

Maintenant vous pouvez créer la partition avec a touche “n” et choisissez “primaire” dans les options, et validez la taille par défaut qui prendra l’ensemble de l’espace disque. Pour appliquer toutes les modifications finalisez en tapant la touche “w”.

Nous allons maintenant formater la partition primaire créée en EXT4 avec mkfs:
$ sudo mkfs -t ext4 /dev/sdc1

Très belle partition, mais il nous faut la remplir avec la partition “racine” qui pour l’instant est contenue sur la carte SD. Alors insérez votre carte SD qui devrait se retrouver sous /dev/sdb. En détaillant le contenu de la carte SD avec fdisk vous devriez avoir :
/dev/sdb1 2048 186367 92160 c W95 FAT32 (LBA)
/dev/sdb2 186368 3667967 1740800 5 Extended
/dev/sdb5 188416 3667967 1739776 83 Linux

Nous allons donc copier avec l’outil dd, la partition sdb5 (83 Linux) sur le disque dur. Si l’emplacement est différent alors adaptez la commande :)

$ sudo dd if=/dev/sdb5 of=/dev/sdc1

A ce stade le Raspberry Pi boot sur la carte SD mais ne trouve pas la partition contenant l’image du système. Pour cela éditez le fichier cmdline.txt :

$ nano /media/$USER/boot/cmdline.txt
et changez
root=/dev/mmcblk0p5
Par
root=/dev/sda1

Voilà, le disque dur externe et la carte SD sont prêts, vous pouvez les insérer hors-tension dans le Raspberry Pi. Une fois insérés, alimentez le disque dur externe puis le Raspberry Pi.

[important] nb : la suite de l’article reprend mots pour mots l’article Projet Hexapode – Part 1 – installation d’Arch Linux sur Raspberry Pi. Ces étapes sont importantes pour personnaliser et sécuriser votre Raspberry Pi. [/important]

Premier démarrage sous Arch Linux pour RPi

Comme j’ai un bon film à la télé, je vais prendre la main à distance du raspberry pi sur mon pc portable via SSH. Je repère l’IP du raspberry pi à partir de la page de ma (dead)box (http://192.168.1.1). Je lance ainsi depuis mon pc portable sous Linux la commande de connexion SSH:
# ssh root@192.168.1.25
(login: root motdepasse: root)

 

Agrandir la partition racine

Précédemment avec la commande dd nous avons copié le contenu d’une partition de 3 Gigas. La partition primaire du disque dur a donc été redimensionnée à 3 Gigas par dd. Nous allons donc l’agrandir avec la commande resize2fs :
# resize2fs /dev/sda1

 

Changer de mot de passe ROOT

root

Changeons le mot de passe root :
# passwd

Changeons aussi le nom du raspberry pi nommé “alarmpi” en ce que vous souhaitez :
# nano /etc/hosts

Changez “alarmpi” par le nom souhaité. Faites de même dans le fichier hostname:
# nano /etc/hostname

Puis redémarrez :
# shutdown -r now

 

Franchisez votre installation avec les Locales

Décommentez fr_FR.UTF-8 dans le fichier /etc/locale.gen
# nano /etc/locale.gen && locale-gen

Mettons-nous à l’heure de Paris
# ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime (marche?)
#  timedatectl set-timezone Europe/Paris

Première Mise à Jour d’Arch Linux

Mettez à jour Arch avec Yaourt qui est un gestionnaire de dépôts plus intelligent que Pacman car il permet d’installer depuis les dépôts compilés ou depuis AUR.
# pacman -S yaourt
# yaourt -Syu

 

Installation du Package de Développement

Installez le package de développement
# yaourt -S base-devel

 

Sécurisation de SSH

ssh

Sécurisons la connexion SSH avec Fail2ban dans le cas ou vous vous connecteriez à votre raspberry pi depuis l’extérieur!
# yaourt -S fail2ban

Modifiez le fichier de configuration jail.com ainsi :
# nano /etc/fail2ban/jail.com
....
# ignoreip = 127.0.0.1/8
....
[ssh-iptables]
enabled = true
....

Par défaut fail2ban consomme beaucoup de CPU. Heureusement il est possible de le configurer pour notre Raspberry Pi et ses 256 Mo de RAM.
$ sudo nano /etc/fail2ban/fail2ban.conf
Ajouter à la fin du fichier :
ulimit -s 256

Pour que fail2ban démarre en service à chaque démarrage, lancez la commande :

# systemctl enable fail2ban

Nous allons créer un nouvel utilisateur “MonSuperLogin” sans droits “administrateur”. Pour la connexion SSH, c’est tout de même plus sûr:
# useradd -m -s /bin/bash MonSuperLogin
# passwd MonSuperLogin
# usermod -G users, adm, disk, wheel, log MonSuperLogin

Nous allons supprimer la connexion en SSH avec le compte root en modifiant quelques paramètres :
# nano /etc/ssh/sshd_config
Port 15000
PermitRootLogin no
MaxStartups 10:30:100

Redémarrons le service SSH pour prendre en compte les changements:
# systemctl restart sshd

Au redémarrage vous pourrez prendre la main avec la commande :
$ ssh MonSuperLogin@192.168.1.25 -p 15000

Une fois connecté sous l’utilisateur MonSuperLogin, vous pourrez repasser en Root avec la commande :
$ su -

 

Installation de SUDO

Screenshot from 2013-10-29 01:57:33
Installons le programme sudo et inscrivons MonSuperLogin dans le group sudo
# yaourt -S sudo
# groupadd sudo
# usermod -aG sudo MonSuperLogin
# usermod -R user MonSuperLogin

Modifiez le fichier sudoers pour avoir accès aux droits “administrateur”
# nano /etc/sudoers
## Uncomment to allow members of group sudo to execute any command
%sudo ALL=(ALL) ALL

Il faut maintenant se connecter avec le compte MonSuperLogin
# su MonSuperLogin

Vous pouvez par exemple faire une mise à jour ainsi :
$ sudo yaourt -Syu

 

Installation de Transmission

Pour ceux qui voudraient dédiés leur Rapsberry Pi comme serveur torrent voici l’installation de transmission en tant que service :

$ sudo yaourt -S transmission-cli   // installation

$ transmission-daemon   // 1er lancement sous le USER pour générer le fichier de configuration

$ sudo shudown -r now   // redémarrage pour arrêter le service

$ nano ~/.config/transmission-daemon/settings.json   // édition du fichier de config pour mettre nos options

"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/home/linuxmoi/Downloads",
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/home/linuxmoi/Downloads",
"incomplete-dir-enabled": false,
"lpd-enabled": false,
"message-level": 1,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 200,
"peer-limit-per-torrent": 50,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": false,
"port-forwarding-enabled": true,
"preallocation": 1,
"prefetch-enabled": 1,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "MonMotDePassePerso",
"rpc-port": 60001,
"rpc-url": "/transmission/",
"rpc-username": "MonSuperLogin",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": false,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"speed-limit-up": 30,
"speed-limit-up-enabled": true,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-slots-per-torrent": 14,
"utp-enabled": true

$ sudo groupadd transmission // création du groupe transmission qui doit normalement déjà existé
$ sudo gpasswd -a $USER transmission  // ajout du USER dans ce groupe

$ exit  // déconnexion SSH pour recharger le USER avec les droits sur le groupe “transmission”

et reconnexion en ssh sous votre USER

$ sudo cp /usr/lib/systemd/system/transmission.service /etc/systemd/system/  // copie du fichier service dans systemd

$ sudo nano /etc/systemd/system/transmission.service  // édition du fichier pour remplacer le user “transmission”  par le votre

$ sudo systemctl daemon-reload  // recharge des nouveaux paramètres

$ sudo systemctl start transmission  // lancement du service transmission

$ sudo systemctl enable transmission // lancement automatique du service transmission au démarrage

 

Mise à jour automatique de Arch Linux

Je suis feignant de nature et ma nature me dit que je ne vais pas penser à mettre à jour mon serveur toutes les semaines. Comme ce serveur n’est pas critique, même si une mise à jour le casse, en moins d’une heure il sera remis sur pieds. J’ai choisi de la mettre à jour tous les vendredis matins, car je me dis que c’est en fin de semaine que les correctifs sont apportés aux mises à jour bancales ;-) Autant sous Debian Stable mettre des mises à jour automatisées est peu risqué, autant sous Arch Linux c’est vivement déconseillé. Et n’oubliez pas de lire les news avant une mise à jour : https://www.archlinux.org/news/

Installation de Cron:
sudo yaourt -S cron
Démarrons cron :
sudo systemctl start cronie
Inscrivons cron comme un service démarrant avec le système :
sudo systemctl enable cronie

Créons le script de mise à jour:
$ sudo nano /etc/cron.d/pacman.sh
inscrire dedans:
#!/bin/sh
if [ -x /usr/bin/pacman ]; then
/usr/bin/pacman -Syuw --noprogressbar --noconfirm
fi

Note : Par défaut nous sommes sous l’éditeur VI pour remplir le fichier de configuration de cron. Pour écrire, tapez sur le touche “i” (comme insertion), puis faite un bête copier/coller. Après pour sortir de VI en enregistrant, taper la touche <échape> puis écrire “!wq”.

Puis :
$ sudo chmod +x /etc/cron.d/pacman.sh
Editons crontab :
$ sudo crontab -e
Rajoutons une ligne pour réaliser la mise à jour tous les vendredi à 4h du matin :
#min hour day Month Day_Of_Week Command
0 4 * * 5 /etc/cron.d/pacman.sh

Projet Hexapode – Part 1 – installation d’Arch Linux sur Raspberry Pi

Projet Hexapode – Part 1 – installation d’Arch Linux sur Raspberry Pi

hexapod-intel

Cette série d’article concerne un projet que j’ai à coeur, la réalisation d’un hexapode mutifonction. Je dépose son nom : Bagheera. Il sera réalisé avec un Raspberry Pi (RPi). Il sera muni d’une webcam, pas moins de 20 servos moteurs, de quelques capteurs et d’une commande manuelle pour s’amuser!

 

Préparation de la carte SD depuis une distribution Linux

archlinux

Pour la préparation de la carte SD, je décris une méthode utilisée depuis un ordinateur installé sous Ubuntu. Les convertis sauront l’adapter à n’importe quelle distribution, et pour les néophytes vous pouvez réaliser la manipulation depuis un live-cd.

[warning] Aparté pour les débutants GNU/Linux : pour créer un live-cd Ubuntu, téléchargez l’image iso à graver sur un cd ici :  http://www.ubuntu-fr.org/telechargement. Une fois le cd gravé, redémarrez votre ordinateur en bootant dessus, puis repérez l’application Terminal… vous en aurez vite besoin![/warning]

Récupérons depuis un OS Linux, une image d’Arch Linux pour raspberry pi :
$ cd ~/Téléchargements
$ wget http://downloads.raspberrypi.org/arch_latest

L’image téléchargée, nous allons la transférer sur la carte SD avec la commande dd. Prévoyez une carte SD d’au moins 4 Gigas et de classe 10. La classe change réellement les performances du raspberry pi.

Insérez la carte SD dans votre ordinateur et repérons son emplacement avec la commande fdisk :
$ sudo fdisk -l
Disk /dev/sdb: 3965 MB, 3965190144 bytes

J’ai trouvé ma carte SD de 4 Gigas sous /dev/sdb, nous pouvons copier l’image sur la carte :
$ cd ~/Téléchargements
$ unzip archlinux-hf-2013-07-22.img.zip
$ sudo dd if=~/Téléchargements/archlinux-hf-2013-07-22.img of=/dev/sdb

Voilà, la carte SD est prête à intégrer le raspberry pi. Insérez la carte, connectez le réseau et mettez le jus!

 

Premier démarrage sous Arch Linux pour RPi

Comme j’ai un bon film à la télé, je vais prendre la main à distance du raspberry pi sur mon pc portable via SSH. Je repère l’IP du raspberry pi à partir de la page de ma (dead)box (http://192.168.1.1). Je lance ainsi depuis mon pc portable sous Linux la commande de connexion SSH:
# ssh root@192.168.1.25
(login: root motdepasse: root)

 

Changer de mot de passe ROOT

root

Changeons le mot de passe root :
# passwd

Changeons aussi le nom du raspberry pi nommé “alarmpi” en ce que vous souhaitez :
# nano /etc/hosts

Changez “alarmpi” par le nom souhaité. Faites de même dans le fichier hostname:
# nano /etc/hostname

Puis redémarrez :
# shutdown -r now

 

Franchisez votre installation avec les Locales

Décommentez fr_FR.UTF-8 dans le fichier /etc/locale.gen
# nano /etc/locale.gen && locale-gen

Mettons-nous à l’heure de Paris
# ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime

 

Première Mise à Jour d’Arch Linux

Mettez à jour Arch avec Yaourt qui est un gestionnaire de dépôts plus intelligent que Pacman car il permet d’installer depuis les dépôts compilés ou depuis AUR.
# pacman -S yaourt
# yaourt -Syu

 

Installation du Package de Développement

Installez le package de développement
# yaourt -S base-devel

 

Sécurisation de SSH

ssh

Sécurisons la connexion SSH avec Fail2ban dans le cas ou vous vous connecteriez à votre raspberry pi depuis l’extérieur!
# yaourt -S fail2ban

Modifiez le fichier de configuration jail.com ainsi :
# nano /etc/fail2ban/jail.com
....
# ignoreip = 127.0.0.1/8
....
[ssh-iptables]
enabled = true
....

Pour que fail2ban démarre en service à chaque démarrage, lancez la commande :

# systemctl enable fail2ban

Nous allons créer un nouvel utilisateur “MonSuperLogin” sans droits “administrateur”. Pour la connexion SSH, c’est tout de même plus sûr:
# useradd -m -s /bin/bash MonSuperLogin
# passwd MonSuperLogin
# usermod -G users, adm, disk, wheel, log MonSuperLogin

Nous allons supprimer la connexion en SSH avec le compte root en modifiant quelques paramètres :
# nano /etc/ssh/sshd_config
Port 15000
PermitRootLogin no
MaxStartups 10:30:100

Redémarrons le service SSH pour prendre en compte les changements:
# systemctl restart sshd

Au redémarrage vous pourrez prendre la main avec la commande :
$ ssh MonSuperLogin@192.168.1.25   -p 15000

Une fois connecté sous l’utilisateur MonSuperLogin, vous pourrez repasser en Root avec la commande :
$ su -

 

Installation de SUDO

Screenshot from 2013-10-29 01:57:33
Installons le programme sudo et inscrivons MonSuperLogin dans le group sudo
# yaourt -S sudo
# groupadd sudo
# usermod -aG sudo MonSuperLogin
# usermod -R user MonSuperLogin

Modifiez le fichier sudoers pour avoir accès aux droits “administrateur”
# nano /etc/sudoers
## Uncomment to allow members of group sudo to execute any command
%sudo   ALL=(ALL) ALL

Il faut maintenant se connecter avec le compte MonSuperLogin
# su MonSuperLogin

Vous pouvez par exemple faire une mise à jour ainsi :
$ sudo yaourt -Syu

 

Installation du wifi avec la clef D-Link System DWA-131

wifi

L’un des buts du projet est d’avoir une hexapode qui envoie des informations via le wifi sur le net. Pour cela je l’ai muni d’une clef Wifi D-Link System DWA-131.

Vérifions que Arch détecte la clef :
# lsusb | grep Wireless
Bus 001 Device 005: ID 07d1:3303 D-Link System DWA-131 802.11n Wireless N Nano Adapter(rev.A1) [Realtek RTL8192SU]

La clef est bien reconnue comme un modèle de Realtek RTL8192SU. Vérifions que le driver r8712u a bien été chargé :
# dmesg | grep usbcore
[    1.593018] usbcore: registered new interface driver usbfs
[    1.593108] usbcore: registered new interface driver hub
[    1.593405] usbcore: registered new device driver usb
[    1.864650] usbcore: registered new interface driver smsc95xx
[    1.864797] usbcore: registered new interface driver cdc_ncm
[    2.278700] usbcore: registered new interface driver usb-storage
[    2.278867] usbcore: registered new interface driver libusual
[    2.280168] usbcore: registered new interface driver iforce
[    2.326904] usbcore: registered new interface driver usbhid
[    6.218699] usbcore: registered new interface driver snd-usb-audio
[    6.229708] usbcore: registered new interface driver uvcvideo
[    6.870190] usbcore: registered new interface driver r8712u

Vérifions maintenant que l’interface wlan0 a bien été créée :
# ip link
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
qlen 1000 link/ether 28:10:7b:bd:e2:e9 brd ff:ff:ff:ff:ff:ff

Maintenant nous activons l’interface wlan0 :
# ip link set wlan0 up

Vérifions que le noyau Linux a bien chargé le firmware :
# dmesg | grep firmware
[    6.869741] r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"

Installons les outils pour se connecter automatiquement:
# yaourt -S wireless_tools  netcfg

Créons le fichier de configuration pour se connecter sur ma box en wifi:
# cp  /etc/netctl/examples/wireless-open /etc/netctl/
# nano  /etc/netctl/wireless-open
Description='Connexion Wifi sans sécurité'
Interface=wlan0
Connection=wireless
Security=none
ESSID='Le_Nom_De_Ma_Box'
IP=dhcp

il est possible de tester de suite la connexion avec la commande :
# netctl start wireless-open

Vous pouvez valider l’association avec le box et la nouvelle IP avec la commande :
# iwconfig && ifconfig

Pour que la connexion Wifi se réalise automatiquement au démarrage lancez cette commande :
$ sudo netctl enable wireless-open

Pour que des modifications apportées au fichier wireless-open soient prises en compte, lancez la commande :
$ sudo netctl reenable

 

Overclocker son Raspberry Pi

overclocking
Une installation serait pas finie si il n’y avait pas un petit overclocking du système! Heureusement, c’est l’équipe même de Raspberry Pi qui nous indique qu’il est possible d’overclocker en toute sécurité l’ARM en modifiant le fichier :
$ sudo nano /boot/config.txt

Puis décommettez la section :
##Turbo
arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=6

Redémarrez pour prendre en compte les changements:
$ sudo shutdown -r now

Poppy, le projet open-source Humanoide

poppy

Le Lab Flower, association de l’Inria Bordeaux et l’Ensta, a développé un robot dans le même esprit que NAO, afin d’avoir une base d’étude robotique pour les chercheurs, étudiants et hackers. Le but de ces plates-formes robotiques est d’étudier les interactions homme / robot ainsi que robot / environnement.

La force du projet Poppy est d’être un projet Open Source avec une base mécanique abordable (7500€), une librairie PyPot utilisable avec Python et … un Raspberry Pi. Mais rien n’empêche d’utiliser la librairie PyPot sur un montage différent. La librairie est utilisable sous Linux, Maccouille et Windobe.

La vidéo de ce magnifique projet est là :

Tutoriel pour réaliser son auto-hébergement – Part 4 – Installation d’XFCE sous Debian

Tutoriel pour réaliser son auto-hébergement – Part 4 – Installation d’XFCE sous Debian

xfce

Aujourd’hui, place à l’interface graphique! J’ai porté mon choix sur XFCE car c’est l’une des suites logiciels les plus légères et fonctionnelles. De base elle est graphiquement très très classique voir austère, mais avec un peu de transparence, un conky et un bon wallpaper, elle brillera de par son ergonomie et sa rapidité.

Paquets à installer avant XFCE

Voici un petit paquage de programmes à installer avant XFCE afin de ne pas avoir trop de mauvaises surprises.
 $ sudo apt-get install xserver-xorg-video-intel xfonts-base xfonts-100dpi xfonts-75dpi xfonts-scalable alsa-base alsa-utils linux-sound-base alsa-oss oss-compat

 

Installation d’XFCE

Dans le monde Gnu/Linux, lors qu’il est question de bureau, vous pouvez installer “que” le programme gérant le bureau ou la suite logiciel associée. XFCE propose une suite logiciel qui reflète ce compromis entre légèreté et fonctionnalité. J’ai donc intégré la suite logiciel dans l’installation ainsi que les programmes :

  • gdm3 pour le lancement de la session
  • htop qui permet d’observer les processus, le cpu et la mémoire dans un terminal
  • iceweasel qui est le fork libre de Firefox

$ sudo apt-get install xfce4 gdm3 xfce4-terminal htop xfce4-goodies iceweasel mozilla-plugin-vlc

 

Lancement automatique d’XFCE avec GDM

Sur un serveur, je trouve cela bien pratique que la session s’ouvre toute seule. Pour le multimédia, je souhaite que seul la souris sans fil soit utilisée par mes colocataires. Pour cela, nous allons éditer le fichier de configuration de GDM3 :
$ sudo nano /etc/gdm3/daemon.conf
[daemon]
Enabling automatic login
AutomaticLoginEnable = true
AutomaticLogin = mon_super_login

 

De l’apparence d’XFCE

Si vous avez déjà démarré XFCE, vous avez pu constater l’austèrité du thème par défaut.

xfce-presentation

Nous allons y remédier en installant un nouveau thème pour le curseur, les icons gnome et le thème gtk2-engines-murrine:

$ sudo apt-get install dmz-cursor-theme gnome-icon-theme gtk2-engines-murrine

Activez le composite vidéo pour faire des effets de transparence sur les fenêtres ou la barre de menu dans menu > système > gestionnaire des paramètre > Peaufinage des fenêtres :

xfce-param_composite

Pour la barre horizontale du menu, faites un clic-droit > Panel > Panel preferencies et vous aurez accès au réglage de la transparence.

 

Installer un thème depuis XFCE-Look.org

Si vous êtes à court d’idées pour customiser votre bureau, allez faire un tour sur http://xfce-look.org.

xfce-look-org

L’installation est assez simple. Téléchargez le thème qui vous plaît :

  • Télécharger un thème http://xfce-look.org/content/show.php/?content=109573
  • Dézipper le thème sous /home/$USER/.themes
  • Puis le sélectionner avec l’outil d’Apparence d’XFCE (menu > système)

Pour installer de nouveaux icons, le principe est le même, mais le dossier final est /home/$USER/.icons. La sélection des icons se fait aussi avec l’outil d’Apparence d’XFCE.

 

Tutoriel pour réaliser son auto-hébergement – Part 3 – Premières configurations de Debian

Tutoriel pour réaliser son auto-hébergement – Part 3 – Premières configurations de Debian

A la fin de la partie 2, nous nous étions arrêté sur une écran noir et blanc de Debian. Avant de lancer l’installation de l’environnement graphique XFCE, nous allons configurer quelque peu notre Wheezy.

Sudo

Devenir Sudo

Ayant fait mes premières armes sous Ubuntu, je suis un fervent utilisateur de la commande “sudo”, qui permet de lancer une commande en mode Administrateur depuis votre login.

Installons le paquet “sudo” en utilisateur “root” :

$ su
# apt-get install sudo

Maintenant nous allons rajouter notre login (expl : monsuperlogin) au groupe sudo :

# usermod -a -G sudo monsuperlogin
# exit
$ su - monsuperlogin

A ce stade, vous êtes reconnu comme l’utilisateur “monsuperlogin” appartenant au groupe “sudo” (non ce n’est pas le nom d’un groupe de punk harcore).

Nous pouvons vérifier votre appartenance au groupe sudo:

$ groups monsuperlogin
monsuperlogin cdrom floppy sudo audio dip video plugdev

Configurer le fichier Sources.list pour Wheezy wheezy

 

Lors des mises à jour, votre Debian va regarder la liste des serveurs à contacter. Cette liste, appelée liste des dépôts (oui je sais, ça fait un peu dépotoire! En anglais c’est plus stylé, ils disent “repositories”) est écrite dans le fichier source.list. Ce fichier est essentiel, car il permet de configurer les dépôts où vous puiserez vos logiciels. C’est ce même fichier qui permet de faire évoluer Debian d’une Stable vers une Unstable ou vers une Testing.

Configuez votre sources.list ainsi pour Wheezy :

$ sudo nano /etc/apt/sources.list
deb http://ftp.fr.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ wheezy main non-free contrib
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free

Puis mise à jour complète du système :

$ sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && 
  sudo apt-get clean && sudo apt-get autoclean && sudo apt-get autoremove

oufff…

Enlever le Bip d’Erreur

 

Pour éviter les bips d’erreur ou de démarrage, enlevez le module qui gère le bip :

$ sudo rmmod pcspkr

Pour vérifier qu’il est bien enlevé cette commande ne doit rien retourner:

$ sudo lsmod | grep pcspkr

 

IP fixe

 

Pourquoi une IP fixe? Vous en aurez principalement besoin pour configurer le NAT de votre box. C’est aussi plus pratique pour la ligne de commande ssh et l’ajout du nom de domaine dans le fichier hosts de vos ordis.

A ce stade de l’installation la configuration de la connexion au réseau local se fait par le fichier /etc/network/interface. Editez-le:

$ sudo nano /etc/network/interface

modifiez le ainsi :

$ The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.15
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

 

Avec une livebox vous pouvez assurer que votre ip sera fixe sur votre réseau via :

configuration > paramètres avancés > dhcp > IP Fixe

mylivebox

 

 

Comment installer une souris logitech / Unifying Receiver sous Debian Sid?

Comment installer une souris logitech / Unifying Receiver sous Debian Sid?

manga_logitech_M570

J’utilise quotidiennement ma souris Logitech M570 sans fil qui utilise le système de connexion unifié appelé Unifying Receiver. Elle est parfaitement reconnue sous XUbuntu ainsi que sous Debian Wheezy. Par contre sous Debian Sid, il semble ne pas avoir de support.

logitech-wireless-trackball-m570

Il est toujours possible d’ouvrir XUbuntu ou Debian Wheezy est d’analyser les modules lancés via la commande :

$ lsmod | more

ou de rechercher la programme dédié à Logitech en installant apt-cache :

$ sudo apt-get install apt-cache && sudo apt-cache update

$ sudo apt-cache search logitech

Ces 2 solutions sont fastidieuses, et il est plus rapide de poser la question à google! Je suis donc tombé sur le logiciel Solaar qui gère la connexion et possède même un script pour Gnome3 qui indique l’état de la batterie de la souris dans l’extension Gnome3 batterie.

solaar

Installation de Solaar

Ajoutons le dépôt Solaar :

$ sudo nano /etc/apt/sources.list.d/solaar.list

Ajoutez ces lignes :

deb http://pwr.github.io/Solaar/packages/ ./

deb-src http://pwr.github.io/Solaar/packages/ ./

Sauvegardez (CTRL+X) et lancez une mise à jour de votre système suivi de l’installation de Solaar :

$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get install solaar solaar-gnome3

Un redémarrage est nécessaire pour activer Solaar (il y a sûrement plus simple!!)

 

Retour d’expérience

Solaar marche très très bien! Le curseur se moue avec fluidité, que du bonheur. Concernant solaar-gnome3,  je n’en suis pas fan, car il m’indique toutes les 10 minutes qu’il ne reste que 1% de batterie! C’est peut être vrai, mais les annonces systèmes dans Gnome3 sont mal faites. Je les trouve intrusives visuellement. J’ai donc retiré cette option.