Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете использовать любой дистрибутив Linux внутри подсистемы Windows для Linux (WSL), даже если он недоступен в Microsoft Store, импортируя его с помощью tar-файла.
В этой статье показано, как импортировать дистрибутив Linux CentOS для использования с WSL, получив его tar-файл с помощью контейнера Docker. Этот процесс можно применить к импорту любого дистрибутива Linux.
Получение tar-файла для распространения
Сначала необходимо получить tar-файл, содержащий все двоичные файлы Linux для дистрибутива.
Вы можете получить tar-файл различными способами, в том числе двумя из следующих способов:
- Скачайте предоставленный tar-файл. Вы можете найти пример для Alpine в разделе "Мини-корневая файловая система" на сайте загрузки Alpine Linux.
- Найдите контейнер дистрибутива Linux и экспортируйте экземпляр в виде tar-файла. В приведенном ниже примере показан этот процесс с помощью контейнера CentOS.
Получение tar-файла для примера CentOS
В этом примере мы будем использовать Docker внутри дистрибутива WSL для получения tar-файла для CentOS.
Предпосылки
- Необходимо включить WSL с установленным дистрибутивом Linux, работающим под управлением WSL 2.
- Необходимо установить Docker Desktop для Windows с включенной подсистемой WSL 2 и с проверенной интеграцией. См. лицензионное соглашение Docker Desktop для обновлений условий использования.
Экспорт файла tar из контейнера
Откройте командную строку (Bash) для дистрибутива Linux, который вы уже установили из Microsoft Store (Ubuntu в этом примере).
Убедитесь, что у вас запущен рабочий стол Docker (или если в дистрибутиве WSL установлен Docker, запустите службу с
sudo service docker start
)Запустите контейнер CentOS в Docker:
docker run -t --name wsl_export centos ls /
Экспортируйте идентификатор контейнера в tar-файл на подключенном c-диске:
docker export wsl_export > /mnt/c/temp/centos.tar
Очистка контейнера
docker rm wsl_export
Этот процесс экспортирует tar-файл CentOS из контейнера Docker, чтобы теперь можно было импортировать его для локального использования с WSL.
Импорт tar-файла в WSL
После готовности к tar-файлу его можно импортировать с помощью команды: wsl --import <Distro> <InstallLocation> <FileName>
Пример импорта CentOS
Чтобы импортировать tar-файл распространения CentOS в WSL, выполните следующие действия.
Откройте PowerShell и убедитесь, что у вас есть папка, в которой вы хотите сохранить дистрибутив.
cd C:\temp mkdir E:\wslDistroStorage\CentOS
Используйте команду
wsl --import <DistroName> <InstallLocation> <InstallTarFile>
для импорта tar-файла.wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
Используйте команду
wsl -l -v
, чтобы проверить, какие дистрибутивы установлены.Наконец, используйте команду
wsl -d CentOS
для запуска недавно импортированного дистрибутива CentOS Linux.
Добавьте специфические для WSL компоненты, такие как пользователь по умолчанию
По умолчанию при использовании --import вы всегда входите как пользователь root. Вы можете настроить собственную учетную запись пользователя, но обратите внимание, что процесс настройки будет немного отличаться в зависимости от каждого разного дистрибутива Linux.
Чтобы настроить учетную запись пользователя с дистрибутивом CentOS, который мы только что импортировали, сначала откройте PowerShell и загрузите в CentOS, используя команду:
wsl -d CentOS
Затем откройте командную строку CentOS. Используйте эту команду, чтобы установить средства настройки sudo и пароля в CentOS, создать учетную запись пользователя и задать ее в качестве пользователя по умолчанию. В этом примере имя пользователя будет "caloewen".
Замечание
Необходимо добавить имя пользователя в файл sudoers, чтобы пользователь мог использовать sudo. Команда adduser -G wheel $myUsername
добавляет пользователя myUsername
в группу wheel. Пользователи в группе wheel автоматически получают права sudo и могут выполнять задачи, требующие повышенных разрешений.
yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername
Теперь необходимо выйти из этого экземпляра и убедиться, что все экземпляры WSL завершены. Запустите дистрибутив еще раз, чтобы увидеть нового пользователя по умолчанию, выполнив следующую команду в PowerShell:
wsl --terminate CentOS
wsl -d CentOS
Теперь вы увидите [caloewen@loewen-dev]$
как результаты исходя из этого примера.
Дополнительные сведения о настройке параметров WSL см. в разделе "Настройка параметров с помощью Wslconfig и wsl.conf".
Использование настраиваемого дистрибутива Linux
Вы можете создать собственный настраиваемый дистрибутив Linux, упакованный как приложение UWP, которое будет вести себя точно так же, как дистрибутивы WSL, доступные в Microsoft Store. Дополнительные сведения см. в статье "Создание настраиваемого дистрибутива Linux для WSL".
Windows Subsystem for Linux