Меню Рубрики

Linux deploy как пользоваться

Linux deploy как пользоваться

Linux Deploy — программное обеспечение, предназначенное для автоматизации процесса установки, конфигурирования и запуска GNU/Linux дистрибутивов на платформе Android внутри контейнера chroot.

Поскольку работа Linux Deploy базируется на системном вызове ядра Linux, то в роли «гостевых» систем могут выступать только дистрибутивы Linux. Приложения, запущенные внутри контейнера chroot, работают параллельно с основной системой и сопоставимы с ней по скорости. Linux Deploy позволяет устанавливать выбранные дистрибутивы из официальных репозиториев через интернет. Есть функция экспорта уже установленного дистрибутива в виде rootfs-архива. Есть интерфейс командной строки для работы с приложением из терминала. Для функционирования приложения необходимы права суперпользователя.

Распространяется как свободное программное обеспечение под лицензией GPL 3.0.

Поддержка пользователей осуществляется на форуме 4pda.ru [2] . Обзорная статья опубликована в журнале ИУС № 5(66)/2013 [3] .

Характеристики

  • Поддерживаемые дистрибутивы: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, openSUSE, Slackware, RootFS (tgz, tbz2, txz)
  • Тип установки: файл образа, раздел диска, оперативная память, директория
  • Поддерживаемые файловые системы: ext2, ext3, ext4
  • Поддерживаемые архитектуры: ARM, ARM64, x86, x86_64, режим эмуляции (ARM

x86)

  • Интерфейс управления: CLI, SSH, VNC, X, фрейм-буфер
  • Окружение рабочего стола: XTerm, LXDE, Xfce, GNOME, KDE, другое (ручная настройка)
  • Примечания

    Инструкция по установке дистрибутива GNU/Linux через программу Linux Deploy под Android:

    Подключите WiFi или другую сеть с доступом в Интернет. Установка осуществляется по сети и не будет работать без доступа в Интернет.

    Убедитесь, что на устройстве получены права суперпользователя (root).

    Установите последнюю версию программы Linux Deploy.

    Установите приложение BusyBox и запустите установку кнопкой “Установить” (Install). По умолчанию BusyBox устанавливается в директорию /system/xbin, которую обычно не требуется менять. Если в директории установки уже присутствуют одноименные утилиты, то они не будут заменены утилитами из BusyBox, что в последствии может привести к проблемам в работе Linux Deploy. Чтобы такого не произошло в настройках приложения BusyBox нужно выставить опцию “Настройки -> Заменить апплеты” (Settings -> Replace applets).

    Запустите приложение Linux Deploy и зайтите в настройки.

    Запуск Linux на Android

    Проверьте, чтобы в пункте “Настройки -> Директория BusyBox” (Settings -> BusyBox directory) была указана директория, в которую осуществлялась установка BusyBox на предыдущем шаге. Если по какой-то причине установка BusyBox на системный раздел невозможна (например, на HTC есть блокировка записи на системный раздел), то можно качестве директории BusyBox указать путь “/data/data/ru.meefik.busybox/files/bin”. После изменения директории BusyBox небходимо обновить рабочее окружение программы “Настройки -> Обновить окружение” (Settings -> Update ENV). Полезно оставить включенной опцию “Настройки -> Не отключать экран” (Settings -> Screen Lock), пока приложение будет активно, экран, WiFi и процессор не будут переходить в спящий режим.

    Программа поддерживает работу с несколькими профилями, где хранятся настройки для каждого экземпляра Linux. Можно быстро переключаться между экземплярами через окно управления профилями (открывается по нажатию на пиктограмму в заголовке главного окна). По умолчанию создается профиль с именем Linux. Зайдите в параметры текущего профиля (крайняя правая кнопка) и установите необходимые опции установки и запуска дистрибутива GNU/Linux (см. описание параметров).

    Запустите установку из окна параметров “Параметры -> Установить” (Properties -> Install). Журнал установки отображается в главном окне приложения. Установка в среднем занимает около 30 минут.

    Если установка завершилась без ошибок, то можно запустить Linux-систему кнопкой “СТАРТ” (START). При этом будут запущены отмеченные в параметрах сервисы — SSH, VNC.

    Для доступа к консоли Linux-системы по SSH следует установить ConnectBot (или другой SSH клиент). Для доступа к рабочему столу Linux-системы следует установить VNC клиент, например VNC Viewer. Параметры подключения к системе через VNC по умолчанию: Host — 127.0.0.1, Port — 5900. Пароль по умолчанию к SSH и VNC — changeme. Изменить пароль текущего пользователя можно в параметрах приложения, либо из консоли командой passwd для SSH или vncpasswd для VNC. Для запуска программ из-под пользователя root используйте команду sudo (например, sudo synaptic). По умолчанию для пользователя root (если только он не указан в настройках в качестве имени пользователя) пароль не установлен, однако можно задать для него пароль командой sudo passwd root.

    Чтобы остановить Linux-систему, все запущенные под ней сервисы и размонтировать диски, достаточно нажать кнопку “СТОП” (STOP).

    Источник

    Linux deploy как пользоваться

    Для функционирования программы необходимы права root пользователя.

    Это приложение с открытым исходным кодом, предназначенное для автоматизации процесса установки, конфигурирования и запуска GNU/Linux дистрибутивов на платформе Android внутри контейнера chroot. Приложение создает образ диска на карте памяти или ином носителе, монтирует его и устанавливает туда выбранный Linux-дистрибутив. Поддерживается установка в файл, прямо на раздел карты памяти, в директорию с файловой системой ext2/ext3/ext4 и в оперативную память. Приложения из Linux-дистрибутива запускаются в chroot окружении, работают параллельно с основной системой и сопоставимы с ней по скорости. Все вносимые изменения на устройстве обратимы, т.е. приложение и созданные им компоненты можно полностью удалить. Установка Linux-дистрибутива осуществляется по сети с официальных зеркал в интернете. Поскольку работа Linux Deploy базируется на системном вызове ядра Linux, то в роли “гостевых” систем могут выступать только дистрибутивы Linux. Через интерфейс программы можно управлять процессом установки Linux-дистрибутива, а после установки можно запускать и останавливать сервисы установленной системы (есть поддержка запуска собственных сценариев). Процесс установки отображается в виде текстовых отчетов в главном окне приложения. Во время установки программа сама настраивает рабочее окружение, которое включает в себя базовую систему, сервер SSH, сервер VNC и графическую среду на выбор. Также через интерфейс программы можно управлять параметрами серверов SSH и VNC. Установка Linux-дистрибутива занимает около 30 минут. Рекомендованный минимальный размер образа диска без графического интерфейса – 512 МБ, а с графическим интерфейсом – 1024 МБ (для LXDE). После начальной установки пароль для доступа по SSH и VNC назначается как “changeme”, который можно сменить стандартными средствами дистрибутива, либо через параметры приложения.

    Характеристики:
    Поддерживаемые дистрибутивы: Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, Slackware, RootFS (tgz, tbz2, txz)
    Тип установки: файл, раздел, оперативная память, директория
    Поддерживаемые файловые системы: ext2, ext3, ext4
    Поддерживаемые архитектуры: ARM, ARM64, x86, x86_64, режим эмуляции архитектуры (ARM x86)
    Способы подключения к контейнеру: CLI, SSH, VNC, X-сервер, фреймбуфер
    Интерфейсы управления (CLI): Android-терминал (или adb), telnet, веб-интерфейс (терминал через браузер)
    Окружение рабочего стола: XTerm, LXDE, Xfce, MATE, другое (ручная настройка)
    Поддерживаемые языки: мультиязычный интерфейс

    ВНИМАНИЕ!
    Эта программа поставляется БЕЗ ВСЯКИХ ГАРАНТИЙ, а автор не несет ответственности за любые возможные последствия ее использования. Это свободное программное обеспечение, и вы можете распространять его согласно правилам лицензии GPLv3.

    Источник

    Практическое применение Linux Deploy на десктопах

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

    Linux Deploy CLI — это приложение с интерфейсом для командной строки, предназначенное для автоматизации процесса установки, конфигурирования и запуска GNU/Linux дистрибутивов внутри контейнера chroot. Приложение может работать как в обычных десктопных Linux-дистрибутивах, так и на мобильных платформах, основанных на ядре Linux, при условии соблюдения необходимых зависимостей (все зависимости могут быть собраны статически). Приложения из Linux-дистрибутива запускаются в chroot окружении, работают параллельно с основной системой и сопоставимы с ней по скорости. Поскольку работа Linux Deploy базируется на системном вызове ядра Linux, то в роли «гостевых» систем могут выступать только дистрибутивы Linux.

    Приложение может работать в двух режимах: с правами суперпользователя (chroot) и без них (proot). В обычном режиме доступны все поддерживаемые типы установки: установка в файл, на раздел диска (логический диск), в POSIX совместимую директорию и в оперативную память (tmpfs). В режиме proot доступна установка только в директорию, а также появляется ряд ограничений:

    • все пользователи внутри контейнера имеют полный доступ ко всей файловой системе контейнера, а владельцем всех файлов и каталогов является текущий пользователь;
    • нет доступа к привилегированным операциям с системой, например, не работает ping, ulimit и т.п.;
    • приложения могут работать только с номерами сетевых портов выше 1024;
    • если приложение в своей работе использует системный вызов chroot, то его необходимо запускать через специальную утилиту fakechroot, например fakechroot /usr/sbin/sshd -p 2222.

    Приложение поддерживает автоматическую установку (базовой системы) и начальную настройку дистрибутивов Debian, Ubuntu, Kali Linux, Arch Linux, Fedora, CentOS, Gentoo, openSUSE и Slackware. Установка Linux-дистрибутива осуществляется по сети с официальных зеркал в интернете. Также поддерживается импорт любой другой системы из заранее подготовленного rootfs-ахрива в формате tar.gz, tar.bz2 или tar.xz. Приложение позволяет подключаться к консоли установленной системы (контейнеру), а также запускать и останавливать приложения внутри контейнера (есть поддержка различных систем инициализации и собственных сценариев автозапуска). Каждый вариант установки сохраняется в отдельный конфигурационный файл, который отвечает за настройку каждого контейнера. При необходимости, контейнеры можно запускать параллельно. Можно экспортировать конфигурацию и сам контейнер как rootfs-архив для последующего развертывания этого контейнера без повторной установки и настройки.

    Вообще, идея Linux Deploy возникла из желания получить легкий и удобный инструмент для быстрого развертывания Linux-дистрибутива, который можно было бы использовать для целей разработки, тестирования или обучения, а затем быстро удалить его, не внося изменения в основную (хост) Linux-систему и не рискуя ее целостностью. Благодаря программе PRoot стало возможным создавать контейнеры для запуска Linux-приложений без прав суперпользователя (root), а также использовать программную эмуляцию QEMU для запуска приложений с отличающийся от хоста архитектурой без необходимости поддержки модуля binfmt_misc на уровне ядра.

    Так вышло, что на моей основной работе с 2011 года используются компьютеры с Debian. Местные разработчики периодически нуждаются в системе для запуска и тестирования своих веб-приложений (в основном Java, PHP, Python). Для этих целей обычно использовались виртуальные системы либо на базе VirtualBox, либо в местном «облаке» Proxmox, либо Docker. Основным недостатком VirtualBox является его требовательность к ресурсам компьютера, большой размер VDI образа диска, относительно невысокая скорость работы и вероятность поломки образа VM при неправильном выключении системы. Недостатком при использовании «облака» можно назвать необходимость самому администратору обслуживать запросы пользователей на создание таких систем, а также расходование ресурсов «облака» на второстепенные задачи. Для работы с Docker требуются права суперпользователя.

    В этом месяце был проведен эксперимент, PHP-разработчикам их виртуальный сервер был заменен на LD-контейнер. Были подготовлены два контейнера на базе Debian: Apache + PHP + OCI8 и Apache + PHP + MySQL + PhpMyAdmin. Контейнеры были размещены на общем сетевом диске в локальной сети, размер каждого контейнера составил около 150 МБ.

    Что от этого получил администратор:

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

    Что получил разработчик:

    • развертывание, запуск и управление системой в контейнере осуществляется без участия администратора одной командой;
    • развертывание контейнера из заранее подготовленных архивов осуществляется по сети менее чем за минуту;
    • запуск и остановка контейнера (Веб-сервер + БД) происходит мгновенно, не нужно ждать запуска операционной системы;
    • нет риска повредить контейнер, если забыл его отключить при выключении компьютера, т.к. образ системы представляет собой обычный каталог без собственной файловой системы;
    • компьютер работает быстрее, т.к. ресурсы тратятся только на запускаемый софт в контейнере, а не на всю операционную систему (в нашем случае это порядка 50 МБ, вместо 500 МБ в VirtualBox).
    • проверка работоспособности ПО прямо из каталога IDE без необходимости заливать его на сервер, для этого достаточно подключить к контейнеру необходимый каталог основной системы.

    А теперь более подробно о том, как этого добиться. Далее будет приведена инструкция по подготовке и развертыванию LD-контейнера.

    Для запуска контейнеров без прав суперпользователя необходимо установить PRoot:

    Загрузка и установка Linux Deploy CLI:

    Создание конфигурации с именем «linux» для развертывания базовой системы Debian Wheezy (64 бита):

    Посмотреть сохраненную конфигурацию:

    Запуск развертывания новой системы:

    Подключение к консоли контейнера под пользователем root (для выхода команда exit):

    Далее можно установить и настроить необходимый софт в контейнере, однако следует учитывать описанные ранее особенности. Например, для запуска Apache нужно поменять его порт (файл /etc/apache2/ports.conf) на 8000, установить пустой параметр APACHE_ULIMIT_MAX_FILES=” ” (файл /etc/apache2/envvars), а сам apachectl запускать из-под обычного пользователя (не root).

    Настройка автозапуска на базе системы инициализации SysV:

    Параметры: INIT_LEVEL — уровень инициализации SysV, INIT_USER — из-под какого пользователя запускать сервисы (по умолчанию это root), INIT_ASYNC — запускать сервисы параллельно.

    Подготовка конфигурации, экспорт ее и экспорт контейнера в rootfs-архив (поддерживаются tar.gz, tar.bz2 и tar.xz архивы):

    Экранирование “\$” позволяет сохранять в конфиг имена переменных, а не их значения. Таким образом при импорте конфига эти переменные будут автоматически заменены на соответствующие значения, которые могут отличаться от текущих. Теперь есть два файла (linux.conf и linux.tgz), которые можно использовать при импорте контейнера на другом компьютере:

    Подключить к контейнеру каталог основной системы (каталог

    /www подключить в /var/www контейнера):

    Запуск контейнера (для SysV выполняются сценарии /etc/rcN.d/SXXname start):

    Остановка контейнера с освобождением ресурсов (для SysV выполняются сценарии /etc/rc6.d/KXXname stop):

    В итоге получилось решение, которое удовлетворяет потребностям как разработчиков, так и администраторов. Исходные коды приложения Linux Deploy доступны под лицензией GPL версии 3.

    Источник

    Популярные записи


    Adblock
    detector