Microsoft, Linux и т.п. Канада


Содержание поста:

Новая ОСь Microsoft на базе Linux.

Брэд Смит (Brad Smith) из Microsoft в Сан-Франциско сказал что, спустя 43 года, впервые сообщается о том, что MS выпускает своё Linux ядро. Это не 1 апреля и не шутка!

Microsoft использует Linux как часть продукта Azure Sphere. Azure Sphere — новая технология от Microsoft для защиты микропроцессоров, используемые в Интернете вещей (IoT).

Если быстро отойти от шока — Microsoft делает свой Linux, то в сухом остатке получается, что с помощью Линукс пытаются защитить умные гаджеты в рамках работы трёх компонент:

  • Новый дизайн микроконтроллера (MCU)
  • Основанная на Linux операционная система Azure Sphere
  • Облачная безопасность Azure Sphere

А чего не Windows 10 или Windows 10 for IoT? Брэд ответил, что они, конечно, Microsoft до мозга костей, но для таких малышек лучшее решение — это Linux, а не полновесная Windows.

Только не фантазируйте слишком. Речь идёт о небольшом чипе для продукта Azure Sphere и своём Linux для него. Никаких десктопов Linux от MS, ни каких дистрибутивов!

Microsoft присоединилась к Linux Foundation в 2020 году. Программный титан потратил много усилий на то, чтобы видеть в Linux системах равного себе, а не соперника. Начать интегрировать Linux в свои облачные предложения и принести инструменты Bash и другие программы на рабочий стол Windows через WSL.

В интересное время живём. Google уходит из Linux, а Microsoft приходит . чудеса.

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Общий взгляд на подсистему Windows для Linux

Общий взгляд на подсистему Windows для Linux

  • Автор: Уваров А.С.
  • 20.01.2020

Взаимоотношения Windows и Linux долгое время были натянутыми, а совместному применению обеих систем мешало большое количество разного рода барьеров, многие из которых были возведены искусственно. Но в последнее время все поменялось и Microsoft неожиданно для многих представила подсистему Windows для Linux, более известную как «Ubuntu в Windows 10». В данной статье мы расскажем, чем данная подсистема является, чем не является и для чего ее можно использовать.

Что такое подсистема Windows для Linux (Windows Subsystem for Linux, WSL)? Это не эмулятор и не виртуальная машина, а именно подсистема, основная задача которой — создать для разработчиков и тестеров привычное Linux окружение в среде Windows. Цели создать полноценную систему у разработчиков не стояло и не стоит, поэтому не следует рассматривать WSL как полноценную замену виртуальной машине, у WSL иные задачи.

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

Прежде всего это коснулось файловой системы, для работы Linux подсистемы с диском используется дополнительный слой абстракции в виде Virtual File System (VFS), которая позволяет Linux работать с собственными файлами, расположенными на NTFS, и вообще вся инсталляция Linux представляет собой обычную папку, которую вы можете открыть через проводник, точно также в среде Linux вы можете перемещаться по файловой системе Windows.

Удобно? Да. Но ради этого пришлось отказаться от собственных инструментов Linux по работе с файловой системой и дисками, также вы не сможете использовать FUSE.

Второе ограничение связано с сетью, в Windows 10 1607 сетевая подсистема Linux в WSL не реализована, частично это исправлено в Windows 10 1703, но рассчитывать на полноценную работу с сетью не стоит, потому как сетевой стек Linux в WSL заменен еще одним слоем абстракции, позволяющим использовать для работы сетевые возможности Windows.

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


В чем плюсы данного подхода? Во-первых — экономия ресурсов, запущенная виртуальная машина гарантированно потребляет нужный для работы ОС объем оперативной памяти, не оптимально расходует дисковое пространство, хотя бы потому что вам придется держать две копии рабочих файлов, на хосте и внутри виртуалки. Это может быть критично для слабых машин, например, для ноутбука, который, зато удобно брать с собой для демонстрации результата работы заказчику.

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

И наконец, это полноценная Linux среда, аналогичная производственной, поэтому вы можете быть уверены, что с переносом в рабочую среду проблем у вас не возникнет, особенно если там вы используете аналогичные версии ПО.

Как установить подсистему Windows для Linux

Установить WSL довольно просто, для начала воспользуйтесь новой Панелью управления и включите в ней Режим разработчика.

Затем в классической Панели управления откройте оснастку Программы и компоненты — Включение и отключение компонентов Windows и установите компонент Подсистема Windows для Linux (бета-версия).

Теперь откройте командную строку и выполните команду:

затем ответьте на несколько простых вопросов.

Важно! Для успешной установки WSL вы должны осуществить вход в систему с учетной записью Microsoft.

На этом установка закончена и вас встречает командная строка Linux, можете начинать обживать систему. В этом плане WSL ничем не отличается от обычного Linux, в вашем распоряжении привычный пакетный менеджер и родные репозитории Ubuntu. В Windows 10 1607 это Ubuntu 14.04 LTS, а в выпуске 1703 — Ubuntu 16.04 LTS, которая также была доступна в инсайдерских версиях.

Подсистема установлена, это хорошо, самое время рассмотреть ее типичные применения.

Администрирование Linux-систем

Как известно, для удаленного администрирования Linux нет ничего лучше Linux. Если же ваша основная система Windows, то для работы с Linux серверами вам потребуется сразу несколько инструментов, как правило джентельменский набор составляют PuTTY и WinSCP, если вы используете аутентификацию по ключам, то к ним еще добавится Pageant. Это проверенные временем и эффективные инструменты, но постоянно переключаться между ними не совсем удобно.

Используя WSL, вы окунаетесь в родную среду и вам не нужно постоянно скакать между окнами. Тем более что SSH позволяет делать много интересных вещей. Например, удаленно выполнять команды и скрипты, получая результат на свой ПК. Допустим вы хотите скопировать с рабочего сервера свой конфиг Squid, чтобы разместить его на форуме. Нет ничего проще, выполните что-то вроде:

Первая часть команды соединяется по SSH с удаленным сервером example.com под учетной записью user и выводит в стандартный поток локальной системы содержимое squid.conf. Затем мы выбираем все строки, кроме комментариев, удаляем пустые, и выводим то, что осталось в файл на рабочем столе Windows-системы.

Как видим, WSL позволяет удобно соединить в единое пространство удаленную систему, локальный Linux и вашу Windows. Никаких преград больше нет, передавайте и обрабатывайте файлы не задумываясь где они находятся и откуда и куда их надо скопировать или переместить.

Также вы можете легко выполнять на удаленном сервере локальные скрипты, особенно если их размещение в удаленной системе нежелательно (потенциально небезопасны, содержат приватные данные и т.д.). Для этого выполните:

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

Разработка

Если вы занимаетесь разработкой на PHP, Python и т.п. языках, то вы можете отлаживать собственные проекты сразу в родной среде, продолжая при этом использовать привычные инструменты разработки. Достаточно разместить проект в контейнере WSL и одновременно работать с ним из Windows-приложений, так как все данные внутри WSL доступны через обычный проводник.

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

Кроме того, можно и наоборот использовать Linux-инструменты для работы с Windows проектами, например, git. Да, он существует и под Windows, но более удобно работать с ним в его родной среде.

Чтобы создать git-репозиторий, скажем, проекта Visual Studio, достаточно перейти в в его каталог и инициализировать новый репозиторий:

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

Сайтостроение

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

В качестве тестового сервера для такой работы обычно используется что-то вроде XAMMP/Денвер/Open Server и т.д. Нисколько не умаляя достоинств этих пакетов следует признать и их серьезные недостатки. Главный из которых — существенное отличие тестовой среды от производственной, что может породить проблемы при переносе проекта. Это могут быть как ошибки в путях, так и более серьезные проблемы, связанные с неправильным конфигурированием веб-сервера (например, через директивы htaccess), либо отсутствием каких-либо модулей.

Кроме того данные пакеты не позволяют выполнить еще одну важную задачу — проверку производительности и ее тонкую настройку, которую придется выполнять уже в производственной среде.


Подсистема Windows для Linux будет настоящей находкой в данном случае, потому что позволяет запустить локально полную копию производственной среды и работать в условиях максимально приближенным к реальным. А дополнительное удобство обеспечивается тем, что все файлы вашего сайта также будут доступны локально в Windows-системе, что дает возможность использовать привычные инструменты для работы с ними.

Кроме того, вы можете использовать все богатство инструментов Linux для отладки вашего сайта, например, curl для работы c HTTP-запросами. Да, curl есть и под Windows, но в Linux мы легко можем передать результат по конвейеру и обработать его нужным нам образом. Довольно распространенной задачей при переходе на HTTPS является поиск небезопасного содержимого, обычно это картинки или скрипты подключенные в коде страницы по небезопасному протоколу, эту задачу легко решить, скомбинировав работу двух команд:

Как видим, для веб-разработчика WSL представляет не только удобную тестовую среду, но и является удобным инструментом по отладке, заменяя множество отдельных утилит и инструментов.

Работа с файлами и данными Windows

Мы думаем, что каждый, кто работал в Linux отмечал все богатство и широкие возможности консольных утилит в плане обработки и изменения данных. Быстро найти и отобрать по фильтру, произвести замену одного значения на другое, причем все это одновременно и с выводом результата в нужное место. Теперь все это доступно вам и в Windows.

Многие задачи, которые в Windows требуют применения стороннего софта или написания пакетных файлов в Linux часто решаются в одну строку. Например, пакетное переименование по маске:

Приведенная выше команда переименует в текущей директории все файлы JPG с именем типа DSCN1023.JPG в файлы вида My_Photo1023.JPG. Другая распространенная задача — заменить пробелы в именах файлов на подчеркивание. Тоже очень просто:

Задача посложнее. Есть некая база в формате CSV, которая содержит ФИО, телефон и еще некоторую информацию, допустим нам надо отобрать из нее записи по каждому из мобильных операторов. Отлично, набираем в консоли:

После ее выполнения получим новый файл, который содержит записи только с телефонами оператора МТС, коды которого мы указали как условие для утилиты egrep.

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

Подсистема Windows для Linux (WSL) в среде Windows 10.

Начиная с версии Windows 10 Build 14251, в набор стандартных компонентов системы была добавлена Подсистема Windows для Linux (Windows Subsystem for Linux или WSL) . Главное назначение WSL – создать программный слой в среде Windows 10 для обеспечения функционирования приложений Linux. Первоначально подсистема поддерживала только дистрибутив Ubuntu 14.04, образ которого можно было загрузить через магазин Microsoft Store. Затем количество поддерживаемых дистрибутивов увеличилось, и продолжает увеличиваться, включая наиболее популярные дистрибутивы. Установка выполняется таким же образом, как и стандартное приложение, без применения виртуальных машин или сторонних пакетов эмуляции. Пользователь Windows 10 в пару кликов мышкой устанавливает операционную систему семейства Linux без графической оболочки, функционирующую на компьютере подобно стандартному приложению, загруженному из Microsoft Store.

Подсистема WSL позволяет:

1. Выбрать предпочитаемый дистрибутив из магазина Windows (Microsoft Store)

2. Пользоваться командной оболочкой Linux и прочим программным обеспечением совершенно бесплатно.

3. Выполнять скрипты командной оболочки и использовать популярные программные средства Linux, как ssh, MySQL, Apache, языки программирования C/C++, Ruby, Python и т.п.

4. Устанавливать дополнительное программное обеспечение с использованием собственного менеджера пакетов выбранного дистрибутива GNU/Linux.

5. Использовать совместное функционирование приложений обеих операционных систем и использование общих ресурсов.

Подсистема WSL продолжает развиваться, и постепенно трансформировалась в новую версию, получившую обозначение WSL 2 , отличающуюся повышенным быстродействием, улучшенным взаимодействием с компьютерным оборудованием и компонентами Windows, новой архитектурой на базе реального ядра Linux, специально адаптированного для использования в WSL 2. Кроме того, данное ядро Linux распространяется с открытым исходным кодом (Open Source), который можно загрузить на странице проекта github.com-WSL2-Linux-Kernel

WSL 2 является очередным шагом в технологии виртуализации, позволившим использовать ядро Linux, выполняемое под управлением относительно небольшой утилиты, обеспечивающей высокий уровень интеграции между Windows и Linux и значительное повышение быстродействия операций ввода-вывода, системных вызовов и приложений. По некоторым данным, распаковка zip-архивов в среде WSL 2 выполняется в 15-20 раз быстрее, а сборка пакетов – в 2-5 раз быстрее чем в WSL 1.

По умолчанию, компонент Подсистема Windows для Linux (WSL) выключен. Для включения можно воспользоваться апплетом Панели управления Программы и компоненты — Включение или отключение компонентов Windows :

После включения WSL, нужно выполнить перезагрузку Windows.

Для включения WSL и проверки ее состояния можно использовать командную оболочку Power Shell, запущенную на выполнение от имени Администратора. Проверить состояние подсистемы можно командой:

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Пример отображаемой информации:

FeatureName : Microsoft-Windows-Subsystem-Linux
DisplayName : Подсистема Windows для Linux
Description : Предоставляет службы и среды для запуска собственных средств и оболочек Linux в пользовательском режиме в Windows.
RestartRequired : Possible
State : Enabled

ServerComponent\Description : Предоставляет службы и среды для запуска собственных средств и оболочек Linux в пользовательском режиме в Windows.
ServerComponent\DisplayName : Подсистема Windows для Linux
ServerComponent\Id : 1033
ServerComponent\Type : Feature
ServerComponent\UniqueName : Microsoft-Windows-Subsystem-Linux
ServerComponent\Deploys\Update\Name : Microsoft-Windows-Subsystem-Linux

Строка State : Enabled указывает на то, что подсистема Windows для Linux включена.


Для включения подсистемы WSL посредством Power Shell можно использовать команду:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Для отключения WSL:

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Выбор дистрибутива и установка Linux

После включения подсистемы WSL и перезагрузки Windows 10 можно приступить к установке ОС Linux. В прежних версиях подсистемы Windows для Linux для настройки дистрибутива Linux использовалась утилита командной строки lxrun.exe . На сегодняшний день она считается устаревшей и в дальнейшем будет исключена из подсистемы WSL. Дистрибутивы можно установить из стандартного Магазина Windows (Microsoft Store):

При необходимости, можно получить более подробную информацию о конкретном дистрибутиве, например Kali :

Как видим, отображаются краткие сведения о дистрибутиве, способе запуска Linux после установки, а также сведения о загружаемом образе. Для уменьшения объема загружаемых данных образ не содержит графической оболочки и некоторых приложений, которые легко устанавливаются с использованием штатных средств управления пакетами выбранного дистрибутива Linux.

После загрузки и начальной установки дистрибутива, можно выполнить его запуск нажатием кнопки Запустить

После запуска начнется развертывание полученного дистрибутива Linux в подсистеме WSL. В процессе начальной установки и настройки потребуется ввести имя пользователя и пароль.

Очень важная для вас статья:  В Монреале остались русские комньюнити Канада

После успешной установки, в консоли отобразится стандартное приглашение командной строки. К этому моменту будут выполнены настройки сетевых интерфейсов, имени узла, клиента DNS и т.п а также смонтированы логические диски ОС Windows 10 (стандартно — /mnt/c — для диска C:, /mnt/d — для диска D: и т.д). Дальнейшее применение установленного Linux зависит от его предназначения и неизбежно потребует установки дополнительных приложений с использованием стандартных средств данного дистрибутива, при чем – из командной строки. Как и в случае с отдельным компьютером с ОС Linux, первым шагом в применении нового дистрибутива будет освоение методов установки и удаления программ.

На сегодняшний день, в Microsoft Store имеется несколько дистрибутивов Linux – Ubuntu ( в том числе и с длительной поддержкой), Kali, Debian и Suse (в том числе и серверные дистрибутивы). Очевидно, что этот набор будет постепенно расширяться. Наиболее востребованным дистрибутивом, по статистике Microsoft Store, является Ubuntu. После завершения установки, запуск программы можно выполнить в командной строке, введя:

Либо Win+R — ubuntu

Либо с использованием ярлыка из меню кнопки Пуск — Ubuntu .

В самом начале использования вновь установленного Linux, желательно выполнить обновление установленного ПО и добавить необходимый для дальнейшей работы набор программ.

В дистрибутивах на основе Debian (Ubuntu) имеется стандартная утилита apt для работы с системой управления программными пакетами APT ( A dvanced P ackaging T ool). Данная утилита и ее производные ( apt-cache , apt-get ) используются для установки новых программных пакетов, удаления существующих, обновления уже установленных, а также для обновления всей операционной системы. Примеры использования:

apt –h — отобразить подсказку по использованию apt
apt-cache –h — отобразить подсказку по использованию apt-cache
apt-get –h — отобразить подсказку по использованию apt-get

Более подробную подсказку можно получить из комплекта документации man-страниц:

sudo apt-get update — обновить список установленных программных пакетов в соответствии с источниками, заданными в файле /etc/apt/sources.list .

sudo apt-get upgrade — обновить все программные пакеты, существующее в системе на данный момент времени.

sudo apt-get install mc — установить файловый менеджер Midhight Commander

apt-get remove —purge mc — удалить файловый менеджер Midhight Commander и все его конфигурационные файлы (параметр —purge )

Некоторые характерные особенности WSL

Несмотря на то, что WSL 2 стала значительным шагом развития подсистемы, в ней остаются множественные проблемы не позволяющие получить полноценную ОС семейства Linux в среде Windows. Хотя, изначально, при разработке подсистемы WSL, такая задача и не ставилась, ведь требовалось всего лишь средство для разработчиков, создающее универсальную, быстродействующую и привычную среду в рамках ОС Windows. Если постановка задачи не изменится, то очевидно, подсистема WSL никогда не заменит ”настоящий” Linux, хотя и приблизится к нему вплотную.

В частности, в реализации WSL на вторую половину 2020 г. нет возможности установки модулей ядра, не реализован стандартный для Linux механизм сокетов, нет полноценного взаимодействия между процессами и т.д. и т.п. Как результат – нет графической оболочки пользователя, нет возможности использования приложения, требующих наличие драйвера ядра, не работает огромное количество системных служб. Часть проблем будет решаться по мере выхода новых версий WSL, либо с применением альтернативных решений, в том числе и от сторонних разработчиков, как например WSL SSH Launcher , который можно загрузить из Microsoft Store и использовать для запуска сервиса ssh в среде WSL. Программа платная ($0.99), но имеется и бесплатная пробная версия.

Страницы с описанием и примерами команд подсистемы WSL:

BASH — командная оболочка BASH в подсистеме Windows для Linux (WSL).


WSL — выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

WSLconfig — конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети

КРИТИКА LINUX ФИРМОЙ MICROSOFT

Этот раздел документа призван продемонстрировать более высокую производительность NT по сравнению с Linux на файловых операциях, сервисах Web, транзакциях баз данных и т. п., в подтверждение чему приводятся ссылки на результаты тестирования очень уважаемых компаний.

Однако за последний год мне приходилось видеть настолько различные результаты тестов, что я волей-неволей начал относиться к ним с большой осторожностью. Например, в тестах Sm@rt Reseller программа samba 2.0 на платформе ядра Linux 2.2 показала почти трехкратное преимущество над Windows NT 4.0, тогда как в тестах Mindcraft все оказалось с точностью до наоборот (2,5-кратное преимущество NT). Тем не менее мне кажется, что приведенные в документе данные PC Week Lab (http://www.zdnet.com/products/stories/ reviews/0,4161,1015266,00.html) отражают реальную картину (преимущество NT над Linux/Samba на 52% для однопроцессорных конфигураций и 110% — для четырехпроцессорной конфигурации). Такие выводы позволяет сделать то обстоятельство, что участие в тестировании принимали представители обеих сторон — Microsoft и RedHat Software.

Не ставя под сомнение результаты PC Week Lab, я только хотел бы отметить, что тестирование проводилось на компьютерах Intel. Когда-то Windows NT могла функционировать на нескольких платформах (Intel, PowerPC, Alpha, MIPS), но сейчас фактически осталась только Intel. В то же время Linux выполняется на множестве платформ, включая самые последние системы RISC. Но коль скоро речь идет о сравнении «голой» мощности, то я бы посоветовал установить Linux/Samba на одну из этих «навороченных» систем. Кроме того, у меня нет ни малейшего сомнения, что на маломощных компьютерах с ограниченным размером оперативной памяти Linux/Samba может дать фору NT.

Тем не менее надо признать, что поддержка многопроцессорных конфигураций в Linux реализована не лучшим образом, с чем согласны сами разработчики Linux. Но делать такой же вывод в отношении UNIX в целом, как минимум, несерьезно. Мощные UNIX имеют такую высокую степень масштабируемости, какой Windows NT/2000 достигнет в лучшем случае через несколько лет.

Не вполне уместны претензии Microsoft к Linux по поводу максимального размера оперативной памяти. Microsoft утверждает, что Linux поддерживает только 2 Гбайт памяти, тогда как NT — 4 Гбайт. Однако Microsoft признает, что отдельные поставщики Linux уже сейчас реализовали поддержку 4 Гбайт памяти. Стоит также вспомнить, что сама Microsoft реализовала такую поддержку только недавно и только в корпоративной версии NT 4.0.

Microsoft указывает, что раздел подкачки (свопинга) Linux ограничен 128 Мбайт, но это ошибочное утверждение. В настоящее время данное ограничение устранено, в чем я убедился, тестируя RedHat Linux 6.1. Но даже в устаревших версиях Linux, где ограничение действительно имело место, оно не вызывало никаких отрицательных последствий. Дело в том, что ОС Linux может использовать до восьми разделов подкачки одновременно.

Но вот что Microsoft замалчивает, так это требования к минимальному размеру оперативной памяти и других ресурсов. Пусть кто-нибудь попробует установить NT 4.0 на компьютер Intel 386 с 8 Мбайт памяти и диском в 60 Мбайт. А ведь такие компьютеры Linux до сих пор используются в качестве маршрутизаторов или систем удаленного доступа.

Microsoft призывает пользователей не верить сказкам о стабильности и надежности Linux, но вместе с тем сама оперирует сомнительными доводами, в частности тем, что такие-то и такие-то организации используют NT для критически важных приложений. Охотно в это верю, но, как показывает статистика, подавляющее большинство крупных компаний для действительно критичных приложений предпочитает мощные системы UNIX и мэйнфреймы.

Microsoft правильно указывает на то, что одним из самых неприятных ограничений Linux является используемая в этой системе файловая система ext2. Действительно, без наличия журнальной файловой системы ОС не может претендовать на применение в корпоративной среде. Однако в данной связи я хотел бы сделать пару замечаний. Во-первых, NTFS из состава Windows NT сама далеко не совершенна. По своим возможностям NTFS значительно уступает файловым системам коммерческих UNIX. Во-вторых, для Linux уже разработаны журнальные файловые системы, хотя пока они и не входят в стандартную поставку.

Microsoft указывает на слабую поддержку в Linux кластерных технологий. И это действительно так. Но и Microsoft ушла недалеко: ту поддержку, которую компания реализовала в NT, некоторые специалисты с трудом соглашаются называть кластером. Во всяком случае кластеры NT серьезно уступают по возможностям кластерам мощных UNIX.

При сравнении надежности Microsoft умалчивает ряд фактов, способных бросить тень на NT. И дело не только в том, что исходные коды Linux общедоступны, и при нахождении проблемы оперативно исправляются. Мне кажется, что архитектура NT в принципе не очень подходит для решения многих серверных задач.

Как известно, поддержка графики реализована в NT на уровне ядра, тогда как в UNIX (Linux в том числе) графическая система работает как обычное пользовательское приложение (т. е. отделена от ядра). При прочих равных условиях это обеспечивает преимущество NT на графических операциях по сравнению с UNIX. Но зачем это нужно в случае серверов? Поддержка графики на уровне ядра приводит к повышению требований к размеру оперативной памяти и снижает надежность системы. И ничего не дает взамен.

Еще одна слабость NT — это своеобразная процедура инсталляции программно-аппаратного обеспечения. Очень часто при установке того или иного приложения систему надо перезагружать. Как же можно говорить о соответствии NT требованиям для корпоративных приложений, где сервер должен работать непрерывно? В современных UNIX на базе RISC-машин перезагрузка компьютера рассматривается как исключительный случай.

Конечно, ОС Linux еще далеко до Solaris или HP-UX, но требования к перезагрузке компьютера для нее не такие жесткие, как для NT. Тем не менее у NT и большинства разновидностей UNIX есть общая проблема. Все подобные системы задействуют только два кольца (уровня привилегий) процессора. В частности, для процессоров Intel системы используют нулевое (уровень ядра) и третье (пользовательский уровень) кольцо. Причем в нулевом кольце «крутятся» ядро системы и драйверы устройств. В то же время процессоры Intel уже давно имеют четыре кольца.

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

Microsoft указывает, что бесплатность Linux — это не более, чем миф.

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

Microsoft приводит данные, что эксплуатация (Total Cost of Ownership, TCO) Windows NT обходится на 37% дешевле, чем UNIX, и что нет причин считать, что в этом смысле Linux чем-то отличается от других UNIX.

Как известно, есть обман, а есть и статистика. При таком подсчете все свалено в одну кучу. Почему-то Microsoft по затратам на использование приравняла Linux к коммерческим UNIX. Если организации требуется корпоративный сервер для выполнения очень важных приложений, и одна минута его простоя обойдется в сотни тысяч или миллионы долларов (в этой связи вспоминается Нью-Йоркская фондовая биржа), то о каком усредненном TCO может идти речь? Ни один специалист, находящийся в здравом рассудке, не установит NT. Пусть даже система будет бесплатной.

Для Linux все аналогично. Если компании требуется сервер Internet, подключенный по медленному каналу связи, а среди сотрудников компании есть специалисты по UNIX, то сам Бог велел использовать Linux. И это решение обойдется много дешевле, чем в случае NT. Не стоит забывать, что Linux и несколько тысяч приложений для этой ОС предлагаются практически бесплатно.

Можно согласиться, что подготовка специалиста по Linux требует затрат, порой превышающих затраты на обучение специалистов не только по NT, но и по коммерческим UNIX. Отчасти можно также согласиться и с утверждением, что настроить и управлять NT проще, чем Linux, хотя ситуация с Linux достаточно быстро меняется. Впрочем, на этот счет существуют и иные мнения.

К большому сожалению поклонников Linux, доводы Microsoft в отношении невысокой безопасности Linux нельзя отвергнуть с порога, поскольку они основаны на очевидных фактах. Прежде всего это относится к отсутствию поддержки списков контроля доступа (ACL), что говорит о слабости Linux на корпоративном уровне. Большинство коммерческих UNIX поддерживает ACL на уровне файловой системы, но в стандартной поставке Linux не имеет даже этого. В свою очередь Windows NT обеспечивает поддержку ACL не только на уровне файлов и каталогов, но и на уровне объектов операционной системы, чем могут похвастаться лишь отдельные версии UNIX.

Microsoft указывает, что концепция безопасности Linux построена по принципу «все или ничего», в частности административные привилегии невозможно делегировать без передачи всех административных полномочий. Но это не совсем так. Во-первых, Linux (так же, как и UNIX вообще) предусматривает возможность смены идентификатора пользователя и группы во время выполнения программы (биты SUID и SGUID). В данном случае во время работы конкретной программы пользователь получает права другого пользователя, в том числе и администратора. Однако справедливости ради стоит отметить, что некорректное использование битов SUID представляет серьезную угрозу для безопасности системы. Во-вторых, в Linux доступ к отдельным приложениям можно регулировать с помощью технологии загружаемых модулей аутентификации (Pluggable Authentication Module, PAM).

Не стоит забывать и о том, что при обнаружении бреши в «обороне» системы «заплаты» выпускаются разработчиками Linux более оперативно. Microsoft подчеркивает, что Windows NT соответствует классу безопасности C2 по «Оранжевой книге», правда, забывая упомянуть, что это самый низкий класс, требующий сертификации. Но для абсолютного большинства пользователей (особенно российских) критерии безопасности «Оранжевой книги» не имеют ровно никакого значения.


Мне не понравилось также, что Microsoft ассоциирует Linux со всеми UNIX. Для справки сообщаю, что самыми безопасными системами, в соответствии с «Оранжевой книгой», являются именно UNIX, хотя и специализированные версии.

Мало возражений вызывает утверждение Microsoft о неготовности Linux для настольного применения. Для массового пользователя ОС Linux — не самая лучшая альтернатива, хотя для некоторых задач она вполне приемлема. Это, прежде всего, задачи сетевого администрирования, программы научного и инженерного характера. Но вряд ли стоит надеяться, что какая-нибудь секретарша согласится перейти на Linux. Справедливости ради стоит отметить, что за последнее время разработчики много сделали для повышения удобства работы с Linux. В свою очередь, Windows NT тоже не назовешь идеальной для домашнего и офисного применения — большинство пользователей отдают предпочтение Windows 9x.

А забыла она сказать о том, что используемый в NT принцип хранения системной информации в реестре многим пользователям выходит боком. При сбоях системы и даже отдельных приложений реанимация реестра может превратиться в самый настоящий кошмар. Кроме того, часть информации хранится в текстовых файлах INI, что только запутывает ситуацию. В Linux практически вся информация о системе записывается в текстовые файлы, и квалифицированный специалист без труда может править ее вручную.

Слабым местом NT остается многопользовательский интерфейс, не идущий ни в какое сравнение с имеющимся в UNIX. К тому же в UNIX такой интерфейс встроен в систему, в то время как в случае NT необходимо приобретать довольно дорогие приложения.

В отличие от Linux, в Windows NT отсутствует система квотирования дискового пространства, обеспечивающая защиту от переполнения дисков и гарантирующая справедливое распределение пространства между пользователями.

Сравнение Linux с Windows NT это трудоемкий процесс. Я хотел дать Вам небольшую четкую таблицу с точными данными (используя такие понятия как более или менее дорогой, надежный, и масштабируемый), но сноски заняли бы больше места, чем сама таблица. Простая констатация фактов не получится, так как эти оценки очень сильно зависят от ситуаций, в которых они измеряются. Даже выбор правильных заголовков колонок очень труден для этих двух ОС из-за того, что Linux поставляется несколькими независимыми фирмами, а Microsoft не сравнима ни с кем по анонсированию изменений в функциональных возможностях (что в Windows NT версии 4.0 в июле 1996, что в июле 1997, или в июле 1998?).

Репозиторий программного обеспечения Linux для продуктов Майкрософт Linux Software Repository for Microsoft Products

Обзор Overview

Корпорация Майкрософт создает и поддерживает различные программные продукты для систем Linux и делает их доступными через стандартные репозитории пакетов APT и YUM. Microsoft builds and supports a variety of software products for Linux systems and makes them available via standard APT and YUM package repositories. В этом документе описывается, как настроить репозиторий в системе Linux, чтобы можно было установить или обновить программное обеспечение Microsoft Linux с помощью стандартных средств управления пакетами для дистрибутива. This document describes how to configure the repository on your Linux system, so that you can then install/upgrade Microsoft’s Linux software using your distribution’s standard package management tools.

Репозиторий программного обеспечения Microsoft Linux состоит из нескольких дочерних репозиториев: Microsoft’s Linux Software Repository is comprised of multiple sub-repositories:

произ. рабочий репозиторий рабочей области предназначен для пакетов, предназначенных для использования в рабочей среде. prod – The Production sub-repository is designated for packages intended for use in production. Эти пакеты коммерчески поддерживаются корпорацией Майкрософт в соответствии с условиями действующего соглашения о поддержке или программы, имеющейся в корпорации Майкрософт. These packages are commercially supported by Microsoft under the terms of the applicable support agreement or program that you have with Microsoft.

Очень важная для вас статья:  Sudbury Канада

MSSQL-Server — эти репозитории содержат пакеты для Microsoft SQL Server на Linux — см. также: SQL Server на Linux. mssql-server — These repositories contain packages for Microsoft SQL Server on Linux — See also: SQL Server on Linux.

Пакеты в репозиториях программного обеспечения Linux подчиняются условиям лицензии, расположенным в пакетах. Packages in the Linux software repositories are subject to the license terms located in the packages. Ознакомьтесь с условиями лицензионного соглашения перед использованием пакета. Please read the license terms prior to using the package. Установка и использование пакета составляют принятие этих условий. Your installation and use of the package constitutes your acceptance of these terms. Если вы не согласны с условиями лицензии, не используйте пакет. If you do not agree with the license terms, do not use the package.

Настройка репозиториев Configuring the repositories

Репозитории можно настроить автоматически, установив пакет Linux, который относится к дистрибутиву и версии Linux. Repositories can be configured automatically by installing the Linux package that applies to your Linux distribution and version. Пакет установит конфигурацию репозитория вместе с открытым ключом GPG, который используется такими инструментами, как APT/Yum/zypper, для проверки подписанных пакетов и метаданных репозитория. The package will install the repository configuration along with the GPG public key used by tools such as apt/yum/zypper to validate the signed packages and/or repository metadata.

Enterprise Linux (RHEL и варианты) Enterprise Linux (RHEL and variants)

Enterprise Linux 6 (EL6) Enterprise Linux 6 (EL6)

Enterprise Linux 7 (EL7) Enterprise Linux 7 (EL7)

Ubuntu Ubuntu

Ubuntu 14,04 (Trusted) Ubuntu 14.04 (Trusty)

Ubuntu 16,04 (Xenial) Ubuntu 16.04 (Xenial)

Ubuntu 18,04 (Бионик) Ubuntu 18.04 (Bionic)

Ubuntu 18,10 (космическими) Ubuntu 18.10 (Cosmic)

Ubuntu 19,04 (Disco) Ubuntu 19.04 (Disco)

SUSE Linux Enterprise 12 SUSE Linux Enterprise 12

Настройка вручную Manual Configuration

Файлы конфигурации репозитория доступны в Packages.Microsoft.com/config. Имя и расположение этих файлов можно найти с помощью следующего соглашения об именовании URI: The repository configuration files are available from packages.microsoft.com/config. The name and location of these files can be located using the following URI naming convention:

Ключ подписывания пакета и репозитория Package and Repository Signing Key


Linux Foundation: битва между Linux и Microsoft закончена

Битва между Linux и Microsoft, длившаяся два десятилетия с момента создания
Линусом Торвальдсом знаменитого ядра операционной системы, закончена. Linux
победил, говорит исполнительный директор Linux Foundation Джим Землин.

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

«Я считаю, нам больше не следует так заботиться о Microsoft», — заявил Землин.
«Компания была нашим большим противником, но теперь она выглядит, как
брыкающийся щенок».

В то время как акции Microsoft в течение последнего десятилетия стоят на
месте, лидер в области открытого программного обеспечения, компания Red Hat,
напротив, показала значительный рост, отмечает Землин. И программное обеспечение
на основе Linux представлено повсюду, заявляет он как сторонник открытого
проекта, который готовится к празднованию своего 20-летия.

«Я считаю, что 20-ая годовщина заслуживает воспоминаний, с чего мы начинали»,
— сказал Землин в интервью. У Linux было «скромное начало в виде студенческого
проекта в одном из колледжей Хельсинки, а на сегодняшний день данный проект
перерос в нечто глобальное, в основу, которая обеспечивает работу 70% мировых
бирж и управление большей частью интернет-проектов, будь то Facebook, Google или
Amazon».

Linux можно найти в устройствах бытовой электроники, таких как телевизоры и
видеокамеры Sony, в Amazon Kindle, в смартфонах и планшетах на базе Google
Android. Linux лидирует на рынке, начиная с крошечных встраиваемых систем и
заканчивая крупнейшими суперкомпьютерами, причем более 90% из 500 самых мощных
компьютерных систем мира используют Linux.

«Linux доминирует почти во всех разновидностях компьютерной техники, за
исключением настольных компьютеров», — заметил Землин.

Девять из десяти традиционных настольных компьютеров по-прежнему находятся
под управлением Windows, остальные отходят к Mac и Linux. Поражение Linux в
попытке захватить значительную долю десктопов «многих разочаровывает», — признал
Землин. Но «хорошая новость заключается в том, что традиционные настольные ПК
становятся менее значимыми, а области, в которых Linux очень сильна в плане
клиентов, напротив, увеличивают свое значение».

Здесь, конечно же, имеются в виду смартфоны и планшеты, где Microsoft изо
всех сил пытается сместить с позиций Apple и Google Android. Тем не менее,
последнее исследование IDC предсказало, что новые устройства с Microsoft,
Windows Phone 7, обойдут iPhone и будут иметь большую долю на мировом
рынке к 2015 году.

Когда Землина спросили о данном предположении, он отреагировал, если точнее
описать, несколькими секундами истерического смеха. «Боже мой, Стив Джобс!
Продавай акции Apple!», — пошутил он.

Оптимизм Землина связан с успехом Android, которая использует ядро,
полученное от Linux. Устройства с Android теперь получили большее
распространение, чем iPhone, а webOS от HP на базе Linux также является
жизнеспособным конкурентом на мобильном рынке.

Землин полагает, что смартфоны и планшеты переманивают людей от настольных ПК
и ноутбуков, так что Microsoft сдаст свои позиции на компьютерном рынке.
«Сегодня люди больше используют смартфоны для различных операций, нежели
традиционные ПК», — отметил Землин. «В данном случае, Linux действительно имеет
преобладающую рыночную долю за счет таких систем, как Android, или за счет
других версий Linux в мобильном пространстве».

Хотя среди планшетов Apple iPad несомненно является лидером, что создает
проблемы для тех, кто предпочитает технологии с открытым кодом.

«Apple является злейшим врагом и лучшим другом, если ты сторонник открытого
кода», — говорит Землин. «Корпорация Apple сделала много хорошего для открытого
ПО и для Linux. Она изменила понятие клиента, что было хорошо для Linux. В
продуктах Apple также большое количество компонентов с открытым кодом, и в
некоторых случаях компания склонна плодотворно сотрудничать с open
source-сообществом. Но я не собираюсь утверждать, что они не имеют также и очень
закрытых систем».

Линус Торвальдс начал разработку ядра Linux в 1991 году как альтернативу Unix.
В зависимости от точки зрения, Linux зачал свое существование либо 25 августа
1991 года, когда Товальдс опубликовал сообщение, в котором говорилось, что он
занимается созданием свободной операционной системой «просто как хобби, она не
будет крупным и профессиональным проектом вроде gnu», либо 5 октября 1991, когда
была выпущена первая версия Linux. Приверженцы Linux будут праздновать обе даты,
но главные мероприятия пройдут с 17 по 19 августа на конференции LinuxCon North
America в Ванкувере, Канада. Linux Foundation также проведет значительное
мероприятие на этой неделе в Сан-Франциско, Linux Foundation Collaboration
Summit.

Linux Foundation, в которой Торвальдс является сотрудником, посвящена
ускорению внедрения и развития Linux, а также объединению людей для совместной
работы и внесения большего количества технических инноваций в ядро. Созданная в
2007 году в Сан-Франциско, организация имеет в своем составе и среди спонсоров
многие известные в технической индустрии компании, включая IBM, Intel, Oracle,
Cisco, Google, HP, Red Hat и десятки других.

«Это почти все, за исключением Microsoft», — отметил Землин. «Мы получаем
деньги от корпораций, а также от людей, которые просто верят в Linux и
используют его изо дня в день».

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

И, конечно же, существует проблема, связанная с тем, что Microsoft
по-прежнему доминирует на рынке десктопов. На вопрос, почему Linux не удалось
увеличить долю на рынке настольных ПК, Землин ответил: «Там был монополист,
который просто напросто не допускал чьего-либо другого появления на рынке».

Другие, как, например, создатель GNOME Мигель де Икаса, заявили, «не похоже,
что разработчики Linux и открытого ПО объединяют наши усилия, когда речь заходит
о понимании потребностей конечных пользователей настольных ПК».

Но в то время, как Microsoft продала 300 миллионов лицензий Windows 7 и
сообщила о рекордной выручке за последний квартал в размере приблизительно 20
миллиардов долларов, Землин заявил, что люди Linux пока что не отказываются от
борьбы за рынок десктопов.

Однако сами настольные операционные системы становятся все менее важными, так
как люди все больше и больше делают свою работу в браузере, отметил он. В
будущем вам понадобиться лишь браузер, запущенный на какой-либо «легковесной»
операционной системе. И пока Internet Explorer работает лишь в Windows,
крупнейшие открытые проекты, такие как Chrome и Firefox, могут
использовать и Windows, и Mac, и Linux.

«Реальность такова, что время «главного шоу» еще не наступило», — отметил
Землин. «Операционные системы в общем как приливы и отливы, их течение очень
медленное и незаметное во времени. У людей займет некоторое время понимание
того, что им, возможно, больше и не нужна вся та вычислительная мощь десктопов,
им понадобиться время на то, что бы привыкнуть к разнообразному проявлению
компьютеров в жизни».

Возможен ли переход с Windows на Linux для Front-end’a?

Хочу узнать о возможности перехода с Виндовс на Линукс для фронт-энд разработчика.
В основном я пользуюсь Firefox, Phpstorm, Photoshop.
Будут ли с ними проблемы?
И вообще, трудно ли с окон пересаживаться на Линукс? Это как с Grunt на Gulp или похуже?
Основная причина — хочу уметь работать с Линуксом.
Что скажите?


  • Вопрос задан более трёх лет назад
  • 1070 просмотров

Это как с Grunt на Gulp или похуже?

Это как с gulp на grunt.
Возможно, но сложно и нецелесообразно.

Если хочется куда-то перейти, то смотрите в сторону OS X.

Основная проблема — Photoshop-а нет под Linux нативного. Только wine, виртуалки и прочее. А это уже черевато проблемами, костылями или еще чем то — заранее сказать нельзя.
Плюс в линуксе субъективно будут по другому выглядеть шрифты — там своя система сглаживания и рендера шрифтов.

Короче, стандартный совет — начните с виртуалки. А там сами решите — надо оно вам или нет.

Возможно, только зачем?

Основная причина — хочу уметь работать с Линуксом.

Ну так работайте, кто мешает?
Умение работать с системой, и постоянное использование системы на десктопе несколько разные вещи.
Можно уметь работать не используя на десктопе, можно сидеть на линуксе и не уметь с ним работать.
Чисто мое мнение — линукс на десктопе смотрится откровенно слабо, на фоне виндовс и макоси.
Хотите научится — ставьте в виртуалку и учитесь.

Разумнее всего, самому работать в удобной и привычной среде.

КРИТИКА LINUX ФИРМОЙ MICROSOFT

Этот раздел документа призван продемонстрировать более высокую производительность NT по сравнению с Linux на файловых операциях, сервисах Web, транзакциях баз данных и т. п., в подтверждение чему приводятся ссылки на результаты тестирования очень уважаемых компаний.

Однако за последний год мне приходилось видеть настолько различные результаты тестов, что я волей-неволей начал относиться к ним с большой осторожностью. Например, в тестах Sm@rt Reseller программа samba 2.0 на платформе ядра Linux 2.2 показала почти трехкратное преимущество над Windows NT 4.0, тогда как в тестах Mindcraft все оказалось с точностью до наоборот (2,5-кратное преимущество NT). Тем не менее мне кажется, что приведенные в документе данные PC Week Lab (http://www.zdnet.com/products/stories/ reviews/0,4161,1015266,00.html) отражают реальную картину (преимущество NT над Linux/Samba на 52% для однопроцессорных конфигураций и 110% — для четырехпроцессорной конфигурации). Такие выводы позволяет сделать то обстоятельство, что участие в тестировании принимали представители обеих сторон — Microsoft и RedHat Software.

Не ставя под сомнение результаты PC Week Lab, я только хотел бы отметить, что тестирование проводилось на компьютерах Intel. Когда-то Windows NT могла функционировать на нескольких платформах (Intel, PowerPC, Alpha, MIPS), но сейчас фактически осталась только Intel. В то же время Linux выполняется на множестве платформ, включая самые последние системы RISC. Но коль скоро речь идет о сравнении «голой» мощности, то я бы посоветовал установить Linux/Samba на одну из этих «навороченных» систем. Кроме того, у меня нет ни малейшего сомнения, что на маломощных компьютерах с ограниченным размером оперативной памяти Linux/Samba может дать фору NT.

Тем не менее надо признать, что поддержка многопроцессорных конфигураций в Linux реализована не лучшим образом, с чем согласны сами разработчики Linux. Но делать такой же вывод в отношении UNIX в целом, как минимум, несерьезно. Мощные UNIX имеют такую высокую степень масштабируемости, какой Windows NT/2000 достигнет в лучшем случае через несколько лет.

Не вполне уместны претензии Microsoft к Linux по поводу максимального размера оперативной памяти. Microsoft утверждает, что Linux поддерживает только 2 Гбайт памяти, тогда как NT — 4 Гбайт. Однако Microsoft признает, что отдельные поставщики Linux уже сейчас реализовали поддержку 4 Гбайт памяти. Стоит также вспомнить, что сама Microsoft реализовала такую поддержку только недавно и только в корпоративной версии NT 4.0.

Microsoft указывает, что раздел подкачки (свопинга) Linux ограничен 128 Мбайт, но это ошибочное утверждение. В настоящее время данное ограничение устранено, в чем я убедился, тестируя RedHat Linux 6.1. Но даже в устаревших версиях Linux, где ограничение действительно имело место, оно не вызывало никаких отрицательных последствий. Дело в том, что ОС Linux может использовать до восьми разделов подкачки одновременно.

Но вот что Microsoft замалчивает, так это требования к минимальному размеру оперативной памяти и других ресурсов. Пусть кто-нибудь попробует установить NT 4.0 на компьютер Intel 386 с 8 Мбайт памяти и диском в 60 Мбайт. А ведь такие компьютеры Linux до сих пор используются в качестве маршрутизаторов или систем удаленного доступа.

Microsoft призывает пользователей не верить сказкам о стабильности и надежности Linux, но вместе с тем сама оперирует сомнительными доводами, в частности тем, что такие-то и такие-то организации используют NT для критически важных приложений. Охотно в это верю, но, как показывает статистика, подавляющее большинство крупных компаний для действительно критичных приложений предпочитает мощные системы UNIX и мэйнфреймы.

Microsoft правильно указывает на то, что одним из самых неприятных ограничений Linux является используемая в этой системе файловая система ext2. Действительно, без наличия журнальной файловой системы ОС не может претендовать на применение в корпоративной среде. Однако в данной связи я хотел бы сделать пару замечаний. Во-первых, NTFS из состава Windows NT сама далеко не совершенна. По своим возможностям NTFS значительно уступает файловым системам коммерческих UNIX. Во-вторых, для Linux уже разработаны журнальные файловые системы, хотя пока они и не входят в стандартную поставку.

Microsoft указывает на слабую поддержку в Linux кластерных технологий. И это действительно так. Но и Microsoft ушла недалеко: ту поддержку, которую компания реализовала в NT, некоторые специалисты с трудом соглашаются называть кластером. Во всяком случае кластеры NT серьезно уступают по возможностям кластерам мощных UNIX.

При сравнении надежности Microsoft умалчивает ряд фактов, способных бросить тень на NT. И дело не только в том, что исходные коды Linux общедоступны, и при нахождении проблемы оперативно исправляются. Мне кажется, что архитектура NT в принципе не очень подходит для решения многих серверных задач.

Как известно, поддержка графики реализована в NT на уровне ядра, тогда как в UNIX (Linux в том числе) графическая система работает как обычное пользовательское приложение (т. е. отделена от ядра). При прочих равных условиях это обеспечивает преимущество NT на графических операциях по сравнению с UNIX. Но зачем это нужно в случае серверов? Поддержка графики на уровне ядра приводит к повышению требований к размеру оперативной памяти и снижает надежность системы. И ничего не дает взамен.

Еще одна слабость NT — это своеобразная процедура инсталляции программно-аппаратного обеспечения. Очень часто при установке того или иного приложения систему надо перезагружать. Как же можно говорить о соответствии NT требованиям для корпоративных приложений, где сервер должен работать непрерывно? В современных UNIX на базе RISC-машин перезагрузка компьютера рассматривается как исключительный случай.

Конечно, ОС Linux еще далеко до Solaris или HP-UX, но требования к перезагрузке компьютера для нее не такие жесткие, как для NT. Тем не менее у NT и большинства разновидностей UNIX есть общая проблема. Все подобные системы задействуют только два кольца (уровня привилегий) процессора. В частности, для процессоров Intel системы используют нулевое (уровень ядра) и третье (пользовательский уровень) кольцо. Причем в нулевом кольце «крутятся» ядро системы и драйверы устройств. В то же время процессоры Intel уже давно имеют четыре кольца.

Очень важная для вас статья:  Спортивные каналы в Торонто Канада

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


Microsoft указывает, что бесплатность Linux — это не более, чем миф.

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

Microsoft приводит данные, что эксплуатация (Total Cost of Ownership, TCO) Windows NT обходится на 37% дешевле, чем UNIX, и что нет причин считать, что в этом смысле Linux чем-то отличается от других UNIX.

Как известно, есть обман, а есть и статистика. При таком подсчете все свалено в одну кучу. Почему-то Microsoft по затратам на использование приравняла Linux к коммерческим UNIX. Если организации требуется корпоративный сервер для выполнения очень важных приложений, и одна минута его простоя обойдется в сотни тысяч или миллионы долларов (в этой связи вспоминается Нью-Йоркская фондовая биржа), то о каком усредненном TCO может идти речь? Ни один специалист, находящийся в здравом рассудке, не установит NT. Пусть даже система будет бесплатной.

Для Linux все аналогично. Если компании требуется сервер Internet, подключенный по медленному каналу связи, а среди сотрудников компании есть специалисты по UNIX, то сам Бог велел использовать Linux. И это решение обойдется много дешевле, чем в случае NT. Не стоит забывать, что Linux и несколько тысяч приложений для этой ОС предлагаются практически бесплатно.

Можно согласиться, что подготовка специалиста по Linux требует затрат, порой превышающих затраты на обучение специалистов не только по NT, но и по коммерческим UNIX. Отчасти можно также согласиться и с утверждением, что настроить и управлять NT проще, чем Linux, хотя ситуация с Linux достаточно быстро меняется. Впрочем, на этот счет существуют и иные мнения.

К большому сожалению поклонников Linux, доводы Microsoft в отношении невысокой безопасности Linux нельзя отвергнуть с порога, поскольку они основаны на очевидных фактах. Прежде всего это относится к отсутствию поддержки списков контроля доступа (ACL), что говорит о слабости Linux на корпоративном уровне. Большинство коммерческих UNIX поддерживает ACL на уровне файловой системы, но в стандартной поставке Linux не имеет даже этого. В свою очередь Windows NT обеспечивает поддержку ACL не только на уровне файлов и каталогов, но и на уровне объектов операционной системы, чем могут похвастаться лишь отдельные версии UNIX.

Microsoft указывает, что концепция безопасности Linux построена по принципу «все или ничего», в частности административные привилегии невозможно делегировать без передачи всех административных полномочий. Но это не совсем так. Во-первых, Linux (так же, как и UNIX вообще) предусматривает возможность смены идентификатора пользователя и группы во время выполнения программы (биты SUID и SGUID). В данном случае во время работы конкретной программы пользователь получает права другого пользователя, в том числе и администратора. Однако справедливости ради стоит отметить, что некорректное использование битов SUID представляет серьезную угрозу для безопасности системы. Во-вторых, в Linux доступ к отдельным приложениям можно регулировать с помощью технологии загружаемых модулей аутентификации (Pluggable Authentication Module, PAM).

Не стоит забывать и о том, что при обнаружении бреши в «обороне» системы «заплаты» выпускаются разработчиками Linux более оперативно. Microsoft подчеркивает, что Windows NT соответствует классу безопасности C2 по «Оранжевой книге», правда, забывая упомянуть, что это самый низкий класс, требующий сертификации. Но для абсолютного большинства пользователей (особенно российских) критерии безопасности «Оранжевой книги» не имеют ровно никакого значения.

Мне не понравилось также, что Microsoft ассоциирует Linux со всеми UNIX. Для справки сообщаю, что самыми безопасными системами, в соответствии с «Оранжевой книгой», являются именно UNIX, хотя и специализированные версии.

Мало возражений вызывает утверждение Microsoft о неготовности Linux для настольного применения. Для массового пользователя ОС Linux — не самая лучшая альтернатива, хотя для некоторых задач она вполне приемлема. Это, прежде всего, задачи сетевого администрирования, программы научного и инженерного характера. Но вряд ли стоит надеяться, что какая-нибудь секретарша согласится перейти на Linux. Справедливости ради стоит отметить, что за последнее время разработчики много сделали для повышения удобства работы с Linux. В свою очередь, Windows NT тоже не назовешь идеальной для домашнего и офисного применения — большинство пользователей отдают предпочтение Windows 9x.

А забыла она сказать о том, что используемый в NT принцип хранения системной информации в реестре многим пользователям выходит боком. При сбоях системы и даже отдельных приложений реанимация реестра может превратиться в самый настоящий кошмар. Кроме того, часть информации хранится в текстовых файлах INI, что только запутывает ситуацию. В Linux практически вся информация о системе записывается в текстовые файлы, и квалифицированный специалист без труда может править ее вручную.

Слабым местом NT остается многопользовательский интерфейс, не идущий ни в какое сравнение с имеющимся в UNIX. К тому же в UNIX такой интерфейс встроен в систему, в то время как в случае NT необходимо приобретать довольно дорогие приложения.

В отличие от Linux, в Windows NT отсутствует система квотирования дискового пространства, обеспечивающая защиту от переполнения дисков и гарантирующая справедливое распределение пространства между пользователями.

Сравнение Linux с Windows NT это трудоемкий процесс. Я хотел дать Вам небольшую четкую таблицу с точными данными (используя такие понятия как более или менее дорогой, надежный, и масштабируемый), но сноски заняли бы больше места, чем сама таблица. Простая констатация фактов не получится, так как эти оценки очень сильно зависят от ситуаций, в которых они измеряются. Даже выбор правильных заголовков колонок очень труден для этих двух ОС из-за того, что Linux поставляется несколькими независимыми фирмами, а Microsoft не сравнима ни с кем по анонсированию изменений в функциональных возможностях (что в Windows NT версии 4.0 в июле 1996, что в июле 1997, или в июле 1998?).

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Общий взгляд на подсистему Windows для Linux

Общий взгляд на подсистему Windows для Linux

  • Автор: Уваров А.С.
  • 20.01.2020

Взаимоотношения Windows и Linux долгое время были натянутыми, а совместному применению обеих систем мешало большое количество разного рода барьеров, многие из которых были возведены искусственно. Но в последнее время все поменялось и Microsoft неожиданно для многих представила подсистему Windows для Linux, более известную как «Ubuntu в Windows 10». В данной статье мы расскажем, чем данная подсистема является, чем не является и для чего ее можно использовать.

Что такое подсистема Windows для Linux (Windows Subsystem for Linux, WSL)? Это не эмулятор и не виртуальная машина, а именно подсистема, основная задача которой — создать для разработчиков и тестеров привычное Linux окружение в среде Windows. Цели создать полноценную систему у разработчиков не стояло и не стоит, поэтому не следует рассматривать WSL как полноценную замену виртуальной машине, у WSL иные задачи.


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

Прежде всего это коснулось файловой системы, для работы Linux подсистемы с диском используется дополнительный слой абстракции в виде Virtual File System (VFS), которая позволяет Linux работать с собственными файлами, расположенными на NTFS, и вообще вся инсталляция Linux представляет собой обычную папку, которую вы можете открыть через проводник, точно также в среде Linux вы можете перемещаться по файловой системе Windows.

Удобно? Да. Но ради этого пришлось отказаться от собственных инструментов Linux по работе с файловой системой и дисками, также вы не сможете использовать FUSE.

Второе ограничение связано с сетью, в Windows 10 1607 сетевая подсистема Linux в WSL не реализована, частично это исправлено в Windows 10 1703, но рассчитывать на полноценную работу с сетью не стоит, потому как сетевой стек Linux в WSL заменен еще одним слоем абстракции, позволяющим использовать для работы сетевые возможности Windows.

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

В чем плюсы данного подхода? Во-первых — экономия ресурсов, запущенная виртуальная машина гарантированно потребляет нужный для работы ОС объем оперативной памяти, не оптимально расходует дисковое пространство, хотя бы потому что вам придется держать две копии рабочих файлов, на хосте и внутри виртуалки. Это может быть критично для слабых машин, например, для ноутбука, который, зато удобно брать с собой для демонстрации результата работы заказчику.

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

И наконец, это полноценная Linux среда, аналогичная производственной, поэтому вы можете быть уверены, что с переносом в рабочую среду проблем у вас не возникнет, особенно если там вы используете аналогичные версии ПО.

Как установить подсистему Windows для Linux

Установить WSL довольно просто, для начала воспользуйтесь новой Панелью управления и включите в ней Режим разработчика.

Затем в классической Панели управления откройте оснастку Программы и компоненты — Включение и отключение компонентов Windows и установите компонент Подсистема Windows для Linux (бета-версия).

Теперь откройте командную строку и выполните команду:

затем ответьте на несколько простых вопросов.

Важно! Для успешной установки WSL вы должны осуществить вход в систему с учетной записью Microsoft.

На этом установка закончена и вас встречает командная строка Linux, можете начинать обживать систему. В этом плане WSL ничем не отличается от обычного Linux, в вашем распоряжении привычный пакетный менеджер и родные репозитории Ubuntu. В Windows 10 1607 это Ubuntu 14.04 LTS, а в выпуске 1703 — Ubuntu 16.04 LTS, которая также была доступна в инсайдерских версиях.

Подсистема установлена, это хорошо, самое время рассмотреть ее типичные применения.

Администрирование Linux-систем

Как известно, для удаленного администрирования Linux нет ничего лучше Linux. Если же ваша основная система Windows, то для работы с Linux серверами вам потребуется сразу несколько инструментов, как правило джентельменский набор составляют PuTTY и WinSCP, если вы используете аутентификацию по ключам, то к ним еще добавится Pageant. Это проверенные временем и эффективные инструменты, но постоянно переключаться между ними не совсем удобно.

Используя WSL, вы окунаетесь в родную среду и вам не нужно постоянно скакать между окнами. Тем более что SSH позволяет делать много интересных вещей. Например, удаленно выполнять команды и скрипты, получая результат на свой ПК. Допустим вы хотите скопировать с рабочего сервера свой конфиг Squid, чтобы разместить его на форуме. Нет ничего проще, выполните что-то вроде:

Первая часть команды соединяется по SSH с удаленным сервером example.com под учетной записью user и выводит в стандартный поток локальной системы содержимое squid.conf. Затем мы выбираем все строки, кроме комментариев, удаляем пустые, и выводим то, что осталось в файл на рабочем столе Windows-системы.

Как видим, WSL позволяет удобно соединить в единое пространство удаленную систему, локальный Linux и вашу Windows. Никаких преград больше нет, передавайте и обрабатывайте файлы не задумываясь где они находятся и откуда и куда их надо скопировать или переместить.

Также вы можете легко выполнять на удаленном сервере локальные скрипты, особенно если их размещение в удаленной системе нежелательно (потенциально небезопасны, содержат приватные данные и т.д.). Для этого выполните:

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

Разработка

Если вы занимаетесь разработкой на PHP, Python и т.п. языках, то вы можете отлаживать собственные проекты сразу в родной среде, продолжая при этом использовать привычные инструменты разработки. Достаточно разместить проект в контейнере WSL и одновременно работать с ним из Windows-приложений, так как все данные внутри WSL доступны через обычный проводник.

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

Кроме того, можно и наоборот использовать Linux-инструменты для работы с Windows проектами, например, git. Да, он существует и под Windows, но более удобно работать с ним в его родной среде.

Чтобы создать git-репозиторий, скажем, проекта Visual Studio, достаточно перейти в в его каталог и инициализировать новый репозиторий:

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

Сайтостроение

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

В качестве тестового сервера для такой работы обычно используется что-то вроде XAMMP/Денвер/Open Server и т.д. Нисколько не умаляя достоинств этих пакетов следует признать и их серьезные недостатки. Главный из которых — существенное отличие тестовой среды от производственной, что может породить проблемы при переносе проекта. Это могут быть как ошибки в путях, так и более серьезные проблемы, связанные с неправильным конфигурированием веб-сервера (например, через директивы htaccess), либо отсутствием каких-либо модулей.

Кроме того данные пакеты не позволяют выполнить еще одну важную задачу — проверку производительности и ее тонкую настройку, которую придется выполнять уже в производственной среде.

Подсистема Windows для Linux будет настоящей находкой в данном случае, потому что позволяет запустить локально полную копию производственной среды и работать в условиях максимально приближенным к реальным. А дополнительное удобство обеспечивается тем, что все файлы вашего сайта также будут доступны локально в Windows-системе, что дает возможность использовать привычные инструменты для работы с ними.

Кроме того, вы можете использовать все богатство инструментов Linux для отладки вашего сайта, например, curl для работы c HTTP-запросами. Да, curl есть и под Windows, но в Linux мы легко можем передать результат по конвейеру и обработать его нужным нам образом. Довольно распространенной задачей при переходе на HTTPS является поиск небезопасного содержимого, обычно это картинки или скрипты подключенные в коде страницы по небезопасному протоколу, эту задачу легко решить, скомбинировав работу двух команд:

Как видим, для веб-разработчика WSL представляет не только удобную тестовую среду, но и является удобным инструментом по отладке, заменяя множество отдельных утилит и инструментов.

Работа с файлами и данными Windows

Мы думаем, что каждый, кто работал в Linux отмечал все богатство и широкие возможности консольных утилит в плане обработки и изменения данных. Быстро найти и отобрать по фильтру, произвести замену одного значения на другое, причем все это одновременно и с выводом результата в нужное место. Теперь все это доступно вам и в Windows.

Многие задачи, которые в Windows требуют применения стороннего софта или написания пакетных файлов в Linux часто решаются в одну строку. Например, пакетное переименование по маске:

Приведенная выше команда переименует в текущей директории все файлы JPG с именем типа DSCN1023.JPG в файлы вида My_Photo1023.JPG. Другая распространенная задача — заменить пробелы в именах файлов на подчеркивание. Тоже очень просто:

Задача посложнее. Есть некая база в формате CSV, которая содержит ФИО, телефон и еще некоторую информацию, допустим нам надо отобрать из нее записи по каждому из мобильных операторов. Отлично, набираем в консоли:

После ее выполнения получим новый файл, который содержит записи только с телефонами оператора МТС, коды которого мы указали как условие для утилиты egrep.

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

Добавить комментарий