Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Debian

diaspote in backstage

Rédigé par dada / 27 janvier 2016 / 10 commentaires





Le FOSDEM, c'est à la fin de la semaine, déjà ! C'est pour moi l'occasion de vous partager le fonctionnement de diaspote.org, notre pod diaspora avec Augier. Parce que oui, même si les utilisateurs s'en cognent royalement la plupart du temps, j'ose espérer que ceux de diaspora* seront un peu plus curieux. Les autres, vous pouvez venir flooder avec nous, c'est open bar !

Ce billet est un peu technique mais je vais essayer de faire simple, promis.

Debian powered

Diaspote.org tourne sur une Debian Jessie 8.3. Ceux qui me lisent depuis un moment savent que c'est mon système d'exploitation libre de prédilection, c'est donc un choix classique.
Ce serveur est automatiquement mis à jour via ce qu'on appelle les unattended-upgrades. C'est une configuration que je croyais classique mais je peux vous certifier que ce n'est pas toujours le cas dans le milieu professionnel.
Ça permet de ne plus se soucier des mises à jour de sécurité, les plus critiques : elles se font toutes seules la nuit, quand les utilisateurs dorment, et moi aussi. Un mail me prévient quand c'est fait, histoire de me rassurer, mais je n’hésite jamais à accélérer le processus quand c'est une faille sévère, autant dire rarement.

Scaleway to heaven

Déjà dit mais voici la configuration matériel du serveur :
  • 2 Go de RAM
  • 60 Go d'espace disque
  • ARMv7 4 cores
C'est peu mais ça passe ! On ne fait tourner, nativement, qu'un serveur MySQL (pas de MariaDB encore) et un serveur Apache. Le reste, c'est pour diaspote.

À votre service

C'est un truc assez récent, il date de cette semaine. Avant, nous avions un screen dans lequel le processus diaspora tournait, mais ça, c’était avant. Maintenant, nous avons un script qui nous simplifie la vie. Plus besoin de lutter avec un screen encombrant : nous voici capables de faire un start et stop proprement, en passant par systemd.
Juste après cette configuration, pour des raisons de gestion des faibles ressources dont nous disposons et à cause de la consommation mémoire de diaspora*, nous avons une tache planifiée, un cron dans le jargon, qui relance diaspote toutes les nuits à 4h20 du matin. Ça vide la mémoire, ça soulage et ça n'affecte en rien l'utilisation du pod.
Pour les curieux, il existe un système d'auto-protection dans les OS libres : l'OOMKiller. Ce petit nom est plus clair quand on dit Out Of Memory Killer, je ne sais pas trop comment le traduire en français, mais c'est assez clair, non ? Quand un processus, genre diaspora, se met à consommer assez de mémoire vive pour mettre en danger le fonctionnement du serveur en entier, l'OOMK dézingue ce qu'il peut autour pour essayer de sauver la situation. En général, ça finit mal.

Statistiques à Facette

C'est toujours chouette de voir, réellement, ce qu'il se passe sur son serveur avec des graphiques. Un mail de temps en temps, c'est mignon mais loin d’être sexy. Facette s'occupe de ça pour nous. Il s'occupe d'organiser toutes les informations sur l’état du réseau, de la charge serveur, du CPU et de la RAM en superbes graphiques. C'est beau, c'est efficace et ça permet de connaître exactement l'heure d'un incident et de donner les premières indications, comme un souci de mémoire. Au hasard.

En parlant d'incidents, je suis en train de mettre en place un Cachet. C'est un outil de suivi. Il va nous permettre d'annoncer les futures opérations et de garder une trace de tout ce qui a pu se passer. Une mémoire des crashs, en gros. Il sera rapidement disponible à l'adresse suivante : status.diaspote.org.


Le reste des opérations consiste à mettre à jour le pod avec les dernières améliorations tirées du dépôt Github. Avec ce que nous avons là, l'installation est bien stable et ne plante plus. Ça reste à confirmer, on n'est jamais 100% couvert et il suffit d'en parler pour se prendre une mauvaise blague en pleine figure.

En quelques chiffres

C'est dans cette partie du billet qu'on redescend sur Terre. J'en parle souvent ici, diaspora* n'est pas un outil inconnu, mais il souffre d'un manque cruel : des utilisateurs. Si on se penche sur les statistiques de diaspote, on parle de 39 utilisateurs inscrits pour 22 actifs. C'est pas mal, on dépasse les 55% d'utilisateurs actifs, qui se sont connectés ces 4 dernières semaines. Sauf que ce ne sont que des statistiques et que 90% de ces comptes ne sont pas du tout actifs. Tant pis. On ne se compare pas vraiment aux autres réseaux, mais c'est dommage. D'ailleurs, on a déjà assez de photos de chats comme ça ;-)

La touche finale à mon équipement de rêve : la tablette Ubuntu

Rédigé par dada / 22 janvier 2016 / 3 commentaires


Vous avez sans doute tous vu passer la nouvelle, c'est Phoronix qui m'a mis ça sous les yeux. Première digression : si seulement le système d'abonnement du site était moins foireux, je serais déjà abonné. Ubuntu va enfin proposer sa tablette tactile.




On s'avance en disant que c'est pour 2016, mais les indices sont là : Ubuntu 16.04 comme base, présentée pendant le Mobile World Congress de fin février. Ça ne dit pas tout, mais quand même.

Actuellement, j'ai un smartphone sous FirefoxOS, qui reprend des couleurs, et des ordinateurs sous Debian/Ubuntu et... pas de tablette. Je n'en voulais pas par manque d’intérêt. C'est quand même con de payer un truc une fortune quand on habite dans 20m2 et qu'on préfère lire dans le train. Mais bon, avec le temps, je me dis que ça pourrait être un chouette outil de démonstration, comme au FOSDEM pour présenter diaspora*, ou un bon appareil pour faire défiler mes photos que je conserve dans ownCloud.

Ce cheminement allant du "ça ne sert à rien" à "pourquoi pas?" a pris plusieurs années et avec le temps, seul le fait que c’était de l'Android m'a refroidi. Je me souviens quand même avoir testé une tablette Intel sur laquelle j'avais installé Debian avec GNOME Shell. C'est à ce moment là que je me suis dit qu'il ne manquait qu'un bon OS à ces petites bêtes pour devenir vraiment attirante. Avec l’arrivée des Ubuntu Tablets, on touche du doigt une solution.

Sans doute pas la meilleure, mais c'est un bon début. Il est presque certain que si elles font tourner Ubuntu, elles pourront faire tourner d'autres distributions, comme Debian tout simplement. C'est même presque une évidence quand on sait qu'Ubuntu est une Debian modifiée à la sauce Canonical. A partir de là, d'autres suivront, même celles basées sur cette maudite CentOS. Du coup, on se retrouverait avec une tablette tournant sur autant d'Ubuntu que les autres, mais là je rêve.

Je sens qu'on me fusille du regard parce que je ne parle pas de Jolla et des SailfishOS, mais un OS qui fait tourner des applications Android, ça me refroidi. J'aime souffrir en ne pouvant pas me servir de ce qui traîne sur les stores de Google et des autres. Ça doit être mon esprit routard.

Enfin, ici, je rêve à clavier haut (qui repèrera la tentative de blague foireuse ?) d'un environnement informatique parfaitement maîtrisé par mes soins avec tout un tas d'OS alternatifs. L’opposé des envies de convergence de Canonical, d'Apple ou de Microsoft, mais que du libre, rien que du libre, je le jure.

Astuces du dimanche #4

Rédigé par dada / 10 mai 2015 / 2 commentaires


Quatrième version des astuces du dimanche ! Je dois avouer que j'aime bien cette formule simple et rapide pour partager des astuces peu révolutionnaires mais qu'il fait bon rappeler de temps en temps.

Au programme de cette semaine : partager des fichiers en réseau sans se prendre la tête et comment créer une archive de sauvegarde (pour un backup, par exemple) et vous l'envoyer alors que vous n'avez pas de place sur le disque dur.

Partager ses fichiers via python

Sans clés USB ou système de partage en réseau, il est bien difficile de partager un fichier avec le PC du voisin. La solution suivante permet de se servir de python pour créer un serveur web simple. Il sera accessible depuis votre adresse IP et le port spécifié.

  • Avec python 2.7 ou plus
# python -m SimpleHTTPServer 80
  • Avec python 3 ou plus
# python -m http.server 80
Lancez l'une de ces commandes depuis un terminal ouvert là où se trouve le ficher à transférer, donnez votre IP et le port à votre pote/collègue et le tour est joué. Attention tout de même à ne pas lancer cette commande depuis votre /home/ sous peine de partager l’intégralité de votre vie privée ;-)

Création et envoie d'archive par le réseau

C'est un truc que je rencontre souvent au boulot : faut faire un gros tar.gz de sauvegarde et le placer bien au chaud sur une autre machine mais pas moyen d'y arriver avec l'espace disque disponible.
Pas de panique, la commande tar associée à ssh, à un pipe et cat permette de faire des miracles.

ssh -n ServeurDistant -p PORT 'tar zcvf - toto.txt' | cat - > toto.tar.gz

Avec ça, depuis votre terminal, vous récupérez le contenu de toto.txt, que vous archivez simplement sur votre disque dur local. Celui du serveur distant n'est plus utilisé : terminé le problème de place !

Bon dimanche ! :)

GNU/Linux Debian 8 Jessie est disponible !

Rédigé par dada / 27 avril 2015 / 3 commentaires



C'est après 24 mois de boulot que les gars de chez Debian nous annoncent la sortie de leur dernier né : Jessie

Au programme de cette version, on notera comme changements notables le passage officiel à systemd comme remplaçant de sysvinit, une grosse amélioration du support de l'UEFI, l’utilisation du kernel 3.16 et le support étendu d'office grâce au travail des équipes LTS et Security (5 ans de tranquillité !)

On peut aussi lister les différentes mises à jour :
  • GNOME 3.14
  • GIMP 2.8.14
  • KDE 4.11.13
  • LibreOffice 4.3.3
  • Iceweasel (Firefox) 31.6
  • Icedove (Thunderbird) 31.6.0
Ils nous disent que la mise à niveau devrait se passer sans douleur et sans période de déconnexion, ce qui est une bonne nouvelle pour ceux qui gèrent des serveurs. Cependant, pensez tout de même à regarder les notes de publication, histoire d’être certain que vous ne ferez pas le mauvais choix.

Je me sers de Jessie sur mes deux PC portables et j'en suis très très content. Avec du GNOME, c'est beau, c'est fluide et vraiment très agréable. J’écris ces quelques mots depuis un vieux EliteBook 8530w qui carbure vraiment avec Debian 8.

Lors de la sortie de Debian 7, on était passé pas loin d'avoir une distribution efficace et assez fraîche pour une utilisation Desktop, avec la 8, on a franchi le pas. Elle n'a pas grand chose à envier aux Ubuntu, Mageia et consœurs, si ce n'est quelques outils qui installent automatiquement les greffons multimédias.

Pour la télécharger, c'est par ici et pour l'essayer en Live, c'est ici.

Il ne me reste plus qu'à prévoir la mise à jour de ce serveur et de celui de diaspote !

Astuces du dimanche #2

Rédigé par dada / 29 mars 2015 / 3 commentaires


Le hasard est si bien fait qu'il m'a proposé de naviguer vers un site web dont l'accès est officiellement bloqué. N'aimant pas qu'on décide à ma place ce qu'il faut ou pas faire, voici une solution pour les utilisateurs des dérivés de Debian, facilement adaptable pour toutes les distributions.

Astuce 1 : Le filtrage

Installer bind9

On installe son propre serveur DNS sur sa machine :
aptitude install bind9

Configurer son utilisation

  • Commentez toutes les lignes présentes dans votre /etc/resolv.conf et n'y laissez que nameserver 127.0.0.1.
  • Indiquez à votre gestionnaire de connexion de ne plus se servir d'un autre DNS que celui que vous venez d'installer.


Remarquez que j'ai viré la recherche automatique de DNS et que j'ai ajouté l'IP 127.0.0.1.

Redémarrez votre gestionnaire de connexion et le tour est joué. J'ai réussi à aborder le galion.

Astuce 2 : ownCloud et le .htaccess perdu

L'autre astuce vient des soucis rencontrés pendant une installation manuelle de ownCloud. Si, après la configuration du compte administrateur et de la base de donnée, l'installateur vous annonce que vous n'avez pas la bonne version du .htaccess :

.htaccess file has the wrong version. Please upload the correct version. Maybe you forgot to replace it after updating?

Voici ma solution :
  • Allez prendre le .htaccess directement dans le dépôt Github de votre version d'ownCloud. Par ici pour la 8.0.2.
  • Et créez-le avec votre éditeur de texte préféré (emacs!) à la racine de votre installation de ownCloud. N'oubliez pas de lui donner les bons droits.

Reprenez l'installation de zéro, en vidant la base de données, si vous ne voulez pas vous prendre un "Nom d'utilisateur déjà utilisé", et le tour est joué.

Voilà voilà. En espérant que ça vous aide aussi.