Both sides previous revisionPrevious revisionNext revision | Previous revision |
other:win10wsl [2022/10/27 17:52] – [Upgrading ubuntu] jypeter | other:win10wsl [2023/12/06 14:24] (current) – [Other WSL resources and links] Added phoronix benchmarks link jypeter |
---|
| |
[[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%> |
| |
==== 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// |
* 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 === |
* 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 === |
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]]) |
| |
* [[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]] |