- Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )
- Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
- Используйте настоящие команды Linux (не CGYWIN) из Windows
- Запустите Visual Studio Code и получите доступ к вашим приложениям Linux нативно на Windows
- Запуск нескольких Linux в считанные секунды
- Запустите X Windows Server под Windows с Pengwin
- Простое перемещение дистрибутивов WSL между системами Windows.
- Используйте провайдер учетных данных Windows Git внутри WSL
- Установка ОС Linux в Windows 11 с использованием WSL 2
- Установка определенного дистрибутива Linux ОС MS Windows 11 с использованием WSL2
- Несколько способов запуска дистрибутивов Linux
- Удаление дистрибутивов Linux и отключение компонента Подсистема Windows для Linux
- Ошибка запуска ОС Linux может быть вызвана отсутствием включенной опции поддержки виртуализации в BIOS или UEFI
- Возможно ли использовать Linux Desktop в Windows инфраструктуре?
- Подготовка локального репозитория
- Установка веб-сервера (для раздачи файлов нашим будущим клиентам)
- Установка tftpd для установки ubuntu по сети
- Установка и настройка Ansible (для авто настройки и администрирования Ubuntu)
Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )
Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.
Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!
Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
Когда вы находитесь в командной строке WSL / bash и хотите получить визуальный доступ к своим файлам, вы можете запустить «explorer.exe .», где находится текущий каталог, и вы получите окно проводника Windows, в котором ваши файлы Linux будут доставлены вам через сервер локальной сети plan9.
Используйте настоящие команды Linux (не CGYWIN) из Windows
Я уже писал об этом раньше, но теперь есть алиасы для функций PowerShell, которые позволяют вам использовать настоящие команды Linux изнутри Windows.
Вы можете вызвать любую команду Linux напрямую из DOS/Windows/чего угодно, просто поместив ее после WSL.exe, вот так.
Исполняемые файлы Windows можно вызывать/запускать из WSL/Linux, поскольку путь к Windows находится в $PATH до Windows. Все, что вам нужно сделать, это явно вызвать его с .exe в конце. Вот как работает «Explorer.exe.». Вы также можете сделать notepad.exe или любой другой файл.
Запустите Visual Studio Code и получите доступ к вашим приложениям Linux нативно на Windows
Вы можете запустить «code.», находясь в папке в WSL, и вам будет предложено установить расширения VS Remote.. Это эффективно разделяет Visual Studio Code пополам и запускает «headless» VS Code Server в Linux с клиентом VS Code в мире Windows.
Вам также необходимо установить Visual Studio Code и расширение Remote — WSL. При желании, установите бета-версию Windows Terminal для лучшего опыта работы с терминалом в Windows.
Вот отличная подборка статей из блога Windows Command Line.
- Виртуальные машины являются ресурсоемкими и создают очень независимый опыт.
- Исходный WSL был очень «подключенным», но имел довольно низкую производительность по сравнению с VM.
- WSL 2 предлагает гибридный подход с облегченными VM, полностью подключенным интерфейсом и высокой производительностью.
Запуск нескольких Linux в считанные секунды
Здесь я использую «wsl —list —all», и в моей системе уже есть три Linux.
Я могу легко запустить их, а также назначить профили, чтобы они появлялись в моем Windows Terminal.
Запустите X Windows Server под Windows с Pengwin
Pengwin — это специальный Linux-дистрибутив WSL, который очень крут. Вы можете получить его в Windows Store. Объедините Pengwin с X Server, например X410, и вы получите очень классную интегрированную систему.
Простое перемещение дистрибутивов WSL между системами Windows.
Ana Betts отмечает эту замечательную технику, с помощью которой вы можете легко перенести свой идеальный дистрибутив WSL2 с одной машины на n машин.
Вот и все. Получите идеальную настройку Linux, синхронизированную на всех ваших системах.
Используйте провайдер учетных данных Windows Git внутри WSL
Все перечисленные фичи переткают в кульминацию в этом крутом посте от Ana Betts, где она интегрирует Windows Git Credential Provider в WSL, превращая /usr/bin/git-credential-manager в сценарий оболочки, который вызывает диспетчер git creds Windows. Гениально. Это было бы возможно только при условии чистой и тесной интеграции.
Источник
Установка ОС Linux в Windows 11 с использованием WSL 2
На текущий момент ОС MS Windows 11 позволяет запустить следующие дистрибутивы Linux:
- Debian
- Kali Linux Rolling
- OpenSUSE Leap 42
- SUSE Linux Enterprise Server v12
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
В новой версии Windows 11 разработчиками Microsoft упрощен механизм установки компонентов WSL. С использованием лишь одной команды можно установить подсистему Windows для Linux, платформу виртуальной машины, ядро WSL, а также дистрибутив Linux.
- Запустить командную строку или Windows Терминал от имени администратора
- Ввести следующую команду
- Нажать Enter
Рис.1 Установка WSL
Команда —install позволяет выполнить следующие действия:
- установить дополнительные компоненты WSL
- установить платформу виртуальной машины;
- загрузить и установить ядро WSL;
- скачать и установить дистрибутив Linux (по умолчанию устанавливается Ubuntu)
- По окончании данной процедуры перезагрузить компьютер.
Рис.2 Установка WSL
- После перезагрузки продолжится инсталляция и осуществится запуск Ubuntu 20.04 LTS (именно эта версия устанавливается на момент написания статьи) с последующей первоначальной настройкой, где необходимо будет создать имя пользователя и пароль.
Для каждого установленного дистрибутива Linux в среду Windows создается уникальное имя пользователя и пароль. Уникальная учетная запись будет использоваться для входа в конкретный дистрибутив. Эта учетная запись обладает возможностью брать права администратора Linux.
Рис.3 Создание пользователя и пароля в ОС Ubuntu
Установка определенного дистрибутива Linux ОС MS Windows 11 с использованием WSL2
- Запустить командную строку или Windows Терминал от имени администратора
- Для получения списка доступных дистрибутивов Linux необходимо ввести следующую команду
- Нажать Enter
Рис.4 Список доступных дистрибутивов Linux
- После выбора нужной операционной системы ввести команду (операционная система может быть выбрана другая):
Рис.5 Установка Kali Linux
- По окончании установки запуститься выбранная операционная система.
Рис.6 Создание пользователя и пароля в ОС Kali Linux
Несколько способов запуска дистрибутивов Linux
Для последующего запуска установленного дистрибутива Linux можно воспользоваться одним из вариантов:
- открыть меню Пуск > Все приложения и выбрать, например, Ubuntu
Рис.7 Запуск ОС Linux
- в командной строке или Windows Терминал ввести название установленной Linux системы, например, ubuntu и нажать Enter
Рис.8 Запуск ОС Linux
- в командной строке или Windows Терминал ввести команду wsl . Будет запущен дистрибутив Linux по умолчанию. Если установлено несколько дистрибутивов, ввести, например команду wsl -d Kali-Linux
Удаление дистрибутивов Linux и отключение компонента Подсистема Windows для Linux
- Открыть Параметры ОС MS Windows 11
- Перейти в раздел Приложения >Приложения и возможности
Рис.9 Удаление дистрибутивов Linux
- Выбрать дистрибутив Linux, который необходимо удалить, нажать на пиктограмму справа и выбрать Uninstall
Рис.10 Удаление дистрибутивов Linux
- Если в дальнейшем не планируется устанавливать дистрибутивы Linux, можно также удалить WindowsSubsystemforLinuxUpdate и WindowsSubsystemforLinuxUpdateWSLgPreview
Рис.11 Удаление дополнительных файлов WSL
- При необходимости отключения компонента ПодсистемаWindows дляLinux открыть окно КомпонентыWindows, снять соответствующий флажок в чекбоксе и перезагрузить компьютер.
Рис.12 Компоненты Windows
Чтобы открыть данное окно можно воспользоваться одним из вариантов:
- Открыть Параметры ОС MS Windows 11, выбрать Приложения >Optionalfeatures > Другие компонентыWindows
Рис.13 Запуск компонентов Windows
- открыть Панель управления > Программы и компонентыWindows
- в окне Выполнить ввести OptionalFeatures
Если в автоматическом режиме ядро подсистемы Windows для Linux не обновляется (например, есть возможно обновить только вручную, с использованием команды wsl —update), необходимо включить параметр центра обновления Windows Получать обновления для других продуктов Microsoft при обновлении Windows.
Рис.14 Настройка дополнительных параметров обновлений
Рис.15 Включение параметра Получать обновления для других продуктов Microsoft при обновлении Windows
Ошибка запуска ОС Linux может быть вызвана отсутствием включенной опции поддержки виртуализации в BIOS или UEFI
Если запуск подсистемы Windows для Linux выполняется в виртуальной среде, например с использованием платформы VMware Workstation, то необходимо:
- выключить гостевую систему Windows 11
- открыть настройки гостевой системы Windows 11
- в разделе Hardware выбрать Processors и установить флажок в чекбоксе Virtualize Intel VT-x/EPT or AMD-V/RVI
Рис.16 Настройка поддержки виртуализации в VMware Workstation
Выше упомянуты только 2 причины, по которым могут возникнуть проблемы с корректной работой WSL. Другие причины будут рассмотрены в дальнейшем.
Источник
Возможно ли использовать Linux Desktop в Windows инфраструктуре?
Всем привет! На Хабре неоднократно поднимались вопросы о том, как подготовить дистрибутив Linux для ввода в Active Directory, а также для интеграции с некоторыми другими серверами Windows. При этом, до сих пор не было написано статьи о том, стоит ли вообще этим заниматься, и будет ли конечный результат стоить потраченных времени и усилий.
Почему возник этот вопрос? Меня попросили настроить Linux для ребят, которые утомились от обновлений и прожорливости Windows 10 (особенно на компьютере без SSD и с оперативной памятью DDR2). Кроме того, одним из неоспоримых плюсов Linux (и его признают даже его ярые противники) является его открытость бесплатность. Это тоже значимый аргумент.
Обычный пользователь в среднестатистической компании, компьютер использует для Word и Excel, браузера, плюс в редких случаях, работает с каким-либо удаленным приложением, например через RDP. Необычный пользователь, типа целого программиста, без значительных сложностей может попросить админов найти требуемую IDE, Jenkins, git, и что там еще нужно программистам? Мессенджеры, на отсутствие которых в Linux в соседней статье жалуются, в дистрибутиве имеются во всевозможном изобилии. Skype, Viber, ICQ, даже заблокированный в РФ клиент, полностью в наличии на официальных сайтах, прекрасно поддерживаются и в полной мере идентичны по UI с клиентами предназначенными для Windows.
Итак, смотришь на требования пользователей к системе, сравнишь их с возможностями Linux и думаешь, сплошные плюсы, а еще и экономия четко прослеживается. Почему же возникают какие-либо возражения к такой прекрасной идее как перевод пользователя с Windows, на Linux? Только лишь вредные привычки?
Я совсем не крутой пользователь открытых операционных систем, но некоторым минимальным практическим опытом который я получил (при переводе пользователей с Windows на Linux) хочу поделиться.
Искренне надеюсь, что опытные пользователи хабра надают по рукам т.е. подскажут, где мои действия можно было бы улучшить, а где, возможно, переделать заново.
Ведь вполне может быть, что я не вижу каких-либо подводных камней, которые известны старшим и более опытным товарищам, буду искренне благодарен, если на такие, проблемы у обычного пользователя мне укажут. Искренне надеюсь, что изложенная мной информация получится воспроизводимой.
Подготовка локального репозитория
Linux (по крайней мере Ubuntu), как и Windows полностью поддерживает сетевую/локальную установку. Вполне можно было бы опустить этот шаг, так как linux прекрасно устанавливается и из интернета. Но учитывая, что установка системы, задача довольно часто повторяемая, мы попытаемся ее автоматизировать, а чтобы избежать ненужных проблем с внешним репозиторием, который мы не контролируем, подготовим виртуальную машину, с локальным репозиторием, на котором будут расположены установочные файлы системы, файл ответов, (а заодно, весь необходимый нам софт, а также будущие обновления).
Файлы установки и все дополнительное ПО, для LTS версии Ubuntu 20.04 Focal Fossa, занимают примерно 80 Гб.
В качестве ОС для виртуальной машины — я использовал Ubuntu Server 20.04 Это стабильный релиз, который будет полностью поддерживаться до 2025 года.
После окончания установки, задаем человеко-понятное имя нашему компьютеру
Устанавливаем пакет для клонирования репозитория
Хочу отметить, что в этой конфигурации показывается возможность управления количеством потоков и скоростью закачки файлов при клонировании репозитория, а также демонстрируется возможность клонировать внешние репозитории, не принадлежащие Canonical. Например, Google Chrome.
Также, заслуживает внимания, что, дополнительно в конфигурации необходимо прописать ветку main/debian-installer, хотя она и является дочерней по отношению к ветке main, Это не было очевидным для меня, я не нашел чтобы об этом писалось раньше, и поначалу не мог понять в чем дело.
Необходимо выполнять команду sudo apt-mirror например, еженедельно, для обновления нашего репозитория — «сервера» обновлений клиентских компов.
Пример настройки автообновления репозитория с записью логов о обновлении
Установка веб-сервера (для раздачи файлов нашим будущим клиентам)
Для проверки, что все получилось как задумывалось, необходимо попытаться зайти на наш ip через браузер. В результате мы должны увидеть файлы репозитория.
Установка tftpd для установки ubuntu по сети
Разархивируем и рекурсивно копируем все найденные файлы библиотек .c32 из syslinux в /tftpboot любым удобным вам способом, а также создаем в /tftpboot папки pxelinux.cfg и папку linux
В /tftpboot/pxelinux.cfg будет находится меню загрузчика (файл с именем default)
В /tftpboot/linux должны находиться следующие файлы:
-файл ответов ubuntu2.cfg, загрузчик initrd.gz, файл ядра linux
Ниже пример preseed файла (файла ответов).
Дополнять его можно бесконечно, но с предложенной настройкой без единого нажатия клавиши система полностью автоматически устанавливается. (правда, должен признаться, что в файле ответов предназначен пользователь и его пароль, таким образом система будет установлена запароленной
Ядро и загрузчик были получены по этому адресу:
Файл ответов позволяет автоматически выбрать язык системы, язык установки системы, задать требуемое разбиение и форматирование диска и даже задать хэши паролей на загрузчик и локального администратора (на момент установки — единственного пользователя ПК).
При предварительно настроенном DHCP (опции 66 и 67) включающих загрузочный файл и IP адрес tftp сервера после загрузки и выбора строчки «Install Ubuntu 20.04» Все остальное будет сделано без нашего вмешательства. (Система будет устанавливаться около 25-30 минут).
После ввода логина и пароля, в подавляющем большинстве случаев система будет полностью готова к работе с документами, картинками, аудио и видео файлами, интернетом, без каких-либо сложностей.
Установка занимает около 25-30 минут. и проходит полностью автоматически. Для обычного пользователя этого достаточно.
Но мы ведь говорим о работе Ubuntu в корпоративной среде, а значит речь пойдет об интеграции с Active Directory, Exchange, DFS и т.д. Может быть где-то на пути поиска взаимодействия с этими службами возникнут неполадки? Может быть что-то из изложенного выше уже на данном этапе сделано неправильно? В следующей части статьи напишу о моем пути интеграции Linux систему в корпоративную Windows инфраструктуру.
Для управления удаленными компьютерами и их настройки необходимо установить на «сервер» операционную систему с репозиторием систему управления конфигурациями Ansible
Установка и настройка Ansible (для авто настройки и администрирования Ubuntu)
После заполнения инвентори файла мы должны соединить клиентскую машину с сервером.
Для проверки успешности настроек введем команду.
Если мы видим ответ от клиентского ПК наши настройки выполнены верно.
После успешной проверки настроек, необходимо запустить скрипт для доустановки необходимых пакетов и введения ПК в домен.
Для управления поведением компьютера в Ansible обычно создаются роли, но так как у нас тривиальная задача просто установить, удалить, настроить и ввести в домен компьютер c Ubuntu воспользуемся простым скриптиком (в терминогогии Ansible плэйбуком).
Прежде чем запустить плэйбук крайне важно зашифровать логин и пароль под которыми мы будем вводить компьютер в домен, в идеале это должна быть сервисная учетная запись, и средствами ансибла она должна быть зашифрована.
Для запуска скрипта после приведения скрипта к рабочему виду:
При запуске скрипта компьютер несколько раз должен быть перезагружен. После перезапуска скрипта вручную с сервера, после перезагрузки клиента, скрипт продолжит выполнение с того момента, на котором остановился (предварительно проиндексировав предыдущие шаги). Действие скрипта (вместе с перезагрузками) займет не более 10 минут.
Вот этот скрипт:
Скрипт Ansible ссылается на несколько дополнительных скриптов конфигурирующих kerberos, sssd, samba и еще некоторые важные файлы
Источник