User Tools

Site Tools


other:win10wsl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
other:win10wsl [2022/09/19 13:37]
jypeter [Opening a terminal] Updated the Linux terminals section
other:win10wsl [2023/12/06 13:24] (current)
jypeter [Other WSL resources and links] Added phoronix benchmarks link
Line 2: Line 2:
  
 [[other:​index#​windows_10_notes|Other Windows 10 related notes]] [[other:​index#​windows_10_notes|Other Windows 10 related notes]]
 +
 +<WRAP center round alert 60%>
 +JYP is still working on this page! Some content may be out of date, or still related to WSL 1
 +</​WRAP>​
 +
  
 <WRAP center round important 60%> <WRAP center round important 60%>
Line 144: Line 149:
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-You can skip reading this WSL //​requirement//​ if you are installing WSL for the first time, and are therefor ​directly installing WSL 2+You can skip reading this WSL //​requirement//​ if you are installing WSL for the first time, and are therefore ​directly installing WSL 2
  
-Come back later if you have problems+Come back here later (only) ​if you have problems
 </​WRAP>​ </​WRAP>​
  
Line 167: Line 172:
     * <​code> ​                                           Virtualisation activée dans le microprogramme :​ Oui</​code>​     * <​code> ​                                           Virtualisation activée dans le microprogramme :​ Oui</​code>​
  
 +=== Hyper-V related information ===
 +
 +Miscellaneous technical links and information,​ in case we need this later...
 +
 +  * [[https://​learn.microsoft.com/​en-us/​virtualization/​|Virtualization documentation]]
 +    * [[https://​learn.microsoft.com/​en-us/​virtualization/​api/​|Hyper-V APIs]]
 +  * ''​hcsdiag list''​ and ''​hcsdiag kill <​ID>''​
 ===== Base installation ===== ===== Base installation =====
  
Line 354: Line 366:
  
 ==== Opening a terminal ==== ==== Opening a terminal ====
 +
 +<WRAP center round tip 60%>
 +Having a terminal you can efficiently interact with is the basis of your future work with WSL+Ubuntu!
 +</​WRAP>​
  
   * Read the sub-sections below to find out the different ways to open //​terminals//​   * Read the sub-sections below to find out the different ways to open //​terminals//​
Line 360: Line 376:
   * Closing all terminals will not stop WSL+Ubuntu. Read the [[#​rebooting_wsl|rebooting WSL section]] if you need a clean start of WSL without rebooting Windows   * Closing all terminals will not stop WSL+Ubuntu. Read the [[#​rebooting_wsl|rebooting WSL section]] if you need a clean start of WSL without rebooting Windows
  
-Having ​a terminal ​you can efficiently interact with is the basis of your future work with WSL+Ubuntu! You can **optionally** read the [[https://​nickjanetakis.com/​blog/​conemu-vs-hyper-vs-terminus-vs-mobaxterm-terminator-vs-ubuntu-wsl|ConEmu vs Hyper vs Terminus vs MobaXTerm Terminator vs Ubuntu WSL]] blog if you really want more details+Optional reading (if you really have time): 
 +  * [[https://​unix.stackexchange.com/​questions/​4126/​what-is-the-exact-difference-between-a-terminal-a-shell-a-tty-and-a-con|What ​is the exact difference between a '​terminal',​ a '​shell',​ a '​tty'​ and a '​console'?​]] 
 +  ​* [[https://​nickjanetakis.com/​blog/​conemu-vs-hyper-vs-terminus-vs-mobaxterm-terminator-vs-ubuntu-wsl|ConEmu vs Hyper vs Terminus vs MobaXTerm Terminator vs Ubuntu WSL]] for more details ​about terminals 
  
 === The default terminal === === The default terminal ===
Line 744: Line 763:
 578 /​mnt/​h/​Scratch/​jyp/​pkg_190221.txt</​code>​ 578 /​mnt/​h/​Scratch/​jyp/​pkg_190221.txt</​code>​
  
-==== Upgrading ​ubuntu ​====+==== Upgrading ​Ubuntu ​====
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-You can skip this section if you have just installed ​ubuntu, since you are already running the latest stable release available+You can skip this section if you have just installed ​Ubuntu, since you are already running the latest stable release available
 </​WRAP>​ </​WRAP>​
  
  
-The **updates** are for maintaining the same version of ubuntu ​(e.g. you go from version ''​18.04.2''​ to ''​18.04.5''​),​ while **upgrades** are for going from one major version to the next (e.g ''​16.xx''​ => ''​18.xx''​ => ''​20.xx''​). We try to only use the stable major releases, that have an even version number.+The **updates** are for maintaining the same version of Ubuntu ​(e.g. you go from version ''​18.04.2''​ to ''​18.04.5''​),​ while **upgrades** are for going from one major version to the next (e.g ''​16.xx''​ => ''​18.xx''​ => ''​20.xx''​). We try to only use the stable major releases, that have an even version number.
  
-We use the **LTS versions** (//Long Time Support//) to ensure even more stability, which means that we will get updates of a given major release for quite some time after the next major release is available, so it is not mandatory to updgrade ubuntu ​if you are still receiving updates for the release you use+We use the **LTS versions** (//Long Time Support//) to ensure even more stability, which means that we will get updates of a given major release for quite some time after the next major release is available, so it is not mandatory to upgrade Ubuntu ​if you are still receiving updates for the (major) ​release you are using
  
-There should not be any risk, but it may be a good idea to [[other:​win10wsl#​creating_a_backup_of_the_linux_running_in_wsl|create a backup]] of your current ​ubuntu ​before upgrading it!+There should not be any risk, but it may be a good idea to [[other:​win10wsl#​creating_a_backup_of_the_linux_running_in_wsl|create a backup]] of your current ​Ubuntu ​before upgrading it!
  
 Use ''​sudo''​ for each command below, or just become root by using ''​sudo su -''​ Use ''​sudo''​ for each command below, or just become root by using ''​sudo su -''​
Line 1091: Line 1110:
   * Determine the name of the current Linux installation(s) used in WSL   * Determine the name of the current Linux installation(s) used in WSL
     * <​code>>​ wsl --list --verbose     * <​code>>​ wsl --list --verbose
-  NAME      STATE           ​VERSION +  NAME             ​STATE           ​VERSION 
-Ubuntu ​   ​Running ​        ​2</​code>​+Ubuntu_custom ​   ​Running ​        ​2</​code>​
   * [[other:​win10wsl#​rebooting_wsl|Stop all running installations]]   * [[other:​win10wsl#​rebooting_wsl|Stop all running installations]]
       * <​code>>​ wsl --shutdown       * <​code>>​ wsl --shutdown
  
 > wsl -l -v > wsl -l -v
-  NAME      STATE           ​VERSION +  NAME             ​STATE           ​VERSION 
-Ubuntu ​   ​Stopped ​        ​2</​code>​+Ubuntu_custom ​   ​Stopped ​        ​2</​code>​
       * ... or stop just the specific installation that you want to save:\\ ''​%%>​ wsl --terminate Ubuntu_custom%%''​       * ... or stop just the specific installation that you want to save:\\ ''​%%>​ wsl --terminate Ubuntu_custom%%''​
  
   * Export the specified Linux installation to a //tar// file:   * Export the specified Linux installation to a //tar// file:
-    * You should export to a directory or external disk where you have //enough// space\\ e.g. The tar file for a [[other:​win10wsl#​base_installation|newly installed and updated]] //Ubuntu 20.04.5 LTS// is ~1.4 Gb+    * You should export to a directory or external disk where you have //enough// space\\ e.g. The tar file for a [[other:​win10wsl#​base_installation|newly installed and updated]] //Ubuntu 20.04.5 LTS// is ~1.4 Gb (550 Mb after compression)
     * You should use a detailed enough file name for the tar file\\ e.g. WSL_<​Linux_Distribution>​_<​Distribution_Version>​_<​User>​_<​Date>​.tar     * You should use a detailed enough file name for the tar file\\ e.g. WSL_<​Linux_Distribution>​_<​Distribution_Version>​_<​User>​_<​Date>​.tar
-    * Example: ''​%%wsl --export Ubuntu C:​\Scratch\your_login\WSL\WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar%%''​+    * Example: ''​%%wsl --export Ubuntu C:​\Scratch\your_login\WSL\WSL_Ubuntu_20.04.5_LTS_stdu_22-10-27.tar%%''​
  
     * You can (probably) save a lot of space by compressing the backup     * You can (probably) save a lot of space by compressing the backup
-      * It is not documented (yet), but the [[https://​github.com/​MicrosoftDocs/​WSL/​issues/​1607|wsl --import]] command can directly import ''​tar.gz''​ files! +      * It is not documented (yet), but the [[https://​github.com/​MicrosoftDocs/​WSL/​issues/​1607|wsl --import]] command ​(if you need to use it later) ​can directly import ''​tar.gz''​ files! 
-      * <​code>​$ ls -lh /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar +      * <​code>​$ ls -lh /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-10-27.tar 
- 1.4G Aug 29 17:49 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar+ 3.3G Oct 27 18:01 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-10-27.tar
  
-$ gzip  /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar+$ gzip /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-10-27.tar
  
 $ ls -lh /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_* $ ls -lh /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_*
  549M Aug 29 17:49 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar.gz  549M Aug 29 17:49 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar.gz
- 548M Sep 14 16:18 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-09-14.tar.gz</​code>​+ 548M Sep 14 16:18 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-09-14.tar.gz 
 + 1.2G Sep 19 13:52 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-09-19.tar.gz 
 + 1.3G Oct 27 18:01 /​mnt/​c/​Scratch/​your_login/​WSL/​WSL_Ubuntu_20.04.5_LTS_stdu_22-10-27.tar.gz</​code>​
  
 === Backup of specific directories === === Backup of specific directories ===
Line 1121: Line 1142:
 You can also just create backups of specific directories:​ You can also just create backups of specific directories:​
  
-  * Your Linux //home// directory (''/​home/​your_login/''​),​ or some specific sub-directories of the //Ubuntu// running in WSL (sub-directories of ''/''​):​ the best way to save them is probably to **create a //tar// file from Linux**, and put this //tar// file in a specific Windows //WSL backup folder// (we will use below the directory ''/​mnt/​c/​Scratch/​your_login''​ or ''​c:​\Scratch\your_login''​)+  * Your Linux //home// directory (''/​home/​your_login/''​),​ or some specific sub-directories of the //Ubuntu// running in WSL (sub-directories of ''/''​):​ the best way to save them is probably to **create a //tar// file from Linux**, and put this //tar// file in a specific Windows //WSL backup folder// (we will use below the directory ''/​mnt/​c/​Scratch/​your_login/WSL''​ or ''​c:​\Scratch\your_login\WSL''​)
     * <code bash>$ cd /home     * <code bash>$ cd /home
  
 $ du -sh $USER $ du -sh $USER
-232K    ​your_login+88K    ​your_login
  
-# We assume below that there is an existing /​mnt/​c/​Scratch/​your_login/​ directory +# We assume below that there is an existing /​mnt/​c/​Scratch/​your_login/WSL/ directory 
-It's a WINDOWS ​directory C:​\Scratch\your_login +Same directory ​(seen from WINDOWS) ​C:​\Scratch\your_login\WSL\ 
-$ tar cfz /​mnt/​c/​Scratch/​$USER/​${USER}_home_`date +%y%m%d_%H%M`.tgz $USER+$ tar cfz /​mnt/​c/​Scratch/​$USER/WSL/​${USER}_home_`date +%y-%m-%d_%H%M`.tgz $USER
  
 # Check the size of the new (and existing old) backup(s) # Check the size of the new (and existing old) backup(s)
-$ ls -ltr /​mnt/​c/​Scratch/​$USER/​${USER}_*.tgz +$ ls -ltrh /​mnt/​c/​Scratch/​your_login/​WSL/​${USER}_*.tgz 
-81K Jan 21  2020 /​mnt/​c/​Scratch/​your_login/​your_login_home_200121.tgz + 5.0K Oct 28 16:09 /​mnt/​c/​Scratch/​your_login/​WSL/​stdu_home_22-10-28_1609.tgz</​code>​
-93K Aug 22  2020 /​mnt/​c/​Scratch/​your_login/​your_login_home_200822_1151.tgz +
-95K Feb 24 12:09 /​mnt/​c/​Scratch/​your_login/​your_login_home_210224_1209.tgz</​code>​+
  
   * Regular Windows folders where you store data used by WSL: you can use ''​tar''​ in a Linux terminal, as above, or use any usual way of backing up Windows files (drag and drop, some specific [[other:​win10apps#​backup_software|backup software]])   * Regular Windows folders where you store data used by WSL: you can use ''​tar''​ in a Linux terminal, as above, or use any usual way of backing up Windows files (drag and drop, some specific [[other:​win10apps#​backup_software|backup software]])
Line 1318: Line 1337:
  
   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​release-notes|Release Notes for Windows Subsystem for Linux]]   * [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​release-notes|Release Notes for Windows Subsystem for Linux]]
 +
 +  * [[https://​www.phoronix.com/​search/​WSL|WSL performance benchmarks @ phoronix]]
  
   * [[https://​craigloewen-msft.github.io/​WSLTipsAndTricks/​|WSL Tips and Tricks]]   * [[https://​craigloewen-msft.github.io/​WSLTipsAndTricks/​|WSL Tips and Tricks]]
other/win10wsl.1663594678.txt.gz · Last modified: 2022/09/19 13:37 by jypeter