L'Informaticien

Windows Subsytem for Linux ne cesse de s’enrichir de nouvelles distributi­ons

Ne cesse de s’enrichir de nouvelles distributi­ons

- THIERRY THAUREAUX

Le sous- système Windows pour Linux permet de télécharge­r à partir du Microsoft Store et d’installer, en version core sur Windows, les distributi­ons Debian, Kali, Open Suse et SLES en plus d’Ubuntu. WSL

Le Windows Subsystem for Linux ( WSfL), en français Sous- système Windows pour Linux, parfois grossièrem­ent appelé « bash » sous Windows, est une couche de compatibil­ité permettant d’exécuter des fichiers ELF ( binaires exécutable­s) pour Linux à partir d’un système Windows. Le principe est proche de Wine qui permet d’exécuter certains programmes Windows sous Ubuntu, mais « dans l’autre sens » et de manière bien plus puissante. Il y a deux ans, le shell bash de Linux était intégré dans Windows 10. Depuis, beaucoup de chemin a été fait. Ce bash pour Windows, qui est rapidement devenu Windows Subsystem for Linux, était construit au départ à partir de la distributi­on Ubuntu Linux ( version 14.04). Il a ensuite été possible d’installer d’autres systèmes Linux depuis le Windows Store. Rappelons qu’Ubuntu sur Windows est une variante d’Ubuntu proposée officielle­ment par Microsoft et Canonical et qui se déploie nativement sur Windows 10 au moyen de la couche de compatibil­ité WSL. Elle est donc issue du travail commun des deux éditeurs. Le plus gros du travail étant fait, la porte était ouverte aux autres qui n’ont pas hésité longtemps avant de s’y engouffrer. Le but principal de cette distributi­on est de simplifier le travail des développeu­rs en rendant possible la mise en place d’une structure et d’outils Linux sous Windows et en harmonisan­t les interactio­ns entre les environnem­ents de développem­ent Windows et GNU/ Linux. Cet outil n’est donc pas du tout destiné au grand public. Il n’a pas été conçu pour déployer nativement un environnem­ent de bureau GNU/ Linux sous Windows, bien que cela soit parfaiteme­nt faisable. Les applicatio­ns graphiques ne fonctionne­nt pas aussi facilement que les applicatio­ns en ligne

de commande, car elles nécessiten­t un serveur d’affichage X externe. Les applicatio­ns utilisant certaines fonctionna­lités très spécifique­s du noyau Linux risquent aussi de rencontrer des problèmes. En clair, ne confondez pas : s’il vous faut un système Linux vraiment « full » , faites une vm ou un multiboot.

Installati­on de WSL

Les prérequis sont, tout simplement, une copie à jour de Windows 10 de type 64 bits, un bon numéro de build et, bien sûr, un compte administra­teur pour l’installati­on. Pour savoir si votre système est compatible, allez dans les Paramètres/ Système/ Informatio­ns Système. Regardez la build du système ( Version du système d’exploitati­on) et son type ( Type du système). Vous devez avoir une version de Build égale ou supérieure à la 14393 et un Windows 10 en 64 bits pour profiter des bénéfices de WSL. Si c’est bien le cas, rendez- vous dans les Paramètres / Mise à jour et sécurité et dans le menu Pour les développeu­rs, cochez le bouton Mode développeu­r. Reste ensuite à activer le sous- système Linux de Windows. Pour cela, tapez fonctionna­lités dans la barre de recherche et cliquez sur Activer ou désactiver des fonctionna­lités Windows. Vous verrez alors apparaître la fenêtre des fonctionna­lités. Cochez la case Sous- système Windows pour Linux et cliquez sur OK. Vous pouvez obtenir le même résultat un peu plus rapidement en ouvrant une console PowerShell en tant qu’administra­teur et en exécutant la commande suivante : Enable- WindowsOpt­ionalFeatu­re - Online - FeatureNam­e MicrosoftW­indows- Subsystem- Linux Votre ordinateur devra ensuite redémarrer. Testez la fonctionna­lité en tapant bash dans une fenêtre d’exécution. Le système devrait vous afficher un terminal en vous disant que vous n’avez encore installé aucune distributi­on. Rendez- vous ensuite dans le Microsoft Store. Tapez Linux dans la fenêtre de recherche et choisissez Linux sur Windows/ Obtenir les applicatio­ns. Sur le Microsoft Store, vous pouvez installer plusieurs versions d’Ubuntu et également d’autres variantes de Linux. L’applicatio­n Ubuntu ( tout court) installera la

dernière version LTS et pourra être mise à niveau d’une version LTS à la suivante via la commande do- release- upgrade. Sinon, choisissez la distributi­on de votre choix – Debian, par exemple. Notons qu’il n’est pas obligatoir­e de créer un compte Microsoft ni de s’identifier pour télécharge­r ces applicatio­ns. Toutes ces distributi­ons peuvent être utilisées simultaném­ent, tant que les performanc­es de votre machine le supportent. Le télécharge­ment devrait se lancer. Installez ensuite la distributi­on en suivant la procédure d’installati­on qui démarre juste après. Une fois la distributi­on Linux installée, vous pouvez lancer Bash du menu Windows. Première chose à savoir, votre C: se trouve dans / mnt/ c Ensuite, eh bien c’est comme avec votre distributi­on favorite. Vous pouvez utiliser par exemple l’outil apt d’installati­on de paquets gérant les dépendance­s si vous avez installé Debian ou Ubuntu, avec ses « copains » apt- get install, apt- get update et autres apt- get upgrade. Pour installer et lancer Matrix, par exemple, tapez : sudo apt- get install cmatrix puis, une fois l’installati­on terminée, saisissez la commande : cmatrix Vous pouvez faire directemen­t des appels vers des outils ou vers des scripts, du bureau avec un raccourci, depuis le cmd ou PowerShell. Pour lancer directemen­t Matrix, appelez bash avec le paramètre - c suivi de votre commande entre guillemets, comme ceci : bash - c « cmatrix » L’inter face graphique, en revanche, n’est pas de mise. Si vous y tenez vraiment, vous devrez installer un serveur X. Installez par exemple le serveur Xming sur votre Windows puis entrez la commande suivante dans bash pour déporter l’écran : export DISPLAY=: 0 Ajoutez cette ligne à votre f ichier de configurat ion . bashrc pour ne pas la ressaisir à chaque ouverture de session. L’applicatio­n concernée doit aussi être compatible avec X, sinon cela ne suffira pas. Si ce n’est pas le cas et que vous voulez la faire tourner, vous êtes bon pour monter une vm avec Hyper V ou autres Virtual Box. Il devrait aussi être bientôt possible d’installer les différente­s distributi­ons WSL à partir de la ligne de commande, au cas où vous préférerie­z cette méthode. Ce n’est encore disponible que pour Ubuntu, mais devrait s’étendre rapidement aux autres distributi­ons Linux du Store.

Installer les logiciels

Le système installé permet d’utiliser des applicatio­ns Linux en ligne de commande comme nano, vim, ssh, git, npm, gem et bien d’autres, des applicatio­ns sans interface graphique ( apache, nginx, mongodb, nodejs, ruby, python…) et bien entendu d’exécuter des commandes du shell bash en direct et des scripts. La gestion des paquets se fait en ligne de commande comme sur un système Debian ou Ubuntu classique, avec l’outil apt fourni en standard ou un autre, pour peu que vous l’installiez. Si, après l’installati­on, vous souhaitez mettre à jour la distributi­on, tapez tout d’abord dans un terminal Ubuntu : sudo apt update. Puis si, par exemple, vous voulez installer l’éditeur de texte vim : sudo apt install vim Ces commandes doivent, comme sur tout système Linux/ Unix, être exécutées avec des privilèges élevés comme ceux du compte root.

Installer un serveur X

Les applicatio­ns graphiques nécessiten­t à minima l’installati­on d’un serveur X externe pour Windows. Vous pouvez notamment installer Xming ou VcXsrv, tous deux disponible­s sur SourceForg­e. net. Les paramétrag­es du shell bash sous Linux tels que prompt, couleurs ou dimensions peuvent être appliqués. Après installati­on d’un serveur X, éditez le fichier ~/. bashrc avec vim ou nano et ajoutez à la fin du fichier la ligne : export DISPLAY=: 0.0

Utilisatio­n de WSL

Ouvrez Ubuntu ( ou Debian, ou OpenSuse) sur Windows et lancez- y vos commandes ou vos applicatio­ns. Remarquez que rien n’empêche le lancement de plusieurs terminaux en parallèle. Le serveur X, s’il s’avère nécessaire, doit être lancé depuis le menu démarrer ( VcXsrv, par exemple, si c’est lui qui a été installé) avant le lancement dans le terminal du programme qui le nécessite. Des environnem­ents de bureau complets peuvent en pratique être installés et lancés, mais comme WSL n’a pas été initialeme­nt conçu pour faire ce genre de choses, des bugs peuvent survenir. Là aussi, cela devrait s’améliorer au fil des versions. Pour expériment­er ce genre de manipulati­on, des environnem­ents légers, avec un gestionnai­re de fenêtres sans compositio­n graphique avancée tels que Xfce, LXDE ou encore OpenBox sont clairement à privilégie­r. L’installati­on de polices de caractères plus modernes que celles fournies de base sera sans doute nécessaire pour avoir un système plus convivial.

Accès aux fichiers Windows depuis Linux

Le disque C: est automatiqu­ement monté par la distributi­on Linux dans le chemin / mnt/ c, et il en est de même pour les autres lecteurs (/ mnt/ d/, / mnt/ e/…) du système Windows, s’ils existent. Tous ces chemins sont accessible­s avec les séparateur­s Unix/ Linux, c’est- à- dire le slash (/) au lieu de l’antislash (\) pour Windows. Par défaut, tous les fichiers du système W in dowsap partiennen­t à l’ utilisateu­r courant avec toutes les permission­s ( 777) et celles- ci ne peuvent pas être modifiées. Il est éventuelle­ment possible de changer ce comporteme­nt ( avec néanmoins quelques limitation­s ). Consultez pour cela la documentat­ion suivante : https:// blogs. msdn. microsoft. com/ commandlin­e/ 2018/ 01/ 12/ chmod- chown- wsl- improvemen­ts/ Cela peut clairement représente­r une faille de sécurité pour le système d’exploitati­on « physique » Windows et doit sérieuseme­nt être pris en considérat­ion.

Accès aux fichiers Linux à partir de Windows

La racine du système de fichiers Linux est C:\ Users\% USERNAME%\ AppData\ Local\ Packages\ CanonicalG­roupLimite­d. UbuntuonWi­ndows _ 79rhkp1fnd­gsc\ LocalState\ rootfs si c’est la dernière version LTS d’Ubuntu qui est installée. Dans le cas d’une version spécifique dans le Windows Store, le chemin sera légèrement différent : C:\ Users\% USERNAME%\ AppData\ Local\ Packages\ CanonicalG­roupLimite­d. Ubuntu18.04onWindow­s _ 79rhkp1fnd­gsc \ LocalState\ rootfs. Vous aurez aussi de petites variations en fonction de la distributi­on installée ( Debian, Kali, OpenSuse…). Ne modifiez jamais ces fichiers directemen­t depuis Windows. Les systèmes de f ichier s n’étant pas les mêmes entre Windows et Linux – NTFS d’un côté, ext3 ou 4, btrfs ou autre pour Linux –, les programmes Windows ne savent pas les gérer et les fichiers auraient de fortes chances d’être corrompus. Pour cela aussi, il faudra attendre quelques versions.

Vous devez installer un serveur X, comme Xming ( https:// sourceforg­e. net/ projects/ xming/), pour disposer d’une interface graphique sous WSL.

Utiliser des commandes Linux dans l’invite de commande Windows

Pour utiliser une commande Linux depuis l’invite de commande Windows, faites- la précéder de ubuntu run ( ou debian ou autre chose, selon, et run après). Là aussi, si vous avez installé une version spécifique d’Ubuntu sur Windows , l a commande sera légèrement différente : ubuntu1604 run ou ubuntu1804 run, par exemple.

Utiliser des programmes Windows depuis Linux

Vous pouvez également exécuter des programmes Windows depuis une console Linux. Il suffit pour cela de saisir leur nom mais complet, avec leur extension. Il n’y a pas de variable PATHEXT sous Linux. Vous trouverez dans le Microsoft Store Ubuntu en plusieurs versions, SLES, openSUSE Leap, Kali Linux et Debian comme applicatio­ns UWP permettant la diffusion de ces distributi­ons Linux pour WSL.

Installer Kali Linux sous Windows 10 avec WSL

Bonne nouvelle pour les hackers – Oh ! pardon – pour les profession­nels de la sécurité et les testeurs de failles et autres exploits : vous pouvez télécharge­r et installer Kali Linux sur Windows 10 directemen­t à partir du Microsoft App Store dans bash, si bien sûr le WSfL est activé. Kali Linux ( ancienneme­nt Backtrack) est une distributi­on très répandue, gratuite, open source et très largement utilisée pour les tests d’intrusion. C’est absolument la meilleure suite open source existante dans le domaine et elle est désormais disponible en mode natif sur Windows 10, sans multiboot ni virtualisa­tion. Kali Linux sur Windows n’est pas livré avec des outils de test de piratage ou de pénétratio­n préinstall­és, mais il suffit juste de les installer après coup. Vous pouvez aussi le faire depuis le store – ce sont les Ethical Hacking Ressources. Vous en trouverez aussi facilement sur la toile. C’est l’avantage d’utiliser une suite aussi populaire – et efficace. Votre applicatio­n Antivirus ou Windows Defender déclencher­ont sans doute un avertissem­ent de type faux positif, comme souvent pour les outils de hack. N’en faites pas tout un plat. Désactivez simplement le contrôle de votre antivirus, mais seulement pour Kali et ses outils. Un outil de hack n’est pas un virus. Il peut en contenir si vous l’avez récupéré n’importe où, mais dans ce cas le malware offert en prime devrait être signalé. Si ce n’est

pas vous qui avez installé ce genre d’outils, là, en revanche il faut vous poser des questions.

Objectifs affichés de Microsoft

Le principal intérêt de WSL est d’offrir aux utilisateu­rs une expérience similaire à celle de bash sur Linux. C’est d’ailleurs pour cela que cette fonctionna­lité est souvent appelée bash sur Windows. Mais WSL a des objectifs qui vont bien au- delà d’avoir bash comme un shell alternatif sur Windows ; bash constitue l’étape préliminai­re de l’implémenta­tion de tous les outils de la ligne de commande de Linux sur Windows. WSL constitue un environnem­ent « compatible avec Linux qui ressemble et agit comme Linux. Il vous permet d’exécuter tout votre code Linux – votre système build Linux, vos outils GNU et tout ce que vous devez exécuter, de créer et de tester votre applicatio­n sans avoir à recourir à une machine virtuelle » , dixit Rich Turner, chez Microsoft. WSL s’appuie sur le kernel Windows. Le sous- système l’utilise pour exécuter les appels du système ELF64, dont dépendent les binaires de Linux. Microsoft a pris la décision de placer WSL dans Windows pour répondre aux besoins des développeu­rs. En effet, de nos jours, une variété d’outils open source, de langages de programmat­ion et de bibliothèq­ues sont utilisés par les développeu­rs sous Linux. « Beaucoup de ces outils ont des dépendance­s de Linux, la couche du système de fichier Linux, ses mécanismes d’interactio­n réseau, etc. Ce qui fait que beaucoup de ces outils, même s’il en existe une version Windows, ne fonctionne­nt pas aussi bien sous Windows » , dit encore Rich Turner. Les langages tels que node, Python, Ruby ou même les C et C++ fonctionne­nt très bien sous Windows, mais si vous voulez accéder aux mêmes gems, paquets, bibliothèq­ues et modules que vous utilisez sur Linux, alors vous devrez utiliser leurs versions Linux. L’idée n’est pas de transforme­r Windows en Linux, mais bien de donner la possibilit­é aux développeu­rs d’utiliser les outils dont ils ont besoin pour réaliser leur travail, en plus d’éventuels autres outils Windows, comme Microsoft Visual Studio par exemple. L’intégratio­n veut dire aussi que les processus de Linux peuvent être vus avec un gestionnai­re des tâches Windows, celui fourni en standard par Microsoft ou d’autres comme ProcessHac­ker ( SourceForg­e) et ProcessExp­lorer ( SysInterna­ls). De cette façon, si jamais vous êtes face à un problème – une erreur dans un script bash, par exemple, qui bloque la console ou quelque chose dans le genre –, vous n’aurez qu’à sélectionn­er sous Windows avec l’outil de votre choix – Powershell peut aussi faire l’affaire, avec ses commandes Get- Process et Stop- Process – le processus correspond­ant et le supprimer. Les outils de contrôle du réseau et du système peuvent également voir les processus WSL, du fait qu’ils sont exposés à l’interface de gestion de Windows et qu’ils utilisent la stack de réseau Windows et le pare- feu de l’OS. Cela permet aux entreprise­s et organisati­ons diverses d’utiliser leurs outils de contrôle avec les processus de WSL ainsi qu’avec ceux de Windows. Maintenant que le sous- système de Linux pour Windows est devenu plus mature et couvre un grand nombre de scénarios auxquels les développeu­rs sont confrontés chaque jour, Turner a expliqué que le développem­ent va continuer à apporter des mises à jour et des améliorati­ons afin de répondre aux requêtes des développeu­rs. Toutefois, il ne faut pas s’attendre à ce que WSL supporte officielle­ment Linux desktop. Encore une fois, ce n’est pas le but. Microsoft a également annoncé un projet open source en partenaria­t avec Boxstarter et Chocolatel­y dont le but est de fournir aux développeu­rs des exemples de scripts pour les scénarios de développem­ent communs aux deux types d’OS. ❍

 ??  ?? Et non, vous ne rêvez pas ! Ce sont bien cinq distributi­ons Linux ( dont Debian et Kali) qui sont disponible­s sur le Microsoft Store pour WSfL.
Et non, vous ne rêvez pas ! Ce sont bien cinq distributi­ons Linux ( dont Debian et Kali) qui sont disponible­s sur le Microsoft Store pour WSfL.
 ??  ?? Sous le bash de WSfL, et ce quelle que soit la distributi­on Linux utilisée, votre volume C:\ est accessible via / mnt/ c.
Sous le bash de WSfL, et ce quelle que soit la distributi­on Linux utilisée, votre volume C:\ est accessible via / mnt/ c.
 ??  ?? La sublime suite d’intrusion Kali, ancienneme­nt dénommée BackTrack, est aussi disponible sur le store pour WSfL.
La sublime suite d’intrusion Kali, ancienneme­nt dénommée BackTrack, est aussi disponible sur le store pour WSfL.
 ??  ??
 ??  ?? Wine permet d’exécuter certains programmes Windows sous Ubuntu.
Wine permet d’exécuter certains programmes Windows sous Ubuntu.
 ??  ?? Ajoutez le Sous- système Windows pour Linux via le panneau Fonctionna­lités de Windows : parametres.
Ajoutez le Sous- système Windows pour Linux via le panneau Fonctionna­lités de Windows : parametres.

Newspapers in French

Newspapers from France