Виртуальное окружение Debian¶
Вы можете создать полноценное окружение Debian, работающее внутри Android, с помощью дополнительного модуля FIRERPA — аналогично возможностям Termux или androdeb. В этом окружении можно устанавливать программы через apt и компилировать код. Точно так же вы можете самостоятельно компилировать и использовать программы, связанные с BPF. Это почти полноценное Linux-окружение, работающее на устройстве Android.
Подсказка
Окружение Debian содержит только базовый набор пакетов. Вам потребуется самостоятельно установить часто используемые команды, такие как git и python3, с помощью apt.
Установка окружения¶
Подсказка
Начиная с версии 10.5 вам больше не нужно вручную скачивать debian mod на этом шаге. Достаточно выполнить команду debian прямо в терминале удалённого рабочего стола — rootfs будет автоматически загружен с GitHub и установлен. Разумеется, если из-за состояния вашей сети загрузка идёт очень медленно или невозможна, вы по-прежнему можете выполнить установку вручную, следуя приведённым ниже шагам.
На странице релизов проекта вы можете найти lamda-mod-debian-arm64-v8a.tar.gz (пожалуйста, скачайте установочный пакет, соответствующий архитектуре вашего устройства). После завершения загрузки откройте удалённый рабочий стол и перетащите скачанный файл на устройство (мы предполагаем, что вы не изменяли каталог загрузки файлов удалённого рабочего стола), затем выполните следующие установочные действия. Эту установку не нужно повторять.
Подсказка
Файлы, загруженные через удалённый рабочий стол, по умолчанию находятся в каталоге ~/uploads.
tar -C ~/modules -xzf ~/uploads/lamda-mod-debian-arm64-v8a.tar.gz
После выполнения команды установка завершена. Ниже описано, как войти в систему.
Вход в окружение¶
После установки файловой системы соответствующего окружения мы можем выполнить команду для входа в виртуальное окружение Debian. Окружение Debian установлено в ~/modules/debian. Вы можете выполнить следующую команду, чтобы войти в интерактивный терминал Debian.
debian /bin/bash
Если нужно выполнить только одну команду, например команду id, можно использовать такой формат:
debian /bin/bash -c id
Внимание
Одновременно поддерживается только один экземпляр виртуального окружения. Если после выполнения debian /bin/bash сеанс остаётся открытым, повторное выполнение этой команды в другом терминале вернёт ошибку. Сначала выйдите из предыдущего сеанса debian, затем повторите попытку.
Продвинутое использование¶
Рассмотрим простой пример продвинутого использования. После его выполнения вы сможете запускать в окружении SSH-сервер или Python-скрипты и больше не будете ограничены количеством сеансов. Сначала выполните следующую команду для входа в виртуальное окружение.
debian /bin/bash
Сейчас вы должны находиться внутри виртуального окружения. Продолжите выполнять следующие команды вместе с нами.
apt update
apt install -y openssh-server procps python3 python3-pip python3-dev
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'StrictModes no' >> /etc/ssh/sshd_config
mkdir -p /run/sshd
# Изменение пароля root
echo root:lamda|chpasswd
# Выход из окружения debian
exit
Теперь выполните команду для запуска нашего SSH-сервера.
debian /usr/sbin/sshd -D -e
Приведённая выше команда займёт текущий терминал («зависнет»). Чтобы избежать этого, вы также можете использовать встроенное задание по расписанию, чтобы SSH-сервис запускался автоматически вместе со службой FIRERPA. Далее выполните crontab -e, добавьте в него следующее правило и перезапустите службу FIRERPA или устройство. Документацию по использованию заданий по расписанию также можно найти в разделе Задания по расписанию.
@reboot debian /usr/sbin/sshd -D -e >~/sshd.log 2>&1
Теперь узнайте IP-адрес устройства, затем выполните на своём компьютере следующую команду и введите пароль lamda для входа.
ssh root@192.168.x.x
Вы можете и дальше воплощать самые разные идеи и создавать безграничные возможности. Это и есть небольшой Linux-сервер.