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/14 14:38]
jypeter [Creating a backup] Improved the 'FULL' 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 403: Line 422:
 Installé correctement</​code>​ Installé correctement</​code>​
  
-  * After installing, you will get **several new ways to open a terminal**:​ +  * After installing ​WSLtty, you will get **several new ways to open a terminal**:​ 
-    * ''​WSL terminal''​ icon on the desktop+    * **A ''​WSL terminal''​ icon on the desktop, that will be //The Way to open a terminal//​**
     * ''​Start''​ => ''​U''​ => ''​Ubuntu terminal''​ (or ''​Ubuntu_custom terminal''​ or something similar if you have [[other:​win10wsl#​restoring_or_relocating_a_linux_installation|restored/​relocated a Linux installation]]) ​     * ''​Start''​ => ''​U''​ => ''​Ubuntu terminal''​ (or ''​Ubuntu_custom terminal''​ or something similar if you have [[other:​win10wsl#​restoring_or_relocating_a_linux_installation|restored/​relocated a Linux installation]]) ​
     * ''​Start''​ => ''​W''​ => ''​WSL Terminal''​ in the ''​Start''​ menu     * ''​Start''​ => ''​W''​ => ''​WSL Terminal''​ in the ''​Start''​ menu
       * There is also a ''​W''​ => ''​WSLtty''​ folder, than you probably will not need (more details in [[https://​github.com/​mintty/​wsltty#​configuration|Configuration]]),​ except possibly ''​configure WSL shortcuts''​ (//run after adding or removing WSL distributions,​ in order to create the respective set of shortcuts in the Start menu//)       * There is also a ''​W''​ => ''​WSLtty''​ folder, than you probably will not need (more details in [[https://​github.com/​mintty/​wsltty#​configuration|Configuration]]),​ except possibly ''​configure WSL shortcuts''​ (//run after adding or removing WSL distributions,​ in order to create the respective set of shortcuts in the Start menu//)
   * Open a terminal and right-click in it to check the available options   * Open a terminal and right-click in it to check the available options
-    * Hint: use the ''​Text''​ option to select the nice //Cascadia Code// font bundled with the [[other:​win10apps#​windows_terminal|Windows Terminal]]+    * **Recommended //text// options**: 
 +      * use the ''​Text''​ option to select the nice //Cascadia Code// font bundled with the [[other:​win10apps#​windows_terminal|Windows Terminal]] 
 +      * if you don't automatically get the ''​en_US.UTF8''​ localization in WSLtty when trying to [[other:​win10wsl#​specifying_a_correct_system_language|specify a correct system language]], explicitly force //​Locale//​=''​en_US''​ and //Character set//​=''​UTF-8''​ in the text options 
 +      * {{ :​other:​wsltty_text_options.png?​direct&​250 |}}
     * You can access even more options with CTRL+right-click     * You can access even more options with CTRL+right-click
-    * You can cycle between the open WSLtty terminals with CTRL+Tab and Shift+CTRL+Tab +    ​* Note: the WSLtty (non-default) settings are stored in: ''​C:​\Users\jypeter\AppData\Roaming\wsltty\config''​ 
-  *  [[https://​github.com/​mintty/​mintty/​wiki|Technical ​stuff]] (on the Mintty wiki)+  ​* You can cycle between the open WSLtty terminals with CTRL+Tab and Shift+CTRL+Tab 
 +  * Extra [[https://​github.com/​mintty/​mintty/​wiki|technical ​stuff]] (on the Mintty wiki)
  
 === The Windows Terminal === === The Windows Terminal ===
Line 421: Line 444:
 === Terminals started from Linux === === Terminals started from Linux ===
  
-You can install additional ​//graphical// terminals ​inside ​the Linux running in WSL, but **you will need to have a running [[other:​x_conf#​using_an_x_server_on_windows|X server]] if you want to open them**. In these terminals, the //usual// Linux copy/paste rules will apply! +You can [[other:​win10wsl#​adding_useful_packages|install additional graphical terminals ​in the Linux installation]], but **you will need to have a running [[other:​x_conf#​using_an_x_server_on_windows|X server]] if you want to open them**. In these terminals, the //usual// Linux copy/paste rules will apply!
- +
-== xterm == +
- +
-  * Install with: ''​apt-get install xterm''​ +
-  * Start from another terminal with: ''​xterm &''​ +
- +
-== xfce-terminal ==+
  
-  * Install with: ''​apt-get install xfce4-terminal''​ +  * ''​xterm'' ​package 
-  * Start from another terminal with: ''​xfce4-terminal ​&''​+  * ''​xfce4-terminal'' ​package
  
 ==== Where are the files? ==== ==== Where are the files? ====
Line 556: Line 572:
  
 Nothing will go wrong, but it does not hurt to [[other:​win10wsl#​backup_of_a_full_linux_installation|save an image of your full installation]],​ in case you want to try some really different settings later. Nothing will go wrong, but it does not hurt to [[other:​win10wsl#​backup_of_a_full_linux_installation|save an image of your full installation]],​ in case you want to try some really different settings later.
-==== Specifying ​correctly the display ​language ====+==== Specifying ​a correct system ​language ====
  
-WSL will automatically try to use in the terminals the same language as the one used by the Windows ​10 computer ​([[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting#​changing-the-display-language|ref]]), but this could lead later to some difficult to debug **side-effects** when you connect to remote Linux servers (e.g. the ''​sort''​ command may give different results !).+WSL will automatically try to use in the terminals the same language as the one used by the Windows computer, but this could lead later to some difficult to debug **side-effects** when you connect to remote Linux servers (e.g. the ''​sort''​ command may give different results !).
  
-It is **safer** to force the system ​to use a //standard// ​English version+It is **safer** to [[https://​docs.microsoft.com/​en-us/​windows/​wsl/​troubleshooting#​changing-the-display-language|force the Linux installation ​to use a standard ​English localization]]. The ''​update-locale''​ command will change the content of the ''​/etc/default/​locale''​ file
  
 <​code>​$ sudo update-locale LANG=en_US.UTF8 <​code>​$ sudo update-locale LANG=en_US.UTF8
 $ echo $LANG $ echo $LANG
 en_US.UTF8 en_US.UTF8
 +
 +$ locale -v
 +LANG=en_US.UTF8
 +LANGUAGE=
 +LC_CTYPE="​en_US.UTF8"​
 +[...]
 +LC_ALL=
 </​code>​ </​code>​
 +
 +After updating the system //​localization//​ (and possibly restarting ''​wsl''​ with ''​%%wsl --shutdown%%''​),​ open the [[other:​win10wsl#​opening_a_terminal|available terminals]] and type ''​echo $LANG''​ in order to check that are indeed getting ''​en_US.UTF8''​
 +
 +If you are still not getting ''​en_US.UTF8''​ in some terminals (e.g. you are still getting ''​C.UTF-8''​),​ you can check if you can override the //​localization//​ options in the terminals settings. Check the [[other:​win10wsl#​the_wsltty_terminal|Text options of the WSLtty terminals]]
 +
  
  
 ==== Package management ==== ==== Package management ====
  
-[[https://​www.howtogeek.com/​63997/​how-to-install-programs-in-ubuntu-in-the-command-line/​|apt-get tutorial]] if you are more used to Fedora/​RedHat ''​yum''/''​dnf''​ and //rpm// packages+=== How does it work ? ===
  
-  * Install the **aptitude** package ​manager: ''​apt-get install aptitude''​ +  * **Ubuntu applications** are distributed through ​package ​files in **//Debian// format** (''​.deb'' ​files) that are found in [[https://help.ubuntu.com/community/​Applications#​Software_repositories|software repositories]]
-    ​[[https://doc.ubuntu-fr.org/aptitude|details]] (fr) +
-  ​Install the **synaptic** package manager: ​''​aptitude install synaptic''​ +
-    * [[https://doc.ubuntu-fr.org/synaptic|details]] (fr)+
  
 +  * High level package management tools such as ''​aptitude''​ or ''​synaptic''​ rely on ''​apt''​ which, itself, relies on ''​dpkg''​ to manage the packages in the system
 +    * The ''​apt''​ tool merges functionality of ''​apt-get''​ and ''​apt-cache''​ and by default has a fancier colored output format, making it more pleasant for humans. For usage in scripts or advanced use cases, ''​apt-get''​ is still preferable or needed
 +    * ''​apt*''​ tools and ''​dpkg''​ are pre-installed on Ubuntu
 +    * [[https://​www.debian.org/​doc/​manuals/​debian-faq/​pkgtools.en.html#​aptitude|aptitude]] can be used on the command-line or through a **text-based interface**
 +      * You do not need to have an [[other:​x_conf|X server]] running to use ''​aptitude'',​ therefore aptitude can be used in the early stages of a Linux installation,​ or on a remote Linux computer
 +    * [[https://​www.debian.org/​doc/​manuals/​debian-faq/​pkgtools.en.html#​synaptic|synaptic]] is a graphical package manager
 +      * You need to have an [[other:​x_conf|X server]] running in order to use it
  
-=== Useful ​commands ===+  * All the details can be found in [[https://​www.debian.org/​doc/​manuals/​debian-faq/​pkgtools.en.html|The Debian package management tools]] 
 + 
 +=== What about snap ? === 
 + 
 +FIXME [[https://​snapcraft.io/​docs|Snap documentation]] 
 + 
 + 
 +=== Installing extra package managers === 
 + 
 +  * Installation:​ ''​sudo apt install aptitude synaptic''​ 
 +    * It may install lots of dependencies,​ but that's to be expected if no other packages have been installed yet\\ <​code>​$ sudo apt install aptitude synaptic 
 +Reading package lists... Done 
 +Building dependency tree 
 +Reading state information... Done 
 +[...] 
 +The following NEW packages will be installed:​ 
 +  adwaita-icon-theme aptitude aptitude-common at-spi2-core cpp cpp-9 fontconfig gcc-9-base 
 +[...] 
 +  x11-xserver-utils xdg-utils 
 +0 upgraded, 129 newly installed, 0 to remove and 0 not upgraded. 
 +Need to get 31.2 MB of archives. 
 +After this operation, 137 MB of additional disk space will be used. 
 +Do you want to continue? [Y/n] 
 +</​code>​ 
 + 
 +  * Documentation:​ 
 +    * ''​apt'':​  
 +      * EN: [[https://​www.debian.org/​doc/​manuals/​debian-faq/​pkgtools.en.html#​apt-get|apt @ Debian]]\\ [[https://​help.ubuntu.com/​community/​AptGet/​Howto|Package management with APT @ Ubuntu]] 
 +      * FR: [[https://​doc.ubuntu-fr.org/​apt-cli|apt @ ubuntu-fr]] 
 +    * ''​aptitude'':​ 
 +      * EN: [[https://​help.ubuntu.com/​community/​AptitudeSurvivalGuide|Aptitude Survival Guide @ Ubuntu]] 
 +      * FR: [[https://​doc.ubuntu-fr.org/​aptitude|aptitude @ ubuntu-fr]] 
 +    * ''​synaptic'':​ 
 +      * EN: [[https://​help.ubuntu.com/​community/​SynapticHowto|synaptic Howto @ Ubuntu]] 
 +      * FR: [[https://​doc.ubuntu-fr.org/​synaptic|synaptic @ ubuntu-fr]] 
 + 
 + 
 +=== Some useful ​commands === 
 + 
 +  * ''​apt update'':​ update the list of packages known by your system 
 +  * ''​apt upgrade'':​ upgrade all the packages on your system 
 +  * ''​apt search word'':​ find packages whose description contain ''​word''​ 
 +  * ''​apt install foo'':​ install the ''​foo''​ package and all its dependencies 
 +  * ''​apt show package'':​ print the detailed information of a package 
 +  * ''​apt remove foo'':​ remove the foo package from your system
  
   * ''​dpkg -l'':​ list installed packages   * ''​dpkg -l'':​ list installed packages
Line 588: Line 664:
  
 <​code>​$ dpkg -l | grep -i wsl <​code>​$ dpkg -l | grep -i wsl
-ii  ubuntu-wsl ​                     1.417.3                            ​amd64        Ubuntu on Windows tools - Windows Subsystem for Linux integration +ii  ubuntu-wsl ​                       1.450.2                           amd64        Ubuntu on Windows tools - Windows Subsystem for Linux integration 
-ii  wslu                            2.3.2-0ubuntu2~18.04.3             all          collection of utilities for the Windows 10 Linux Subsystem+ii  wslu                              2.3.6-0ubuntu2~20.04.0            ​all          collection of utilities for the Windows 10 Linux Subsystem
  
 $ dpkg -L wslu $ dpkg -L wslu
 /. /.
-/etc 
-/​etc/​profile.d 
 /usr /usr
 /usr/bin /usr/bin
Line 603: Line 677:
 /​usr/​bin/​wslvar /​usr/​bin/​wslvar
 /​usr/​bin/​wslview /​usr/​bin/​wslview
 +[...]
 +
 +$ apt show wslu
 +Package: wslu
 +Version: 2.3.6-0ubuntu2~20.04.0
 +[...]
 +Description:​ collection of utilities for the Windows 10 Linux Subsystem
 [...]</​code>​ [...]</​code>​
  
 +
 +=== Adding useful packages ===
 +
 +There is not that much installed by default in Ubuntu, and we use ''​apt insall''​ to get ready for some real work!
 +
 +<​code>​$ sudo apt install gcc libglu1-mesa mesa-utils x11-apps xterm xfce4-terminal emacs evince eog imagemagick nco cdo netcdf-bin ncview</​code>​
 +
 +Notes:
 +  * Some of the installed packages (''​nco cdo netcdf-bin ncview''​) are used for handling data files in //NetCDF format// may not be useful to people outside LSCE
 +  * Adding lots of extra packages requires **much more disk space**, and the size of the ''​.vhdx''​ will increase significantly!
 +    * <​code>​$ ls -lh /​mnt/​d/​WSL_Distributions/​Ubuntu_custom/​ext4.vhdx
 +4.7G Sep 16 18:02 /​mnt/​d/​WSL_Distributions/​Ubuntu_custom/​ext4.vhdx</​code>​
 +    * Size of the [[other:​win10wsl#​creating_a_backup|backup]] after adding the extra packages: we go from 549 Mb to 1.2 Gb!\\ 1.2G Sep 19 13:52 WSL_Ubuntu_20.04.5_LTS_stdu_22-09-19.tar.gz
 ==== Using an X server ==== ==== Using an X server ====
  
Line 634: Line 728:
   * FIXME **//X server// and WSL2** : check ''​export DISPLAY=$(cat /​etc/​resolv.conf | grep nameserver | awk '​{print $2}'​):​0.0''​ in [[https://​solvercube.com/​how-to-install-ubuntu-20-04-on-windows-using-wsl/​|How to install Ubuntu 20.04 on Windows using WSL]]   * FIXME **//X server// and WSL2** : check ''​export DISPLAY=$(cat /​etc/​resolv.conf | grep nameserver | awk '​{print $2}'​):​0.0''​ in [[https://​solvercube.com/​how-to-install-ubuntu-20-04-on-windows-using-wsl/​|How to install Ubuntu 20.04 on Windows using WSL]]
  
- 
-==== Adding useful packages ==== 
- 
-Reminder: you need to use the ''​root''​ account (with ''​sudo -s''​) in order to use the following commands 
- 
-<​code>​$ apt-get install gcc libglu1-mesa mesa-utils libsm6 x11-apps 
- 
-# Check the "​Terminals started from Linux" section 
-# if you need to install extra terminals 
- 
-# Install emacs 
-$ apt-get install emacs 
- 
-# Install pdf (evince) and image (eog) viewers 
-$ apt-get install evince eog 
- 
-# Install wslu to improve the Windows<​->​Linux communication 
-$ apt-get install wslu 
- 
-# The packages below are useful for dealing with climate data 
-# in netCDF files (and are also requirements of CLIMAF) 
-$ aptitude install imagemagick nco cdo netcdf-bin ncview exiv2</​code>​ 
  
  
Line 691: 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 1038: 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 1068: 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 1265: 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.1663166337.txt.gz · Last modified: 2022/09/14 14:38 by jypeter