debian-8-jessie

Serveur dédié : la mise à jour vers Debian 8 Jessie

Hier soir, j’ai mis à jour le serveur : nous passons de Debian 7.8 (wheezy) à 8.0 (jessie).

Tout s’est plutôt bien passé, il y a eu environ 10 minutes de downtime, le temps que je comprenne ce qui avait changé, notamment dans la configuration Apache et celle de Postfix.

Voici un petit compte-rendu de la mise à jour.

Mise à jour des dépôts

On édite notre fichier source APT :

nano /etc/apt/sources.listCode language: PHP (php)

et on remplace toutes les occurences de wheezy par jessie.

Chez moi, cela donne :

# DEBIAN
deb http://mirror.ovh.net/debian/ stable main contrib non-free
deb-src http://mirror.ovh.net/debian/ stable main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

# mod security
deb http://ftp.debian.org/debian/ jessie-backports mainCode language: PHP (php)

Préparation à la mise à jour de Debian

J’ai commencé par vérifier qu’aucun paquet n’était à moitié installé :

dpkg --audit

ou en attente :

dpkg --get-selections | grep 'holdCode language: JavaScript (javascript)

Rien? Tout va bien, on continue et on simule une installation avec :

apt-get -o APT::Get::Trivial-Only=true dist-upgradeCode language: PHP (php)

Le résultat est une longue liste de paquets, suivie du message suivant:

439 upgraded, 192 newly installed, 5 to remove and 1 not upgraded.
Need to get 275 MB of archives.
After this operation, 259 MB of additional disk space will be used.
E: Trivial Only specified but this is not a trivial operation.Code language: JavaScript (javascript)

Nos sauvegardes sont faites, on se lance.

Mise à jour Debian

On rafraichit les dépôts et on lance l’installation:

apt-get update && apt-get upgradeCode language: JavaScript (javascript)

On obtient un laïus avec ce qui change. J’aperçois plusieurs pages sur Apache, on y reviendra. Cela dure à peu près une dizaine de minutes, bien que je n’ai pas vraiment minuté.

Une fois l’installation terminée, on résout les dépendances et les paquets manquants avec :

apt-get dist-upgradeCode language: JavaScript (javascript)

Je lance le site pour voir : paf, erreur 403.

Lire la suite

HPLIP : résoudre l'erreur

HPLIP : résoudre l’erreur “no system tray detected on this system”

Lors du démarrage de ma machine, sous Ubuntu, il n’est pas rare que j’obtienne le message d’erreur “no system tray detected on this system”. Le message exact se présente sous cette forme :

hplip-no-system-tray

Voici comment remédier à ce problème en quelques secondes.

HPLIP et la barre des tâches

HPLIP est le petit gestionnaire d’imprimante HP qui se loge dans la barre des tâches et permet d’avoir un accès rapide aux options de l’imprimante.

Si le chargement du système n’est pas assez rapide et qu’HPLIP se lance avant que la barre des tâches n’ait été créé, le message s’affiche.

Ajout d’un délai pour charger HPLIP

Ma solution est toute simple : il suffit de retarder le chargement d’HPLIP. Pour cela, direction Applications > Outils système > Préférences > Applications au démarrage.

Sélectionnez ensuite HP System Tray Service puis cliquez sur le bouton modifier.

Remplacez la commande d’origine (hp-systray -x) par:

sh -c "sleep 45; exec hp-systray"Code language: JavaScript (javascript)

Voici ce que cela donne en image:

hplip-delayed

Et voilà, problème réglé.

Raspberry Pi: copier une image disque sur une carte SD photo

Raspberry Pi: copier une image disque sur une carte SD

rpi-sd

Dans le cadre de nos petits projets de domotique, Jac s’est dernièrement intéressé à Calaos, à installer sur un Raspberry Pi.

Calaos permet de créer une box domotique en utilisant un simple Raspberry Pi, ce qui peut-être une alternative économique aux box que l’on peut trouver dans le commerce.

Dans ce tutoriel, nous allons voir comment copier une image disque sur une carte SD, en prenant Calaos comme exemple mais le principe est le même pour n’importe quelle image ou distribution.

Téléchargement de Calaos

Calaos est disponible depuis le site officiel. Il suffit de télécharger le dernier fichier rpi-sdimg en date.

Copie de l’image disque sur une carte SD vierge

Il convient tout d’abord de copier l’image sur la carte SD mais il faut que celle-ci soit vierge et fraichement formatée, histoire d’éviter tout potentiel conflit ultérieur.

Formatage de la carte SD

Pour formater une carte SD, je lance Gparted et je formate la carte (vérifiez d’abord que vous avez bien sélectionné la carte SD) au format FAT32.

Démontage de la carte

Avant de lancer le processus de copie, il faut s’assurer que la carte SD n’est pas montée sur le système, grâce à la commande mount :

mount

Résultat:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=218592,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=207248k,mode=755)
/dev/disk/by-uuid/32a56ab1-1849-49af-a77e-369a8017c22c on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1037600k)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda3 on /home type ext4 (rw,relatime,errors=remount-ro,data=ordered)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/cgroup type tmpfs (rw,relatime,size=4k,mode=755)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,name=systemd)
cgroup on /dev/cgroup/cpu type cgroup (rw,relatime,cpu,release_agent=/usr/local/sbin/cgroup_clean)
/dev/mmcblk0p1 on /media/matt/982C-483D type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)Code language: JavaScript (javascript)

La dernière ligne, qui commence par /dev/mmcblk0p1, nous indique que la carte est montée sur notre système. Nous la démontons donc:

umount /dev/mmcblk0p1

Copie de l’image disque

L’image disque ne peut être copiée comme un simple fichier sur la carte SD. C’est comme une image disque que l’on grave : on doit monter un système de fichiers et copier toute une arborescence bien définie.

Heureusement, il existe une commande qui fait tout cela en une seule ligne, la commande dd:

dd if=calaos-image-raspberrypi-v2.0-20150215122010.rootfs.rpi-sdimg of=/dev/mmcblk0Code language: JavaScript (javascript)

Résultat:

540672+0 enregistrements lus
540672+0 enregistrements écrits
276824064 octets (277 MB) copiés, 129,386 s, 2,1 MB/s

Et voilà, l’image de CalaOS est maintenant copiée comme il faut sur notre carte SD.

Bash : réparer les tables MySQL en cas de crash photo

Bash : message “there are stopped jobs” à la fermeture du terminal

Bash

Ce week-end, j’effectue quelques petites modifications sur les fichiers du serveur et, voulant annuler une faute de frappe, j’effectue un Ctrl + Z, par habitude.

Ma fenêtre d’édition du fichier se ferme. Surpris, je la rouvre puis continue mon travail. Au moment de fermer ma session SSH, lors du traditionnel exit, j’obtiens ce message :

logout
There are stopped jobs.

Et là, pas moyen de quitter la session proprement. Cela est dû à ce fameux Ctrl + Z.

Bash et les tâches de fond

Dans Bash, un “stopped job” est une tâche qui a été reléguée temporairement en tâche de fond. Elle n’est pas active mais continue de consommer des ressources comme la mémoire système.

Cette tâche n’étant pas attachée à notre fenêtre de terminal, elle n’envoie rien en sortie et ne reçoit rien en entrée de la part de l’utilisateur.

Reprendre la main sur le shell

Pour savoir quelles sont les tâches de fond en cours sur le système, il suffit de taper la commande jobs:

jobs

Cela liste toutes les tâches reléguées au second plan.

Ensuite, il suffit de taper la commande fg (foreground) pour basculer la tâche de fond vers notre fenêtre active. Si nous voulons basculer vers la première tâche, nous entrons :

fg 1

Il suffit alors de quitter proprement la tâche pour pouvoir ensuite fermer notre session.

vlc-son-coupe

Linux : corriger le son saccadé sous VLC lors de la lecture de fichiers audio

logo-vlc

Aujourd’hui, sur ma machine tournant sous Ubuntu, je me suis aperçu qu’il m’était impossible de lire de la musique avec VLC : le son de mes fichiers était saccadé, coupant l’écoute toutes les deux secondes avant de s’éteindre complètement.

Le module de sortie audio de VLC

Si cela vous arrive, et avant d’appeler le marabout, voici une solution pour remédier ce problème:

  1. Ouvrez VLC > Outils > Préférences
  2. Sélectionnez ensuite Audio > Sortie
  3. Changez maintenant le module de sortie pour Automatique, Pseudo-sortie audio, désactivé.
  4. Validez et enregistrez les réglages de VLC.

En images

Voici une capture d’écran du réglage à modifier :

vlc-son-coupe

N’hésitez pas à essayer plusieurs modules de sortie – chez moi, cela a réglé le problème immédiatement.

opera-developer

Linux : installer le plugin Flash sous Opera Developer

opera-developer

Après avoir mis à jour Ubuntu récemment, j’ai testé la nouvelle version d’Opera : Opera Developer qui s’adresse aux développeurs web.

Si vous recherchez un navigateur ultra-rapide, essayez-le ! Je m’en sers comme navigateur d’appoint et il est vraiment plus rapide que la version classique d’Opera.

Seul hic : Flash n’était pas activé par défaut donc il faut faire une petite manipulation qui prend 15 secondes montre en main. Ceci-dit, on avait eu le même problème pour installer Flash sous Chromium.

Ce tutoriel permet donc ‘installer Flash rapidement sous Opera Developer en utilisant PepperFlash et FFmpeg sous Ubuntu et Linux Mint.

Installation de PepperFlash

Sous Mint et Ubuntu, il suffit d’installer le paquet pepperflashplugin-nonfree pour installer Pepper Flash :

sudo apt-get install pepperflashplugin-nonfreeCode language: JavaScript (javascript)

Une fois le paquet installé, il suffit de relancer le navigateur.

Lire la suite

Installer Wine sous Ubuntu 14.04 LTS Trusty Tahr photo

Installer Wine sous Ubuntu 14.04 LTS Trusty Tahr

Après installation d’Ubuntu 14.04 (Trusty), je me rappelle que wine a été supprimé du système lors de la mise à jour d’Ubuntu.

Qu’à cela ne tienne, on va le réinstaller.

Ajouter le PPA ubuntu-wine

En deux lignes, on ajoute le PPA et on installe wine1.7 :

sudo add-apt-repository ppa:ubuntu-wine/ppa -y && sudo apt-get update
sudo apt-get install wine1.7Code language: JavaScript (javascript)

A ce stade, wine aurait dû s’installer normalement. Mais pas chez moi, non.

Lire la suite

MySQL : résoudre l'erreur

MySQL : résoudre l’erreur “mysql_connect(): Headers and client library minor version mismatch”

Après la mise à jour vers MySQL 5.6, certaines applications peuvent renvoyer l’avertissement PHP suivant :

PHP Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50535 Library:50617Code language: CSS (css)
icon-mysql

C’est le cas lorsqu’une application est liée à l’utilisation d’une version spécifique de libmysqlclient18 alors qu’elle est connectée à un serveur MySQL qui tourne sur une version différente.

C’est libmysqlclient18 qui renvoie cet avertissement mais dans certains cas, cela peut impacter l’application et tient plus de l’erreur que de l’avertissement.

MySQL Native Driver

La solution est toute simple : il suffit d’utiliser le pilote MySQL Native Driver php5-mysqlnd au lieu du paquet php5-mysql.

Les avantages de php5-mysqlnd sont multiples : il vient en remplacement de php5-mysql, n’est pas lié à la librairie libmysqlclient, ne renvoie pas d’avertissement “version mismatch” et possède pas mal d’autres caractéristiques intéressantes.

Lire la suite

Ubuntu : installer Pepper Flash sous Chromium pour lire les vidéos Flash photo

Ubuntu : installer Pepper Flash sous Chromium pour lire les vidéos Flash

Suite à une mise à jour de Chromium, il y a quelques années, j’ai perdu la possibilité de lire les vidéos flash sous Chromium. Bon, étant utilisateur de FireFox, je ne trouvais pas vraiment cela gênant, sauf pour les vidéos YouTube et Dailymotion.

Et puis aujourd’hui, cela m’a un peu agacé alors je me suis un peu penché sur le problème.

Pepper Flash et Chromium

Si on utilise Chrome, pas de souci, le plugin Pepper Flash comme le lecteur PDF natif sont inclus. Si on utilise Chromium par contre, le navigateur est nu et il faut installer Pepper Flash soi-même.

Installer Pepper Flash sous Chromium avec Ubuntu

Si vous possédez Ubuntu 14.04+, un installeur Pepper Flash Player installer est disponible dans les dépôts, il suffit de l’installer avec :

sudo apt-get install pepperflashplugin-nonfree && sudo update-pepperflashplugin-nonfree --installCode language: JavaScript (javascript)

Lire la suite

Ubuntu logo within an update icon

Ubuntu : résoudre l’erreur “xulrunner-bin: error while loading shared libraries: libhunspell-1.2.so.0”

ubuntu-update

Aujourd’hui, j’ai mis à jour mon installation d’Ubuntu 12.04 LTS (precise) vers la version 14.04 LTS (trusty).

Vu qu’il y a quelques années entre les deux distributions, cela a pris quelques heures mais je trouve le système beaucoup plus réactif. J’ai quand même eu une petite erreur, histoire de justifier cet article.

Problème de dépendances avec le paquet xulrunner

Après l’installation, le nettoyage des paquets obsolètes et un petit redémarrage, apt-get m’a indiqué qu’il y avait un problème de dépendance avec ce message d’erreur :

/var/lib/dpkg/info/xulrunner-1.9.2.prerm: 8: /var/lib/dpkg/info/xulrunner-1.9.2.prerm: /usr/sbin/update-alternatives: not found
/usr/lib/xulrunner-1.9.2.9/xulrunner-bin: error while loading shared libraries: libhunspell-1.2.so.0: cannot open shared object file: No such file or directory
dpkg: error processing xulrunner-1.9.2 (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 xulrunner-1.9.2
E: Sub-process /usr/bin/dpkg returned an error code (1)Code language: JavaScript (javascript)

Après avoir essayé de réinstaller et supprimer libhunspell et xulrunner sans succès, je me suis dit qu’il fallait passer à autre chose.

La solution : éditer le fichier xulrunner-1.9.2.prerm

En suivant à tâtons les liens du message d’erreur, il se trouve qu’il suffit d’éditer le fichier /var/lib/dpkg/info/xulrunner-1.9.2.prerm pour corriger le problème.

Lire la suite

Linux : résoudre l'erreur SSH

Linux : résoudre l’erreur SSH “the RSA host key differs from the key for the IP address”

ssh

Au cours de mes errements avec le mode rescue, j’ai été obligé de m’identifier sur le serveur avec des identifiants temporaires différents de ceux que j’utilise habituellement.

J’ai retiré la clé habituelle, ajouté la nouvelle (celle du mode rescue), et maintenant, de retour sur ma session habituelle, SSH se plaint – à juste titre – que l’empreinte de la clé RSA du serveur a changé.

Problème : la clé RSA du serveur a changé

Dans ma précipitation à vouloir tout réparer, j’ai ajouté les identifiants temporaires de manière permanente au fichier /home/matt/.ssh/known_hosts.

Et, bien sûr, dès que j’ai voulu me connecter, j’ai obtenu ce message d’erreur :

Warning: the RSA host key for 'hostname' differs from the key for the IP address 'xxx.xxx.xxx.xxx'
Offending key for IP in /home/matt/.ssh/known_hosts:16
Matching host key in /home/matt/.ssh/known_hosts:11
Are you sure you want to continue connecting (yes/no)? Code language: JavaScript (javascript)

Lire la suite

Linux : installer l'imprimante d'étiquettes WiFi Brother QL-710W et utiliser gLabels pour le publipostage photo 1

Linux : installer l’imprimante d’étiquettes WiFi Brother QL-710W et utiliser gLabels pour le publipostage

J’ai toujours rêvé d’une imprimante d’étiquettes – principalement parce que j’ai la flemme de toujours rechercher sur Google les mêmes adresses parce que je n’ai pas de carnet d’adresse à jour, mais aussi parce que cela fait plus professionnel pour les gens qui reçoivent mes missives.

Après une petite visite sur Amazon, je découvre l’imprimante d’étiquette Brother QL-710W, qui en plus bénéficie d’une offre de remboursement de 50 euros jusqu’à fin décembre 2014. Je me dis que cela pourrait être cool, surtout qu’elle est USB et WiFi.

brother-ql710w

Commandée, reçue le lendemain, déballée, branchée en USB, je me penche maintenant sur la configuration sous Linux.

Installation en USB

Alors, sous Ubuntu, l’imprimante s’installe toute seule. Par contre, sous certaines versions Linux (Linux Mint ou Debian par exemple), il va falloir passer en manuel, en ligne de commandes dans le terminal.

On branche l’imprimante en USB et on l’allume.

On se rend sur la page des pilotes linux de la Brother QL-710W et on y télécharge les deux fichiers suivants : LPR printer driver et CUPSwrapper printer driver.

En voulant lancer l’installation des paquets comme indiqué sur la page du support Brother, j’ai été confronté aux erreurs suivantes :

mkdir: impossible de creer le repertoire "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type chown: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type chgrp: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type chmod: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type<Code language: JavaScript (javascript)

Ce qui signifie tout simplement que le répertoire /var/spool/lpd n’existe pas. On s’en assure :

file /var/spool/lpdCode language: JavaScript (javascript)

résultat :

/var/spool/lpd: ERROR: cannot open `/var/spool/lpd' (No such file or directory)Code language: PHP (php)

donc on le crée :

sudo mkdir -p /var/spool/lpdCode language: JavaScript (javascript)

Ensuite, on installe nos deux paquets :

sudo dpkg -i --force-architecture ql710wlpr-1.0.1-1.i386.deb
sudo dpkg -i --force-architecture ql710wcupswrapper-1.0.1-1.i386.debCode language: CSS (css)

Plus d’erreurs, on continue et on vérifie que les pilotes ont été installés et chargés :

dpkg -l | grep Brother

qui nous retourne:

ii  printer-driver-ptouch     1.3-3ubuntu0.1     printer driver Brother P-touch label printers
ii  ql710wcupswrapper:i386     1.0.1-1     Brother CUPS PTouch Printer Definitions
ii  ql710wlpr:i386     1.0.1-1     Brother lpr Ptouch Printer DefinitionsCode language: CSS (css)

À ce stade l’imprimante est quasiment installée, il suffit de se rendre sur la page d’administration de CUPS, à l’adresse http://localhost:631 et de cliquer sur Admin > Add Printer > Local Printer et on se laisse guider.

Amazon Prime Video

Lire la suite