This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:win10wsl [2022/08/31 09:12] jypeter WSL 1 vs 2, and note about which terminals to use |
other:win10wsl [2022/08/31 12:50] jypeter [Creating a backup] Improved |
||
---|---|---|---|
Line 551: | Line 551: | ||
en_US.UTF8 | en_US.UTF8 | ||
</code> | </code> | ||
+ | |||
+ | |||
==== Package management ==== | ==== Package management ==== | ||
Line 559: | Line 561: | ||
* Install the **synaptic** package manager: ''aptitude install synaptic'' | * Install the **synaptic** package manager: ''aptitude install synaptic'' | ||
* [[https://doc.ubuntu-fr.org/synaptic|details]] (fr) | * [[https://doc.ubuntu-fr.org/synaptic|details]] (fr) | ||
+ | |||
=== Useful commands === | === Useful commands === | ||
Line 565: | Line 568: | ||
* ''dpkg -L package_name'': list files installed from ''package_name'' | * ''dpkg -L package_name'': list files installed from ''package_name'' | ||
* ''dpkg -S path/command'': name of the package used to install ''path/command'' | * ''dpkg -S path/command'': name of the package used to install ''path/command'' | ||
+ | |||
=== Example === | === Example === | ||
Line 734: | Line 738: | ||
* [[https://linoxide.com/how-to-clear-apt-cache/|How to Clear Apt Cache]] | * [[https://linoxide.com/how-to-clear-apt-cache/|How to Clear Apt Cache]] | ||
+ | |||
+ | |||
===== Advanced configuration ===== | ===== Advanced configuration ===== | ||
Line 958: | Line 964: | ||
* [[https://github.com/Microsoft/WSL/issues/2636|Automount additonal filesystems from fstab]] | * [[https://github.com/Microsoft/WSL/issues/2636|Automount additonal filesystems from fstab]] | ||
* [[https://gist.github.com/sgtoj/f82990bcd9e89db49b84e2d2e70b281d|Ubuntu for Windows: Mounting C: Drive to WSL's Root]] | * [[https://gist.github.com/sgtoj/f82990bcd9e89db49b84e2d2e70b281d|Ubuntu for Windows: Mounting C: Drive to WSL's Root]] | ||
+ | |||
==== Rebooting WSL ==== | ==== Rebooting WSL ==== | ||
Line 976: | Line 983: | ||
- | ==== Creating a backup of the Linux running in WSL ==== | + | ==== Restoring a WSL backup ==== |
- | There are several types of WSL related directories that you may want to back up: | + | FIXME Read [[https://www.howtogeek.com/426562/how-to-export-and-import-your-linux-systems-on-windows-10/|How to Export and Import Your Linux Systems on Windows 10]] and [[https://winaero.com/blog/export-import-wsl-linux-distro-windows-10/|Export and Import WSL Linux Distro in Windows 10]] and similar threads |
- | * <wrap hi>Your Linux //home// directory</wrap> (''/home/<your_login>''), or some specific sub-directories of the //Ubuntu// running in WSL (sub-directories of ''/''): all these files are located in a [[other:win10wsl#location_of_the_files|hidden sub-directory of you Windows directory]], and 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>'') | + | FIXME Check if [[https://wslhub.com/|WSL Manager]] is maintained and can be useful |
- | * <code bash>$ cd /home | + | |
- | $ du -sh $USER | + | This assumes that you have followed the steps above to create a full backup of your Linux distribution in a ''ubuntu_<your_login>_<some_date>.tar'' file. This file can theoretically be restored with: |
- | 232K <your_login> | + | * ''wsl %%--%%import <DistributionName> <InstallLocation> ubuntu_<your_login>_<some_date>.tar'' |
+ | * Note: found a page mentioning that you should be in a terminal with admin rights when using ''%%--%%import'' | ||
+ | * Can we use the same ''<DistributionName>'' (e.g. ''Ubuntu'') as the one we are trying to restore without first removing it with ''unregister'' ([[https://docs.microsoft.com/en-us/windows/wsl/wsl-config#unregister-and-reinstall-a-distribution|Unregister and reinstall a distribution]])? | ||
+ | * If we use a new distribution name, it will probably not appear anymore in the Microsoft Store and will not be updated. Is this a problem? | ||
+ | * It seems we can use ''<InstallLocation>'' to install anywhere! What should we do if we want to restore to the default location (in the hidden directory)? | ||
+ | * Can we install out of the current user's Windows folder? | ||
+ | * Can we install out of ''C:\''? | ||
+ | * Can we restore (//clone//) a backed up Linux distribution on another Windows 10 computer for another user? | ||
+ | * if the default user (and its password) has to be changed, you probably have to follow the steps to [[https://docs.microsoft.com/en-us/windows/wsl/user-support#for-fall-creators-update-and-later|reset the Linux password]] and find a way to create a new account when the ''root'' password is activated | ||
- | # We assume below that there is an existing /mnt/c/Scratch/<your_login>/ directory | ||
- | # It's a WINDOWS directory C:\Scratch\<your_login> | ||
- | $ tar cfz /mnt/c/Scratch/$USER/${USER}_home_`date +%y%m%d_%H%M`.tgz $USER | ||
- | # Check the size of the new (and existing old) backup(s) | + | ===== Advanced usage ===== |
- | $ ls -ltr /mnt/c/Scratch/$USER/${USER}_*.tgz | + | |
- | 81K Jan 21 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200121.tgz | + | |
- | 93K Aug 22 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200822_1151.tgz | + | ==== Creating a backup ==== |
- | 95K Feb 24 12:09 /mnt/c/Scratch/<your_login>/<your_login>_home_210224_1209.tgz</code> | + | |
- | * <wrap hi>Regular Windows folders</wrap> 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]]) | + | === Backup of a FULL Linux installation === |
- | * <wrap hi>The **full** Linux/Ubuntu installation</wrap> running in WSL (based on [[https://docs.microsoft.com/en-us/windows/wsl/faq#how-can-i-back-up-my-wsl-distros-or-move-them-from-one-drive-to-another|How can I back up my WSL distros?]]). The following steps will save the full installation in a tar file, that can be used later for restoring the full installation (//restoration// not tested yet) | + | You can use ''wsl'' to [[https://docs.microsoft.com/en-us/windows/wsl/faq#how-can-i-back-up-my-wsl-distributions--or-move-them-from-one-drive-to-another-|save a full Linux installation]] to a //tar// file, that can be: |
- | * Open a **Windows terminal** (preferably a //PowerShell// if you need easy copy/paste)\\ The //Windows// terminal is where you will type the ''wsl'' commands shown below | + | * used later for //restoring// the full installation |
- | * Determine the name of the current Linux installation used in WSL (and see if it is running, and using //WSL 1// or //WSL 2//) | + | * used for //relocating// the full installation from ''C:\'' to another disk |
- | * <code>> wsl --list --all | + | |
- | Distributions du sous-système Windows pour Linux : | + | |
- | Ubuntu (par défaut) | + | |
- | > wsl --list --verbose | + | Detailed steps: |
+ | * Determine the name of the current Linux installation(s) used in WSL | ||
+ | * <code>> wsl --list --verbose | ||
NAME STATE VERSION | NAME STATE VERSION | ||
* Ubuntu Running 2</code> | * Ubuntu Running 2</code> | ||
- | * [[other:win10wsl#rebooting_wsl|Stop WSL+Linux]] | + | * [[other:win10wsl#rebooting_wsl|Stop WSL+Linux]] |
- | * <code>> wsl --list --verbose | + | * <code>> wsl --shutdown |
- | NAME STATE VERSION | + | |
- | * Ubuntu Running 2 | + | |
- | + | ||
- | > wsl --shutdown | + | |
> wsl -l -v | > wsl -l -v | ||
NAME STATE VERSION | NAME STATE VERSION | ||
- | * Ubuntu Stopped 21</code> | + | * Ubuntu Stopped 2</code> |
- | * Export the current Linux to a //tar// file: | + | * Export the specified Linux installation to a //tar// file: |
- | * FIXME ''wsl --export Ubuntu C:\Scratch\jypeter\WSL\WSL_Ubuntu_20.04.4_LTS_stdu_22-08-29.tar'' | + | * 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 |
- | * 1.4 Gb | + | * You should use a detailed enough file name for the tar file\\ e.g. WSL_<Linux_Distribution>_<Distribution_Version>_<User>_<Date>.tar |
- | * <code> > wsl --export Ubuntu C:\Scratch\<your_login>\<your_login>_ubuntu-<ubuntu_version>-full_<some_date>.tar</code> | + | * Example: ''%%wsl --export Ubuntu C:\Scratch\<your_login>\WSL\WSL_Ubuntu_20.04.5_LTS_stdu_22-08-29.tar%%'' |
- | * You can optionally open a new terminal (this will start again WSL+Ubuntu) to get some information about the created file (size and number of saved files/directories), and compress it in order to save some disk space | + | |
- | * <code>$ cd /mnt/c/Scratch/<your_login> | + | |
- | $ ls -ltrh *ubuntu*tar* | + | * If you are not going to use the backup tar file right away, you can optionally compress it in order to save some space |
- | 976M Jan 21 2020 <your_login>_200121.tar.gz | + | * <code>Add compression example here</code> |
- | 2.8G Aug 22 2020 <your_login>-16.04-full_200822.tar | + | |
- | 3.4G Feb 24 14:06 <your_login>-20-04-1-full_210224.tar | + | |
- | # Determine the number of files/directories in the backup | + | === Backup of specific directories === |
- | $ tar tvf <your_login>-20-04-1-full_210224.tar | wc -l | + | |
- | 112711 | + | |
- | $ gzip *ubuntu*.tar | + | You can also just create backups of specific directories: |
- | $ ls -ltrh *ubuntu*tar* | + | * 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>'') |
- | 976M Jan 21 2020 <your_login>_200121.tar.gz | + | * <code bash>$ cd /home |
- | 1.2G Aug 22 2020 <your_login>-16.04-full_200822.tar.gz | + | |
- | 1.8G Feb 24 14:06 <your_login>-20-04-1-full_210224.tar.gz | + | |
- | </code> | + | |
- | ==== Restoring a WSL backup ==== | + | $ du -sh $USER |
+ | 232K <your_login> | ||
- | FIXME Read [[https://www.howtogeek.com/426562/how-to-export-and-import-your-linux-systems-on-windows-10/|How to Export and Import Your Linux Systems on Windows 10]] and [[https://winaero.com/blog/export-import-wsl-linux-distro-windows-10/|Export and Import WSL Linux Distro in Windows 10]] and similar threads | + | # We assume below that there is an existing /mnt/c/Scratch/<your_login>/ directory |
+ | # It's a WINDOWS directory C:\Scratch\<your_login> | ||
+ | $ tar cfz /mnt/c/Scratch/$USER/${USER}_home_`date +%y%m%d_%H%M`.tgz $USER | ||
- | FIXME Check if [[https://wslhub.com/|WSL Manager]] is maintained and can be useful | + | # Check the size of the new (and existing old) backup(s) |
- | + | $ ls -ltr /mnt/c/Scratch/$USER/${USER}_*.tgz | |
- | This assumes that you have followed the steps above to create a full backup of your Linux distribution in a ''ubuntu_<your_login>_<some_date>.tar'' file. This file can theoretically be restored with: | + | 81K Jan 21 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200121.tgz |
- | * ''wsl %%--%%import <DistributionName> <InstallLocation> ubuntu_<your_login>_<some_date>.tar'' | + | 93K Aug 22 2020 /mnt/c/Scratch/<your_login>/<your_login>_home_200822_1151.tgz |
- | * Note: found a page mentioning that you should be in a terminal with admin rights when using ''%%--%%import'' | + | 95K Feb 24 12:09 /mnt/c/Scratch/<your_login>/<your_login>_home_210224_1209.tgz</code> |
- | * Can we use the same ''<DistributionName>'' (e.g. ''Ubuntu'') as the one we are trying to restore without first removing it with ''unregister'' ([[https://docs.microsoft.com/en-us/windows/wsl/wsl-config#unregister-and-reinstall-a-distribution|Unregister and reinstall a distribution]])? | + | |
- | * If we use a new distribution name, it will probably not appear anymore in the Microsoft Store and will not be updated. Is this a problem? | + | |
- | * It seems we can use ''<InstallLocation>'' to install anywhere! What should we do if we want to restore to the default location (in the hidden directory)? | + | |
- | * Can we install out of the current user's Windows folder? | + | |
- | * Can we install out of ''C:\''? | + | |
- | * Can we restore (//clone//) a backed up Linux distribution on another Windows 10 computer for another user? | + | |
- | * if the default user (and its password) has to be changed, you probably have to follow the steps to [[https://docs.microsoft.com/en-us/windows/wsl/user-support#for-fall-creators-update-and-later|reset the Linux password]] and find a way to create a new account when the ''root'' password is activated | + | |
- | + | ||
- | + | ||
- | ===== Advanced usage ===== | + | |
- | ==== Creating a backup of a Linux installation ==== | + | * 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]]) |
+ | * WARNING: there should not be performance issues using ''tar'' (from Linux) to make a backup of Windows files with WSL 1, but **WSL 2 is significantly slower than WSL 1 to access Windows files** ([[https://docs.microsoft.com/en-us/windows/wsl/compare-versions#exceptions-for-using-wsl-1-rather-than-wsl-2|Exceptions for using WSL 1 rather than WSL 2]]) | ||