site  news  contact

Utilisation des conteneurs dans Easy

18 octobre 2019 — BarryK

L'exécution d'une application dans un conteneur est un mécanisme permettant de l'isoler du reste du système et assurer une sécurité plus élevée que si l'application avait été exécutée normalement.

Il existe une autre page Ouèb (pas encore traduite) qui donne un aperçu technique d'EasyOS du point de vue de l'utilisateur, y compris une introduction aux conteneurs dans Easy (CE):br>

Comment easy fonctionne, 2ème partie 

... veuillez lire la section qui présente Easy Containers, elle fournit une base pour comprendre ce qui suit.

Cette page est destinée à fournir des notes d'utilisation supplémentaires. Comme décrit dans le lien ci-dessus, les applications utilisées en conteneur apparaissent sur le bureau sous forme d'icônes avec un symbole de cadenas en haut à gauche, exemple :

img1

Cliquez sur l'un d'eux pour exécuter l'application dans un conteneur. Dans le cas de «www», il lancera le navigateur Ouèb SeaMonkey et son utilisation sera identique à l'utilisation habituelle de SeaMonkey. Du point de vue de l'utilisateur, vous remarquerez quelques différences, quoi que :

  1. Un peu plus lent au démarrage.
  2. L'ouverture et l'enregistrement des fichiers ne peuvent s'effectuer que dans le conteneur.
  3. Extensions/modules complémentaires/thèmes ne sont pas partagés avec le système-SeaMonkey.
  4. Il peut y avoir des problèmes de connexion Internet.

En fait, vous exécutez SeaMonkey dans son propre système d'exploitation privé, fonctionnant comme une «crippled root» (Racine paralisée). Bien qu'un conteneur soit isolé du bureau principal, ce n'est pas parfait. Il y a une interaction, par exemple, pour établir une connexion Internet via la connexion déjà établie dans le bureau principal.

Cette interaction nécessaire signifie également des failles de sécurité potentielles, mais, on essaie de rendre très difficile la rupture d'un conteneur. Alors oui, vous êtes considérablement plus sûr.

Concernant le point 4, il y a parfois des problèmes d'accès au réseau de l'intérieur d'un conteneur, d'autant plus que nous essayons de resserrer les paramètres de sécurité (isolation). En règle générale, la connexion réseau Ethernet est mieux que le wi-fi à cet égard.

Partager des fichiers avec le bureau principal

C'est le point 2 dans la liste ci-dessus, mais du point de vue de l'intérieur du conteneur. Depuis le bureau principal, vous pouvez voir à l'intérieur de tous les conteneurs et faire tout ce que vous voulez, y compris lire et écrire des fichiers.

Peu importe que vous exécutiez une application dans le bureau principal ou dans un conteneur, la plupart des applications par défaut ouvriront|enregistreront|téléchargeront dans /home ou un sous-dossier de /home. Par exemple, SeaMonkey utilise par défaut le téléchargement de fichiers dans /home/téléchargements ou /home/downloads.

Dans le bureau principal, le dossier home se trouve en fait dans la partition de travail et /home est un lien symbolique vers celle-ci. En d'autres termes, /home est un lien vers /mnt/wkg/home .

Cependant, à l'intérieur d'un conteneur, il n'y a aucun accès aux partitions des disques, tout est en mémoire RAM, tout comme /home. Cela pour des raisons de sécurité.

Mais comme par magie, le dossier /home/shared du bureau principal est le même que /home/shared à l'intérieur du conteneur. Donc, si par exemple, vous téléchargez un fichier lors de l'utilisation du navigateur Ouèb dans un conteneur, pour le rendre disponible dans le bureau principal, enregistrez-le tout simplement dans /home/shared.

Et vice versa.
Et comme déjà indiqué, vous pouvez lire et écrire n'importe où dans un conteneur à partir du bureau principal.
Par exemple, si le conteneur «www» est en cours d'exécution (SeaMonkey) et que vous pointez le gestionnaire de fichiers sur /mnt/wkg/containers/www/container, vous pouvez accéder à tout dans le conteneur.

Exécuter des SFS d'autres distributions

À propos de «SFSget» : ce programme de téléchargement et d'installation des fichiers SFS, se lance d'un clic sur l'icône «sfsget» du bureau et la chose la plus agréable, c'est de pouvoir utiliser n'importe quel SFS, quelle que soit la distribution Linux pour laquelle il a été créé.

En principe, les applications sont compilées pour fonctionner sur une distribution et une version bien particulière de cette distribution et peuvent donc ne pas fonctionner sur d'autres distributions. Cela pourrait être dû à des versions incorrectes des bibliothèques ou à des dépendances manquantes. Mais, avec Easy Containers, ce n'est pas un problème.

Au moment où je rédige cette page, la dernière version d’EasyOS est la «Buster» 2.1.3, qui a commencé avec la version 2.0. Elle est construite avec les paquets binaires de la distribution Debian Buster 10. Il existe aussi l'ancienne série EasyOS «Pyro» en version 1.x dont la dernière version est la 1.2.3. Easy Pyro est construit avec des paquets compilés depuis la source en utilisant un «fork» d'OpenEmbedded. Pyro est en mode maintenance et il y a encore des sorties occasionnelles.

Le fait est que Buster et Pyro sont réellement deux distributions différentes et le même principe devrait s'appliquer, une application compilée pour Pyro devrait ne pas fonctionner dans Buster. Mais, Easy Containers corrige cela.

Si vous êtes sous Buster et cliquez sur l'icône "sfsget", voici la fenêtre :

img2

... vous pouvez y voir divers fichiers SFS (chemin «easyos/debian/buster»), qui peuvent être téléchargés et vous pouvez choisir de les lancer dans un conteneur ou dans le bureau principal.

Voir l'autre chemin «easyos/oe/pyro», qui contient des fichiers SFS pour Pyro. Si vous cliquez sur ce bouton radio :

img3

... prenez «pingus» par exemple. C'est un jeu, compilé pour fonctionner sur Easy Pyro. Si vous deviez le télécharger et l'installer, il ne pourrait être lancé que dans un conteneur, dans un système de fichiers en couches avec easy_1.2.2_amd64.sfs dans la couche tout en bas. Donc, vous êtes réellement sous la distribution complète de Pyro, mais avec la seule application qui s'y trouve.

Mais, si vous sélectionnez «easy_1.2.2_amd64.sfs», comme illustré dans la capture d'écran ci-dessus et cliquez sur le bouton «Télécharger», il s'installera comme un bureau complet de Easy Pyro. En d'autres termes, après l'installation, voici ce que vous verrait sur le bureau :

img4

... oui, vous pouvez exécuter Buster ou Pyro en tant que bureaux complets dans un conteneur. Si vous cliquez sur «pyro», vous obtenez le bureau familier de sa séries.

img6

Détail : si vous aviez précédemment installé «Pingus», alors easy_1.2.2_amd64.sfs aurait déjà été téléchargé et donc la fenêtre SFSget, plus avant, aurait affiché le bouton «INSTALLER» au lieu de «TÉLÉCHARGER». Vous pourriez alors procéder à l'installation d'Easy Pyro en tant que bureau dans un conteneur.

Retourner et Supprimer les conteneurs

Cliquez sur l'icône «pyro» pour lancer le bureau dans le conteneur de Easy Pyro. La combinaison des touches ALT-F6 vous ramènera sur le bureau principal. Et sur le bureau principal, cliquez sur l'icône «pyro» ou sur l'entrée dans la barre pour retourner dans le conteneur de Pyro.

Mais comment supprimer un conteneur? Si vous lancez une seule application dans un conteneur, exemple Pingus, la fermeture de l'application supprimera également le conteneur.

Il existe une autre façon de «supprimer» un conteneur et cette méthode est nécessaire si vous voulez supprimer le conteneur Pyro. Sur le bureau principal, faites un clic droit sur l'entrée dans la barre et choisissez «Supprimer» :

img8

Compiler le code source dans un conteneur

La compilation de paquets source dans un conteneur est pratique car elle n'encombre pas le bureau principal. Il arrive parfois qu'un paquet compilé et installé entraine un mauvais comportement du bureau principal.

Barry a récemment voulu compiler les derniers pilotes et Xorg pour Easy Pyro. Pour cela, il a utilisé le conteneur «console» (icône en haut au centre de l'écran). Il recherchait, avant tout, l'isolement en conservant tous les pouvoirs de l'administrateur : pour cette raison, il a passé les paramètres de sécurité du conteneur «console» au «niveau de sécurité 1», moins sécure. Ceci a été réalisé avec Gestion des conteneurs : Easy Container (dans le menu Fichiers) :

ec1

... la procédure consiste à choisir «console» dans le cadre «Gestion», puis de cliquer sur «Un conteneur avec une sécurité minimale absolue» dans la section «Niveau de sécurité», puis de cliquer sur le bouton «Actualiser & quitter».

Vous aurez besoin du fichier SFS «devx», qui contient tout le nécessaire pour compiler : cliquez sur l'icône «sfsget» sur le bureau pour télécharger et installer dans le conteneur «console».

Au lancement du conteneur, en cliquant sur l'icône «console» au centre en haut de l'écran, un terminal fonctionnera dans le conteneur, avec le niveau de sécurité 1.

Notez que cela nécessite les versions Easy Pyro 1.2.7 ou Buster 2.1.7 (ou ultérieures), car les versions précédentes ont des bogues dans les scripts «easy-containers» et «sfsget».

Détail d'utilisation pratique : le terminal ne verra que les dossiers dans le conteneur. De l'extérieur, le chemin d'accès au conteneur est :
/mnt/wkg/containers/console/container,
et le plus important, vous avez un accès complet à partir du bureau principal. Ainsi, vous pouvez télécharger des paquets source dans le conteneur.

Les étapes de compilation normales sont les suivantes :

# ./configure --help
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu etc 
# make
# new2dir make install
# dir2pet name-of-directory 

Les paquets seront installés dans le conteneur et les paquets PET peuvent être copiés ailleurs.


plus à venir ... 


Tags: utilisateur

Accès à la page d'accueil (désolé, encore en anglais...)