PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Journal du hacker : Liens intéressants Journal du hacker semaine #15

lundi 18 avril 2016 à 00:01

Pour la 15ème semaine de 2016, voici 5 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Planet Libre : Brèves du Planet Libre - lundi 18, avril 2016

lundi 18 avril 2016 à 00:00

Linus Torvalds : « Le desktop n’a pas été vraiment conquis » - Next INpact

Linux distributions GNOME KDE Xfce Mate Cinnamon


antistress : "Cest un sujet récurrent : quand Linux lancera-t-il vraiment une invasion sur les machines de bureau ? Beaucoup ont l’impression que l’ensemble du projet – qui n’était au départ qu’une création de Linus Torvalds pour ses propres besoins – n’a jamais dépassé le succès d’estime puisqu’on ne le voit presque « nulle part ». Tout dépend en fait où on regarde, et surtout ce que l’on appelle Linux."


Initiation GIMP : la retouche photo - Formation logiciel libre

GIMP logiciel tutoriel


antistress : Un tutoriel pour GIMP sous licence libre.


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

Angristan : Compiler son noyau Linux sous Debian et Ubuntu

dimanche 17 avril 2016 à 18:44

Compiler son noyau Linux sous Debian et Ubuntu

C'est dimanche, il ne fait pas assez beau pour sortir (ok, fausse excuse)... Alors qu'est-ce qu'on fait ?

Ben on compile Linux, pardi ! Directement depuis le code source de kernel.org, signé de la main de notre cher Linux Torvalds. On va partir du code source de la dernière version longterm (4.4.7 actuellement), pour arriver à la fin à un paquet .deb à installer sur votre PC/serveur sous Debian/Ubuntu.

Pourquoi compiler soi-même son noyau ? Il y a des avantages :

... et des désavantages :

Mais bon faut se lancer ! Pour ma part, j'ai compilé le noyau pour un serveur sous Debian 8. Cela marche pour la plupart des versions plus ou moins récentes de Debian et Ubuntu.

J'ai pris une instance Cloud avec du SSD et un gros CPU, et ça ma pris une demi-heure. Cela peut prendre plusieurs heures sur les machines les moins véloces, alors préparez-vous un café !

Notez aussi qu'il existe plusieurs manières de compiler et d'installer Linux. Ici on le fait spécifiquement pour Debian, Ubuntu et leurs dérivées puisque l'on obtiens un paquet .deb à la fin.

Pré-requis

Prévoyez d'avoir au moins 10GB d'espace disque disponible.

On installe les dépendances qui nous serviront pour la compilation :

apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc liblz4-tool kernel-package

Téléchargement

On définit une variable pour la version de Linux que l'on souhaite utiliser, ici la 4.4.7 :

LINUX_VER=4.4.7

Ensuite on crée un dossier que l'on utilisera pour compiler et stocker le code source et le binaire de notre noyau :

cd /opt
mkdir linux
cd linux

On télécharge l'archive contenant le code source depuis le site officiel :

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${LINUX_VER}.tar.xz

On l'extrait, puis on rentre dans le dossier :

tar xvf linux-${LINUX_VER}.tar.xz
cd linux-${LINUX_VER}

Configuration

C'est la partie délicate. C'est dans le fichier .config présent dans ce dossier que tout se joue ! :P

Vous pouvez le configurer via une interface graphique à l'aide de la commande :

make menuconfig

screenshot_17-04-2016_akCvVzfe

Vous pouvez partir sur la base de votre noyau actuell, en copiant son fichier de configuration :

cp /boot/config-$(uname -r) .config

Voici un autre exemple de configuration (thx WonderFall). Il a le NAT, AppArmor  et LZ4 d'activé.

Si vous n'êtes pas sûr ne touchez pas trop au fichier de configuration. ;)

Compilation

On nettoie un peu le tout :

make-kpkg clean

Puis... on compile !

fakeroot make-kpkg --initrd --revision=$(date +%F) kernel_image kernel_headers -j $(nproc)

Bon ok, la commande est un peu indigeste !

Partons de la commande base :

fakeroot make-kpkg --initrd  kernel_image kernel_headers

La commande fakeroot permet d'exécuter la commande make-kpkg comme si elle avait les droits root. fakeroot permet de créer des archives avec des fichiers ayant les droits root, et donc ici se sera notre paquet .deb.

La commande make-kpkg nous permet de créer un paquet pour Debian /Ubuntu depuis les sources du noyau linux avec les options suivantes :

On peut ensuite ajouter les options suivantes :

Voilà, maintenant vous savez ce que fait la commande :

fakeroot make-kpkg --initrd --revision=$(date +%F) kernel_image kernel_headers -j $(nproc)

Vous n'avez plus qu'à patienter....

Compiler son noyau Linux sous Debian et Ubuntu

Installation

Un fois que la compilation est terminée, vous aurez 2 paquets dans le dossier précédent :

Compiler son noyau Linux sous Debian et Ubuntu

Il ne vous reste plus qu'à les installer (on utilise les variables précédentes)

cd ..
dpkg -i linux-image-${LINUX_VER}_$(date +%F)_amd64.deb
dpkg -i linux-headers-${LINUX_VER}_$(date +%F)_amd64.deb

Normalement GRUB choisira tout seul ce nouveau noyau. Si ce n'est pas le cas je vous renvoie à cet article. Il ne vous reste plus qu'à redémarrer !

On vérifie ensuite la version de notre noyau (il y a écrit docker parce que le hostname de ce serveur était docker ^^) :

Compiler son noyau Linux sous Debian et Ubuntu

En parlant de Docker, AUFS n'étant pas inclus dans le noyau, sauf un travers un patch, il faudra donc le remplacer par Overlay. (merci encore une fois @thewonderfall)

 

Voilà ! Un noyau Linux compilé par vos soins est désormais installé sur votre machine ! Notez qu'il faudra refaire toutes ces étapes à la main pour chaque mise à jour.

Sources :

L'article Compiler son noyau Linux sous Debian et Ubuntu a été publié sur Angristan

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

fgallaire : Mehdi Dogguy élu DPL pour 2016

dimanche 17 avril 2016 à 16:39

C’est Mehdi Dogguy qui vient d’être élu Debian Project Leader (DPL) pour l’année 2016, succédant ainsi au mandat de Neil McGovern, contre qui il avait perdu en 2015.

Mehdi Dogguy

Ce n’est bien sûr pas une surprise puisque Mehdi était le seul candidat, et qu’il n’y avait aucune raison valable de lui préférer « None of The Above » et ainsi de provoquer de nouvelles élections. Voici une représentation du résultat du scrutin qui utilise la méthode Condorcet :

Vote DPL 2016

Ce vote confirme cependant la place importante prise par la France dans le projet Debian ces dernières années, après les trois mandats de Stefano Zacchiroli et les deux mandats de Lucas Nussbaum.

Bravo à toi Mehdi, et bonne chance dans la mise en œuvre de ton programme !

Tweet

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

Articles similaires

Remi Collet : Ma station de travail PHP

samedi 16 avril 2016 à 09:15

Je vois régulièrement passer des questions sur l'utilisation d'anciennes versions de PHP sur Fedora (qui fournit la 5.6) ou de versions plus récentes sur RHEL / CentOS (qui fournit la 5.4).

Un développeur utilisant PHP a souvent besoin de tester son travail avec plusieurs versions. Donc voici un petit descriptif de la station de travail que j'utilise quotidiennement

Système d'exploitation : Fedora 23 Workstation x86_64 (mais les exemples fonctionnent aussi sur RHEL ou CentOS 7)

Dépôts tiers : rpmfusion (pour écouter de la musique en travaillant) et évidement remi

# wget http://rpms.remirepo.net/fedora/remi-release-23.rpm
# dnf install remi-release-23.rpm
# dnf config-manager --set-enabled remi

 

Installation des versions de PHP

J'utilise les Software Collections qui permettent d'installer plusieurs versions en parallèle sans toucher au système de base, les versions de PHP 5.4, 5.5, 5.6 et 7.0 sont disponibles dans mon dépôt, donc:

# yum install  php54 php54-fpm php54-php-mbstring php54-php-mysqlnd ...
# yum install  php55 php55-fpm php55-php-mbstring php55-php-mysqlnd ...
# yum install  php56 php56-fpm php56-php-mbstring php56-php-mysqlnd ...
# yum install  php70 php70-fpm php70-php-mbstring php70-php-mysqlnd ...

 

Configuration de l'environnement Web

PHP FastCGI Process Manager

Je n'utilise pas mod_php qui n'autorise qu'une seule version du module, mais FPM.

Je ne suis pas en production mais sur une station de développement, donc afin de limiter la charge, je modifie la configuration de chaque FPM pour utiliser le mode "ondemand". J'utilise aussi un port réseau différent pour chaque version

Example, pour PHP 7.0, dans le fichier /etc/opt/remi/php70/php-fpm.d/www.conf

listen = 127.0.0.1:9070
pm = ondemand

Je configure le port pour SELinux

# semanage port -a -t http_port_t -p tcp 9070

Et ensuite j'active le service

# systemctl start php70-php-fpm
# systemctl enable php70-php-fpm

Et j'applique pour chaque version.

Apache

Je crée 1 hôte virtuel pour chaque version de PHP

Dans le fichier /etc/hosts, déclaration des alias IP

192.168.0.15    myip php70scl php56scl php55scl php54scl

Création d'un fichier de configuration, avec les alias vers les dépôts git dans lesquels je travaille, ainsi que les hôtes virtuels: /etc/httpd/conf.d/remi.conf

    Alias /glpi090    "/work/GIT/GLPI/090-bugfixes"
    Alias /glpimaster "/work/GIT/GLPI/master"
    Alias /galette    "/work/GIT/galette/galette"

    
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Require all granted
    

    
        ServerName php70scl
        
            SetHandler "proxy:fcgi://127.0.0.1:9070"
        
    

    
        ServerName php56scl
        
            SetHandler "proxy:fcgi://127.0.0.1:9056"
        
    

    
        ServerName php55scl
        
            SetHandler "proxy:fcgi://127.0.0.1:9055"
        
    

    
        ServerName php54scl
        
            SetHandler "proxy:fcgi://127.0.0.1:9054"
        
    

Et j'utilise donc les adresses http://php70scl/, http://php56scl/, http://php55scl/ et http://php54scl/ dans mon navigateur.

 

Ligne de commande

Pour passer d'une version à l'autre, je choisi simplement la version voulue en utilisant les modules d'environnements

$ module load php70
$ ...
$ module unload php70

Développement sur du code PHP

J'utilise évidement les outils disponibles dans le dépôt, et qui sont prévus pour fonctionner avec le PHP disponible.

# yum install atoum composer phpunit phpcompatinfo phpcs apigen ...

Par exemple :

$ git clone https://github.com/vendor/project.git
$ cd project
$ composer install
$ phpunit --verbose
$ ...

Développement des extensions PHP

Il faut évidement installer les outils de développement

# yum install php70-php-devel php56-php-devel php55-php-devel php54-php-devel

Par exemple :

$ cd /work/GIT/uopz
$ module load php70
$ phpize
$ ./configure
$ make
$ make test

 

Conclusion

Cette configuration, qui me parait simple, me semble idéale pour un développeur qui a besoin de plusieurs versions de PHP mais veut se concentrer sur son travail, et bénéficier de l'ensemble des paquets disponibles dans une distribution assez complète, avec le bénéfice des Software Collections disponibles dans mon dépôt.

J'aurais aussi pu utiliser Docker... mais cette solution me semble bien plus simple, enfin j'utilise quand même Docker pour PHP 5.3.

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

Articles similaires