GNU/Linux >> Tutoriels Linux >  >> Linux

Développement Web et techniques avancées avec Linux sur Windows (WSL)

J'ai posté plusieurs fois sur le sous-système Windows pour Linux qui vous permet d'exécuter Linux sur Windows 10 sans VM. Consultez mon YouTube sur Modifier le code et les fichiers sur le sous-système Windows pour Linux sur Windows 10. Il n'y a qu'une seule règle. Vous pouvez jouer avec les fichiers Windows à partir de Linux, mais vous ne pouvez pas jouer avec les fichiers Linux à partir de Windows. Sinon, devenez fou et profitez-en. Voici quelques-uns de mes articles précédents que vous devriez consulter :

  • L'année de Linux sur le bureau (Windows) – Trucs et astuces WSL
  • Configuration d'un environnement de développement brillant sous Linux sur Windows 10
  • Installation de Fish Shell sur Ubuntu sous Windows 10
  • Écrire et déboguer des applications Linux C++ à partir de Visual Studio à l'aide du "sous-système Windows pour Linux"
  • Ubuntu maintenant dans le Windows Store :mises à jour de Linux sur Windows 10 et conseils importants

WSL est assez fantastique bien que son accès au disque soit plus lent que Linux natif, je me retrouve à l'utiliser tous les jours. Si vous souhaitez configurer Linux sur votre ordinateur Windows 10, activez-le, puis rendez-vous sur le Windows Store et recherchez "Linux".

Vous pouvez activer Linux sur Windows 10 en tapant "Fonctionnalités Windows" et en cochant "Sous-système Windows pour Linux". Procurez-vous ensuite un Linux sur le Windows Store.

Si vous préférez utiliser PowerShell et le faire sur une seule ligne, faites-le simplement à partir d'une invite Admin PowerShell :

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Ensuite, allez vous procurer l'un (ou plusieurs !) de ceux-ci dans la boutique :

  • Ubuntu
  • OuvrirSUSE
  • SLES
  • Kali Linux
  • Debian GNU/Linux

Lorsque vous êtes dans un shell Windows comme PowerShell ou CMD, vous voudrez peut-être exécuter Linux et/ou passer confortablement d'un shell à l'autre. Vous pouvez le faire de plusieurs façons. La meilleure méthode recommandée est d'exécuter "wsl.exe" car cela démarrera votre distribution par défaut. Vous pouvez également simplement taper le nom de la distribution. Je peux donc taper "ubuntu" et y accéder directement.

Vous pouvez taper "bash" mais ce n'est pas recommandé si vous avez changé de shell. Si vous avez configuré zsh ou fish et tapez bash, il essaiera toujours de lancer bash.

Ici, j'ai tapé wslconfig et vous pouvez voir que j'ai installé Ubuntu et Debian, avec Ubuntu par défaut lorsque je tape "wsl".

C:\Users\scott>wslconfig /list
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)
Debian

Maintenant que je sais comment exécuter wsl de n'importe où, je peux même diriger des trucs vers Linux depuis l'extérieur. Par exemple, ici, je suis dans cmd.exe mais j'appelle des commandes sous Linux, qui sortent, puis reviennent, etc. Vous pouvez mélanger et assortir comme vous le souhaitez !

C:\dev>type hello.sh
echo Hello
C:\dev>wsl cat /mnt/c/dev/hello.sh | wsl fromdos | wsl /bin/sh
Hello

Cela signifie que même lorsque je suis dans CMD ou PowerShell, je peux utiliser des commandes Linux qui me sont pratiques ou familières. Par exemple, ici, je transfère un fichier journal Windows Update dans une commande Linux sha1sum. Notez l'utilisation de - pour accepter l'entrée standard - même si cette entrée provient de Windows !

C:\Users\scott\Desktop>type WindowsUpdate.log | wsl sha1sum -
3b48adce8f6c9cb816e8845d824dacc0440ca1b8 -

Sucré. Il existe un certain nombre de techniques avancées intéressantes si vous souhaitez rendre vos installations WSL plus intelligentes ET automatiquement configurées. Vous pouvez créer un fichier dans /etc/wsl.conf pour affecter votre DNS, vos métadonnées et votre montage pilote.

Lorsque vous êtes dans un shell WSL, votre lecteur Windows (votre lecteur principal) se trouve dans /mnt/c. Voici donc mon bureau Windows tel qu'il est vu depuis WSL :

Je travaille la plupart de mes développeurs dans /mnt/d/github par exemple. De cette façon, je peux utiliser VS Code à partir de Windows mais exécuter Node/Ruby/Go/Whatever à partir de WSL.

Je conserve mes fichiers sur mon lecteur Windows, je les modifie dans VS Code, mais j'exécute les choses dans WSL. Encore une fois, n'utilisez jamais les utilitaires Windows pour accéder et/ou modifier des fichiers sur le sous-système WSL/Linux. De plus, soyez toujours conscient de votre situation CR/LF et soyez vraiment conscient si vous allez exécuter git à la fois sous Windows et WSL.

Voici VS Code en haut, WSL/Ubuntu exécutant Node en bas et l'application de nœud local exécutée dans Edge sous Windows en bas à droite. Nous partageons les systèmes de fichiers et l'espace du port réseau :

Vous pouvez même partager des variables d'environnement entre WSL et Windows avec une variable d'environnement spéciale appelée WSLENV. C'est assez avancé mais super puissant. Lisez ceci attentivement. Vous créez une variable d'environnement qui est une liste de noms d'autres variables que vous voulez traduire entre les environnements .

Cela signifie que vous pouvez faire quelque chose comme ça. Je suis dans WSL et j'ai une variable d'environnement qui pointe vers un emplacement sur le système de fichiers. J'ai besoin que ce soit correct dans les deux mondes.

scott@IRONHEART:/mnt/d$ export MYLINUXPATH=/mnt/d/github/expresstest
scott@IRONHEART:/mnt/d$ export WSLENV=MYLINUXPATH/p
scott@IRONHEART:/mnt/d$ cmd.exe
D:\>echo %MYLINUXPATH%
D:\github\expresstest

Lisez-le attentivement. C'est génial et c'est très configurable.

Il y a beaucoup d'utilisateurs de WSL et beaucoup ont rassemblé d'excellentes listes de ressources comme Awesome-WSL de Hayden.

Il convient également de souligner que WSL n'est qu'une console parmi laquelle vous pouvez choisir. Il y a PowerShell, CMD.exe et une demi-douzaine de Linux. Vous pouvez même créer votre propre distribution Linux personnalisée pour votre entreprise si vous le souhaitez. Et il y a tout un monde de consoles tierces qui reposent sur/remplacent conhost.exe afin que vous puissiez avoir des consoles avec des onglets, des polices sympas, celles basées sur la technologie Web, peu importe ! Vous pouvez même choisir WSL/bash comme shell par défaut dans Visual Studio Code si vous le souhaitez avec Ctrl+~.

J'espère que cela vous permettra de démarrer avec Linux sur Windows. Qu'est-ce que j'ai raté? Exprimez-vous dans les commentaires.

Parrain  :Aperçu du dernier pilote JetBrains avec son explorateur d'assemblage, ses sous-modules Git, ses injections de langage SQL, son profileur de performances intégré et sa prise en charge plus avancée de Unity.


Linux
  1. Comment accéder aux systèmes de fichiers Linux dans Windows 10 et WSL 2

  2. Installer Linux Mint avec Windows 8 | Double démarrage Windows 8 et Linux Mint 12

  3. Interopérabilité Windows et Linux :un regard sur Samba

  4. Comment attraper Ctrl + C sur Windows et Linux avec Qt

  5. Disques durs au format avancé, boîtiers USB et compatibilité Windows/Linux

Équilibrage de charge avec HAProxy, Nginx et Keepalived sous Linux

Comment installer et configurer Caddy Web Server avec PHP sur Rocky Linux 8

Installer Windows 10 sur Linux avec VirtualBox

Comment exécuter des applications d'interface graphique Linux sur Windows 10 avec WSL et WSLg

L'année de Linux sur le bureau (Windows) - Trucs et astuces WSL

Ruby on Rails sur Azure App Service (sites Web) avec Linux (et Ubuntu sur Windows 10)