PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Thuban : Compiler compiz sur debian jessie

mardi 1 décembre 2015 à 12:16
Suite au billet précédent, j'ai quand même cherché à compiler compiz sur debian jessie. Et si, c'est possible, bien que la tâche ne soit pas aisée.

Déjà, voici les dépendances à installer. Il y en a un paquet, et je crains d'en avoir oublié :

libnotify-dev libglibmm-2.4-dev build-essential libxcomposite-dev libpng12-dev libsm-dev libxrandr-dev libxdamage-dev libxinerama-dev libstartup-notification0-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libmetacity-dev librsvg2-dev libdbus-1-dev libdbus-glib-1-dev libgnome-desktop-dev  curl autoconf automake  libtool intltool libxslt1-dev xsltproc libwnck-dev python-dev python-pyrex libboost-dev libboost-serialization-dev cmake checkinstall lcov libwnck-3-dev



Déjà, il faut récupérer l'archive sur... le launchpad d'ubuntu (ça en dit long). Avec la toute dernière archive, la compilation ne passe pas. Je suis donc parti de la compiz-0.9.12.1.tar.bz2.

Une fois décompressée, on se déplace dedans puis on crée un dossier "build" dans lequel on se déplace pour entamer la compilation :

mkdir build
cd build
export COMPIZ_DEB_BUILD=1
cmake .. -DCMAKE_CXX_FLAGS="`pkg-config --cflags glibmm-2.4`"
make


Pour finir, on crée un paquet qui sera installé avec checkinstall :
sudo checkinstall


Et voilà. Vous pouvez lancer le gestionnaire d'options de compiz avec
ccsm
ou bien lancer compiz avec
compiz --replace ccp

— (permalink)

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

Articles similaires

genma : Ubuntu - Conférence Ubuntu pour les écoles

mardi 1 décembre 2015 à 09:00

En Mai 2014, le Framablog publiait Fin du support XP, un collège espagnol migre vers Ubuntu

La personne à l'origine de cette migration, Fernando Lanero, était invité à l'Ubuntu party de novembre 2015 pour y donner une conférence. En tant que Framasoftien, j'ai été convié à participer à son intervention en voyant avec Fernando, pour effectuer la traduction de ce son support texte et diapositives de l'anglais vers le français.

Pendant sa conférence, il a donc parlé en anglais et j'ai traduirai son discours et les questions du public. Le support est ici fr : http://slides.com/genma/libertad-3-1

Textes et supports, en accord avec Fernando, sont sous licence CC BY SA
Version anglaise du texte disponible ici

LINUX POUR l'éducation, LINUX POUR LA SCIENCE

UBUNTU POUR LIBÉRER LES ÉCOLES

Je m'appelle Fernando, je suis un professeur enseignant l'informatique dans une école qui comporte entre mille et deux milles étudiants dans une ville au Nord de l'Espagne.

Il y a 8 ans, avant la crise économique, notre école a reçu un financement du Ministère de l'éducation. Ce financement consistait en un don de 80 PC sous Windows XP (c'était bien à l'époque, mais un Epic Fail maintenant.

Les choses ont en effet changées il y a 2 ans avec la sortie d'Ubuntu 14.04.

Dans notre école, tous nos ordinateurs sont désormais sous Ubuntu.

De plus, il y a 2 ordinateurs qui ont été migrés la semaine de dernière. De mon point de vue, ces deux ordinateurs étaient les deux ordinateurs les plus importants et les plus sensibles de l'école.

Je parle en effet des ordinateurs du secrétariat, qui n'avaient pas été migrés pour des raisons administratives. Maintenant tout marche parfaitement.

De mon point de vue, cent vingt ordinateurs, c'est un ensemble considérable de machines dans une région telle que León, une petite préfecture dans laquelle j'habite et je travaille, où il n'y a pas de grandes entreprises technologiques.

L I N U X P O U R L' E D U C A T I O N

Nos ordinateurs à l'école sont utilisés pour l'enseignement et utiliser par les enseignants pour de la vidéo projection, interagir avec les « tableaux numériques », faire du dessin technique etc. Et il y a 60 ordinateurs répartis dans les salles de classes d'informatique et de langues. Et Ubuntu s'intègre désormais parfaitement dans ces tâches.

Utiliser UBUNTU au sein d'une école augmente grandement les ressources éducatives et entraine les élèves au sein d'une nouvelle dimension éducative

Ce n'est pas vraiment une surprise que les écoles se tournent vers l'open source, même si il ya encore beaucoup d'inertie liées à toutes ces années de logiciels propriétaires.

Étonnamment, l'un des plus grands obstacles n'est pas financier, mais un humain. Les utilisateurs ne veulent pas changer la façon dont ils font les choses sur un ordinateur, mais la plupart d'entre eux ne réalisent pas que Linux n'est pas si différent. Il est plus sûr et beaucoup plus stable, mais pas si différent.

POURQUOI ?

Le logiciel libre est non seulement une question technique ; mais il est une question d'éthique, sociale, et politique. Et ces aspects sont beaucoup plus importants que l'aspect technique. Gardez cela à l'esprit.

POURQUOI ?

DES RAISONS TECHNIQUES :
• AUDITABLE Vous savez déjà que toute personne qui en a les connaissances peut lire le code source du logiciel libre. Je n'en dirai pas plus sur ce sujet.
• RÉSISTANCE AUX MALWARES En optant pour Linux, des incidents tels que des virus informatiques, la dégradation du système et de nombreux problèmes techniques divers ont disparu instantanément.
• SAIN ET SÉCURISÉ POUR UN USAGE PAR DES ENFANTS
• PERMET DE RÉUTILISER DU MATÉRIEL Ubuntu Linux en particulier et en général bien plus performant que Windows sur du vieux matériel, donc nous n'avons pas de nécessité d'être constamment en train d'acheter du nouveau matériel.
• UN GRAND SUPPORT COMMUNAUTAIRE Vous n'avez qu'à regarder autour de vous

Ce changement permet également à l'école économiser de l'argent. Ne pas avoir à acheter des licences pour les systèmes d'exploitation propriétaires, les suites bureautiques et des outils anti-virus a déjà permis à l'école d'économiser environ 35.000 euros dans l'année 2014-2015. « Évidemment, il est beaucoup plus intéressant d'investir cet argent dans l'éducation. »

POURQUOI ?

DES RAISONS NON TECHNIQUES :
• AUGMENTATION DE LA DIMENSION ÉDUCATIVE
• La liberté du logiciel joue un rôle fondamental dans l'éducation. Les établissements d'enseignement de tous les niveaux devraient utiliser et enseigner le logiciel libre, car il est le seul logiciel qui leur permet d'accomplir leurs missions essentielles : diffuser la connaissance humaine et préparer les élèves à être de bons membres de leur communauté.
• Le LOGICIEL LIBRE soutient l'éducation, le logiciel propriétaire interdit l'éducation.
• TRANSITION D'UN ESPRIT DE COLLABORATION ET DE COOPÉRATIVITÉ
• Le code source et les méthodes du logiciel libre font partie de la connaissance humaine. Au contraire, le logiciel propriétaire est secret, la connaissance restreinte, qui est à l'opposé de la mission des établissements d'enseignement.
• PLUS DE COHÉRENCE AVEC LES VALEURS DE L'ÉCOLE Le logiciel libre est non seulement une question technique ; il est également une question d'éthique, sociale, et politique. Il est une question de droits de l'homme que les utilisateurs du logiciel doivent avoir.

La Liberté et la coopération sont des valeurs essentielles du Logiciel Libre.

Le système GNU implémente ces valeurs et le principe du partage, puisque le partage est bon et bénéfique au progrès humain.

AVEC QUOI ?

• LES LOGICIELS LIBRES SONT DES OUTILS IDÉAUX POUR COMPRENDRE NOTRE ENVIRONNEMENT TECHNIQUE QUOTIDIEN FONCTIONNE Rappelez-vous : Le code source et les méthodes du logiciel libre font partie de la connaissance humaine
• LES LOGICIELS LIBRES SONT UNE FORME D'ÉDUCATION EN EUX-MÊMES. Comme je l'ai dit le Logiciel Libre permet de diffuser la connaissance humaine et de préparer les élèves à être de bons membres de leur communauté
• UBUNTU FACILITE GRANDEMENT LA POSSIBILITÉ DE LE FAIRE A TOUS LES NIVEAUX DANS UNE ÉCOLE Avec une large gamme de logiciels éducatifs et de matériels certifiés, Ubuntu fournit un accès sécurisé, rentable, rendant l'informatique accessible pour les étudiants, les enseignants et les administrateurs scolaires.

QUAND ?
Est-ce le bon moment pour changer ? Voyons ça..

• LE SYSTÈME D'EXPLOITATION DANS LES ÉCOLES A TRAVERS LE MONDE EST WINDOWS XP La fin du support pour Windows XP a été un véritable embranchement pour les centaines d'établissements scolaires et de leurs systèmes informatiques. Ubuntu est le changement que la réduction des budgets a permis
• WINDOWS XP EST UN SYSTÈME PROPRIÉTAIRE ET OBSOLÈTE. Windows XP est obsolète et ne reçoit plus aucunes mises à jour de Microsoft. À l'école, le problème le plus élevé de sécurité réside dans les logiciels malveillants qui se propagent à travers des dispositifs de stockage amovibles, parce que les gens travaillent essentiellement avec des clefs USB pour la transmission de leurs documents, étant alors un véritable nid à virus.
• DONC LE FUTUR C'EST MAINTENANT Maintenant, nous avons la possibilité réelle d'introduire Ubuntu à l'école. Les enfants sont l'avenir d'une société et s'ils savent ce qu'est Ubuntu, ils seront plus "ouverts" à l'avenir quand ils deviendront adultes. Ceci est ce que Microsoft a fait pendant des années. Windows n'est pas facile à utiliser : les enfants sont habitués à utiliser.

POUR QUI ?

Nous devons faire le changement pour les gens. Voyons voir ça.

POUR QUI ?

• POUR LES ÉLÈVES Les enfants sont naturellement curieux. Parmi eux, il ya une culture très pro-Linux. Tout au long de ces années, je suis parvenu à créer l'idée que Linux est cool, qu'il est utilisé par des gens qui sont vraiment intéressés par l'apprentissage et qui savent le fonctionnement réel des choses et qui attire vraiment leur attention. Ils ne sont pas du tout réticents au changement. Ils cherchent la nouveauté et le changement.
• POUR LES ENSEIGNANTS ET PROFESSEURS Le passage à un nouvel environnement de PC de bureau a été plus difficile pour le personnel que pour les étudiants. « Les élèves sont impatients de travailler avec GNU / Linux, en raison de son association avec les pirates. Cela ajoute à leur motivation. Vous ne pouvez pas imaginer à quel point Julian Assange de Wikileaks et Edward Snowden, un ancien membre de la NSA, aident à promouvoir le logiciel libre ».
• POUR LA RÉUSSITE SCOLAIRE DE NOS ÉTUDIANTS Quand un professeur enseigne avec une application propriétaire, il est face à un véritable choix, car il oblige les élèves à acheter des logiciels ou à les copier illégalement. Toutefois, si l'enseignant ne vous permet pas de copier le programme, il refuse d'aider. Et il donne une copie, il viole les lois. Ceci ne se veut pas être de l'éducation, n'est-ce pas ?
Avec les logiciels libres les professeurs ont le contrôle de la situation et ils peuvent se concentrer sur l'éducation elle-même, et non pas sur des processus juridiques.

COMMENT ?

• EN IMPLIQUANT AU SEIN DE NOS ÉCOLES LES PERSONNES QUI CROIENT DANS CE MODÈLE D'ÉDUCATION GLOBALE Si vous expliquer les avantages du logiciel libre à d'autres personnes de votre école, ils aimeront sans doute l'idée et nous aiderons pour la migration.
• EN SOLLICITANT LA COMMUNAUTÉ Le logiciel libre a une large communauté d'utilisateurs prêts à vous aider, souvenez-vous. Dans mon cas, les enseignants des autres écoles en Espagne m'aident beaucoup avec tous les problèmes que j'ai rencontrés lors de la migration.
• EN UTILISANT TOUTES LES RESSOURCES QUE NOUS AVONS Les étudiants, les enseignants, les ordinateurs, les médias locaux, les entreprises ... L'imagination doit être notre outil principal de réussite. L'IMAGINATION, rappelez-vous.

LES ETAPES

• PRENDRE UNE GRANDE INSPIRATION Une migration ce n'est pas facile et vous trouverez face à beaucoup plus de problèmes que vous n'imaginiez au début
• EVALUER LES BESOINS, LES COUTS, LES ÉCONOMIES Les principaux problèmes ont été causés par des les propriétés des documents, en particulier les feuilles de calcul. Certains des problèmes les plus pernicieux ont été temporairement résolus en utilisant une solution bureautique exclusive basée sur le cloud, Lanero, donnant le temps de service informatique de compléter la migration vers solutions bureautiques basées sur les standards. L'école utilise maintenant surtout la suite LibreOffice comme outil de bureautique.
• COMMENCER LES MIGRATIONS DOUCEMENT, TRÈS DOUCEMENT Si vous cherchez un changement réussi, commencer d'abord par remplacer les programmes à l'intérieur de Windows comme passer d'Internet Explorer à Firefox, Office à LibreOffice et ainsi de suite. Ensuite, le changement à Ubuntu se fera de façon naturelle
• FORMER LES ENSEIGNANTS A L'UTILISATION D'UBUNTU ET DES NOUVELLES APPLICATIONS Après deux ans, nous sommes toujours en train de former le personnel enseignant de notre école. Les changements sont toujours difficiles, et pour tout ce qui implique la technologie c'est encore plus difficile.
• FAIRE DE LA PUB (PLEIN) Les gens ne savent rien du logiciel libre et s'en moquent. Donc, vous devez faire beaucoup de publicité à l'école, dans les médias locaux et ainsi de suite. Vous devez expliquer ce que vous faites et au combien cela est bon, partout.

L'idée exacte se trouve dans "les Contes racontés par la propagande des multinationales". Regarder les situations dans lesquelles Microsoft vend, il a fait une publicité subliminale étonnante pour vous faire voir que ce qui est bon dans Windows.

Windows m'a donné des milliers de problèmes pendant des années sur les ordinateurs de l'école du fait de leur manque de support pour les anciennes cartes ATI. Avec Linux, vous avez beaucoup plus de la compatibilité avec le matériel plus ancien. Tout est beaucoup plus facile.

CONSTRUIRE

Choisissez la bonne option pour les besoins de votre école n'est pas facile, mais le mettre en œuvre, est encore plus difficile.

CONSTRUIRE

• ÉVALUER LES MACHINES QUE VOUS ALLEZ MIGRER Quelle prise en charge du matériel ? Vous pouvez également regarder du côté de Xubuntu et Lubuntu. Lorsque Canonical a publié la première version alpha d'Ubuntu 14.04, je l'ai essayé sur l'ordinateur le plus ancien (CPU Core 2 Duo avec 2 Go de RAM) et l'unité était totalement fluide et ainsi, j'ai choisi d'installer Ubuntu 14.04 sur le reste, quand il sortirait.
• CHOISIR LA BONNE VERSION D'UBUNTU Comme je l'ai dit, vous pouvez aussi regarder du coté de Xubuntu ou Lubuntu
• UTILISER LA MÊME INTERFACE GRAPHIQUE SUR CHAQUE ORDINATEUR C'est très, très important que vous choisissiez une seule saveur. Tous les ordinateurs doivent être homogènes.
• UTILISER LES MÊMES ICÔNES SUR CHAQUE ORDINATEUR pour cette raison, vous devez choisir un bon look d'icône, cohérent, et garder à l'esprit que vous devez le maintenir plusieurs années.
• ADAPTER LA DISTRIBUTION AUX BESOINS SCOLAIRES Toujours garder à l'esprit les besoins de l'école, et pas ce que vous voulez ou que vous préférez dans l'écosystème Linux. Si vous aimez l'environnement Unity mais que vos machines ne sont pas fluide avec, oublier. La chose la plus importante est l'expérience de l'utilisateur final
• TOUJOURS GARDER EN TÊTE QUEL EST L'UTILISATEUR FINAL Les étudiants sont ce qui compte vraiment dans l'éducation et ces changements doivent se concentrer sur eux. Le passage au logiciel libre doit améliorer leur éducation.
Rappelez-vous, nous ne nous battons pas contre Microsoft, nous nous battons contre une mauvaise expérience éducative, et notre mission est de diffuser la connaissance humaine et de préparer les élèves à être de bons membres de leur communauté.

RESULTATS

• +120 ORDINATEURS MIGRES DURANT 2014-2015
• PLUS DE 1200 ÉTUDIANTS AYANT UN CONTACT AVEC UBUNTU PAR AN
• ATOUR DE 35000€ INVESTI DANS L'ÉDUCATION, ET NON PLUS DANS DES LICENCES MICROSOFT
• DES ORDINATEURS PLUS FIABLES, DONC PLUS DE TEMPS POUR DE L'ÉDUCATIF
• PLEIN D'ARTICLES DANS LA PRESSE LOCALE

La société est curieuse de notre aventure et d'autres écoles de notre environnement suivent nos pas. L'Open source devient une puissante alternative aux logiciels propriétaires et la preuve en est que de nombreuses municipalités, de gouvernements et d'entreprises sont en train d'adopter les solutions open source, et maintenant il est temps pour les écoles et les universités.

Où le potentiel des utilisateurs grandis avec Ubuntu.

FERNANDO LANERO / ubuntuleon.com

S'il vous plait, n'oubliez pas que le but est de partager avec les autres, de nous entraider. L'ESPRIT UBUNTU DANS UN SYSTÈME ÉDUCATIF est fondamental.

Merci beaucoup de votre attention. Espérons que vous apprécierez mon expérience et vous serez en mesure de reproduire ça partout où vous allez. Merci.

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

Okki : Fin de l’aventure pour la fondation Yorba

lundi 30 novembre 2015 à 17:01

Fondée en 2009, la fondation Yorba était dédiée au développement de logiciels libres pour l’environnement de bureau GNOME. On lui doit entre autre l’organisateur d’images Shotwell, le client de messagerie Geary et l’application de calendrier California.

La fondation, qui employait cinq personnes au plus fort de son activité, était principalement financée grâce aux dons. Malheureusement, Yorba n’a jamais réussi à rendre viable son activité dans le monde du logiciel libre, et les échecs concernant la campagne de financement participatif de Geary ou le refus d’exonération fiscale par le Département du Trésor, n’auront fait que précipiter la fin de l’aventure.

Jim Nelson, qui était le dernier employé, cessa son activité au mois d’avril dernier, et il aura fallu plusieurs mois d’inactivité autour du développement des différents projets, ainsi qu’une modification du site web officiel fin octobre, pour qu’on finisse par comprendre la situation.

Fin novembre, Adam Dingle, le fondateur de la fondation, confirme la nouvelle, tout en annonçant que les différents projets étant désormais hébergés sur l’infrastructure du projet GNOME, il serait heureux que de nouveaux mainteneurs se manifestent pour en reprendre la maintenance.

De son côté, le projet elementary OS a d’ores et déjà annoncé Pantheon Mail, un fork de Geary.

C’est donc une bien triste nouvelle, qui confirme les difficultés à créer une activité pérenne autour du développement de logiciels libres pour le poste de travail, ainsi que la difficile réussite de campagnes de financement participatif concernant des logiciels libres qui existent déjà et pour lesquels on souhaite proposer un développement bien plus efficace, tout en garantissant leur futur.

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

Thuban : Utiliser compiz sur debian jessie

lundi 30 novembre 2015 à 16:23
Vous vous souvenez de compiz et ses effets délirants? Son cube, ses fenêtres qui ressemblent à de la gelée. Y a pas à dire, c'était marrant. Le projet ne semble cependant plus maintenu. Heureusement, avec un peu d'astuce, on peut le faire tourner sur une debian jessie. Et tant qu'à faire, on va essayer de faire les choses correctement.
Je dis ça parce que, lors de mes recherches sur le net pour installer compiz, j'ai vu du grand n'importe quoi. Alors on va mettre les choses au clair tout de suite : NON, les paquets ubuntu ne sont pas faits pour debian. Il n'y a rien de tel pour mettre en l'air son système.
Alors certes, ça va peut-être fonctionner pendant un temps, jusqu'à la prochaine mise à jour de sécurité où là, crak!

Bref, voilà le principe d'installation de compiz sous debian jessie.
La compilation des sources étant difficile à réaliser, et peu documentée, on va utiliser les derniers paquets debian en date. Compiz était encore disponible sous debian squeeze, qui est à ce jour la old-old-stable. Autant vous dire que ça va être la galère pour espérer une compatibilité des bibliothèques.
Qu'à cela ne tienne, on va utiliser les paquets de squeeze quand même. Mais pour ne rien casser, on va les mettre dans un chroot. Regardons ça ensemble, ça sera plus clair :

1. On commence par récupérer le système de debian squeeze minimum. Cela se fait avec debootstrap (paquet du même nom). Le chroot sera dans un dossier debception :
mkdir debception
sudo debootstrap --arch i386 squeeze debception http://httpredir.debian.org/debian/

On laisse tourner, ça va installer les fichiers de debian squeeze dans le dossier debception.

2. On va reporter les utilisateurs du système existant dans le chroot :
sudo grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/passwd | sudo tee -a debception/etc/passwd
sudo grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/group | sudo tee -a debception/etc/group


3. On relie les dossiers du chroot au système actuel :
sudo mount -t proc none debception/proc
sudo mount -o bind /dev debception/dev
sudo mount -o bind /var/run debception/var/run
sudo mount -o bind /home debception/home


4. On va maintenant se servir du paquet schroot, qui va nous permettre de lancer des commandes dans le chroot squeeze facilement. Une fois ce paquet installé, mettez ceci dans le fichier /etc/Schroot/schroot.conf
[debception]
directory=/chemin/vers/le/dossier/debception
users=vous


5. On peut désormais installer compiz dans le nouveau système après avoir installé les langues :
sudo schroot -c debception --directory / apt-get update
sudo schroot -c debception --directory / -- apt-get -y upgrade
sudo schroot -c debception --directory / -- apt-get -y dist-upgrade
sudo schroot -c debception --directory / -- apt-get -y install locales
sudo schroot -c debception --directory / -- dpkg-reconfigure locales
sudo schroot -c debception --directory / -- apt-get -y install compizconfig-settings-manager fusion-icon compiz-fusion-plugins-extra compiz-fusion-plugins-main xserver-xorg-video-all libgl1-mesa-dri pciutils


Voilà, compiz est installé

6. (facultatif) : je met à jour avec les backports, car mon matériel n'a pas l'accélération 3D sinon :
echo "deb http://http.debian.net/debian-backports squeeze-backports main" | sudo tee -a debception/etc/apt/sources.list
sudo schroot -c debception --directory / apt-get update
sudo schroot -c debception-$(whoami) --directory / -- apt-get -t squeeze-backports -y upgrade
sudo schroot -c debception-$(whoami) --directory / -- apt-get -t squeeze-backports -y dist-upgrade


7. Lancement de compiz :
On peut maintenant lancer compiz tranquillement, à partir de sa debian jessie en allant le chercher dans le chroot squeeze :
schroot -c debception -p -- compiz --replace ccp

Ou alors :
schroot -c debception -p -- fusion-icon

Et voilà! Génial hein?
Alors par contre, il faut que les dossiers soient montés avant, donc que vous ayez exécuté ceci :
sudo mount -t proc none debception/proc
sudo mount -o bind /dev debception/dev
sudo mount -o bind /var/run debception/var/run
sudo mount -o bind /home debception/home

Pour ne pas avoir à le faire à chaque fois, vous pouvez le rajouter dans le fichier /etc/fstab :
/home          /chemin/vers /debception/home       none    bind            0       0
/tmp           /chemin/vers /debception/tmp        none    bind            0       0
proc            /chemin/vers/debception/proc       proc    defaults        0       0
/var/run        /chemin/vers/debception/var/run    none    bind            0       0
/dev            /chemin/vers/debception/dev        none    bind            0       0


Vous êtes ainsi certains de ne pas avoir cassé votre système debian jessie.

Amusez-vous bien!
— (permalink)

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

Olivier Delort : Gitlab : Error 500 We’re sorry but something went wrong

lundi 30 novembre 2015 à 12:30

Suite à sa migration vers un container lxc j’ai eu la joie d’avoir ce joli message d’erreur sur mon nouveau serveur Gitlab.

We_re_sorry__but_something_went_wrong__500_

Je me dis rien de grave avec tous les changements réalisés ses derniers jours sur mes containers je vais rafraîchir le cache de Gitlab.

sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production

Et là c’est le drame, mon serveur commence à m’insulter.

WARNING: This version of GitLab depends on gitlab-shell 2.6.8, but you're running 2.6.7. Please update gitlab-shell.
rake aborted!
Errno::ENOENT: No such file or directory - connect(2) for /var/run/redis/redis.sock
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/connection/ruby.rb:180:in `connect_nonblock'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/connection/ruby.rb:180:in `connect'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/connection/ruby.rb:209:in `connect'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:322:in `establish_connection'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:94:in `block in connect'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:279:in `with_reconnect'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:93:in `connect'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:350:in `ensure_connected'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:207:in `block in process'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:292:in `logging'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:206:in `process'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis/client.rb:112:in `call'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis.rb:441:in `block in keys'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis.rb:37:in `block in synchronize'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis.rb:37:in `synchronize'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-3.2.1/lib/redis.rb:440:in `keys'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-store-1.1.6/lib/redis/store/namespace.rb:37:in `block in keys'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-store-1.1.6/lib/redis/store/namespace.rb:74:in `namespace'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/redis-store-1.1.6/lib/redis/store/namespace.rb:37:in `keys'
/home/git/gitlab/lib/tasks/cache.rake:7:in `block (2 levels) in '
Tasks: TOP => cache:clear
(See full trace by running task with --trace)

Parmi toutes ses vulgarités il y a une ligne qui retient mon attention.

Errno::ENOENT: No such file or directory - connect(2) for /var/run/redis/redis.sock

Premier réflexe, regarder si le service redis-server est lancé.

systemctl status redis-server -l
● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled)
   Active: failed (Result: start-limit) since lun. 2015-11-30 10:07:31 CET; 5s ago
  Process: 18709 ExecStop=/usr/bin/redis-cli shutdown (code=exited, status=1/FAILURE)
  Process: 18707 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 18708 (code=exited, status=1/FAILURE)

nov. 30 10:07:31 labo systemd[1]: redis-server.service: control process exited, code=exited status=1
nov. 30 10:07:31 labo systemd[1]: Unit redis-server.service entered failed state.
nov. 30 10:07:31 labo systemd[1]: redis-server.service holdoff time over, scheduling restart.
nov. 30 10:07:31 labo systemd[1]: Stopping Advanced key-value store...
nov. 30 10:07:31 labo systemd[1]: Starting Advanced key-value store...
nov. 30 10:07:31 labo systemd[1]: redis-server.service start request repeated too quickly, refusing to start.
nov. 30 10:07:31 labo systemd[1]: Failed to start Advanced key-value store.
nov. 30 10:07:31 labo systemd[1]: Unit redis-server.service entered failed state.

A ce moment un petit frisson me parcours le dos et je me sens moins confiant pour le coup. Je décide de reprendre point par point l’étape pour l’installation du serveur Redis sur la documentation Gitlab. Je commence par vérifier si redis est bien configuré.

nano /etc/redis/redis.conf
port 0
unixsocket /var/run/redis/redis.sock
unixsocketperm 770

De ce côté là tout est bon. je vérifie si le répertoire /var/run/redis/ est présent, mais il est désespérément vide. Et le service refuse toujours de se lancer. Un éclair de lucidité me traverse l’esprit, quid des autorisations ?

cd /var/run
ls -la
total 16
drwxr-xr-x 10 root  root    340 nov.  30 09:56 .
drwxr-xr-x  1 root  root    146 nov.  29 11:55 ..
-rw-r--r--  1 root  root      3 nov.  29 11:55 crond.pid
----------  1 root  root      0 nov.  29 11:55 crond.reboot
lrwxrwxrwx  1 root  root     25 nov.  29 11:55 initctl -> /run/systemd/initctl/fifo
drwxrwxrwt  4 root  root     80 nov.  29 11:55 lock
drwxr-xr-x  3 root  root     60 nov.  29 11:55 log
drwxr-xr-x  2 root  netdev   80 nov.  29 11:55 network
-rw-r--r--  1 root  root      4 nov.  29 11:55 nginx.pid
drwxr-xr-x  2 root  root     80 nov.  30 10:32 redis
drwxr-xr-x  2 root  root     40 nov.  29 11:55 sendsigs.omit.d
lrwxrwxrwx  1 root  root      8 nov.  29 11:55 shm -> /dev/shm
drwxr-xr-x  2 root  root     40 nov.  29 11:55 sshd
-rw-r--r--  1 root  root      3 nov.  29 11:55 sshd.pid
drwxr-xr-x 16 root  root    420 nov.  30 09:57 systemd
drwxr-xr-x  2 root  root     40 nov.  29 11:55 user
-rw-rw-r--  1 root  utmp   3456 nov.  30 11:53 utmp

Effectivement les autorisations ne sont pas bonnes, car seul le root à accès au dossier. Par conséquent le service qui est lancé avec l’utilisateur redis ne peut créer de fichier redis.sock. Pour remédier au problème j’ai donc attribué les bonnes autorisations au dossier.

chown redis:redis /var/run/redis

Nouvelle tentative de lancement du serveur redis.

systemctl start redis-server
systemctl status -l redis-server
● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled)
   Active: active (running) since lun. 2015-11-30 10:32:06 CET; 1h 30min ago
  Process: 18709 ExecStop=/usr/bin/redis-cli shutdown (code=exited, status=1/FAILURE)
  Process: 19694 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 19695 (redis-server)
   CGroup: /system.slice/lxc.service/system.slice/redis-server.service
           └─19695 /usr/bin/redis-server 127.0.0.1:0

nov. 30 10:32:06 labo systemd[1]: Started Advanced key-value store.

Pour conclure j’ai fait un petit tour sur la page web de Gitlab. C’est avec un gros ouf de soulagement que j’ai retrouvé mon accès. Il s’agit tout simplement d’un oublie de ma part, car la documentation explique qu’il faut mettre à jour les autorisations du répertoire redis et je suis passé à côté deux fois. On ne le redira jamais assez RTFM !

 

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