Аргументы для управления дистрибутивами в подсистеме Windows для Linux:
--export <Distro> <FileName> [параметры]
Экспорт дистрибутива в TAR-файл.
Имя файла может быть "-" для stdout.
Параметры:
--format <Format>
Указывает формат экспорта. Поддерживаемые значения: tar, tar.gz, tar.xz, vhd.
--import <Distro> <InstallLocation> <FileName> [параметры]
Импортирует указанный TAR-файл в качестве нового дистрибутива.
Имя файла может быть "-" для stdin.
Параметры:
--version <версия>
Указывает версию, используемую для нового дистрибутива.
--vhd
Указывает, что предоставленный файл является VHDX-файлом, а не TAR-файлом.
Эта операция создает копию VHDX-файла в указанном расположении установки.
--import-in-place <Distro> <FileName>
Импортирует указанный VHDX-файл в качестве нового дистрибутива.
Этот виртуальный жесткий диск должен быть отформатирован с типом файловой системы ext4.
--list, -l [параметры]
Перечисление дистрибутивов.
Параметры:
--all
Перечислить все дистрибутивы, включая дистрибутивы,
которые устанавливаются или удаляются в настоящий момент.
--running
Перечислить только дистрибутивы, которые сейчас запущены.
--quiet, -q
Показывать только имена дистрибутивов.
--verbose, -v
Вывод подробных сведений обо всех дистрибутивах.
--online, -o
Вывод списка дистрибутивов, доступных для установки с помощью команды 'wsl.exe --install'.
--set-default, -s <Distro>
Задает дистрибутив по умолчанию.
--set-version <Distro> <Version>
Изменяет версию указанного дистрибутива.
--terminate, -t <Distro>
Прерывает работу указанного дистрибутива.
--unregister <Distro>
Отменяет регистрацию дистрибутива и удаляет корневую файловую систему.
Рубрика: Программирование
Использование подсистемы Windows для Linux (wsl) (часть 2)
Аргументы для управления подсистемой Windows для Linux:
--help
Вывод сведений об использовании.
--debug-shell
Открыть оболочку отладки WSL2 для целей диагностики.
--install [дистрибутив] [параметры...]
Установить дистрибутив подсистемы Windows для Linux.
Для получения списка допустимых дистрибутивов используйте 'wsl.exe --list --online'.
Параметры:
--enable-wsl1
Включить поддержку WSL1.
--fixed-vhd
Создать диск фиксированного размера для хранения дистрибутива.
--from-file <Path>
Установить дистрибутив из локального файла.
--legacy
Использовать устаревший манифест дистрибутива.
--location <Location>
Задать путь установки для дистрибутива.
--name <Name>
Задать имя дистрибутива.
--no-distribution
Устанавливать только необходимые дополнительные компоненты, но не дистрибутив.
--no-launch, -n
Не запускать дистрибутив после установки.
--version <Version>
Указывает версию, используемую для нового дистрибутива.
--vhd-size <MemoryString>
Указывает размер диска для хранения распределения.
--web-download
Скачать дистрибутив из Интернета вместо Microsoft Store.
--manage [дистрибутив] [параметры...]
Изменяет определенные параметры дистрибутива.
Параметры:
--move <Location>
Переместить дистрибутив в новое местоположение.
--set-sparse, -s <true|false>
Задать для VHDX дистрибутива значение "разреженный", чтобы обеспечить автоматическое освобождение дискового пространства.
--set-default-user <Username>
Задать пользователя по умолчанию для дистрибутива.
--resize <MemoryString>
Изменить размер диска дистрибутива до указанного размера.
--mount <Disk>
Присоединяет и подключает физический или виртуальный диск во всех дистрибутивах WSL 2.
Параметры:
--vhd
Указывает, что <Disk> относится к виртуальному жесткому диску.
--bare
Присоединить диск к WSL2, но не подключать его.
--name <Name>
Подключить диск, используя собственное имя для точки подключения.
--type <Type>
Файловая система, используемая при подключении диска. Если не указано, по умолчанию используется ext4.
--options <Options>
Дополнительные параметры подключения.
--partition <Index>
Индекс подключаемого раздела. Если не указано, по умолчанию используется весь диск.
--set-default-version <Version>
Изменяет версию установки по умолчанию для новых дистрибутивов.
--shutdown
Немедленно завершает все выполняющиеся дистрибутивы и
упрощенную виртуальную машину служебной программы WSL 2.
Параметры:
--force
Прервать работу виртуальной машины WSL 2, даже если операция выполняется. Может привести к потере данных.
--status
Показывает состояние подсистемы Windows для Linux.
--unmount [диск]
Отключает и отсоединяет диск от всех дистрибутивов WSL2.
При вызове без аргумента отключает и отсоединяет все диски.
--uninstall
Удаляет с этого компьютера пакет подсистемы Windows для Linux.
--update
Обновление пакета подсистемы Windows для Linux.
Параметры:
--pre-release
Скачивание предварительной версии, если она доступна.
--version, -v
Вывод сведений о версии.
Использование подсистемы Windows для Linux (wsl) (часть 1)
Использование: wsl.exe [аргумент] [параметры…] [командная_строка]
Аргументы для запуска двоичных файлов Linux:
Если командная строка не указана, wsl.exe запускает оболочку по умолчанию.
--exec, -e <CommandLine>
Выполнить указанную команду без использования оболочки Linux по умолчанию.
--shell-type <standard|login|none>
Выполнить указанную команду с указанным типом оболочки.
--
Передать оставшуюся командную строку без изменений.
Параметры:
--cd
Задает указанный каталог в качестве текущего рабочего каталога.
Если указан символ "~", будет использоваться домашний путь пользователя Linux. Если путь начинается
с символа "/", он будет интерпретироваться как абсолютный путь Linux.
В противном случае значение должно быть абсолютным путем Windows.
--distribution, -d <DistroName>
Запуск указанного дистрибутива.
--distribution-id <DistroGuid>
Запуск дистрибутива с указанным ИД.
--user, -u <UserName>
Запуск от имени указанного пользователя.
--system
Запускает оболочку для дистрибутива системы.
Теорема CAP простыми словами
Представь себе распределённую систему, например, базу данных, которая работает на нескольких серверах в разных местах.
Когда один из серверов выходит из строя или между ними нарушается связь (например, из-за проблем в сети), то система оказывается в трудной ситуации.
Теорема CAP говорит:
Когда что-то ломается, ты можешь выбрать только два из трёх:
- Согласованность (Consistency) —
Все видят одни и те же данные. Если ты записал что-то, все другие сразу это увидят. - Доступность (Availability) —
Система всегда отвечает на запросы, даже если есть проблемы. - Устойчивость к разделению (Partition tolerance) —
Система продолжает работать, даже если связь между серверами прервалась.
Простой пример:
Представь, что у тебя есть банкоматы в разных городах, и они подключены к общей системе. Вдруг интернет между ними пропал (это разделение сети).
Теперь:
- Если ты выберешь доступность и устойчивость к разделению (AP) — банкоматы будут работать, но может быть, что один покажет, что у тебя есть деньги, хотя другой уже показал снятие. Данные могут временно отличаться (нет согласованности).
- Если ты выберешь согласованность и устойчивость к разделению (CP) — банкоматы будут показывать только правильные данные, но, возможно, ты не сможешь снять деньги, пока сеть не восстановится (нет доступности).
Вывод:
Нельзя получить всё сразу. При сбоях ты должен пожертвовать либо точностью, либо доступом.
Теорема CAP
Теорема CAP (также известная как CAP-теорема Брюэра) — это фундаментальное утверждение в распределённых системах, которое гласит:
В любой распределённой системе невозможно одновременно обеспечить все три из следующих свойств:
- Consistency (Согласованность)
Все узлы видят одинаковые данные в одно и то же время.- Availability (Доступность)
Каждый запрос получает корректный отклик (не обязательно самый свежий), даже если некоторые узлы системы недоступны.- Partition tolerance (Устойчивость к разделению)
Система продолжает работать, несмотря на разделение сети (network partition), когда сообщения между частями кластера теряются или задерживаются.
Визуальное представление:
CAP часто изображают в виде треугольника, где каждая вершина — одно из свойств. Система может гарантировать не более двух из трёх.
Возможные комбинации:
- CP (Consistency + Partition tolerance)
Система сохраняет согласованность и устойчивость к разделению, но может быть недоступна в момент сбоя.
Пример: HBase, MongoDB (в некоторых конфигурациях) - CA (Consistency + Availability)
Возможна только в системах без разделения сети — то есть в централизованных системах. В распределённых системах эта комбинация неустойчива к разделению. - AP (Availability + Partition tolerance)
Система всегда отвечает, даже при разделении, но может вернуть устаревшие данные (нет строгой согласованности).
Пример: Cassandra, Couchbase, DynamoDB
Важное уточнение:
Теорема CAP утверждает, что при наличии сетевой ошибки (разделения) система должна выбрать между согласованностью и доступностью.