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/09/19 12:21] jypeter [Package management] Improved |
other:win10wsl [2022/10/28 14:19] jypeter [Creating a backup] Improved |
||
---|---|---|---|
Line 144: | Line 144: | ||
<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 167: | ||
* <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 425: | Line 432: | ||
=== 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 == | + | * ''xterm'' package |
- | + | * ''xfce4-terminal'' package | |
- | * Install with: ''apt-get install xterm'' | + | |
- | * Start from another terminal with: ''xterm &'' | + | |
- | + | ||
- | == xfce-terminal == | + | |
- | + | ||
- | * Install with: ''apt-get install xfce4-terminal'' | + | |
- | * Start from another terminal with: ''xfce4-terminal &'' | + | |
==== Where are the files? ==== | ==== Where are the files? ==== | ||
Line 716: | Line 716: | ||
* 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 773: | Line 751: | ||
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 1120: | Line 1098: | ||
* 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 1150: | Line 1130: | ||
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]]) |