PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Angristan : Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb

samedi 19 décembre 2015 à 20:15

Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb

Très attendue, la dernière version majeure de PHP vient de sortir, et contrairement aux anciennes versions, celle-ci ne se concentre pas sur les fonctionnalités mais plutôt sur les performances. Voici ce que va donner un bon coup de turbo à la plupart des sites web : Malheureusement, PHP 7 ne sera pas disponible dans les dépôts de Debian avant plusieurs années (Debian 9), puisqu'elle n'accepte que les correctifs pour la version en cours. C'est pour ça qu'il existe Dotdeb, un dépôt non-officiel pour Debian qui contient des versions plus récentes de Nginx, MySQL et bien sûr, PHP. Dès le lendemain de la sortie, PHP 7 était dispo sur Dotdeb. Voyons comme l'installer.

Installation

Ajout du dépot Dotdeb

echo "deb http://packages.dotdeb.org jessie all" > /etc/apt/sources.list.d/dotdeb.list
wget -O - https://www.dotdeb.org/dotdeb.gpg | apt-key add -
apt update

Suppression de PHP 5

systemctl stop php5-fpm
apt-get autoremove --purge php5*

Installation de PHP 7 ainsi que quelques dépendances

apt install php7.0 php7.0-fpm php7.0-mysql php7.0-curl php7.0-json php7.0-gd php7.0-mycrypt
On peut vérifier la version installée avec php -v.

Configuration

Le socket d'écoute de PHP-FPM change et passe de
/var/run/php5-fpm.sock
à
/run/php/php7.0-fpm.sock
Vous devrez donc faire les modifications adéquates dans la configuration si vous utilisez PHP-FPM avec Nginx par exemple :
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
On notera également que les fichiers de configuration se trouvent dans /etc/php/

OPcache

OPcache est une extension qui permet à PHP de garder le code compilé en mémoire pendant un certain temps afin de gagner en efficacité si ce code est exécuté plusieurs fois. Il est présent par défaut dans PHP depuis la version 5.5. Bien que OPcache soit activé par défaut, on peut quand même ajouter quelques options dans la configuration pour le rendre plus efficace. La configuration du module se trouve dans /etc/php/mods-available/opcache.ini Par défaut il y a seulement :
zend_extension=opcache.so
Voici quelques lignes que j'ai ajouté en piochant dans la documentation :
opcache.fast_shutdown=1
opcache.memory_consumption=256
opcache.revalidate_freq=60
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=4000
J'ai donc alloué 512Mo de RAM maximum à OPcache et 16Mo pour les chaînes. La valeur revalidate_freq est très importante puisque c'est le temps en seconde pour lequel OPcache ne vérifie pas les mises à jour du code. Faites donc attention si vous êtes dans un environnement de production avec beaucoup de changements de fichiers. Je vous laisse consulter la description des différentes options dans la documentation.

phpMyAdmin

Si vous utilisiez phpMyAdmin depuis le paquet Debian, vous remarquerez que la suppression de PHP 5 entraine la suppression de PMA que c'en est une des dépendances. Vous avez donc plusieurs choix : Pour ma part j'ai choisi Adminer, qui est bien plus pratique à configurer que l'archive de PMA, puisqu'il ne se compose d'un seul fichier PHP :D Par ailleurs, Adminer est également présent sous la forme d'un paquet dans les dépôts Debian, mais il présente le même problème de dépendances que phpMyAdmin.

Performances face à HHVM

HHVM est un logiciel développé par Facebook renommé pour sa rapidité à exécuter le PHP, bien plus rapide que PHP 5.x. PHP 7 étant axé performances, les 2 sont au coude à coude depuis la sortie des premières RC de PHP 7. Kinsta.com a fait un comparatif sur différents CMS du nombre de requêtes par seconde maximum en utilisant alternativement PHP 7 et HHVM. [caption id="attachment_1872" align="aligncenter" width="648"]Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb PHP 7 est 3x fois plus rapide que PHP 5.6 ici.[/caption] [caption id="attachment_1875" align="aligncenter" width="648"]Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb On remarque l'importance de l'utilisation de OPcache[/caption] [caption id="attachment_1873" align="aligncenter" width="648"]Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb HHVM se démarque largement, et PHP ne présente que peu d'évolution[/caption] [caption id="attachment_1874" align="aligncenter" width="648"]Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb PHP 7 avec OPcache en tête[/caption] Conclusion : Les performances de chaque moteur d'exécution ne sont pas universelles mais relatives au code. Sur du code optimisé pour PHP 7 (Lavarel), celui-ci se place en tête. Sur du Drupal, PHP 5.6 et 7 sont aussi rapides. De manière générale, on voit que PHP 7 a grandement rattrapé son retard sur HHVM, et que cela est principalement dû à l'utilisation d'OPcache.

Verdict

Après quelques jours de questionnement et de tests, notamment sur la compatibilité avec mes différents services et la problématique de phpMyAdmin, j'ai décidé de remplacer ma cohabitation PHP 5.6 / HHVM par l'utilisation de PHP 7 uniquement. En effet PHP 7 est vraiment plus rapide, et cela se ressent sur WordPress, j'ai donc jugé inutile de garder HHVM, d'autant plus que celui-ci consomme plus de mémoire vive que PHP-FPM. La rivalité entre les deux ne peut qu'être positive pour nos sites web ! :)

L'article Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb a été publié sur Angristan

Gravatar de Angristan
Original post of Angristan.Votez pour ce billet sur Planet Libre.

nIQnutn : Installer les pilotes Nvidia 352.55 sous Debian Jessie

samedi 19 décembre 2015 à 19:39

Vous avez envie de jouer à Grid Autosport ou un autre jeu sous Debian mais vous n'avez pas les derniers pilotes Nvidia: j'ai une solution. Si vous avez la version stable de Debian (aka Jessie), il est possible d'installer les pilotes depuis les dépôts de SteamOS.

En utilisant ces pilotes, on devrait être assuré de pouvoir profiter de tous les jeux compatibles avec SteamOS. Ce n'est pas une solution officielle mais elle est documentée et fonctionne pour moi (sinon il existe d'autres alternatives).

Comme on me l'a souvent répété:

Debian stable n'est stable qu'avec les dépôts stables.

Suivre ce tuto peut causer des instabilités voire casser votre système et par la même occasion vous faire rager.

Les commandes détaillées dans cet article ne sont pas faites pour être appliquées à la lettre.
Je recommande de bien comprendre les explications avant de lancer le terminal.

Maintenant que vous êtes prévenu et que vous êtes bien décidé, on peut démarrer.

Ajout des dépôts SteamOS et pinning

La première étape consiste à ajouter les dépôts SteamOS et éditer les préférences des dépôts pour éviter d'installer des paquets inutiles.

C'est la partie la plus facile même si le sujet n'a pas été abordé dans sources list: gérer vos dépôts Debian.
On considérere qu'on utilise un fichier sources.list avec le rétroportage dans sa version non libre.

On commence par éditer les préférences pour le dépôt SteamOS:

#root
nano /etc/apt/preferences.d/99steamos 
/etc/apt/preferences.d/99steamos
Package: *
Pin: release n=brewmaster
Pin-Priority: 101 

Le fichier preferences permet de choisir la version des paquets, ici, en fonction du dépôt brewmaster. On définit la priorité du dépôt à 101, supérieur à celui du dépôt de jessie-backports qui est de 100. S'il existe des paquets plus récents dans les dépôts de rétro-portage, ils ne seront donc pas installés. Cela évitera de mélanger les paquets concernant les pilotes Nvidia entre différentes sources (jessie-backports et steamos-brewmaster).

Ensuite, on ajoute le dépôt SteamOS:

#root
nano /etc/apt/sources.list.d/steamos.list
/etc/apt/sources.list.d/steamos.list
# SteamOS repository
deb http://repo.steampowered.com/steamos brewmaster main contrib non-free 

Pour les plus curieux, on peut toujours vérifier la priorité des différents dépôts utilisés:

$user
apt-cache policy 

Une fois le dépôt ajouté et correctement configuré, on peut mettre à jour la liste des paquets disponibles:

#root
apt update 
J'ai l'impression que les dépôts SteamOS ne sont pas très rapides contrairement à ceux de Debian.

On finit par ajouter la clé du dépôt steamOS (cela permet d'authentifier les paquets installés):

#root
apt install valve-archive-keyring 

Jusque là tout se passe bien. On a préparé le terrain pour installer les derniers pilotes graphiques, mais il reste à effectuer la partie la plus périlleuse de l'opération.

Installation des derniers pilotes Nvidia

Il s'agit de la partie la plus importante et il faudra faire attention avant d'installer quoi que ce soit. L'installation ne se fait malheureusement pas automatiquement: le gestionnaire de paquet doit faire un choix pour résoudre des problèmes de dépendances et il vous faudra prendre une décision.

aptitude, proposera différentes solutions pour installer les pilotes Nvidia en proposant d'installer/supprimer/mettre à jour les différents paquets pour le pilote Nvidia et ses dépendances. Il faudra choisir la meilleure solution, ou éventuellement annuler si aucune proposition n'est acceptable.

Pour faire les choses correctement, on lancera d'abord une simulation et on réfléchira ensuite aux solutions qui nous sont proposées:

#root
aptitude install -s -t brewmaster libegl1-nvidia:amd64 libgl1-nvidia-glx:amd64 libgl1-nvidia-glx:i386 libgl1-nvidia-glx-i386 libgles1-nvidia:amd64 libgles2-nvidia:amd64 libnvidia-eglcore:amd64 libnvidia-ml1:amd64 libxnvctrl0 nvidia-alternative nvidia-driver nvidia-driver-bin nvidia-kernel-dkms nvidia-modprobe nvidia-settings nvidia-vdpau-driver:amd64 xserver-xorg-video-nvidia 
N'hésitez pas à demander conseil sur les forums avant de vous lancer.

Quand vous avez trouvé une bonne solution, on peut se lancer:

#root
aptitude install -t brewmaster libegl1-nvidia:amd64 libgl1-nvidia-glx:amd64 libgl1-nvidia-glx:i386 libgl1-nvidia-glx-i386 libgles1-nvidia:amd64 libgles2-nvidia:amd64 libnvidia-eglcore:amd64 libnvidia-ml1:amd64 libxnvctrl0 nvidia-alternative nvidia-driver nvidia-driver-bin nvidia-kernel-dkms nvidia-modprobe nvidia-settings nvidia-vdpau-driver:amd64 xserver-xorg-video-nvidia 

Pour ma part, j'ai choisi simplement de mettre à jour glx-alternative-mesa. Voici le résultat de mon installation:

exemple
Note : sélection de « libgl1-nvidia-glx-i386:i386 » à la place du
   paquet virtuel « libgl1-nvidia-glx-i386 »
Les NOUVEAUX paquets suivants vont être installés :
libgl1-nvidia-glx-i386:i386 nvidia-kernel-support{a} nvidia-persistenced{a}
Les paquets suivants seront ENLEVÉS :
libjansson4{u} nvidia-settings{u}
Les paquets suivants seront mis à jour :
glx-alternative-nvidia glx-diversions libegl1-nvidia libgl1-nvidia-glx libgl1-nvidia-glx:i386 libgles1-nvidia libgles2-nvidia
libnvidia-eglcore libnvidia-ml1 libvdpau1 libvdpau1:i386 libxnvctrl0 nvidia-alternative nvidia-driver nvidia-driver-bin
nvidia-kernel-common nvidia-kernel-dkms nvidia-modprobe nvidia-vdpau-driver xserver-xorg-video-nvidia
20 paquets mis à jour, 3 nouvellement installés, 2 à enlever et 1142 non mis à jour.
Il est nécessaire de télécharger 31,2 Mo d'archives. Après dépaquetage, 10,8 Mo seront libérés.
Les paquets suivants ont des dépendances non satisfaites :
glx-alternative-mesa : Dépend: glx-diversions (= 0.5.1) mais 0.6.93+bsos1 doit être installé.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Les actions suivantes permettront de résoudre ces dépendances :

  Supprimer les paquets suivants :                          
1)      glx-alternative-mesa                                    
2)      glx-alternative-nvidia                                  
3)      libegl1-nvidia                                          
4)      libgl1-nvidia-glx                                        
5)      libgl1-nvidia-glx:i386                                  
6)      libgles1-nvidia                                          
7)      libgles2-nvidia                                          
8)      libnvidia-ml1                                            
9)      nvidia-alternative                                      
10)     nvidia-driver                                            
11)     nvidia-driver-bin                                        
12)     nvidia-kernel-common                                    
13)     nvidia-kernel-dkms                                      
14)     nvidia-vdpau-driver                                      
15)     xserver-xorg-video-nvidia                                

  Conserver les paquets suivants dans leur version actuelle :
16)     libgl1-nvidia-glx-i386:i386 [Non installé]              
17)     nvidia-kernel-support [Non installé]                    

  Laisser les dépendances suivantes non satisfaites :        
18)     glx-diversions recommande glx-alternative-mesa          
19)     nvidia-driver-bin recommande nvidia-driver              


Accepter cette solution ? [Y/n/q/?] n
Les actions suivantes permettront de résoudre ces dépendances :

 Mettre à jour les paquets suivants :                                  
1)     glx-alternative-mesa [0.5.1 (now, stable) -> 0.6.93+bsos1 (testing)]



Accepter cette solution ? [Y/n/q/?] y
Les NOUVEAUX paquets suivants vont être installés :
libgl1-nvidia-glx-i386:i386 nvidia-kernel-support{a} nvidia-persistenced{a}
Les paquets suivants seront ENLEVÉS :
libjansson4{u} nvidia-settings{u}
Les paquets suivants seront mis à jour :
glx-alternative-mesa glx-alternative-nvidia glx-diversions libegl1-nvidia libgl1-nvidia-glx libgl1-nvidia-glx:i386 libgles1-nvidia
libgles2-nvidia libnvidia-eglcore libnvidia-ml1 libvdpau1 libvdpau1:i386 libxnvctrl0 nvidia-alternative nvidia-driver
nvidia-driver-bin nvidia-kernel-common nvidia-kernel-dkms nvidia-modprobe nvidia-vdpau-driver xserver-xorg-video-nvidia
21 paquets mis à jour, 3 nouvellement installés, 2 à enlever et 1141 non mis à jour.
Il est nécessaire de télécharger 31,2 Mo d'archives. Après dépaquetage, 10,8 Mo seront libérés.
Voulez-vous continuer ? [Y/n/?] y
Prendre :  1 http://ftp.fr.debian.org/debian/ jessie-backports/contrib nvidia-persistenced amd64 358.09-1~bpo8+1 [19,9 kB]
Prendre :  2 http://repo.steampowered.com/steamos/ brewmaster/non-free nvidia-driver amd64 352.55-2+steamos1+bsos1 [432 kB]
Prendre :  3 http://repo.steampowered.com/steamos/ brewmaster/non-free nvidia-driver-bin amd64 352.55-2+steamos1+bsos1 [226 kB]
Prendre :  4 http://repo.steampowered.com/steamos/ brewmaster/non-free nvidia-alternative amd64 352.55-2+steamos1+bsos1 [148 kB]
Prendre :  5 http://repo.steampowered.com/steamos/ brewmaster/contrib glx-alternative-nvidia amd64 0.6.93+bsos1 [4 560 B]
Prendre :  6 http://repo.steampowered.com/steamos/ brewmaster/non-free xserver-xorg-video-nvidia amd64 352.55-2+steamos1+bsos1 [3 139 kB]
Prendre :  7 http://repo.steampowered.com/steamos/ brewmaster/non-free libnvidia-ml1 amd64 352.55-2+steamos1+bsos1 [450 kB]              
Prendre :  8 http://repo.steampowered.com/steamos/ brewmaster/contrib glx-alternative-mesa amd64 0.6.93+bsos1 [3 492 B]                  
Prendre :  9 http://repo.steampowered.com/steamos/ brewmaster/contrib glx-diversions amd64 0.6.93+bsos1 [10,0 kB]                        
Prendre :  10 http://repo.steampowered.com/steamos/ brewmaster/non-free libgl1-nvidia-glx i386 352.55-2+steamos1+bsos1 [6 992 kB]        
Prendre :  11 http://repo.steampowered.com/steamos/ brewmaster/non-free libgl1-nvidia-glx amd64 352.55-2+steamos1+bsos1 [7 287 kB]        
Prendre :  12 http://repo.steampowered.com/steamos/ brewmaster/non-free libgles2-nvidia amd64 352.55-2+steamos1+bsos1 [167 kB]            
Prendre :  13 http://repo.steampowered.com/steamos/ brewmaster/non-free libgles1-nvidia amd64 352.55-2+steamos1+bsos1 [162 kB]            
Prendre :  14 http://repo.steampowered.com/steamos/ brewmaster/non-free libegl1-nvidia amd64 352.55-2+steamos1+bsos1 [288 kB]            
Prendre :  15 http://repo.steampowered.com/steamos/ brewmaster/non-free libnvidia-eglcore amd64 352.55-2+steamos1+bsos1 [6 765 kB]        
Prendre :  16 http://repo.steampowered.com/steamos/ brewmaster/non-free nvidia-vdpau-driver amd64 352.55-2+steamos1+bsos1 [616 kB]        
Prendre :  17 http://repo.steampowered.com/steamos/ brewmaster/main libvdpau1 i386 1.1-1+bsos1 [37,8 kB]                                  
Prendre :  18 http://repo.steampowered.com/steamos/ brewmaster/main libvdpau1 amd64 1.1-1+bsos1 [39,1 kB]                                
Prendre :  19 http://repo.steampowered.com/steamos/ brewmaster/contrib nvidia-kernel-common amd64 20151021+1+bsos1 [10,7 kB]              
Prendre :  20 http://repo.steampowered.com/steamos/ brewmaster/contrib nvidia-modprobe amd64 340.46-1+bsos2 [14,7 kB]                    
Prendre :  21 http://repo.steampowered.com/steamos/ brewmaster/non-free nvidia-kernel-support amd64 352.55-2+steamos1+bsos1 [147 kB]      
Prendre :  22 http://repo.steampowered.com/steamos/ brewmaster/non-free nvidia-kernel-dkms amd64 352.55-2+steamos1+bsos1 [4 071 kB]      
Prendre :  23 http://repo.steampowered.com/steamos/ brewmaster/non-free libgl1-nvidia-glx-i386 i386 352.55-2+steamos1+bsos1 [146 kB]      
Prendre :  24 http://repo.steampowered.com/steamos/ brewmaster/contrib libxnvctrl0 amd64 340.46-2+bsos2 [20,9 kB]                        
31,2 Mo téléchargés en 48s (640 ko/s)                                                                                                    
Lecture des fichiers de modifications (« changelog »)... Terminé
apt-listchanges: Envoi des modifications par courriel à root : apt-listchanges : nouveautés pour jessie
Préconfiguration des paquets...
(Lecture de la base de données... 163594 fichiers et répertoires déjà installés.)
Suppression de nvidia-settings (340.46-2) ...
Suppression de libjansson4:amd64 (2.7-1) ...
Traitement des actions différées (« triggers ») pour nvidia-alternative (340.65-2) ...
update-alternatives: avertissement: forçage de la réinstallation de l'alternative /usr/lib/nvidia/current car le groupe de liens nvidia est cassé
Traitement des actions différées (« triggers ») pour menu (2.1.47) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.19-18+deb8u1) ...
Traitement des actions différées (« triggers ») pour glx-alternative-nvidia (0.5.1) ...
update-initramfs: deferring update (trigger activated)
Traitement des actions différées (« triggers ») pour libc-bin (2.19-18+deb8u1) ...
Traitement des actions différées (« triggers ») pour initramfs-tools (0.120) ...
update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8402-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8105e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169
(Lecture de la base de données... 163576 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../nvidia-driver_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de nvidia-driver (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../nvidia-driver-bin_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de nvidia-driver-bin (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../nvidia-alternative_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de nvidia-alternative (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../glx-alternative-nvidia_0.6.93+bsos1_amd64.deb ...
Dépaquetage de glx-alternative-nvidia (0.6.93+bsos1) sur (0.5.1) ...
Préparation du dépaquetage de .../xserver-xorg-video-nvidia_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de xserver-xorg-video-nvidia (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../libnvidia-ml1_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de libnvidia-ml1:amd64 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../glx-alternative-mesa_0.6.93+bsos1_amd64.deb ...
Dépaquetage de glx-alternative-mesa (0.6.93+bsos1) sur (0.5.1) ...
Préparation du dépaquetage de .../glx-diversions_0.6.93+bsos1_amd64.deb ...
Dépaquetage de glx-diversions (0.6.93+bsos1) sur (0.5.1) ...
Préparation du dépaquetage de .../libgl1-nvidia-glx_352.55-2+steamos1+bsos1_amd64.deb ...
Déconfiguration de libgl1-nvidia-glx:i386 (340.65-2) ...
Dépaquetage de libgl1-nvidia-glx:amd64 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../libgl1-nvidia-glx_352.55-2+steamos1+bsos1_i386.deb ...
Dépaquetage de libgl1-nvidia-glx:i386 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../libgles2-nvidia_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de libgles2-nvidia:amd64 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../libgles1-nvidia_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de libgles1-nvidia:amd64 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../libegl1-nvidia_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de libegl1-nvidia:amd64 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../libnvidia-eglcore_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de libnvidia-eglcore:amd64 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../nvidia-vdpau-driver_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de nvidia-vdpau-driver:amd64 (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Préparation du dépaquetage de .../libvdpau1_1.1-1+bsos1_amd64.deb ...
Déconfiguration de libvdpau1:i386 (0.8-3+deb8u2) ...
Dépaquetage de libvdpau1:amd64 (1.1-1+bsos1) sur (0.8-3+deb8u2) ...
Préparation du dépaquetage de .../libvdpau1_1.1-1+bsos1_i386.deb ...
Dépaquetage de libvdpau1:i386 (1.1-1+bsos1) sur (0.8-3+deb8u2) ...
Préparation du dépaquetage de .../nvidia-kernel-common_20151021+1+bsos1_amd64.deb ...
Dépaquetage de nvidia-kernel-common (20151021+1+bsos1) sur (20141201+1) ...
Préparation du dépaquetage de .../nvidia-modprobe_340.46-1+bsos2_amd64.deb ...
Dépaquetage de nvidia-modprobe (340.46-1+bsos2) sur (340.46-1) ...
Sélection du paquet nvidia-kernel-support précédemment désélectionné.
Préparation du dépaquetage de .../nvidia-kernel-support_352.55-2+steamos1+bsos1_amd64.deb ...
Dépaquetage de nvidia-kernel-support (352.55-2+steamos1+bsos1) ...
Préparation du dépaquetage de .../nvidia-kernel-dkms_352.55-2+steamos1+bsos1_amd64.deb ...

-------- Uninstall Beginning --------
Module:  nvidia-current
Version: 340.65
Kernel:  3.16.0-4-amd64 (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

nvidia-current.ko:
- Uninstallation
 - Deleting from: /lib/modules/3.16.0-4-amd64/updates/dkms/
- Original module
 - No original module was found for this module on this kernel.
 - Use the dkms install command to reinstall any previous module version.


nvidia-uvm.ko:
- Uninstallation
 - Deleting from: /lib/modules/3.16.0-4-amd64/updates/dkms/
- Original module
 - No original module was found for this module on this kernel.
 - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 340.65
completely from the DKMS tree.
------------------------------
Done.
Dépaquetage de nvidia-kernel-dkms (352.55-2+steamos1+bsos1) sur (340.65-2) ...
Sélection du paquet libgl1-nvidia-glx-i386 précédemment désélectionné.
Préparation du dépaquetage de .../libgl1-nvidia-glx-i386_352.55-2+steamos1+bsos1_i386.deb ...
Dépaquetage de libgl1-nvidia-glx-i386 (352.55-2+steamos1+bsos1) ...
Préparation du dépaquetage de .../libxnvctrl0_340.46-2+bsos2_amd64.deb ...
Dépaquetage de libxnvctrl0 (340.46-2+bsos2) sur (340.46-2) ...
Sélection du paquet nvidia-persistenced précédemment désélectionné.
Préparation du dépaquetage de .../nvidia-persistenced_358.09-1~bpo8+1_amd64.deb ...
Dépaquetage de nvidia-persistenced (358.09-1~bpo8+1) ...
Traitement des actions différées (« triggers ») pour gnome-menus (3.13.3-6) ...
Traitement des actions différées (« triggers ») pour desktop-file-utils (0.22-1) ...
Traitement des actions différées (« triggers ») pour mime-support (3.58) ...
Traitement des actions différées (« triggers ») pour man-db (2.7.0.2-5) ...
Paramétrage de glx-diversions (0.6.93+bsos1) ...
Conservation de « détournement de /usr/lib/libGL.so en /usr/lib/mesa-diverted/libGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGL.so en /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGL.so en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGL.so en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/libGL.so.1 en /usr/lib/mesa-diverted/libGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGL.so.1 en /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGL.so.1 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGL.so.1 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/libGL.so.1.2 en /usr/lib/mesa-diverted/libGL.so.1.2 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGL.so.1.2 en /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.2 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGL.so.1.2 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.2 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGL.so.1.2 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1.2 par glx-diversions »
Conservation de « détournement de /usr/lib/libGL.so.1.2.0 en /usr/lib/mesa-diverted/libGL.so.1.2.0 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGL.so.1.2.0 en /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.2.0 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.2.0 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGL.so.1.2.0 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1.2.0 par glx-diversions »
Conservation de « détournement de /usr/lib/libEGL.so en /usr/lib/mesa-diverted/libEGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libEGL.so en /usr/lib/mesa-diverted/i386-linux-gnu/libEGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libEGL.so en /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libEGL.so en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libEGL.so par glx-diversions »
Conservation de « détournement de /usr/lib/libEGL.so.1 en /usr/lib/mesa-diverted/libEGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libEGL.so.1 en /usr/lib/mesa-diverted/i386-linux-gnu/libEGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libEGL.so.1 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libEGL.so.1 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libEGL.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/libEGL.so.1.0.0 en /usr/lib/mesa-diverted/libEGL.so.1.0.0 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libEGL.so.1.0.0 en /usr/lib/mesa-diverted/i386-linux-gnu/libEGL.so.1.0.0 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libEGL.so.1.0.0 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1.0.0 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libEGL.so.1.0.0 par glx-diversions »
Conservation de « détournement de /usr/lib/libGLESv1_CM.so en /usr/lib/mesa-diverted/libGLESv1_CM.so par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGLESv1_CM.so en /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so par glx-diversions »
Conservation de « détournement de /usr/lib/libGLESv1_CM.so.1 en /usr/lib/mesa-diverted/libGLESv1_CM.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1 en /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so.1 par glx-diversions »
Conservation de « détournement de /usr/lib/libGLESv1_CM.so.1.1.0 en /usr/lib/mesa-diverted/libGLESv1_CM.so.1.1.0 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1.1.0 en /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so.1.1.0 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.1.0 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1.1.0 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.1.0 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so.1.1.0 par glx-diversions »
Conservation de « détournement de /usr/lib/libGLESv2.so en /usr/lib/mesa-diverted/libGLESv2.so par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGLESv2.so en /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGLESv2.so en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGLESv2.so en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so par glx-diversions »
Conservation de « détournement de /usr/lib/libGLESv2.so.2 en /usr/lib/mesa-diverted/libGLESv2.so.2 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGLESv2.so.2 en /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so.2 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so.2 par glx-diversions »
Conservation de « détournement de /usr/lib/libGLESv2.so.2.0.0 en /usr/lib/mesa-diverted/libGLESv2.so.2.0.0 par glx-diversions »
Conservation de « détournement de /usr/lib/i386-linux-gnu/libGLESv2.so.2.0.0 en /usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so.2.0.0 par glx-diversions »
Conservation de « détournement de /usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0 en /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2.0.0 par glx-diversions »
Conservation de « détournement de /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 en /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so.2.0.0 par glx-diversions »
Paramétrage de glx-alternative-mesa (0.6.93+bsos1) ...
update-alternatives: avertissement: forçage de la réinstallation de l'alternative /usr/lib/nvidia car le groupe de liens glx est cassé
update-alternatives: avertissement: création de /usr/lib/x86_64-linux-gnu/libEGL.so.1 abandonnée car le fichier associé /usr/lib/x86_64-linux-gnu/nvidia/libEGL.so.1 (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/i386-linux-gnu/libGL.so.1 abandonnée car le fichier associé /usr/lib/i386-linux-gnu/nvidia/libGL.so.1 (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/x86_64-linux-gnu/libGL.so.1 abandonnée car le fichier associé /usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1 (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1 abandonnée car le fichier associé /usr/lib/x86_64-linux-gnu/nvidia/libGLESv1_CM.so.1 (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 abandonnée car le fichier associé /usr/lib/x86_64-linux-gnu/nvidia/libGLESv2.so.2 (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/i386-linux-gnu/libnvidia-cfg.so.1 abandonnée car le fichier associé /usr/lib/i386-linux-gnu/nvidia/libnvidia-cfg.so.1 (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so.1 abandonnée car le fichier associé /usr/lib/x86_64-linux-gnu/nvidia/libnvidia-cfg.so.1 (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/xorg/modules/linux/libglx.so abandonnée car le fichier associé /usr/lib/nvidia/libglx.so (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /etc/modprobe.d/nvidia-blacklists-nouveau.conf abandonnée car le fichier associé /etc/nvidia/nvidia-blacklists-nouveau.conf (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/bin/nvidia-bug-report.sh abandonnée car le fichier associé /usr/lib/nvidia/nvidia-bug-report.sh (du groupe de liens glx) n'existe pas
update-alternatives: avertissement: création de /usr/lib/xorg/modules/drivers/nvidia_drv.so abandonnée car le fichier associé /usr/lib/nvidia/nvidia_drv.so (du groupe de liens glx) n'existe pas
Paramétrage de glx-alternative-nvidia (0.6.93+bsos1) ...
update-alternatives: utilisation de « /usr/lib/mesa-diverted » pour fournir « /usr/lib/glx » (glx) en mode automatique
update-initramfs: deferring update (trigger activated)
Removing obsolete conffile /etc/nvidia/nvidia-blacklists-nouveau.conf ...
Paramétrage de nvidia-alternative (352.55-2+steamos1+bsos1) ...
Removing obsolete conffile /etc/nvidia/nvidia-modprobe.conf ...
Paramétrage de libnvidia-eglcore:amd64 (352.55-2+steamos1+bsos1) ...
Paramétrage de libvdpau1:amd64 (1.1-1+bsos1) ...
Paramétrage de libvdpau1:i386 (1.1-1+bsos1) ...
Paramétrage de nvidia-kernel-common (20151021+1+bsos1) ...
Installation de la nouvelle version du fichier de configuration /etc/modprobe.d/nvidia-kernel-common.conf ...
Removing obsolete conffile /etc/init.d/nvidia-kernel ...
Removing obsolete conffile /etc/default/nvidia-kernel ...
Paramétrage de nvidia-modprobe (340.46-1+bsos2) ...
Paramétrage de libxnvctrl0 (340.46-2+bsos2) ...
Paramétrage de nvidia-persistenced (358.09-1~bpo8+1) ...
Traitement des actions différées (« triggers ») pour nvidia-alternative (352.55-2+steamos1+bsos1) ...
update-alternatives: utilisation de « /usr/lib/nvidia/current » pour fournir « /usr/lib/nvidia/nvidia » (nvidia) en mode automatique
Traitement des actions différées (« triggers ») pour glx-alternative-nvidia (0.6.93+bsos1) ...
update-alternatives: utilisation de « /usr/lib/nvidia » pour fournir « /usr/lib/glx » (glx) en mode automatique
update-initramfs: deferring update (trigger activated)
Paramétrage de libegl1-nvidia:amd64 (352.55-2+steamos1+bsos1) ...
Paramétrage de libnvidia-ml1:amd64 (352.55-2+steamos1+bsos1) ...
Paramétrage de nvidia-driver-bin (352.55-2+steamos1+bsos1) ...
Paramétrage de nvidia-vdpau-driver:amd64 (352.55-2+steamos1+bsos1) ...
Paramétrage de nvidia-kernel-support (352.55-2+steamos1+bsos1) ...
Paramétrage de libgles2-nvidia:amd64 (352.55-2+steamos1+bsos1) ...
Paramétrage de libgles1-nvidia:amd64 (352.55-2+steamos1+bsos1) ...
Paramétrage de libgl1-nvidia-glx:amd64 (352.55-2+steamos1+bsos1) ...
Paramétrage de libgl1-nvidia-glx:i386 (352.55-2+steamos1+bsos1) ...
Paramétrage de xserver-xorg-video-nvidia (352.55-2+steamos1+bsos1) ...
Paramétrage de libgl1-nvidia-glx-i386 (352.55-2+steamos1+bsos1) ...
Traitement des actions différées (« triggers ») pour nvidia-alternative (352.55-2+steamos1+bsos1) ...
update-alternatives: mise à jour de l'alternative /usr/lib/nvidia/current car le groupe de liens nvidia contient des liens esclaves modifiés
Paramétrage de nvidia-kernel-dkms (352.55-2+steamos1+bsos1) ...
Loading new nvidia-current-352.55 DKMS files...
Building only for 3.16.0-4-amd64
Building initial module for 3.16.0-4-amd64
Done.

nvidia-current:
Running module version sanity check.
- Original module
 - No original module exists within this kernel
- Installation
 - Installing to /lib/modules/3.16.0-4-amd64/updates/dkms/

nvidia-current-uvm.ko:
Running module version sanity check.
- Original module
 - No original module exists within this kernel
- Installation
 - Installing to /lib/modules/3.16.0-4-amd64/updates/dkms/

depmod....

DKMS: install completed.
Traitement des actions différées (« triggers ») pour glx-alternative-nvidia (0.6.93+bsos1) ...
update-alternatives: mise à jour de l'alternative /usr/lib/nvidia car le groupe de liens glx contient des liens esclaves modifiés
update-initramfs: deferring update (trigger activated)
Paramétrage de nvidia-driver (352.55-2+steamos1+bsos1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.19-18+deb8u1) ...
Traitement des actions différées (« triggers ») pour initramfs-tools (0.120) ...
update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8402-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8105e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169

DKMS compilera le module nvidia pour votre ordinateur.

Je ne sais pas pourquoi mais nvidia-settings a été supprimé. J'ai été obligé de le ré-installer par la suite (ce paquet n'est pas indispensable).

#root
aptitude install nvidia-settings 

Redémarrez votre ordinateur pour activer le blacklistage du module "nouveau".

On peut vérifier que le pilote est bien installé:

$user
apt show nvidia-driver 

Facultatif: pour ne pas avoir de mauvaises surprises avec les futures mises à jour des pilotes Nvidia de SteamOS, il est possible figer les versions installées.

#root
aptitude hold libegl1-nvidia:amd64 libgl1-nvidia-glx:amd64 libgl1-nvidia-glx:i386 libgl1-nvidia-glx-i386 libgles1-nvidia:amd64 libgles2-nvidia:amd64 libnvidia-eglcore:amd64 libnvidia-ml1:amd64 libxnvctrl0 nvidia-alternative nvidia-driver nvidia-driver-bin nvidia-kernel-dkms nvidia-modprobe nvidia-settings nvidia-vdpau-driver:amd64 xserver-xorg-video-nvidia 

Pour connaître les paquets figés et s'assurer de l’exécution de la commande précédente:

$user
aptitude search ~ahold 

Tout est prêt pour lancer Grid Autosport.

Par précaution, à la prochaine mise à jour, il n'est pas idiot de vérifier les paquets qui seront installés avec la commande:

$user
apt list --upgradable --all-versions 

et pour vérifier un paquet spécifique:

$user
apt-cache policy  
Les pilotes Nvidia 340.65 du dépôt jessie non-free étaient déjà installés avant le passage vers ceux de steamos. Je n'ai pas eu besoin de les supprimer ni d'effectuer d'autres manipulations préalables aux opérations décrites dans cet article.

Ressources

Plus d'informations sur aptitude, le gestionnaire de paquets de Debian GNU/Linux.

$user
man aptitude 

Pour comprendre le rôle et l'utilisation du fichier /etc/apt/preferences et /etc/apt/preferences.d/

$user
man apt_preferences 

© 2015 nIQnutn

Gravatar de nIQnutn
Original post of nIQnutn.Votez pour ce billet sur Planet Libre.

Pierre-Alain Bandinelli : Utiliser Let’s Encrypt avec ownCloud, Piwik, Dotclear, Drupal et des sites statiques !

samedi 19 décembre 2015 à 16:47

Depuis le début du mois, il est possible d'utiliser "Let's Encrypt" pour obtenir des certificats TLS/SSL pour sécuriser ses sites et services en ligne (bien que le système soit toujours annoncé en bêta). Ce matin, je décidais donc de m'y mettre et de remplacer mes certificats StartSSL.

Première étape : comprendre le fonctionnement

Le principe est assez simple et n'est pas très différent de celui déjà rencontré pour l'obtention de certificats auprès des opérateurs "classiques" (les StartSSL et consors). Classiquement, (i) on démontre la possession réelle du nom de domaine, (ii) on génère une clé privée et une clé publique et on transmet la clé publique à l'opérateur de certification qui (iii) fournit en retour un certificat attestant le lien entre le nom de domaine et la paire de clés crypto utilisées pour l'établissement de communications sécurisées. Avec Letsencrypt, ces étapes ont lieu mais automatiquement. Dans l'utilisation commune, Letsencrypt vient avec un script Python (letsencrypt-auto) qui va faire tout le travail :

Par rapport à ce qui est fourni habituellement par les acteurs privés :

Deuxième étape : installer Let’s Encrypt

Nous allons commencer par le cas simple d'un site statique. Le script letsencrypt se télécharge sur la machine d'hébergement à l'aide de git :

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

puis on peut lancer le script (qui va effectuer les installations supplémentaires nécessaires) par :

./letsencrypt-auto

Cela fonctionne très bien sur Debian Jessie et sans doute les autres systèmes récents (c'est la version de Python qui semble être un des facteurs limitants pour les "vieilles" distributions). On reviendra sur ce point plus loin.

Troisième étape : utiliser Let’s Encrypt pour un site statique

Commençons par le cas simple d'un site statique hébergé dans /var/www/mon-site/ et servi par Apache.

./letsencrypt-auto certonly -a webroot --webroot-path /var/www/mon-site/ -d mondomaine.tld

certonly car nous demandons à Let’s Encrypt de générer le certificat et de s'arrêter là (donc de ne pas l'installer lui-même). -a webroot car nous indiquons à Let’s Encrypt où se trouve la racine du site afin qu'il puisse y placer le fichier de "challenge" (.well-known/acme-challenge/chaîne-choisie-au-hasard). Et -d mondomaine.tld pour indiquer le domaine. Il est possible d'indiquer plusieurs domaines s'ils partagent le même webroot par exemple :

./letsencrypt-auto certonly -a webroot --webroot-path /var/www/mon-site/ -d mondomaine.tld -d www.mondomaine.tld

Dans ce cas le certificat contiendra les 2 domaines en SAN (Subject Alternative Names).

Au premier lancement, le script demande de saisir l'adresse courriel qui sera rattachée au compte (et qui recevra les éventuelles notifications de péremption des domaines non renouvelés).

Et hop, le script travaille et un certificat tout neuf (et valide !) est déposé dans /etc/letsencrypt/live/mondomaine.tld/fullchain.pem. La clé privée correspondante se trouve dans /etc/letsencrypt/live/mondomaine.tld/privkey.pem. Ce certificat peut alors être utilisé comme il l'a toujours été (par ex. appelé dans la configuration d'Apache ou de votre load balancer) - je détaille ici comment l'utiliser avec le load balancer Pound.

Let’s Encrypt et un blog dotclear

Aucune surprise ni difficulté avec dotclear :

./letsencrypt-auto certonly -a webroot --webroot-path /chemin/vers/blog/dotclear -d blog.bandinelli.net

et hop, /etc/letsencrypt/live/blog.bandinelli.net/fullchain.pem est créé ! Une commande pour un certificat, c'est classe et pratique !

Let’s Encrypt et Piwik

Aucune surprise ni difficulté avec Piwik :

./letsencrypt-auto certonly -a webroot --webroot-path /chemin/vers/racine/piwik -d piwik.mondomaine.tld

et hop, /etc/letsencrypt/live/piwik.mondomaine.tld/fullchain.pem est créé !

Let’s Encrypt et Drupal 7

Une petite astuce est nécessaire ici : par défaut le moteur de Drupal demande au serveur web de réécrire toutes les adresses et empêche l'accès à certaines adresses. Ainsi, le fichier .htaccess se trouvant à la racine d'un site Drupal contient la ligne suivante :

RewriteRule "(^|/)\\." - [F]

Cette ligne ordonne à Apache de renvoyer vers la page "Accès interdit" toute requête qui débuterait par ".". Il faut bien évidemment désactiver cette sécurité pour Letsencrypt :

RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
RewriteRule "(^|/)\\." - [F]

La condition RewriteCond désactive la redirection qui suit pour le challenge de letsencrypt seulement.

Une fois cela effectué, on peut utiliser la commande classique pour obtenir le certificat valide dans /etc/letsencrypt/live/mondomaine.tld/fullchain.pem :

./letsencrypt-auto certonly -a webroot --webroot-path /chemin/vers/site/drupal/ -d mondomaine.tld

Let’s Encrypt et ownCloud

Une petite astuce est nécessaire ici : par défaut le moteur de Drupal demande au serveur web de réécrire toutes les adresses et empêche l'accès à certaines adresses. Ainsi, le fichier .htaccess se trouvant à la racine d'une instance ownCloud contient la ligne suivante :

RewriteRule ^(\\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]

elle renvoie vers 404 tous les appels à un chemin démarrant par ".". Il est bien sûr nécessaire de désactiver cette ligne conditionnellement :

RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
RewriteRule ^(\\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]

Ensuite, sans surprise, pour obtenir le certificat valide dans /etc/letsencrypt/live/mondomainecloud.tld/fullchain.pem :

./letsencrypt-auto certonly -a webroot --webroot-path /chemin/vers/owncloud/ -d mondomainecloud.tld

Conclusion

Très efficace et rapide, comment ne pas tomber sous le charme de Letsencrypt ? Il reste à valider : la procédure de renouvellement et la pérennité dans le temps de la structure. Pour y aider, on peut toujours faire un petit don sur la page d'accueil de Let’s Encrypt !

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

François Boulogne : rss-bridge : flux rss pour sites qui n'en proposent pas

samedi 19 décembre 2015 à 00:00

Les flux RSS me sont incontournables et rss2email est le logiciel que j'utilise. Le choix est expliqué ici.

Le problème survient lorsque des sites ne proposent pas de flux RSS, et généralement, ce sont les sites populaires. Sebsauvage propose un code en php qui se nomme rss-bridge. C'est simple et ça marche : une page en php qui offre la possibilité de générer un flux atom, rss, html, json, txt pour des sites sont les greffons ont été écrit. Il existe de très nombreux greffons activables (s'ils ne le sont pas par défaut). Par exemple, twitter, facebook, google, youtube, leboncoin... la liste se trouve en explorant le répertoire bridges du code. Rss-bridge gère un cache, ce qui permet d'éviter de se faire bannir si le client rss fait trop de requêtes.

Voilà une application simple et utile à auto-héberger !

Gravatar de François Boulogne
Original post of François Boulogne.Votez pour ce billet sur Planet Libre.

Articles similaires

François Boulogne : Mise à jour du plugin pandoc pour ikiwiki

samedi 19 décembre 2015 à 00:00

J'utilise Ikiwiki pour ce blog ainsi que des wikis privés ou publics. En deux mots, c'est un outil permettant d'utiliser git pour générer un site statique à partir de fichiers en marquage léger (comme markdown). Pandoc est un outil permettant de convertir du texte dans différents formats, et le nombre de formats supportés est assez impressionnant.

Il y a quelques années, un greffon pour ikiwiki permettant d'utiliser pandoc comme moteur pour générer de l'html avait été écrit mais non maintenu. Plusieurs avantages à ce greffons : la coloration syntaxique pour les codes, la gestion de mathjax pour les équations, les metadonnées, les formats d'écriture. Sur github, j'avais trouvé un certain nombre de forks que j'ai fusionné pour en faire un code dont l'idée serait de le maintenir à long terme. Ces derniers jours, un de ces contributeurs est revenu vers ce code pour réparer un bug causé par l'évolution de perl, que j'avais corrigé il y a plusieurs mois sur mes serveurs mais oublié de corriger dans le dépôt. Le ticket d'un utilisateur a réveillé tout ça. Suite à ma demande, le contributeur en a profité pour améliorer le greffon, tant sur la doc que sur les fonctionnalités, pour le maintenir à flot vis à vis des évolutions de pandoc.

C'est la magie du logiciel libre comme je l'apprécie. On peut ainsi bénéficier d'un meilleur code avec de nouvelles options, une gestion des metadonnées améliorée et un support des formats étendus.

Ikiwiki offre de vraies possibilités de bidouille. Ca le rend sans doute austère et difficile à appréhender, mais l'automatisation et la flexibilité qu'il offre sont sans communes mesures.

Gravatar de François Boulogne
Original post of François Boulogne.Votez pour ce billet sur Planet Libre.