Outils pour utilisateurs

Outils du site


issue117:tutoriel1

Internet Of Things (IoT) is now ubiquitous. Your car may be connected to the Internet, your baby surveillance system surely is and, any day now, so will your (LED-based) light bulbs. From what can often be seen in the technology section of the news, factory configuration of some of these devices can be found lacking. Carrying a Linux kernel and base GNU system may not be enough for a device that is continuously connected to the Internet, if the complete package is shoddily set up. For this reason alone (who would want to become exposed because of their hackable devices?), some users choose to build their own devices, configuring them their own way from a regular Ubuntu distribution. This is quite easy nowadays, with many platforms such as the Raspberry Pi available for hobbyists. However, repurposing a rather old laptop or notebook may also be a fun option, and economically advantageous.

L'Internet des Objets (IoT - Objets connectés) est maintenant omniprésent. Votre voiture peut être connectée à Internet, le système de surveillance de votre bébé l'est sûrement et, dans les jours prochains, nos ampoules (à base de LED) le seront aussi. Pour ce que nous pouvons voir souvent dans la rubrique informatique des journaux, la configuration d'usine de certains de ces appareils peut s'avérer défectueuse. Être équipé d'un noyau Linux et d'un système GNU de base peut ne pas être suffisant pour un appareil qui est connecté en permanence à Internet, si le paquet complet est piètrement paramétré. Pour cette seule raison (qui souhaiterait être exposé à cause de tels appareils piratables ?), certains utilisateurs choisissent de construire leurs propres dispositifs, les configurant à leur manière à partir d'une distribution Ubuntu ordinaire. C'est assez facile aujourd'hui, avec beaucoup de plateformes disponibles pour les bricoleurs, telles que le Raspberry Pi.

Cependant, la réutilisation d'un vieux portable ou notebook peut aussi être une solution amusante, et avantageuse économiquement.

Equipped with a Pentium-III-derived Intel Celeron M processor clocked at 900 MHz, ye olde Asus eeePC notebook is now a venerable piece of hardware. In fact, it is no secret that most modern Ubuntu desktop distributions will have a hard time fitting within the constraints of the 1 GByte RAM or 4 GByte onboard hard drive - though some ways of getting around these limits can be found, as I have had the occasion to point out previously in these pages. However, these hardware specifications are quite similar to those of many modern devices designed for the IoT platforms, such as the Raspberry Pi version 3. The main differences can be found in two regards: • The eeePC is a derivative of a mainstream Intel processor. As such, it is less power-efficient than the ARM family of CPUs, which were designed with operation off batteries prominent on the requirements list. We will need to run this one off AC power, though the onboard notebook battery may help us get over a (short) break in power supply, depending on its physical condition. • The eeePC packs some onboard peripherals that a more modern board may not, such as a VGA port, a modem, and a full-size SD card reader. These may come in handy, in addition to the screen that is naturally included in any laptop. There is an inbuilt WiFi card, and further peripherals may easily be connected over USB.

Équipé d'un processeur Celeron M d'Intel, dérivé du Pentium-III, cadencé à 900 MHz, le bon vieux notebook eeePC d'Asus est maintenant un vénérable matériel informatique. En fait, ce n'est pas un secret que les distributions Ubuntu desktop les plus modernes auront du mal à se glisser dans les contraintes d'une RAM de 1 Go et d'un disque dur interne de 4 Go, bien que des contournements de ces limites soient possibles, comme j'ai eu l'occasion de le démontrer précédemment dans ces pages.

Cependant, les spécifications matérielles sont très similaires à celles des appareils modernes conçus pour les plateformes d'objets connectés (IoT), tels que le Raspberry Pi version 3. Les principales différences résident dans ces deux points : • Le eeePC est un dérivé d'un processeur principal d'Intel. Comme tel, il est moins efficace en énergie que la famille des CPU ARM, qui ont été conçus pour le fonctionnement sur batterie comme l'une des exigences principales. Nous aurons besoin de faire fonctionner celui-ci sur le secteur, bien que la batterie interne du notebook puisse nous permettre de supporter une coupure (brève) de l'alimentation, en fonction de son état physique. • Le eeePC intègre certains périphériques qu'une carte moderne n'a peut-être plus, comme un port VGA, un modem et un lecteur de carte SD grand format. Ceux-ci peuvent être pratiques, en complément de l'écran qui est naturellement inclus dans tout portable. Une carte WiFi est intégrée, et les autres périphériques peuvent être facilement connectés par USB.

It is worthwhile noting that since the eeePC is powered from an AC transformer or a notebook battery, the onboard USB ports are capable of delivering more power to peripherals than most hobbyist IoT devices. An external USB hard drive can be directly connected and powered, unlike with an RPi, for instance, where an external power source such as a second transformer will be necessary for the disk. So, if we make abstraction of the graphical environment and its increased hardware requirements, the eeePC can still be a platform sufficient for the needs of an IoT device - since most of these will run off wall power in any case. In my case, I took advantage of the recent announcement of version 16 of Ubuntu Snappy being available. This is based on Ubuntu 16.04, instead of 15.04 as were the previous releases. Since 16.04 is Long Term Support (LTS), this may be advantageous going forward. However, several things have changed on setting it up for the first time. Perhaps due to its beta status, and the relatively short period of time it has been made available (at the time of writing), precise instructions on setting it up are unfortunately still hard to find.

Notez bien que, comme le eeePC est alimenté par un transformateur secteur ou une batterie de portable, les ports USB intégrés sont capables de fournir plus d'alimentation aux périphériques que la plupart des dispositifs IoT pour bricoleurs. Un disque dur externe USB peut être branché et alimenté directement, contrairement à un RPi, par exemple, où une source d'alimentation externe et un second transformateur seront nécessaires pour le disque.

Aussi, si vous faites abstraction de l'environnement graphique et de ses exigences accrues en matériel, l'eeePC peut être une plateforme suffisante pour les besoins d'un dispositif connecté, car la plupart d'entre eux fonctionnent de toute façon à partir d'une prise murale.

Dans mon cas, j'ai profité de l'annonce récente de la disponibilité de la version 16 d'Ubuntu Snappy. Elle est basée sur Ubuntu 16.04, plutôt que sur la 15.04 dans les versions précédentes. Comme la 16.04 est à support à long terme (LTS), c'est intéressant pour l'avenir. Cependant, plusieurs choses ont changé dans le paramétrage initial. Peut-être à cause de son statut bêta, et de la courte période depuis sa sortie (au moment où j'écris), il est encore malheureusement difficile de trouver des instructions précises d'installation.

GETTING SNAPPY AND CREATING A PENDRIVE I downloaded the 32-bit (i386) version of the disk image for Ubuntu Snappy (also known in places as Ubuntu Core) from: http://cdimage.ubuntu.com/ubuntu-snappy/16.04/current/. Once downloaded, the image can be uncompressed into a disk image file by a regular user, with the command: unxz ubuntu-core-16-i386.img.xz If the unxz compression utility is not present on your system, it can be installed by: sudo apt install xz-utils This uncompressed image file - with the IMG extension - is a byte-for-byte copy of the contents of the hard drive of a device running Snappy. It is exactly 4,000,000,000 bytes long, or 4 GBytes. When using traditional notation with base-2, this converts into 3,725 GiBytes or 3,725 x 2^30 Bytes. This is precisely the size of the eeePC’s internal hard disk, so we should have no problems in fitting the image on the eeePC’s disk. Once the image has been uncompressed, our problem is how to copy it over from our main computer to the eeePC. We will need to boot this machine off an external medium, such as an USB pendrive or an SD card. We could use a lightweight Ubuntu-based distribution, such as a Xubuntu 32-bit, for this purpose. Once the eeePC is up and running from a Live CD, the Snappy image can be transferred over the network from a mounted volume and installed on the eeePC’s internal hard drive.

Obtenir Snappy et créer une clé USB

J'ai téléchargé la version 32-bit (i386) de l'image disque d'Ubuntu Snappy (connue aussi parfois comme Ubuntu Core) à partir de : http://cdimage.ubuntu.com/ubuntu-snappy/16.04/current/. Une fois téléchargée, l'image peut être décompressée en fichier image disque par un utilisateur ordinaire, avec la commande :

unxz ubuntu-core-16-i386.img.xz

Si l'utilitaire de compression unxz n'est pas présent sur votre système, il peut être installé ainsi :

sudo apt install xz-utils

Ce fichier image décompressé - avec l'extension IMG - est une copie mot-à-mot du contenu du disque dur d'un dispositif faisant tourner Snappy. Sa taille exacte est de 4 000 000 000 octets, ou 4 Go. En utilisant la notation traditionnelle en base 2, ceci se convertit en 3 725 Gio ou 3 725 x 2^30 octets. C'est précisément la taille du disque dur interne de l'eeePC ; aussi, nous ne devrions avoir aucun problème à installer l'image sur le disque de l'eeePC.

Une fois l'image décompressée, notre problème est de choisir la manière de la copier de l'ordinateur principal sur l'eeePC. Nous aurons besoin de démarrer la machine depuis un support externe, comme une clé USB ou une carte SD. Nous pouvons utiliser une distribution légère basée sur Ubnutu, comme Xubuntu 32-bit, à cette fin. Une fois que l'eeePC a démarré et fonctionne depuis un Live CD, l'image Snappy peut être transférée par le réseau, depuis un disque monté, et installée sur le disque dur interne de l'eeePC.

However, we do have a simpler means of performing the transfer, which is to use the Ubuntu Snappy image itself. To use it, I used an USB pendrive of the appropriate size, 4 GBytes. Using an SD card of the same capacity is also an option, since the eeePC can also boot off this type of medium. This would probably be identified by your kernel as /dev/mmcblk0 or something similar. Starting on the main computer on which I had downloaded Ubuntu Snappy, I copied the image onto the pendrive. In my case, this was identified as /dev/sdc - though much care should be exerted to make sure this is in fact the unit identification your pendrive has been assigned. Consulting the output of: dmesg | grep sd may be of help to make sure you are actually overwriting the pendrive and not, for instance, one of your computer’s hard drives. I then made sure the pendrive was not mounted, before using the dd command to copy the image byte-for-byte, in blocks of 1 MBytes. sudo umount /dev/sdc* sudo dd if=ubuntu-core-16-i386.img of=/dev/sdc bs=1M Using a different block-length may raise an error, since the image may not be an exact multiple of the number of bytes within a block. 1 MByte is a safe value, however, and the errors should probably be ignored if they occur. The pendrive is now a bootable image of Ubuntu Snappy. It can be extracted from the main computer, and used to boot the eeePC.

Cependant, nous avons un moyen plus simple de réaliser le transfert, qui est d'utiliser l'image d'Ubuntu Snappy elle-même. Pour ce faire, j'utilise une clé USB de taille appropriée, 4 Go. L'utilisation d'une carte SD de même capacité est aussi une option, car l'eeePC peut démarrer aussi sur ce type de support. Elle sera probablement identifiée par votre noyau comme /dev/mmcblk0 ou quelque chose de similaire.

En commençant sur l'ordinateur principal sur lequel j'ai téléchargé Ubuntu Snappy, j'ai copié l'image sur la clé. Dans mon cas, elle était identifiée comme /dev/sdc - bien que beaucoup de précautions doivent être prises pour s'assurer que c'est bien l'identification d'unité qui a été assignée à votre clé. Consultez la sortie de :

dmesg | grep sd

qui peut vous aider à vous assurer que vous allez bien écrire sur la clé et pas, par exemple, sur un des disques durs de votre ordinateur. Ensuite, j'ai vérifié que la clé était démontée, avant d'utiliser la commande dd pour copier l'image mot-à-mot, par blocs de 1 Mo.

sudo umount /dev/sdc*

sudo dd if=ubuntu-core-16-i386.img of=/dev/sdc bs=1M

L'utilisation d'une autre taille de bloc peut conduire à une erreur, car l'image peut ne pas être un multiple exact du nombre d'octets du bloc. 1 Mo est une valeur sûre, cependant, et les erreurs éventuelles pourront probablement être ignorées.

La clé est maintenant une image démarrable d'Ubuntu Snappy. Elle peut être débranchée de l'ordinateur principal, et utilisée pour démarrer l'eeePC.

CONFIGURING THE NEW SYSTEM ON THE PENDRIVE The escape key (Esc) will need to be pressed during bootup on the eeePC, to choose the appropriate boot device from a list. This is the one prefixed by USB, if a USB pendrive is used. You should then see the GRUB bootloader list, with a single entry: “Ubuntu Core 16”. After some time, and several pages full of messages from the kernel and system, you should obtain a blank screen with the message “Press enter to configure.” Configuring the initial system is a rather straightforward process, though using only a text-based interface may seem strange for those of use more accustomed to graphical applications. Use the keyboard arrows to maneuver from field to field, and configure at the very least one interface to connect to the Internet. In many cases, we will be using the device to connect both wirelessly and with the Ethernet port. I used the dialogs to connect the Ethernet port (eth0) to my home network using DHCP over a network cable. This is the easiest option to complete the configuration, since configuring the WiFi to connect to a wireless access point does not seem to be an option at this point. Ubuntu Snappy does recognize the physical interface, but does not provide an interface to identify the network to connect to using an SSID, nor a means to provide the network passphrase. This is probably a sign of work-in-progress, and may be corrected in later versions.

Configurer le nouveau système sur la clé

Vous devez appuyer sur la touche Échappement (ÉCHAP) pendant le démarrage de l'eeePC, pour choisir le dispositif de démarrage approprié à partir d'une liste. Le nôtre est celui préfixé par USB, si une clé USB est utilisée. Ensuite, vous devriez voir la liste du chargeur de démarrage GRUB, avec une seule entrée : « Ubuntu Core 16 ». Après un certain temps, et plusieurs pages pleines de messages du noyau et du système, vous devriez obtenir un écran vierge avec le message « Press enter to configure » (Appuyer sur Entrée pour configurer).

La configuration initiale du système est un processus plutôt simple, bien que la seule utilisation d'une interface en mode texte puisse paraître étrange pour ceux qui sont plus habitués aux applications graphiques. Utilisez les touches fléchées pour vous déplacer de champ en champ, et configurez au strict minimum une interface pour vous connecter à Internet.

Dans beaucoup de cas, nous utiliserons sur l'appareil, à la fois une connexion sans fil et un port Ethernet. J'ai utilisé les boîtes de dialogue pour connecter le port Ethernet (eth0) à mon réseau domestique en utilisant DHCP via un câble réseau. C'est l'option la plus simple pour achever la configuration, car la configuration du WiFi pour se connecter à un point d'accès sans fil ne me semble pas être une option à ce stade. Ubuntu Snappy reconnaît l'interface physique, mais il ne fournit pas d'interface pour identifier un réseau pour une connexion utilisant un SSID, ni de moyen pour fournir la phrase de passe du réseau. C'est probablement un signe que le travail continue ; ce sera peut-être corrigé dans des versions ultérieures.

You will also need an account on the Ubuntu Snappy store to continue. This can be created from the Ubuntu One initial page at https://login.ubuntu.com/, a point which could be made more clear on Canonical’s servers. I am thinking specifically about new users who have not yet had the occasion to log in to Ubuntu’s services. While you are doing it, remember to create a public/private RSA key-pair on your computer, and upload the public key (.pub file extension) to the Ubuntu server. If needed, instructions to create a key-pair may be found in any good tutorial on using SSH without a password, such as this one http://www.linuxproblem.org/art_9.html by Mathias Kettner (you will just need the first part concerning key-pair creation). Open the id_rsa.pub file, from directory ~/.ssh, in a text editor, and simply copy and paste the text into the field in the Ubuntu One web page. Make sure you are NOT copying from the file without the .pub extension: this is your private key, and should be shared with nobody else. Once the Snappy device has been set up, we cannot log in directly as a local user. Instead, we must connect to it over the network using SSH. I am user alanward on a certain mail server, and this is the account I used to register on Ubuntu’s service. So I am also user alanward on my new Snappy instance. Let us log in, using command: ssh <username>@<Snappy’s local IP address>

Vous aurez aussi besoin d'un compte sur le Snappy Store pour poursuivre. Il peut être créé depuis la page d'accueil d'Ubuntu One à : https://login.ubuntu.com/, un point qui pourrait être plus clair sur les serveurs de Canonical. Je pense particulièrement aux nouveaux utilisateurs qui n'ont jamais encore eu l'occasion de se connecter aux services d'Ubuntu. Pendant que vous le faites, souvenez-vous qu'il faut créer une paire de clés publique/privée RSA sur votre ordinateur, puis téléversez la clé publique (extension de fichier .pub) sur le serveur d'Ubuntu. Au besoin, des instructions pour créer une paire de clés peuvent être trouvées dans n'importe quel bon tutoriel sur l'utilisation de SSH sans mot de passe, comme celui-ci http://www.linuxproblem.org/art_9.html de Mathias Kettner (vous n'aurez besoin que de la première partie concernant la création de la paire de clés).

Ouvrez le fichier id_rsa.pub, dans le répertoire ~/.ssh, dans un éditeur de texte, et copiez/collez le texte dans le champ de la page Web d'Ubuntu One. Vérifiez bien que vous NE faites PAS la copie du fichier sans l'extension .pub : c'est la clé privée, et elle ne doit être partagée avec personne.

Une fois que le dispositif Snappy a été paramétré, nous ne pouvons pas nous connecter directement comme utilisateur en local. À la place, nous devons nous y connecter par le réseau en utilisant SSH. Je suis l'utilisateur alanward sur un certain serveur de messagerie, et c'est ce compte que j'ai utilisé pour m'enregistrer sur le service d'Ubuntu. Ainsi, je suis aussi l'utilisateur alanward sur ma nouvelle instance Snappy. Connectons-nous, en utilisant la commande :

ssh <username>@<Snappy’s local IP address>

We may need to consult our router to determine the new Snappy machine’s local IP address. Otherwise, a few judicious pings should also allow us to determine the address assigned through the router’s DHCP. No passwords are required to log in, since our public key is enough to identify us. In actual fact, our new user on the device has no password, in a similar way to root on most Ubuntu systems. We can become root on Snappy in the same way as on a regular Ubuntu, using the sudo command: sudo bash root@localhost:~# It may be useful to make root access over SSH available. We can use the .ssh directory created by the installer script, and simply copy it over to the root user’s home directory: cp -r .ssh /root/ We can now exit our SSH session using the exit command twice. From our main computer, we can log in as root using ssh by reusing the same SSH credentials we used to log in previously: ssh root@192.168.0.104 Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-36-generic i686) …

Nous pourrions avoir besoin de consulter notre routeur pour déterminer la nouvelle adresse IP locale de la machine Snappy. Autrement, quelques ping judicieux devraient aussi permettre de déterminer l'adresse assignée via le DHCP du routeur.

Aucun mot de passe n'est demandé à la connexion, car notre clé publique est suffisante pour nous identifier. En vrai, notre nouvel utilisateur sur l'appareil n'a pas de mot de passe d'une manière identique à root dans la plupart des systèmes Ubuntu.

Nous pouvons devenir root sur Snappy de la même manière que dans un Ubuntu normal, en utilisant la commande sudo :

sudo bash

root@localhost:~#

Il peut être utile de rendre l'accès root disponible via SSH. Nous pouvons utiliser le répertoire .ssh créé par le script d'installation, et le copier simplement dans le répertoire home de l'utilisateur root :

cp -r .ssh /root/

Nous pouvons maintenant sortir de notre session SSH en utilisant la commande exit deux fois. Depuis notre ordinateur principal, nous pouvons nous connecter comme root en utilisant ssh, en réutilisant les mêmes identifiants SSH que nous avons utilisés précédemment pour la connexion :

ssh root@192.168.0.104

Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-36-generic i686) …

At this point, we have a fully working system, albeit on the USB pendrive. We can now copy it over onto the eeePC’s internal hard drive, if we so wish. Performance from the pendrive is adequate for simple tasks. However, using the internal hard drive would allow us to dispense with having a pendrive hanging off our device, thus freeing up a USB port. Speeds are also slightly better, even though the internal drive on the eeePC is not fast with about 32 MBytes/s bandwidth. Copy the contents of the USB over to the hard drive with the dd command. The eeePC’s internal drive should be /dev/sda. If the USB has been detected as /dev/sdb, we could issue: sudo bash dd if=/dev/sdb of=/dev/sda bs=1M We are replicating the procedure used to copy the original disk image file over to the USB. At this point, however, the USB contains a fully configured system and this is what we are installing on the eeePC’s hard drive. Once the copy has completed, we can shut down the eeePC: shutdown -h now Remember to remove the USB pendrive when the computer is completely off, before restarting once more. If everything has gone according to plan, the eeePC should boot off its internal drive using GRUB in exactly the same way as the USB drive. It should be accessible over SSH as before, with no further configuration necessary. This procedure would also work with a pendrive of a larger size. However, in this case there will be an error message as dd goes over the 4 GByte limit. If the file system on the USB pendrive has not been resized, this should not be of concern.

À ce stade, nous avons un système opérationnel, quoique sur clé USB. Nous pouvons maintenant le copier sur le disque dur interne de l'eeePC, si nous le souhaitons. À partir de la clé USB, la performance est correcte pour des tâches simples. Cependant, l'utilisation du disque dur interne nous permettrait de nous passer d'une clé pendue à l'appareil, et donc de libérer un port USB. Les vitesses sont aussi légèrement meilleures, même si le disque dur interne de l'eeePC n'est pas rapide, avec une bande passante d'environ 32 Mo/s.

Copiez le contenu de la clé USB sur le disque dur avec la commande dd. Le disque dur interne de l'eeePC devrait être /dev/sda/. Si la clé USB a été détectée comme /dev/sdb, nous pouvons conclure :

sudo bash

dd if=/dev/sdb of=/dev/sda bs=1M

Nous réemployons la procédure utilisée pour copier l'image disque d'origine sur la clé USB. À l'étape actuelle, cependant, la clé USB contient un système entièrement configuré et c'est ce que nous installons sur le disque dur de l'eeePC. Une fois la copie terminée, nous pouvons éteindre l'eeePC :

shutdown -h now

Rappelez-vous d'enlever la clé USB une fois l'ordinateur éteint, avant de redémarrer à nouveau. Si tout s'est bien passé, l'eeePC devra démarrer sur son disque interne en utilisant GRUB de la même façon qu'avec la clé USB. Il devrait être accessible par SSH comme avant, sans configuration supplémentaire.

Cette procédure fonctionnerait avec une clé plus grande. Dans ce cas, toutefois, vous aurez un message d'erreur, car dd excède la limite de 4 Go. Si le système de fichiers sur la clé n'a pas été redimensionné, cela ne devrait pas causer de problème.

ADMINISTERING YOUR NEW IOT DEVICE Let us finish with a quick note on system administration. Ubuntu Snappy is quite different from a regular Ubuntu distribution such as Ubuntu Server or one of the desktop variants. The 4 GByte image we have been transferring contains two separate partitions. One is write-only, and holds the base kernel and system image. The second is writable, containing user data and changes made to the system over time. Having a large part of the operating system on a read-only file system gives rise to some complications, though it can be useful as regards system security. The first major change when coming from working with a standard Ubuntu distribution is that the apt way of installing software no longer works. Instead, administrators will use the snap command to query the Ubuntu store and manage software packages from there. There is some documentation out there on the Internet, and the command itself has a fair amount of documentation inbuilt. Some examples of snap usage should be self-explanatory: sudo bash snap help snap list snap install hello-world hello-world Hello World!

Administrer votre nouveau dispositif connecté (IoT)

Terminons par une note rapide sur l'administration du système. Ubuntu Snappy est bien différent d'une distribution Ubuntu ordinaire telle qu'Ubuntu Server ou l'une des variantes pour bureau. L'image de 4 Go que nous avons transférée contient deux partitions séparées. L'une est en lecture seule et contient le noyau de base et l'image du système. La seconde est inscriptible, contenant les données de l'utilisateur et les modifications faites au système au cours du temps. Le fait qu'une grande partie du système d'exploitation soit dans un système de fichiers en lecture seule ajoute quelques complications, bien que ça puisse être utile pour la sécurité du système.

Le premier changement majeur en venant d'un système Ubuntu standard est que la solution apt pour installer des logiciels ne fonctionne plus. À la place, les administrateurs utiliseront la commande snap pour interroger le magasin Ubuntu et gérer les paquets logiciels depuis cet endroit. Il y a de la documentation à ce sujet sur Internet et la commande elle-même intègre une bonne quantité de documentation. Certains exemples d'utilisation de snap sont faciles à comprendre :

sudo bash snap help snap list snap install hello-world hello-world Hello World!

The other feature that may surprise administrators is how to alter environment variables. For instance, using the apt commands with a web proxy is a simple matter of exporting the appropriate environment variable before commencing. For instance: sudo bash export http_proxy=”http://my_web_proxy:3128” apt update … However, the snap command does not seem to honor shell environment variables. For this reason, we will now need to alter the configuration of the snapd service itself. Unfortunately (or not, depending on your standpoint), this is a systemd service that needs to be configured with the corresponding commands. So: sudo bash systemctl edit snapd.service This will launch the vi editor, with which we can insert the details of the proxy server into systemd’s snapd configuration file. For example: [Service] Environment=“HTTP_PROXY=http://my_web_proxy:3128” Environment=“HTTPS_PROXY=http://my_web_proxy:3128” Please note the use of CAPITALS for environment variable names. Once out of vi, we will restart the snapd service, and can proceed to install our snaps: systemctl stop snapd systemctl start snapd snap install hello-world …

L'autre fonctionnalité qui peut surprendre les administrateurs est la façon de modifier les variables d'environnement. Par exemple, l'utilisation des commandes apt avec un proxy Web est une manière simple d'exporter la variable d'environnement appropriée avant de commencer. Par exemple :

sudo bash

export http_proxy=”http://my_web_proxy:3128

apt update …

Cependant, la commande snap ne semble pas respecter les variables d'environnement du shell. Pour cette raison, nous aurons besoin maintenant de modifier la configuration du service snap lui-même. Malheureusement (ou pas, selon votre point de vue), c'est un service systemd qui a besoin d'être configuré avec les commandes correspondantes. Aussi :

sudo bash

systemctl edit snapd.service

Ceci lancera l'éditeur vi, avec lequel nous pouvons insérer les détails du serveur proxy dans le fichier de configuration snapd du système. Par exemple :

[Service] Environment=“HTTP_PROXY=http://my_web_proxy:3128” Environment=“HTTPS_PROXY=http://my_web_proxy:3128

Veuillez noter les MAJUSCULES dans les noms des variables d'environnement. Une fois sortis de vi, nous redémarrerons le service snapd, et pourrons procéder à l'installation de nos snaps :

systemctl stop snapd systemctl start snapd snap install hello-world …

SOME FINAL THOUGHTS Experienced users and administrators of the standard Ubuntu distributions may feels things are becoming rather more restrictive with Ubuntu Snappy. In some ways, this is certainly true. On the other hand, a case may be made that the final system is more secure as a result. Speaking of devices that will very often be set up by non-specialists, but remain connected to the Internet during their useful life, it may be best that basic system security is high by default. However, Snappy does bring some benefits. Application sandboxing is one of them, as is ease of installation - as documented in the examples shown here. Making clones of an operating system from USB pendrive to hard drive, or back again from the eeePC’s hard drive to a second USB drive, is not only possible but also simple in the extreme. Converting an elderly device such as the eeePC into a Snappy device has several benefits. There is the obvious making use of a device that, otherwise, would probably end up on the scrap heap. But, from the user’s standpoint, getting accustomed to handling Ubuntu Snappy on such a platform will make things easier for us when we need to understand mobile devices with Ubuntu Touch. This is, in essence, built upon the base of Snappy, with the adjunction of the graphical user interface and other applications. For this reason, understanding Snappy can certainly be seen as an investment of time for those interested in dealing with Touch, for instance by designing and packaging applications for this platform.

Quelques idées pour terminer

Les utilisateurs expérimentés et les administrateurs des distributions ordinaires d'Ubuntu pourront penser que les choses sont largement plus restrictives avec Ubuntu Snappy. Par certains côtés, c'est sûrement vrai. En revanche, on peut affirmer que le résultat est un système final plus sécurisé. Si nous parlons des appareils qui seront souvent paramétrés par des non-spécialistes, mais qui resteront connectés toute leur vie active à Internet, il est peut-être préférable que la sécurité de base du système soit élevée par défaut.

Cependant, Snappy apporte certains avantages. Le compartimentage de l'application en est un, tout comme la facilité d'installation, comme montré ici dans les exemples. La réalisation de clones du système d'exploitation d'une clé USB vers un disque dur, ou, en retour, du disque dur de l'eeePC vers une seconde clé USB, est non seulement possible, mais extrêmement simple.

La conversion d'un vieil ordinateur comme l'eeePC en dispositif Snappy a beaucoup d'avantages. Il y a bien évidemment le fait d'utiliser l'appareil, qui aurait probablement terminé dans une décharge. Mais, du point de vue de l'utilisateur, s'habituer à manipuler Ubuntu Snappy sur une telle plateforme rendra les choses plus faciles pour nous quand nous devrons comprendre les appareils mobiles avec Ubuntu Touch. Celui-ci est, par essence, bâti sur une base Snappy, avec l'ajout d'une interface utilisateur graphique et d'autres applications. Pour cette raison, la compréhension de Snappy peut certainement être vue comme un investissement de temps pour ceux qui sont intéressés par Touch, notamment pour concevoir et packager des applications pour cette plateforme.

issue117/tutoriel1.txt · Dernière modification : 2017/02/11 15:32 de andre_domenech