Compacte en toute sécurité la taille des images WSL VHDX en constante augmentation.
(Aimez-vous cet utilitaire? Donnez-le et partagez-le)
Le sous-système Windows pour Linux (WSL) utilise des fichiers image VHDX pour stocker le système de fichiers EXT4, mais il manque un moyen efficace de réduire l'image lorsque les fichiers sont supprimés. Cet utilitaire ne nécessite pas de références élevées, de compactage des disques virtuels VHDX des distros WSL2 et d'obtenir la taille minimale possible. Par défaut, il se produira en mode Info, aucune action sur les images, fournissant les informations suivantes pour toutes les distributions installées:
Si aucune distribution n'est spécifiée, il ciblera toutes les images installées séquentiellement. Il fonctionne en mode sûr pendant le processus compact, empêchant tout effet secondaire indésirable en cas de défaillance. Il s'agit d'un cas d'utilisation typique: compactage d'image Ubuntu avec confirmation:
PS> wslcompact -c Ubuntu
WSL compact, v5.0 2023.02.02 (Groundhog edition)
(C) 2023 Oscar Lopez
wslcompact -h for help. For more information visit: https://github.com/okibcn/wslcompact
Distro's name: Ubuntu
Image file: C:UsersOkiWSLUbuntuext4.vhdx
Current size: 12864 MB
Estimated size: 7700 ± 188 MB
The estimated process time using an SSD is about 2 minutes.
NOTE: You can safely cancel at any time by pressing Ctrl-C
Import in progress, this may take a few minutes.
The operation completed successfully.
New Image compacted from 12864 MB to 7728 MB
Do you want to apply changes and use the new image (y/N): y
Image replaced for distro: Ubuntu
Avant d'installer WSLCompact, assurez-vous que votre installation WSL est à jour. Vous pouvez le faire en tapant wsl --update dans PowerShell. WSLCOMPACT nécessite au moins WSL version 1.0.0.
Il existe deux façons d'installer WSLCompact, choisissez votre préféré:
Il nécessite un paramètre spécial pour exécuter un script distant. Si vous l'avez réglé dans le passé, vous n'en avez plus besoin. Si vous n'êtes pas sûr, dans PowerShell, Type:
Set-ExecutionPolicy RemoteSigned - Scope CurrentUserPour installer ou mettre à jour l'utilitaire, fermez toutes vos instances PowerShell, ouvrez une nouvelle et type:
iwr - useb https: // raw.githubusercontent.com / okibcn / wslcompact / main / setup | iexPour supprimer l'utilitaire, fermez toutes vos instances PowerShell, ouvrez une nouvelle et type:
Remove-Item " $ ( $ env: PSModulePath .split ( ' ; ' )[ 0 ] ) /WslCompact " - Recurse - ForceSi vous utilisez Scoop Package Manager , vous pouvez ajouter l'utilitaire WSLCOMPACT directement à partir de son seau. Tapez PowerShell ces deux lignes:
scoop bucket add .oki https: // github.com / okibcn / Bucket
scoop install wslcompactPour mettre à jour l'application Just Type:
scoop update wslcompactPour supprimer l'application Type:
scoop uninstall wslcompactAprès l'installation, l'utilisation est simple:
wslcompact sans arguments répertorie toutes les images et informations WSL. Aucune action sur les images ne sera effectuée.wslcompact Ubuntu .-c compact, WSLCOMPACT modifiera les images après confirmation.-d permet le compact des partitions de données. L'utilitaire garantit une taille minimale et vous vous retrouvez avec des fichiers contigus pour un accès plus rapide dans les anciens systèmes basés sur HD. Si vous avez besoin de la liste des noms de vos distros, il est accessible en tapant wsl -l .
Usage: wslcompact [OPTIONS] [DISTROS]
wslcompact compacts the images of WSL distros by removing unsused space.
If no option is provided, it will default to info mode, without modifying any image.
If no distro is provided it will process all the installed images.
NOTE: WSL will be shutdown for compacting the images.
Options:
no opt. Provides name, image file path, current size, and estimated new size information.
-c Compacting mode: process the selected distros compacting the images.
-y replaces selected images without asking for confirmation.
-d Enable the processing of data images. Default is disabled.
-h Prints this help
Examples:
wslcompact
wslcompact -c -d
wslcompact -c -y Ubuntu Kali
Si votre lecteur C: n'a pas assez d'espace libre temporel, le programme ne compacte pas cette distribution. Changez simplement le dossier temporaire avant d'appeler la fonction. Donc, au lieu d'un simple wslcompact , faites-le: faites:
$ env: TEMP = " Z:your tempfolder "
wslcompactLe nouveau dossier temporaire ne sera actif que pour cette session de terminal PowerShell, donc pas de problème du tout pour le reste du système et il ne laissera pas les ordures.
Une opération typique serait:
PS> wslcompact
WSL compact, v5.0 2023.02.02 (Groundhog edition)
(C) 2023 Oscar Lopez
wslcompact -h for help. For more information visit: https://github.com/okibcn/wslcompact
Distro's name: Ubuntu
Image file: C:UsersOkiWSLUbuntuext4.vhdx
Current size: 12864 MB
Estimated size: 7700 ± 188 MB
The estimated process time using an SSD is about 2 minutes.
Distro's name: Kali
Image file: C:UsersOkiWSLKaliext4.vhdx
Current size: 1579 MB
Estimated size: 723 ± 18 MB
The estimated process time using an SSD is about 1 minutes.
Distro's name: Arch
Image file: C:UsersOkiWSLArchext4.vhdx
Current size: 1075 MB
Estimated size: 860 ± 21 MB
The estimated process time using an SSD is about 1 minutes.
Compactant l'image Ubuntu avec confirmation:
PS> wslcompact -c Ubuntu
WSL compact, v5.0 2023.02.02 (Groundhog edition)
(C) 2023 Oscar Lopez
wslcompact -h for help. For more information visit: https://github.com/okibcn/wslcompact
Distro's name: Ubuntu
Image file: C:UsersOkiWSLUbuntuext4.vhdx
Current size: 12864 MB
Estimated size: 7700 ± 188 MB
The estimated process time using an SSD is about 2 minutes.
NOTE: You can safely cancel at any time by pressing Ctrl-C
Import in progress, this may take a few minutes.
The operation completed successfully.
New Image compacted from 12864 MB to 7728 MB
Do you want to apply changes and use the new image (y/N): y
Image replaced for distro: Ubuntu