PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

fgallaire : Jonathan Carter élu DPL pour 2020

dimanche 19 avril 2020 à 04:18

C’est Jonathan Carter qui vient d’être élu Debian Project Leader (DPL) pour l’année 2020, succédant ainsi à Sam Hartman qui avait été élu en 2019.

Arrivé l’an passé derrière Sam Hartman presque à égalité avec Martin Michlmayr et Joerg Jaspert, Jonathan l’emporte logiquement cette année dans une élection sans réelle concurrence.

En effet, Brian Gupta avait immédiatement indiqué que le seul objet de sa candidature était de constituer un référendum, qui s’est révélé peu concluant, sur la création des fondations Debian US et Debian Europe ; tandis que la jeune indienne Sruthi Chandran, dont on devrait réentendre parler dans les prochaines années, manquait de légitimité pour le poste n’étant développeuse Debian que depuis un an.

Bravo à toi Jonathan, 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

antistress : L'extension du jour : Request Blocker pour Firefox

dimanche 19 avril 2020 à 01:32

Super heros capé arborant le logo de Firefox sur la poitrine
Captain Extensions recommande Request Blocker

Pfiou… Les gens ordinaires n'imaginent pas la difficulté d'être un super-héros.

Prenez mon cas : la dernière fois que j'ai enfilé mon costume, c'était il y a une éternité. En le ressortant, j'ai bien dû reconnaître qu'il était passé de mode, et que j'allais devoir en confectionner un nouveau… Heureusement que ma mission n'était pas urgente ! En tout cas, j'espère que le nouveau vous plaît.

Bref, tout ça pour pouvoir vous présenter aujourd'hui Request Blocker, une extension libre pour Firefox qui permet de bloquer les sites/domaines de son choix.

Pourquoi Request Blocker ?

Avec l'incroyable outil de blocage des sites tiers pisteurs dorénavant inclus dans Firefox, je n'utilise plus d'extension conventionnelle de blocage (uBlock Origin, Privacy Badger…).

Le mode « Strict » de la « Protection renforcée contre le pistage », configurable depuis les Préférences, fait vraiment un super boulot.

Aller plus loin nécessite parfois de se passer de fonctionnalités de certains sites : jolies polices hébergées sur des sites tiers centralisateurs comme le propose « généreusement » Google, commentaires délégués à des sites tiers centralisateurs comme Disqus, meilleure performance supposée en passant par des CDN centralisateurs, intégration de vidéos hébergées sur des sites tiers centralisateurs comme Youtube… Autant de compromis que je suis, pour la plupart, prêt à faire.

J'aime pour ma part l'idée – soyons honnêtes : réservée aux plus geeks d'entre nous – de traquer les traqueurs résiduels.

Grâce à l'extension libre Lightbeam 3.0 il est possible de repérer les sites tiers indélicats qui continuent de suivre en douce votre navigation. En revanche Firefox ne vous permet pas de bloquer individuellement ces sites (il vous permet d'empêcher tel site de stocker des cookies et autres données de sites mais ce n'est pas aussi efficace que de bloquer le site lui-même pour, tout simplement, l'empêcher de vous voir).

En fait il y a trois possibilités de blocage individuel des sites repérés :

  1. par les bloqueurs habituels, qui sont capables de vous révéler, derrière chaque site de premier niveau que vous visitez, les sites tiers qui vous espionnent, et vous permettent de les bloquer dans la foulée ;
  2. par le fichier /etc/hosts du système d'exploitation que l'ont peut modifier pour ajouter, un à un, les domaines à bloquer ;
  3. par cette extension que je vous présente aujourd'hui, qui permet la même chose que le fichier /etc/hosts mais au niveau du navigateur.

L'avantage que je vois à cette extension (#3) par rapport à une intervention au niveau du système d'exploitation (#2) c'est que, si le blocage s'avère finalement gênant, il me suffit d'ouvrir le site dans une fenêtre de navigation privée (Ctrl+Maj+P) pour outrepasser le blocage (dans le panneau de gestion des extensions de Firefox, je prends soin de ne pas autoriser les bloqueurs en navigation privée pour cette raison).
L'inconvénient serait d'alourdir le navigateur d'une extension de plus. Mais la page about:performance montre une consommation mémoire très raisonnable à 450 Ko à peine pour cette extension.

Par rapport aux bloqueurs habituels (#1), j'aime bien la philosophie KISS à laquelle me paraît correspondre cette extension. Je trouvais aussi qu'il y avait une certaine logique pratique à inscrire dans un répertoire, l'un après l'autre, les domaines indélicats repérés avec Lightbeam. À la réflexion je ne suis plus si sûr de cela, car si vous avez coupé trop de choses sur un site, il n'est pas possible de savoir facilement laquelle des entrées du répertoire en est responsable ! Chacun se fera son idée.

Au final j'ai décidé de faire confiance à cette extension plutôt que d'autres similaires : sous licence libre, elle comporte 800 utilisateurs, a été mise à jour récemment, son développeur a 10 extensions à son actif sur addons.mozilla.org et j'ai mesuré qu'elle consommait peu.

Comment Request Blocker ?

Là on va pouvoir être bref : vous ouvrez le répertoire des domaines à bloquer à partir des préférences de l'extension, onglet « Block List ». Vous respectez bien la syntaxe officielle (sinon vous recevrez un avertissement au moment d'enregistrer). Comme d'habitude vous faites attention à ne pas bloquer les domaines des CDN que decentraleyes intercepte sous peine d’empêcher ce dernier de faire son travail. Vous sauvegardez : le blocage est effectif immédiatement.
Dans l’onglet suivant, « Stats », vous mesurez l'efficacité de chacun de vos filtres.
Bonus : le dernier onglet vous permet de choisir un thème sombre.

Au final vous pourrez faire des allers-retours entre Lightbeam et Request Blocker jusqu'à arriver à un résultat satisfaisant. Je vous mets la liste à laquelle je suis arrivé en quelques jours, à titre d'exemple .

Détection du pistage avec Lightbeam
Ci-dessus, aucun des « ponts » entre sites de premier niveau n'est souhaité

À part le domaine cdnjs.cloudflare.com qui relie quelques sites de premier niveau en haut à gauche (que je ne veux pas bloquer, étant pris en charge par decentreleyes), le reste des points de connexion visibles dans cette configuration tiennent tous à YouTube (Google) (j'ai bien un peu de dailymotion mais à peu près isolé au niveau de France Inter, non visibles ci-dessus). Pour isoler parfaitement mon surf des pisteurs indiscrets (Google, en l’occurrence), il faudrait que je sois prêt à couper les vidéos YouTube des sites que je visite.

Conclusion

Hors réseaux sociaux privateurs attitrés qui n’apparaissent pas ici (puisque je ne les utilise pas), on ne peut malheureusement que constater l'importance qu'a pris en particulier YouTube sur le web. Un problème qu'adresse à la racine PeerTube, développé par Framasoft. À condition que les uploaders y recourent : si pas exclusivement, au moins conjointement.

Un autre point est que pour l'instant, étonnamment, il n'y a pas encore trop d'anti-fonctionnalités qui soient implémentées sur les sites pour les rendre artificiellement inutilisables en cas de blocage de traceurs par l'utilisateur. Du coup, il n'y a quasiment que des avantages à bloquer les domaines tiers (chargement plus rapide des pages et consommation réduite de bande passante et d'énergie). Et ça, c'est dingue.


L'illustration de ce billet est une composition réalisée par mes soins avec GIMP à partir de cette image et donc soumise à la même licence CC BY-SA 2.0 que cette dernière.

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

Full Circle Magazine FR : Numéro de mars 2020

vendredi 17 avril 2020 à 19:06

Bonjour à toutes et à tous !

Notre équipe, qui comprenait pour ce numéro notre super-admin, est heureuse de vous présenter le numéro 155 du magazine Full Circle, celui de mars 2020. Comme d'habitude, il est disponible à la lecture ou au téléchargement sur notre page NUMÉROS ; il peut également être récupéré directement en cliquant sur la photo de couverture ci-dessous.

Voici un aperçu de ce que contient ce numéro, outre les bonnes rubriques habituelles :

Il s'agit de Asciicker écrit par Gumix : c'est gratuit, mais pas encore Open Source. Et c'est un jeu en 3D pour le terminal (oui, vous avez bien lu) ! Il y a plusieurs versions déjà et chacune montre des actions spécifiques du personnage principal. En fait, le jeu n'est pas encore un vrai jeu, mais un projet en cours. À vous de le découvrir surtout si vous avez un âme de geek...

Bonne lecture pendant ces dernières (?) semaines du confinement.

Bab, scribeur et relecteur, AuntieE, traductrice et relectrice, d52fr, traducteur et relecteur ET philou511, traducteur, relecteur et super-administrateur !

Gravatar de Full Circle Magazine FR
Original post of Full Circle Magazine FR.Votez pour ce billet sur Planet Libre.

Articles similaires

blog-libre : Une présentation de systemd-nspawn

vendredi 17 avril 2020 à 12:30

Dans Gérer plusieurs versions de certains outils en ligne de commande, Seboss666 y détaille comment il gère ce besoin. J’ai attendu un peu pour voir si d’autres solutions que Docker étaient présentées mais non. On va y remédier.

systemd peut gérer des conteneurs, peu de personnes s’en servent. Quand on parle conteneur, le gagnant (la norme) : Docker. Il s’agit de conteneur « applicatif » ou conteneur d’application, on y fait généralement tourner une seule application de type MariaDB ou nginx par exemple. systemd-nspawn a un positionnement particulier, une sorte de chroot sous stéroïdes, un conteneur « système ». On va démarrer une Debian dans un conteneur, se connecter dedans en console, installer des paquets, tester une configuration.

Quelques précisions

Je suis sur une Debian Sid, les commandes suivantes fonctionneront pour Debian/Ubuntu/Mint et dérivés. systemd-nspawn fonctionnera très bien et très facilement si vous lancez des conteneurs ayant la même base (ici Debian) que le système hôte. En revanche attendez-vous à des problèmes/difficultés pour lancer des conteneurs d’une autre base comme Arch ou Fedora même si c’est possible.

Le but premier de cet article est de répondre au besoin de Seboss666, il manquera parfois d’explications. Je reste dans la présentation, j’espère avoir mis suffisamment d’exemples pour que vous compreniez comment prendre en main systemd-nspawn. Je réponds aux questions dans les commentaires mais n’oubliez pas, le mieux pour comprendre est de pratiquer.

Arrivé à la fin de l’article, vous vous demanderez peut-être pourquoi j’ai présenté systemd-nspawn alors que machinectl est bien plus facile et rapide. Pour être exhaustif, vous avez ainsi la liste des différents outils nécessaires et « bas niveau ».

Lorsque vous êtes dans un conteneur pour en sortir : Press ^] three times within 1s to kill container => Ctrl + Alt Gr + ]. Pour éteindre le conteneur à l’intérieur du conteneur poweroff, pour éteindre le conteneur à partir de votre système hôte machinectl poweroff buster1.

Une Debian Buster avec explications

On installe les paquets nécessaires.
sudo apt install --no-install-recommends debootstrap systemd-container debian-archive-keyring

On crée un répertoire où seront stockés les conteneurs et on se déplace dedans.
mkdir -p ~/tmp/container && cd $_

À effectuer si votre /home est chiffré, ce qui est mon cas.
sudo mount -i -o remount,exec,dev /home/cascador

On debootstrap notre Debian.
sudo debootstrap --arch amd64 --include=systemd-container buster template.buster http://deb.debian.org/debian/

On effectue une copie, avoir un template qu’on ne touche plus une fois récupéré/téléchargé est une bonne pratique, on travaille uniquement sur des copies.
sudo cp -a template.buster buster1

On se connecte au conteneur, on supprime le fichier /etc/securetty, on modifie le mot de passe root, on sort du conteneur.
sudo systemd-nspawn -D buster1
rm /etc/securetty
passwd
exit

On boote le conteneur, on accède à sa console.
sudo systemd-nspawn -bD buster1

Une Debian Jessie avec main,contrib,non-free

sudo apt install --no-install-recommends debootstrap systemd-container debian-archive-keyring
mkdir -p ~/tmp/container && cd $_
sudo mount -i -o remount,exec,dev /home/cascador # Éventuellement
sudo debootstrap --arch amd64 --include=systemd-container --components=main,contrib,non-free jessie template.jessie http://deb.debian.org/debian/
sudo cp -a template.jessie jessie1
sudo systemd-nspawn -D jessie1
rm /etc/securetty
passwd
exit
sudo systemd-nspawn -bD jessie1

Une Debian sid avec main,contrib,non-free et git,zsh,openssh-server installé

sudo apt install --no-install-recommends debootstrap systemd-container debian-archive-keyring
mkdir -p ~/tmp/container && cd $_
sudo mount -i -o remount,exec,dev /home/cascador # Éventuellement
sudo debootstrap --arch amd64 --include=systemd-container,git,zsh,openssh-server --components=main,contrib,non-free sid template.sid http://deb.debian.org/debian/
sudo cp -a template.sid sid1
sudo systemd-nspawn -D sid1
passwd
exit
sudo systemd-nspawn -bD sid1

Une Ubuntu Focal

sudo apt install --no-install-recommends debootstrap systemd-container ubuntu-archive-keyring
mkdir -p ~/tmp/container && cd $_
sudo mount -i -o remount,exec,dev /home/cascador # Éventuellement
sudo debootstrap --arch amd64 --include=systemd-container focal template.focal http://archive.ubuntu.com/ubuntu/
sudo cp -a template.focal focal1
sudo systemd-nspawn -D focal1
passwd
exit
sudo systemd-nspawn -bD focal1

Une Debian sid facile et rapide avec machinectl

L’emplacement (/var/lib/machines) est primordial sans quoi machinectl ne pourra pas gérer le conteneur. Il s’agit de la solution que je recommande à Seboss.

sudo apt install --no-install-recommends debootstrap systemd-container debian-archive-keyring
sudo debootstrap --arch amd64 --include=systemd-container --components=main,contrib,non-free sid /var/lib/machines/sid http://deb.debian.org/debian/
sudo machinectl clone sid sid1
sudo machinectl start sid1
sudo machinectl shell sid1

machinectl

machinectl va permettre de gérer les conteneurs et machines virtuelles (VM), voici les principales commandes utiles.

machinectl ou machinectl list # Lister les conteneurs actifs (running/online)
machinectl list-images # Montrer une liste des images des conteneurs présentes dans /var/lib/machines/
sudo machinectl start sid1 # Démarrer le conteneur sid1
sudo machinectl poweroff sid1 ou sudo machinectl stop sid1 # Éteindre le conteneur sid1 proprement (shut down cleanly), stop est un alias de poweroff
sudo machinectl terminate sid1 # Éteindre le conteneur sid1 immédiatemment (immediately terminates a virtual machine or container, without cleanly shutting it down)
sudo machinectl clone sid sid1 # Cloner le conteneur sid en sid1
sudo machinectl remove sid1 # Supprimer le conteneur sid1
sudo machinectl clean --all # Supprimer toutes les images des conteneurs
sudo machinectl login sid1 # Open an interactive terminal login session, à utiliser pour être connecté dans le conteneur, la commande exit déconnecte l’utilisateur mais ne le fait pas sortir du conteneur
sudo machinectl shell sid1 # Open an interactive shell session, l’intérêt est d’être connecté en root sans avoir besoin de se loguer (taper le mot de passe) par contre la commande exit fait sortir du conteneur. À utiliser pour lancer quelques commandes rapidement
sudo machinectl copy-to sid1 ~/Documents/proc.jpeg /root/image.jpg # Copier un fichier dans le conteneur sid1
sudo machinectl copy-to sid1 ~/Images /root/Images # Copier un dossier dans le conteneur sid1
sudo machinectl copy-from sid1 /root/xyz abc # Récupérer le fichier /root/xyz du conteneur sid1 dans le dossier courant de l’hôte
sudo machinectl copy-from sid1 /root/xyz # Récupérer le fichier /root/xyz du conteneur sid1 dans /root (par défaut) de l’hôte

Et Manjaro alors ??

Seboss n’utilise pas un système Debian, il n’a pas encore vu la lumière. Il est jeune, pardonnez-lui. En attendant si vous êtes sur Arch/Manjaro, la page systemd-nspawn sur l’ArchWiki vous donnera toutes les infos pour faire la même chose et même davantage car à partir de Arch on peut facilement lancer une Debian dans un conteneur mais à partir de Debian compliqué de lancer une Arch dans un conteneur.

J’utilise très régulièrement systemd-nspawn et j’en suis satisfait :

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

Articles similaires

Francois Aichelbaum :

vendredi 17 avril 2020 à 12:28

Don’t worry, I won’t discuss about my personal neighbors during the Covid-19 confinement. Lately, several of my customers had random and difficult-to-diagnose issues with their Cloud instances. As this is not related to a specific provider (some of them are using AWS while the others are using OVH Public Cloud, the root cause remains the same. Before going into more detail, I’ll give you a quick answer: their neighbors are noisy.

Protesters demonstrate against Donald Trump's presidency during the campaign trail in 2016 (by AP)
Protesters demonstrate against Donald Trump’s presidency during the campaign trail in 2016 (by AP)

Some quick reminder

Of course, you all know what the Cloud is, don’t you? So no, it’s not just your online storage, it’s not just your photo sharing. According to Wikipedia, as we’re discussing especially about Cloud Computing:

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet. Large clouds, predominant today, often have functions distributed over multiple locations from central servers. If the connection to the user is relatively close, it may be designated an edge server.

Technically, those are virtual resources, easily manageable. By virtual resources, I mean a segmentation of the physical machine into different instances, dedicated to different customers. All of this at the scale of entire data centers.

The virtualization provided is based on usual market solutions (VMware, kvm, …) with potentially management overlay, or home-made solutions. So we talk about hypervisor for the host machine, and instance for the virtual machine.

Virtual Architecture
Virtual Architecture

The subject that interests us here is in itself neither new nor unknown to Cloud providers: they are all gradually releasing offers with “guaranteed performance” or “dedicated resources”. But why this?

Let’s go back to our virtual architecture: we see it as a segmentation of the host machine. Let’s replace our server by a cake and the instances by slices. So you can cut your cake into as many slices as you want, as long as there is cake. Therefore, to have more slices, you have to make them smaller. The same is theoretically true for virtualization.

Theoretically is the important word here: indeed, your providers bet that not all their customers were using all the resources allocated to their instances at the same time. They then decided to keep larger sizes for the instances than the host machine can handle. This is called overbooking.

Most of the time they are right. But the moments that make them wrong, are detrimental to you. This overbooking is predictable for you, customers, depending on the tariff of your provider: the cheaper it is, the higher the probability and the coefficient of overbooking. In addition to dedicated resources, some providers promise you an adequate infrastructure where storage would be the absolute key, through fully SSD-based storage. That’s good. But that’s not all.

Tip: I can’t repeat it enough to my various contacts: no the ‘Cloud’ is not cheap and not very quickly you cost an arm and a leg.

My noisy neighbor is named…

Because of this overbooking, whether it’s naturally related to the mass of instances, or specifically due to a single instance (our Noisy Neighbor), the effect is the same: you have at a given time, less resources available than expected.

The first question I hear most often then is:

But how do you detect it?

This is the most difficult part for you because, in the middle of a run, this can manifest itself in various ways, with obvious signals only in some rare cases. The other signals will simply be the direct consequences on your own service.

On Linux, top can provide one of the obvious signal. Have you ever wonder what is the st value at the end of the second line ? To be conciese, st, for “steal time”, is only relevant in virtualized environments (your Cloud setup here). It represents time when the CPU, from the host, was not available to the current instance: it was stolen. If you want more details about this steal time, you can refer to this tech paper from IBM.

A recommendation to all my customers, when we work on their monitoring platforms, is to include behavior change and comparison tests. Do latency levels suddenly increase? Does the system have hangs without being loaded, and without I/O?

Monitoring room in China
Monitoring room in China

On latency, for example, I remember one client where we worked on their content distribution services using nginx and doing some pretty advanced fine-tuning. From there, we launched tests and set up monitoring for each of the instances concerned. Very low latencies and high bandwidths, at all times, whatever the instance and the Cloud provider. Then one morning, this customer called me with a catastrophic call: all his European customers were complaining about abnormally long latencies when opening the hosted videos. The analysis tests went quite far:

While we’re testing in all directions, with no configuration changes other than juggling the nginx debugging options, the service returns to normal. The next day, around the same time, the same client contacts me again in a panic over the same subject. Same analysis, same result, same return to normal.

After (too) long exchanges with the support of this provider, we finally got the information: another instance was behaving abnormally and was consuming a good part of the machine resources, in particular the network part (speed and number of connections). You said peer-to-peer for last summer’s family videos?

My neighbor moves me

On the subject of the “hang system”, it’s a little more vicious and specific. A client in the video industry, does massive transcoding using ffmpeg. Part of the work is done via CPUs (the smaller resolutions) while the higher resolutions (HD / 4K in mind) are done via GPUs. The setup works well except that regularly some live streams are disturbed in an incomprehensible way, exclusively from the CPU instances. After a long analysis, the only common point of all its interruptions, both in terms of chronology of events, behaviour and logs, is the “bridle” of ffmpeg to a single CPU thread actually used.

Delivery guy collecting a package
Delivery guy collecting a package

We therefore focused our analytical work on understanding what could cause this behavioural change on the part of ffmpeg. After different stress-tests of the instances, only one allowed to reproduce the behavior: the I/O stress-tests at the kernel level, causing system hangs.

At that time, my client remembered having vaguely seen some automated storage migration emails passing by the concerned provider, at the same time as the famous interruptions.

So yes, another important reminder:

Tip: Theoretically transparent host or storage moves are rarely transparent in practice.

Let me be!

The next question, they usually ask, is:

But how do you prevent it?

It all depends on your budget!

Large instance consumers allow themselves to test an instance when spawning it to make sure there are no noisy neighbors from the start. Tests are typically stress-tests specific to each instance template used, the results of which are compared to the average values of the instances considered “valid”. Automation of your entire infrastructure is key here.

This pre-use stage of the instance can quickly become expensive: some people have been surprised to see dozens of attempts before having a viable instance. Time being money in the Cloud world, …

A dog hunting
A dog hunting

Most people implement corrective solutions. The monitoring (see above) is then interfaced with the automation tools and will restart a new instance to replace the one detected as disturbed.

This is the least expensive but can have two impacts depending on your service/infrastructure:

Another solution would be to host your services on dedicated infrastructure when it makes sense, and consider Cloud services as overflow solutions.

Do you agree?

I remember an article explaining that it was the fault of your application and not of cloud hosting. We could go back to the eternal war between Dev and Ops, but these articles usually completely overlook the monitoring aspects and therefore the observability of what is going on. Their point of view is therefore valid, but not gospel.

On your side, have you ever been through these setbacks? How did you react?

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