Windows wsl или linux

wsl это не конечное решение а просто инструмент, когда вам нужно здесь и сейчас но от windows отказаться почему то не получается, основывать что либо на этом решении я бы не рекомендовывал

Я встречал странные глюки при использовании wsl, файл физически присутствующий на диске не мог быть удален или прочитан (file not found), не мог быть пересоздан (file exists) и т.п., причем это похоже проблема со стороны windows, и лечится рестартом хоста.

Само существование wsl — полезная вещь, но я не верю что майкрософт будет поддерживать полную совместимость, ей это не выгодно… т.е. сначала конечно все будет работать, но когда этим начнут активно пользоваться, как это уже встречалось с майкрософт, что-нибудь поменяется и работать без переделки будет только у них.

p.s. главные возможности linux не только в командной строке и пакетном менеджере (и вылизанном порядке в нем) но и в фичах работы с железом (файловые системы, системы кеширования, работа с памятью,..) чего само собой в условиях wsl нет.

К примеру в определенный момент мне не хотелось перезапускать процесс, запущенный на слабой linux машине, но там заканчивалась оперативная память, считанные гигабайты нехватало, к сожалению hdd диск использовался очень интенсивно (линейное чтение запись) и добавлять к нему нагрузку свопа стало бы фатальным (замедлило бы работ в десятки раз), за пару кликов я запустил nbd сервер на windows, расшарив обычный файл и подключив его на linux поднял своп на нем. Вдумайтесь в абсурдность конфигурации — и Linux это позволяет, когда как с windows это было бы невозможно либо ‘дороже’ (я знаю про iscsi).

Вы можете представить что поднимаете своп на основе GPU RAM или используете ее как диск? Вы знаете что можете использовать GPU подсистему удаленно, по сети, причем это штатный инструмент (xserver сетевой сервер) без необходимости покупки дорогого серверного оборудования и софта (с большой буквы, ограничение у windows исключительно программное). 10 человек за одной машиной, физически не удаленный терминал (10 мониторов, 10 клавиатур и мышек) без покупки софта, как было бы для windows (спасибо ibik такой софт есть). Вы наверное не пробовали настроить кластер в linux, представьте что вы работаете в окружении представляющем для вас одну машину, но по факту являющейся распределенным кластером (кстати этот инструмент не так эффективен как ручное управление но факт есть факт)

What is better, if not don’t need some specific softwares (like MS Office or Power BI) that often?

Like, how customizable is Windows’ desktop environment? What about Git Bash? (I don’t even know yet about zsh on Windows. Also, is PowerShell productive? And how lock-in?)

What about WINE vs real Windows?

Also, what about Chocolatey vs Ubuntu apt in WSL2?

Actually, I am on an old MacBook hardware, but I am trying to avoid macOS like a plaque. (Because of update requirements not as backward-compat and light-on-hardware as Linux.)

EllieB

Diving into the world of Linux, you’ve likely come across both WSL and Ubuntu. They’re popular choices for developers and tech enthusiasts, but they serve different purposes and operate in unique ways. Understanding the difference between WSL and Ubuntu is crucial if you’re looking to optimize your workflow and choose the right tool for your needs.

In this article, we’ll unravel the mystery behind WSL and Ubuntu, highlighting the key distinctions that set them apart. Whether you’re a seasoned pro or just starting out, you’ll find valuable insights that’ll help you make an informed decision. So, let’s get started and explore the intricacies of these two powerful platforms.

What is WSL?

WSL stands for Windows Subsystem for Linux. It’s a compatibility layer that allows you to run a Linux environment directly on Windows, without the need for a traditional virtual machine or dual-boot setup. Microsoft developed WSL to support developers who need to run Linux-based applications and development tools on their Windows machines.

Think of WSL as a bridge that connects two operating systems. You can run Bash shell commands, Linux applications, and even Linux-first tools like sed, awk, or grep, seamlessly from within Windows. It’s not a full OS on its own; instead, WSL translates Linux system calls to Windows system calls, letting software written for Linux run on Windows.

Ease of use is one of the core benefits of WSL. You don’t have to deal with the overhead of managing a separate virtual machine. This means faster startup times and less memory usage. Whether you’re using WSL 1, which relies more on emulation, or WSL 2, with its increased integration and performance due to a real Linux kernel, you’ll find that getting your Linux fix is simpler than ever before.

For those in development, testing, or wanting to learn more about Linux commands without leaving Windows, WSL is an indispensable tool. It supports numerous Linux distributions, such as Ubuntu, Debian, and openSUSE, which can be downloaded directly from the Microsoft Store. You get to pick the distro that matches your workflow or the specific environment you wish to emulate.

As you continue to explore the properties that define WSL, you’ll better understand how it complements Windows and why it’s a game-changer for developers who require diverse toolsets. Remember, while WSL brings a lot to the table, it’s not a replacement for native Linux systems in every context. Various scenarios will determine whether WSL or a full-fledged Linux installation, such as Ubuntu, is the more appropriate choice for your tasks.

What Is Ubuntu?

Ubuntu is one of the most popular Linux distributions worldwide, known for its user-friendly interface and robust performance. Developed by Canonical Ltd., it’s free and open-source, with a strong community support network. If you’re looking into Linux systems, it’s likely that Ubuntu has popped up on your radar.

Unlike WSL, which is a compatibility layer, Ubuntu is a full-fledged operating system based on the Debian architecture. It comes loaded with a suite of software that ranges from office applications to games and programming tools. When you install Ubuntu, you’re getting a comprehensive Linux experience, complete with access to repositories containing thousands of additional software packages.

This distribution is widely acclaimed for its reliability and security, making it a favorite among both beginners and seasoned Linux users. With its regular release cycle, Ubuntu consistently delivers timely updates and patches ensuring your system remains protected against the latest threats.

Ubuntu can be customized to a high degree. You have the option to choose from multiple desktop environments like GNOME, KDE, and Xfce, tailoring your experience to your preferences. Whether you’re developing software, managing servers, or just browsing the web, Ubuntu provides a stable and polished platform.

Within the world of Ubuntu, you’ll find variants known as “flavors” that cater to different needs. For example, if you’re running on older hardware, you might opt for Xubuntu or Lubuntu which are designed to be lightweight and resource-efficient. While Ubuntu itself is well-suited for general use, these flavors enhance its versatility by providing tailored user experiences for specific use cases.

As you delve deeper, you’ll realize the stark contrast between Ubuntu and WSL lies not just in their functionality but also in their intended audience and application. With Ubuntu, you’re getting a full operating system capable of handling a variety of tasks from simple everyday computing to complex server management.

Purpose and Functionality of WSL

When diving into the Windows Subsystem for Linux (WSL), you’re looking at a powerful tool designed specifically for developers who need the versatility of Linux while operating on a Windows PC. WSL stands as a bridge between two distinct operating systems, enabling you to run Linux on Windows like any other application.

WSL’s primary purpose is to give you the convenience of managing Linux distributions without having to leave the Windows environment. It’s particularly useful for scripting, automating tasks, and running applications that are more Linux-friendly. For instance, if you’re working with open-source software or experimenting with server-side scripts, WSL makes these tasks more seamless.

At its core, WSL provides an environment for developing cross-platform applications. This means you’re equipped to build systems that function well across differing operating systems, which is a significant advantage in the ever-evolving tech landscape. WSL also supports a vast assortment of command-line tools and utilities, making routine dev tasks more manageable.

Another key benefit of using WSL is that unlike a full virtual machine setup, it integrates with Windows File Explorer and your existing Windows applications. This integration allows for a smoother workflow as you follow the industry trend of utilizing containerization and microservices. You can edit files within WSL using your preferred Windows tools or vice versa.

Moreover, WSL has witnessed continuous growth, with Microsoft introducing updates that enhance its performance and compatibility. From WSL1 to the latest iteration WSL2, developers have seen substantial improvements in system call compatibility and file system performance—factors that contribute to a more efficient development space.

Remember, WSL is built to ease your work between Linux and Windows, not replace your Linux machine. While it’s not a one-size-fits-all solution, it’s incredibly versatile for certain development scenarios.

Supported Linux Distributions

  • Ubuntu
  • Debian
  • SUSE
  • Kali Linux
  • Fedora Remix

By leveraging the strengths of both Windows and Linux, you can create a robust development environment that’s tailor-made to your project’s needs. WSL sets you up for success, giving you the flexibility to test and develop with Linux tools while maintaining the Windows experience.

Purpose and Functionality of Ubuntu

Ubuntu is more than just a Linux distribution; it’s a complete operating system that has its own specific goals and use-cases. As a user, you’ll find that Ubuntu is designed to offer a polished, user-friendly experience straight out of the box. With a strong focus on accessibility and ease-of-use, Ubuntu provides a clean and intuitive graphical interface that makes navigation a breeze for both beginners and advanced users.

The heart of Ubuntu is its commitment to free software principles and community involvement. You’re part of a global community when you use Ubuntu, contributing to a platform where users and developers come together to create a system that reflects diverse needs and perspectives. Ubuntu’s software repositories are vast, supplying you with a plethora of free applications and tools to achieve your tasks effectively and efficiently.

Under the hood, Ubuntu is based on Debian architecture, ensuring stability, security, and performance. This is key for businesses who need a reliable platform for day-to-day operations and development teams who require a stable environment for coding and testing applications. Ubuntu also releases regular updates, rolling out new features and security patches to keep your system at the top of its game.

One of the striking features is its “snap” package system. Snaps are containerized software packages that are simple to create and install. They auto-update and are rolled back if anything goes wrong, making them a safe option for trying new apps. Snap packages coexist with traditional deb packages, giving you flexibility in how you manage your software.

Ubuntu isn’t limited to the desktop—it’s also prevalent in server environments. Ubuntu Server is a robust and secure choice for your web servers, file servers, and more. With support for newer technologies like containers and orchestration, Ubuntu keeps you at the forefront of enterprise computing advancements.

Bear in mind that Ubuntu also enjoys widespread support from cloud service providers. The simplicity and security of Ubuntu make it ideal for deploying applications in the cloud, offering optimized images for platforms like AWS, Microsoft Azure, and Google Cloud Platform. Whether you’re managing containers with Kubernetes or deploying microservices, Ubuntu’s cloud-native approach ensures that your projects scale seamlessly.

Key Differences Between WSL and Ubuntu

Understanding the differences between WSL and Ubuntu can help you make an informed decision on which to use for your specific needs. While both provide Linux experiences on your machine, they serve unique purposes and offer different features.

WSL, or Windows Subsystem for Linux, offers a lightweight virtualization solution to run a Linux environment within Windows. It’s built into Windows 10 and Windows 11, allowing you to use Linux commands and apps without leaving your Windows desktop. With WSL, there’s no need to manage a separate Linux instance, making it a convenient option for Windows-based developers who occasionally need Linux’s capabilities.

On the other hand, Ubuntu is a full-fledged Linux operating system. It’s designed for direct installation either on physical hardware or within a virtual machine, delivering a complete Linux user experience. Ubuntu covers a wide range of uses, from personal computing to enterprise servers. It’s known for its extensive hardware compatibility, user-centric design, and robust software repository.

When contrasting WSL with a standalone Ubuntu installation, consider the following points:

  • Purpose: WSL targets Windows users needing a Linux command line interface for development purposes, while Ubuntu serves as a comprehensive operating system suitable for all computing tasks.
  • Interface: WSL prioritizes command-line operations. Ubuntu offers a graphical user interface with the GNOME desktop environment, enhancing overall user experience.
  • Resource Usage: Running Ubuntu, especially in a virtual machine, can consume more system resources. WSL is designed to be more resource-efficient within Windows.
  • Software Management: Ubuntu uses the APT package manager and snap packages for software management. WSL relies on traditional Linux package managers corresponding to the chosen Linux distribution.

Remember that the choice between WSL and Ubuntu depends on your workflow and requirements. If you’re heavily invested in the Windows ecosystem but need occasional Linux functionality, WSL is a streamlined option. Conversely, if you’re looking for a full Linux experience with the ability to customize and control every aspect of your OS, Ubuntu is the way to go.

By understanding the key differences, you’ll be able to select the right tool that aligns with your development goals and technical environment.

Conclusion

Deciding between WSL and Ubuntu hinges on your specific needs. If you’re looking for a seamless way to integrate Linux commands and applications into your Windows workflow, WSL is your go-to. It’s lightweight and efficient, perfect for development tasks that don’t require the full power of a Linux OS. On the other hand, if you’re after a robust system for server use or a complete desktop experience, Ubuntu stands out with its extensive features and strong community support. Whatever your choice, you’re equipped to make an informed decision that aligns with your development goals and personal preferences.

  • Author
  • Recent Posts

Подсистема Windows для Linux (WSL) — это функция операционной системы Windows, которая позволяет запускать среду GNU / Linux внутри Windows — без затрат на традиционную виртуальную машину или настройку с двойной загрузкой. WSL требует меньше ресурсов (CPU, памяти и места на диске), чем полноценная виртуальная машина. WSL также позволяет запускать инструменты и приложения командной строки Linux наряду с приложениями командной строки Windows, а также получать доступ к файлам Windows из Linux. Это позволяет при желании использовать приложения Windows и инструменты командной строки Linux для одного и того же набора файлов. Поддерживается множество дистрибутивов, включая Ubuntu, Debian, Kali Linux, OpenSUSE и другие. Можно установить свой дистрибутив, импортировав образ в формате tar.gz.

Общие сведения

Установить WSL можно на Windows 10 версии 2004 (сборка 19041) и выше и Windows 11. Для работы с ним лучше всего использовать Windows Terminal.

WSL использует собственную файловую систему, отделённую от файловой системы Windows (так как в Linux дискам не присваиваются буквы, а предоставляются точки монтирования). Корень файловой системы — / — точка монтирования корневого раздела (или папки в случае с WSL). WSL использует файловую систему Windows как смонтированный диск, и доступ к какому-либо каталогу (к примеру, к диску C:\) в Windows из WSL можно получить по пути /mnt/c/.

Из Windows можно получить доступ к приложениям, запущенным в Linux. Например, доступ к сайту можно получить как обычно — localhost:port. Однако в некоторых случаях следует использовать IP-адрес для подключения (ip:port), который можно взять в файле /etc/resolv.conf — из-за того, что в WSL 2 используется собственный виртуальный адаптер Ethernet со своим уникальным IP-адресом.

Установка

Подсистема WSL поставляется вместе с ОС Windows, однако её необходимо предварительно включить. Можно использовать упрощенную команду, в таком случае подсистема включится и установить дистрибутив Ubuntu (он используется по умолчанию):

С параметром --no-distibution можно только включить WSL, не устанавливая дистрибутив:

1
wsl --install --no-distribution

После первой установки (или включения WSL) может потребоваться перезагрузка компьютера.

В целом установка дистрибутивов доступна несколькими способами:

  1. через Microsoft Store;
  2. через Windows Terminal командой wsl --install или аналогичной;
  3. через Windows Terminal, экспортировав необходимый дистрибутив.

Список доступных для установки из терминала дистрибутивов можно получить командой:

1
2
wsl --list --online
wsl -l -o

На 7 августа 2023 года список следующий:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

Нужный из списка дистрибутив можно установить командой:

1
2
wsl --install -d <DistName>
wsl --install -d Debian

Установку можно дополнить ключом --no-launch, тогда WSL не будет запускать дистрибутив сразу после установки. При этом дистрибутив не будет отображаться среди установленных — выполнение команды означает только загрузку дистрибутива для последующего повторного выполнения wsl --install.

Каждый раз, когда устанавливается новый дистрибутив WSL Linux, для него в Windows Terminal создаётся новый профиль для подключения.

По умолчанию дистрибутивы создаются в каталоге C:\Users\username\AppData\Local\Packages.

После завершения процесса установки дистрибутива будет предложено создать нового пользователя и установить ему пароль. Этот пользователь относится к каждому устанавливаемому дистрибутиву и не имеет отношения к пользователю Windows. После создания пользователя, он станет пользователем по умолчанию (будет автоматически входить в систему при запуске) и учетная запись будет считаться администратором Linux (с правами выполнения sudo).

Изменение языка дистрибутива

При установке дистрибутива WSL пытается автоматически определить и применить локаль в соответствии с локализацией Windows. Если ей это сделать не удаётся, можно изменить язык принудительно (после выполнения перезагрузить дистрибутив):

1
sudo update-locale LANG=en_US.UTF8

Дополнительные команды WSL

Работа дистрибутивов

Запустить дистрибутив по умолчанию в домашнем каталоге пользователя можно следующей командой:

Для запуска другого дистрибутива (не по умолчанию) следует указать параметр --distribution:

1
wsl --distribution <DistName>

Можно запустить дистрибутив из-под другого пользователя:

1
wsl --user <Username> # или wsl -u <Username>

Дистрибутив по умолчанию указывается параметров --set-default-version:

1
wsl --set-default <DistName>

С параметром --set-version можно указать версию WSL (1 или 2), с которой требуется запустить тот или иной дистрибутив:

1
wsl --set-version <DistName> <VersionNumber>

Завершить работу одного конкретного или сразу всех дистрибутивов можно следующим образом:

1
2
wsl --terminate <DistName> # завершить работу <DistName>
wsl --shutdown # завершает работу всех запущенных дистрибутивов

Удаляется дистрибутив параметров -unregister:

1
wsl --unregister <DistName>

Параметры WSL

Обновить WSL можно следующей командой:

1
2
wsl --update # версия с Microsoft Store
wsl --update --web-download # версия с Github

Текущая конфигурация WSL выводится при передаче параметра --status или --version:

1
2
wsl --status
wsl --version

Установить версию WSL по умолчанию (1 или 2) можно параметром --set-default-version:

1
wsl --set-default-version <VersionNumber>

Монтировать дополнительные разделы в дистрибутивы можно параметром --mount. Он содержит следующие ключи:

  • --vhd — указывает, что монтируется виртуальный жесткий диск;
  • --name — монтируется диск с пользовательским именем;
  • --bare — подключает, но не монтирует диск;
  • --type <Filesystem> — тип файловой системы, используемый при монтировании (ext4 по умолчанию);
  • --partition <PartNumber> — порядковый номер раздела при монтировании.

Для монтирования разделов необходимы права администратора

1
wsl --mount C:\Users\Profile\Projects\FirstProject

Размонтировать один конкретный раздел или все можно командой --unmount:

1
2
wsl --unmount <DiskPath> # размонтировать <DiskPath>
wsl --unmount # размонтировать все диски и разделы

Список дистрибутивов

Команда --list показывает список дистрибутивов. Дополнительный ключ к команде может отфильтровать вывод:

  • --all — показывает все дистрибутивы;
  • --verbose — показывает установленные дистрибутивы;
  • --running — показывает только запущенные дистрибутивы;
  • --quiet — отображает только названия.

Работа с WSL

Изменение хостнейма

Для начала необходимо добавить нужное имя в файл /etc/wsl.conf в раздел network:

1
2
3
[network]
hostname = ubuntu_wsl
generateHosts = false

​ После этого следует поменять хостнейм в файле /etc/hostname:

1
2
ubuntu_wsl
/etc/hostname

Взаимодействие с Windows

Для максимальной производительности рекомендуется хранить файлы для работы в Linux в файловой системе WSL — в той же операционной системе, где они используются. Доступ к файлам возможен из разных ОС, но это значительно снижает производительность.

В дистрибутивах можно вызывать приложения WIndows и передавать в параметр файлы и каталоги Linux. Например, чтобы открыть текущий каталог в стандартном проводнике (Explorer), необходимо написать:

С файлами ситуация аналогичная:

В названии приложения обязательно нужно указывать разрешение (exe).

Это работает и в обратную сторону — утилиты Linux можно запускать напрямую из PowerShell. Например, чтобы отобразить содержимое какого-либо каталога Windows, можно ввести:

Можно смешивать команды Windows и Linux. Например, можно отобразить список файлов ls -la и отфильтровать результаты командой PowerShell findstr или наоборот — отобразить каталоги командой dir и отфильтровать командой grep

1
2
wsl ls -la | findstr "git"
dir | wsl grep git

Запуск графических приложений Linux

WSL 2 поддерживает запуск приложений с графическим интерфейсом (X11 и Wayland) в Windows с полностью интегрированным интерфейсом для ПК. Их можно запускать из меню “Пуск” Windows, закреплять на панели задач, переключаться между приложениями по Alt+Tab. Приложения поддерживают буфер обмена Windows.

Для запуска графических приложений необходим драйвер vGPU:

  • Драйвер графического процессора Intel
  • Драйвер графического процессора AMD
  • Драйвер графического процессора NVIDIA

Для запуска приложения из консоли достаточно написать только его название или название с файлом (например, для редактирования) на примере gedit:

Сетевые приложения

IP-адрес хост-машины и IP-адрес Linux-дистрибутива в WSL могут быть разными. IP-адрес хост-машины — это IP-адрес самого компьютера, а IP-адрес Linux-дистрибутива — это IP-адрес, который присваивается в виртуальной сети WSL. Обычно IP-адрес Linux-дистрибутива настраивается автоматически и не зависит от настроек хост-машины.

1
2
wsl hostname -i # IP-адрес дистрибутива
cat /etc/resolv.conf # IP-адрес компьютера с Windows

Управление дисковым пространством

WSL 2 использует платформу виртуализации для установки дистрибутивов Linux вместе с основной операционной системой Windows, создавая виртуальный жесткий диск (VHD) для хранения файлов для каждого из устанавливаемых дистрибутивов Linux. Эти жесткие диски используют тип файловой системы ext4 и представлены на жестком диске Windows в виде файла ext4.vhdx. WSL автоматически изменяет размер этих файлов VHD в соответствии с потребностями хранилища. По умолчанию каждому VHD-файлу, используемому WSL 2, изначально выделяется максимальный объем дискового пространства в 1 ТБ.

Проверить объем дискового пространства, доступного на VHD для дистрибутива Linux, установленного вместе с WSL 2, с помощью команды Linux df.

1
wsl.exe --system -d <distribution-name> df -h /mnt/wslg/distro

Выходные данные будут включать:

  • идентификатор файловой системы VHD;
  • общий размер диска;
  • используемый объем пространства;
  • доступный объём свободного места;
  • процент использования;
  • путь к каталогу, в который смонтирован диск.

Путь к файлу диска:

1
(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq '<distribution-name>' }).GetValue("BasePath") + "\ext4.vhdx"

Конфигурации WSL и дистрибутивов

Файлы wsl.conf и .wslconfig используются для настройки дополнительных параметров для каждого дистрибутива (wsl.conf) или глобально для всех дистрибутивов WSL 2 (.wslconfig).

  • файл wsl.conf хранится в каталоге /etc в виде файла. Используется для настройки параметров каждого дистрибутива WSL 1 и WSL 2;
  • файл .wslconfig хранится в %UserProfile% каталоге. Используется для настройки всех дистрибутивов Linux, работающих под управлением WSL 2.

WSL обнаруживает существование этих файлов, читает их содержимое и автоматически применяет параметры при каждом запуске. Если файл отсутствует или содержит ошибку, то WSL продолжит запускаться в обычном режиме, но без применения параметров конфигурации.

wsl.conf

Файл wsl.conf настраивает параметры для каждого дистрибутива отдельно:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[boot] # доступна только на Windows 11 и Server 2022
systemd=true # включает поддержку systemd
command="" # строка команд, которые должны запускаться при запуске экземпляра WSL. Команда запускается от имени root
# command=service docker start

[automount]
enabled=true # автоматически монтировать диски Windows (C:\ и другие) с помощью DrvFs в /mnt/
mountFsTab=true # автоматически обрабатывает /etc/fstab при запуске дистрибутива
root=/mnt/ # устанавливает каталог, куда будут монтироваться диски Windows
options="" # параметры автоматического монтирования
# options = "metadata,uid=1003,gid=1003,umask=077,fmask=11,case=off"

[network]
generateHosts=true # WSL сам генерирует файл /etc/hosts
generateResolvConf=true # WSL сам генерирует файл /etc/resolv.conf
hostname="Hostname" # устанавливает имя Unix-компьютера. По умолчанию - имя компьютера Windows

[interop]
enabled=true # установка этого ключа в true означает поддержку запуска Windows-процессов
appendWindowsPath=true # установка этого ключа определяет, будет ли WSL добавлять элементы пути Windows в переменную окружения $PATH

[user]
default=Username # пользователь по умолчанию

.wslconfig

Файл .wslconfig настраивает параметры глобально для всех дистрибутивов Linux, работающих с WSL 2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[wsl2]
kernel=path # абсолютный путь Windows к пользовательскому ядру Linux
memory=4GB # объём выделяемой памяти для WSL (по умолчанию 50% или 8 Гбайт - меньшее из них)
processors=10 # сколько логических процессов назначить WSL. По умолчанию - столько же, сколько и Windows
localhostForwarding=true # логическое значение, указывающее, должны ли порты, привязанные к wildcard или localhost в виртуальной машине, подключаться с хоста через localhost:port
kernelCommandLine=blank # дополнительные аргументы командной строки ядра
safeMode=false # запускает экземпляр WSL в безопасном режиме
swap=25% # сколько виртуальной памяти добавить к дистрибутиву
swapFile=path # абсолютный  путь к файлу swal
pageReporting=true # позволяет Windows освобождать неиспользуемую в WSL память
guiApplications=true # включение поддержки графических приложений (только в Windows 11)
debugConsole=false # логическое значение для включения окна консоли вывода, отображающего содержимое dmesg при запуске экземпляра дистрибутива WSL (только в Windows 11)
nestedVirtualization=true # включение вложенной виртуализации (только в Windows 11)
vmIdleTimeout=60000 # количество миллисекунд, в течение которых виртуальная машина простаивает, прежде чем она будет выключена (только в Windows 11)

Резервное копирование и перемещение

Лучший способ создать резервную копию или переместить дистрибутивы (в рамках одного ПК или на другой) — использовать команды экспорта и импорта, доступные в Windows с версии 1809. Можно экспортировать весь дистрибутив в архив с помощью команды wsl --export. Затем его импортировать обратно в WSL с помощью команды wsl --import, которая может указать новое расположение для импорта, что также сохранять состояния дистрибутива.

Экспорт дистрибутива требует много места на жестком диске. Если места недостаточно, то можно использовать методы Linux для перемещения всех файлов:

  1. архивировать домашний и другие необходимые каталоги командой tar -czf <archiveName> <directory>. После переноса на новый дистрибутив архив следует разархивировать командой tar -xzf <archiveName>;
  2. можно экспортировать список установленных пакетов через apt: dpkg --get-selections | grep -v deinstall | awl '{print $1}' > packages.txt, а затем установить все приложения на новом дистрибутиве командой sudo apt install -y $(cat packages.txt).

При экспорте можно указать ключ --vhd, указывающий, что дистрибутив следует экспортировать в виде файла VHDX.

Команду импорта можно дополнить ключами --version <Version — указывающий версию WSL (1 или 2) и --vhd — указывающий, что представленный файл является файлом VHDX, а не файлом tar.gz.

Файл tar можно получить разными способами, например:

  • загрузить с сайта разработчика (при наличии);
  • экспортировать контейнер дистрибутива.

Далее файл tar нужно импортировать в WSL:

1
2
3
4
5
6
7
# экспорт
wsl --export <DistName> <Filename>
wsl --export Debian C:\WSLDistros\export.tar.gz

# импорт
wsl --import <DistName> <InstallLocation> <FileName>
wsl --import Debian C:\Users\username\WSL\ C:\Users\username\export.tar.gz

ОС — не культ, а подкладка под инструменты, верстак. Главное чтобы тебе нравилось и было удобно.

Jameson ★★★★★
()



Последнее исправление: Jameson
(всего

исправлений: 1)

  • Показать ответ
  • Ссылка

микрософт может и рулит, а вот пацаны засмеют, когда узнают, что у тебя не линукс, а ламерская винда…

biglpfan
()

  • Показать ответ
  • Ссылка

За венду можно вообще не платить. На серверной винде можно сидеть на триале три года. А если по какой-то причине звук не нужен, то на гипер-в сервере, он в принципе бесплатен.

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от chenbr0

За венду можно вообще не платить.

А я каким-то левым типам отдал 300 р. за ключ. Выходит, лох я тот ещё 😞.

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от biglpfan

пацаны засмеют, когда узнают, что у тебя не линукс, а ламерская винда

В некоторых фирмах, которые даже разрабатывают софт под Linux, может быть запрещён Linux на ноутах разрабов, так как софт ИБ, который ставится на ноуты сотрудников, есть только под Windows и Mac.

fsb4000 ★★★★★
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от apt_install_lrzsz

Думаешь, они тебе одному этот ключ продали? Не удивляйся, когда у тебя в один прекрасный день слетит активация.

rupert ★★★★★
()

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от fsb4000

Ответ на:

комментарий
от biglpfan

Ответ на:

комментарий
от rupert

Думаешь, они тебе одному этот ключ продали?

Было дело, продали уже активированный ключ. Наругался. Выслали свежий.

слетит активация.

Ну и устрою вендокапец на оставшейся машине. Не больно оно и надо.

  • Показать ответ
  • Ссылка

Но ты поставил Linux. WSL2 — это обычная виртуальная машина с Linux. Да, она ставится в пару кликов и удобна, но это именно что полноценная ОС, а не какая-то прослойка совместимости. Так что выходит, что да, нужно ставить. А код писать можно и в Блокноте, просто неудобно.

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от rupert

Microsoft рулит

Как же толсто

XOXO


()

  • Ссылка

WSL2:

  • Docker работает на порядки медленее (из-за файловой системы, которая поверх NTFS находится в файле);
  • Невозможно работать привычно с блочными устройствами, те ты можешь примонтировать другой диск, если он не используется виндой, а раздел с линухом на том же устройстве — нет;
  • Ты не можешь использовать нормальный дистр, только то что собрано под WSL. Ту же убунту нельзя обновить (apt upgrade), те это не секс а дрочка какая-то;
  • Тебя все будут считать додяном, коим и является любой виндузятник.
qanon


()



Последнее исправление: qanon
(всего

исправлений: 1)

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Vsevolod-linuxoid

но это именно что полноценная ОС

не совсем верно

это обычная виртуальная машина с Linux

тоже не верно

какая-то прослойка совместимости

именно, что прослойка

qanon


()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от qanon

Самый близкий к вопросу ответ — это ответ Всеволода, ты УЖЕ поставил линукс, только в извращённом и ограниченном виде. Т.е. заголовок некорректен.

Если тебе винда комфортна — пользуйся так, кто мешает?

Мне вот, наоборот, в линуксе удобнее. Например, в линуксе есть valgrind, для плюсовика и сишника это must have. Под виндой есть dr.Memory, но он гораздо менее удобен. Да, всё это можно запустить под линуксом внутри WSL или виртуалбокса, но тогда зачем мне лишняя прослойка в виде винды?

Я прямо сейчас пишу с Федоры на ноуте. Единственный минус по сравнению с предустановленной виндой — на ноуте не работает подсветка клавиатуры. Всё остальное железо опознано из коробки, режим экрана родной, сеть есть, звук есть.

hobbit ★★★★★
()

  • Ссылка

Ответ на:

комментарий
от qanon

Нет по всем пунктам. Да, WSL1 был «Wine наоборот», но WSL2 именно что виртуалка.

  • Показать ответ
  • Ссылка

Кстати обновил Windows 11, WSL2 из коробки умеет kvm и 3d ускорение. Граф. приложения запускаются без бубнов …

bdfy1


()

автор топика

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от fsb4000

Разработка в целом удобнее под линуксом, потому что компоненты легко устанавливаются и настраиваются. Запуск/тестирование — тоже. Если не нужно нечто специфическое, то и для домашнего использования станет удобен.

WSL — конкурент virtualbox, появившийся для ублажения разработчиков, чтобы они не уходили на линукс, когда осознают преимущества полноценной установки перед виртуалкой.

Windows 11

Насколько в ней функциональный терминал? Через него можно установить tokei одной командой и запустить второй?

InterVi

★★★★★
()



Последнее исправление: InterVi
(всего

исправлений: 1)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от bdfy1

В точности как Windows в VMware под Linux в режиме интеграции с рабочим столом. Да, виртуализация сейчас хороша. Но это не запуск Linux приложений под Windows, это запуск приложений Linux в Linux с Windows в качестве очень качественного и удобного гипервизора.

Так что нельзя сказать, что Linux не нужен — потому что именно его ты и используешь. С очень хорошей интеграцией в Windows, правда. И вот тут возникает иной вопрос — а для чего в таком случае нужен Windows? Для запуска Visual Studio Code? Но он есть под Linux. Для запуска Linux? Но Linux очевидно умеет запускать сам себя. Так что Windows по итогу нужен или потому, что под него лучше драйвера на железа, или из-за иного ПО.

Vsevolod-linuxoid ★★★★★
()



Последнее исправление: Vsevolod-linuxoid
(всего

исправлений: 2)

  • Ссылка

Ответ на:

комментарий
от chenbr0

За венду можно вообще не платить.

Верно, её можно пиратить.

На серверной винде можно сидеть на триале три года. А если по какой-то причине звук не нужен, то на гипер-в сервере, он в принципе бесплатен.

Видишь ли, с юридической точки зрения использовать триальную версию для коммерческой деятельности без оплаты и просто использовать пиратку одинаково незаконно — так что то, что ты тут всем впариваешь, не выход, а просто ещё одна разновидность пиратства.

Почему-то многие люди упорно не видят разницу между «де-факто наказание маловероятно» и «де-юре законно». Это — не одно и то же. Де-факто можно поставить триальную версию ПО с правом только на ознакомительное использование, использовать её в продакшене и регулярно её переустанавливать начисто — есть серьезный шанс, что не поймают и не привлекут. Де-юре это всё ещё незаконно.

Vsevolod-linuxoid ★★★★★
()



Последнее исправление: Vsevolod-linuxoid
(всего

исправлений: 1)

  • Ссылка

Ответ на:

комментарий
от Vsevolod-linuxoid

ну ты сам себя поправил, насчет, виртуалки, а чем это полноценная ОС и почему это не прослойка не рассказал

qanon


()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от biglpfan

при чем тут фирмы и корпоративная техника/софт?

Притом, что разработка под Линукс может вестись под маками/виндой, потому что такая корпоративная техника.

fsb4000 ★★★★★
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от qanon

Рулит-рулит.

В чём вопрос-то? Если тебя ничего не беспокоит, так и пользуйся тем, что удобно.

  • Ссылка

Ответ на:

комментарий
от InterVi

Windows Terminal нормально выглядит: с подсветкой, автодополнением, поиском, даже лигатуры работают. Я ч/з choco[latey] виндовые программы ставлю/обновляю.

qanon


()

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от qanon

То есть Windows стал хорош потому, что в нём появилось то, что в Linux было с самого начала :-)

  • Ссылка

Ответ на:

комментарий
от fsb4000

так вопрос у ТС изначально подразумевает, что выбор есть. При чем тут корпоративные ограничения?

biglpfan
()

  • Ссылка

Ответ на:

комментарий
от apt_install_lrzsz

А я каким-то левым типам отдал 300 р. за ключ. Выходит, лох я тот ещё

Было дело, продали уже активированный ключ. Наругался. Выслали свежий.

В интернете полно ресурсов, где для Windows ключи бесплатно выкладывают.

ЗЫ В свете последних событий, к гадалке не ходи, легализуют пиратство для дома (личные нужды), а пока пиратство — зло.

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от sagittarius

по всей видимости биопроблемы Google:site:gist.github.com windows kms activation. жаль, что луговской не создал свой биореактор

qanon


()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от qanon

Давай отвечу, ежели было бы наоборот.

Docker работает на порядки медленее (из-за файловой системы, которая поверх NTFS находится в файле);

Не проблема wsl, пиши багрепорты в докер и в кернел.

Невозможно работать привычно с блочными устройствами

Привыкай, работай над собой.

Ты не можешь использовать нормальный дистр, только то что собрано под WSL.

Не проблема wsl, проблема нормального дистра, пиши им багрепорт, что их поделие не работает в wsl.

Ту же убунту нельзя обновить (apt upgrade), те это не секс а дрочка какая-то;

Не проблема wsl, пиши багрепорты в убунту.

Тебя все будут считать додяном, коим и является любой виндузятник.

Тебя все будут считать кразноглазиком, коим и является любой линуксуал.

  • Показать ответы
  • Ссылка

Давай в обратном порядке код пишешь ты в простигоспади ладно твой выбор, далее всл тебе для «линукса», а за ним у тебя две прокладки.

Можно просто Linux + VSCode и всё.

Т е Microsoft рулит, не ?

Почему? Я могу под вайном или через mingw конпилять для винды, linux рулит? А если мне очень сильно приспичит я могу изменить что угодно начиная от загрузчика, включая любые кишки чего угодно, заканчивая реализацией моей потребности, могу сильно сказано ибо скилов нет таких. Но могу же =) А ты не можешь, максимум что тебе дано, это пофиксить vscode комьюнити этишон и фсё, даже проблемы с WSL ты исправить не можешь (я же не ошибаюсь что реализация закрыта)

  • Ссылка

Ответ на:

комментарий
от chenbr0

Ответ на:

комментарий
от chenbr0

Ответ на:

комментарий
от LINUX-ORG-RU

В смысле? Где тут троллинг? В первом предложении написал, что вот ответы, ежели wsl делал столман/линус, а все остальное майкрософт.

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от qanon

Можешь дома сидеть, мне все равно 😁

  • Ссылка

Ответ на:

комментарий
от Jameson

OC это не только инструмент, но и философия и подход к разработке.

urxvt ★★★★★
()



Последнее исправление: urxvt
(всего

исправлений: 1)

  • Ссылка

Ответ на:

комментарий
от chenbr0

у мелкомягких есть продукт ВСЛ цель которого предоставлять прозрачную работу с линукс окружением. Если там то то не то, то то не это это значит реализация плохая, а не всё вокруг сломано.

Где тут троллинг?

Не проблема wsl, проблема нормального дистра
Привыкай, работай над собой.
Не проблема wsl, пиши багрепорты в убунту.

Ты как интелфыкс,заббал,иные личности про системд. Перманентно выбеляешь то что тебе нравится. Не баг, а фича. Потом починят.

Хотя ладно, если ты это всё всерьёз писал… Ну ок, доброго тебе вечера и прощай. Убегает махая платочком! Мы на разной волне и никогда не поймём друг друга.

LINUX-ORG-RU ★★★★★
()



Последнее исправление: LINUX-ORG-RU
(всего

исправлений: 2)

  • Ссылка

Ответ на:

комментарий
от qanon

Я ч/з choco[latey] виндовые программы ставлю/обновляю.

Там же есть штатный winget

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от sagittarius

Ответ на:

комментарий
от turbognida

Так его никто и не подразделял на домашнее и недомашнее. Граница между административной и уголовной ответственностью пролегала по некоей сумме нанесённого ущерба, а её определение это настолько размытое понятие, что по сравнению с ним недоговорённость правил ЛОРа, на которую тут жалуются в соседней теме — просто эталон строгости.

Другое дело, что ходить и кошмарить домашних пользователей это настолько гиморное и унылое занятие, что реально им почти никогда и никто не занимался. Отсюда и сложилась легенда, что домашнее пиратство не криминал. Но это — легенда, такая же, как «на задних сиденьях пристёгиваться не надо».

hobbit ★★★★★
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от hobbit

Ответ на:

комментарий
от turbognida

Сын: Папа, а почему солнце всегда встаёт на востоке, а заходит на западе?
Папа: (не отрываясь от отладки): Ты проверял? Это устойчиво работает, каждый день?
Сын (ошарашенно): Д-да…
Папа: Отлично, сынок, ничего не меняй, ничего не трогай!

hobbit ★★★★★
()



Последнее исправление: hobbit
(всего

исправлений: 1)

  • Ссылка

Ответ на:

комментарий
от qanon

Docker работает на порядки медленее (из-за файловой системы, которая поверх NTFS находится в файле);

Решается

ты можешь примонтировать другой диск

(ну, на ноутах примерно никак).

Ту же убунту нельзя обновить (apt upgrade)

В смысле?

x3al ★★★★★
()

  • Ссылка

Ответ на:

комментарий
от qanon

ну лишняя сущность которая может быть трояном… Проще ключик найти

bdfy1


()

автор топика

  • Ссылка

грань между линукс дистрибутивами и виндой стирается… скоро такие темы как

если смысл ставить Linux?(2022)

перестанут существовать. линуксоиды переименуются в виндусоидов.

  • Ссылка

Ответ на:

комментарий
от turbognida

Поступит сигнал о твоём нарушении бла-бла и всё — придут с проверкой со всеми вытекающими. Просто с этим соответствующие органы в большинстве случаях не заморачиваются. Если кто-то решится всё-таки пиратить, то лучше развернуть с помощью rufus на внешнем usb ssd Windows To Go и там делать свои темные дела, но все же не рисковать и по возможности использовать лицензии, что почти нереально в свете последних событий: уход Microsoft, невозможность оплаты игр в большинстве онлайн магазинов и т.д. Поэтому я и думаю, что для физиков разрешат пиратить.

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от sagittarius

Ответ на:

комментарий
от turbognida

Физики не ищут лёгких путей)

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как очистить виртуальную память компьютера windows 11
  • Как установить виртуальная машина для windows 10
  • Как изменить рабочий стол windows 10 до неузнаваемости
  • Сборник windows для установки с флешки
  • Как подключить айрподсы к компьютеру windows 11