Эмулятор Linux JSLinux — это, как можно понять из названия, эмулятор Linux, написанный на JavaScript’е. Соответственно, он может работать прямо в браузере, что очень удобно, когда у вас нет машины с линуксом под рукой, а нужно проверить, как будет работать скрипт или как будет работать какая-то команда. Его автор — Патрис Беллард (Patrice Bellard). Давайте посмотрим, что там есть, чего нет, и чем этот эмулятор может быть полезен.
Чего нет в JSLinux
К сожалению, поддержки записи на IDE-диски нет, я писал Патрису по поводу одной связанной с этим ошибки, он написал в ответ уже через два часа, что образы дисков только для чтения, поэтому операции записи он не реализовывал. Но, в общем, это не такая уж большая проблема.
К сожалению, bash в образе системы нет, поэтому писать скрипты придется более POSIX-совместимыми, что, в общем, даже полезно для отработки навыков написания скриптов, которые должны работать на большом количестве систем и различных оболочках.
Нет также никакого пакетного менеджера, что логично. Зачем пакетный менеджер в системе, где ничего нельзя записать на системный диск?
Поддержки сети тоже нет. Однако сам эмулятор достаточно приличный и вполне юзабелен. Для написания несложных шелл-скриптов этого эмулятора достаточно.
Что есть в JSLinux
Во-первых, интересна версия ядра (она достаточно старая):
$ uname -a Linux (none) 2.6.20 #13 Sun Feb 12 20:21:29 CET 2012 i586 GNU/Linux
Во-вторых, есть страничка с часто задаваемыми вопросами, на которой всего 9 вопросов, один из них касательно работы сети, а также ответы на вопросы о копировании информации в виртуальную машину и из неё.
Свои файлы можно сохранять в директории /var, которая доступна для чтения и записи. Из доступных редакторов есть vi, который, по сути, является стандартом. Таким образом, вы можете скопировать какой-то файл в виртуальную машину, отредактировать его там при помощи vi, запустить на выполнение, проверив, как он работает, и вывести его в хостовую систему через буфер обмена. Как пользоваться буфером обмена освещается также в секции FAQ на сайте эмулятора.
Одним из наиболее значимых плюсов является то, что эмулятор в браузере можно запускать в том числе на смартфоне или планшете. 30 августа 2015 года было обновление, которое включило более быструю версию asm.js, до этого последние изменения были в январе 2012 года.
Выводы
«Да, это не Рио-де-Жанейро» (с) Если не брать в расчет то, что эмулятор работает в браузере, то его функционал достаточно примитивен. Тем не менее, он исправно работает, представляя почти полноценную систему, хотя и немного устаревшую. Есть возможность собрать кастомизированный образ системы, который и будет запускаться, в который вы можете включить всё необходимое. Ну, а если учитывать, что эмулятор работает в браузере, то это действительно серьезный качественный проект, который даже для 2016 года выглядит очень достойно, не говоря о 2012.
Есть уже там поддержка сети. Информация устарела.
Это не удивительно, статье больше 2,5 лет