我这里选用alpine来做开发环境,主要因为它体积小巧,方便移植和分享。如果只是我自己使用的话,我更喜欢使用ubuntu或者archlinux。alpine做开发环境,可能会遇到的问题就是中文语言环境的问题了吧。等遇到这样的问题在想办法解决吧!
Termux是一个Android终端模拟器和Linux环境应用程序,可直接运行而无root安装。自动安装了最小的基本系统-使用APT软件包管理器可以使用其他软件包。
安全的。 使用OpenSSH的ssh客户端访问远程服务器。Termux在漂亮的开源解决方案中将标准软件包与精确的终端仿真相结合。
功能打包。 在Bash,fish或Zsh和nano,Emacs或Vim之间选择。通过您的短信收件箱中的Grep。使用curl访问API端点,并使用rsync将联系人列表的备份存储在远程服务器上。
可定制的。 通过Debian和Ubuntu GNU / Linux已知的APT软件包管理系统安装所需的软件包。为什么不从安装Git并同步您的点文件开始呢?
可探索的。 您是否曾经坐在公交车上,想知道tar到底接受了哪些参数?Termux中提供的软件包与Mac和Linux上的软件包相同-在手机上安装手册页,并在一个会话中阅读手册,而在另一个会话中进行实验。
附带电池。 您能想象比读书线驱动的Python控制台更强大,更优雅的袖珍计算器吗?最新版本的Perl,Python,Ruby和Node.js均可用。
准备扩大规模。 连接蓝牙键盘,并在需要时将设备连接到外部显示器-Termux支持键盘快捷键并具有完整的鼠标支持。
可修补的。 通过使用Clang编译C文件进行开发,并使用CMake和pkg-config构建您自己的项目。如果您遇到困难并需要调试,则GDB和strace均可用。
Termux官网:
https://termux.com/
官网推荐下载地址:
https://f-droid.org/packages/com.termux/
该版本需要 Android 7.0 及以上版本。我使用华为P9和坚果R1都可以正常使用。
为了操作方法,我建议使用电脑ssh连接手机中的 termux来操作,连接方法见:
安装openssh
apt update
apt install openssh
启动sshd服务
sshd
这样手机上就安装好了 ssh并启动了服务。
设置自动启动ssh服务
echo "sshd" >> ~/.bashrc
手机查看当前用户名
whoami
我的显示结果为:
u0_a100
注意这个用户名每个人是不一样的。
手机查看当前ip
ifconfig -a
我的手机当前的ip为 :192.168.2.108
修改密码
passwd
我这里设置的密码 termux2021
,密码你可以自行设置
pc连接ssh
命令如下:
ssh -p 8022 [email protected]
或者你也可以使用xshell,Termiux之类的工具远程。
输入我新设置的密码 termux2021
,成功进来啦!!!
设置自动启动ssh服务
echo "sshd" >> ~/.bashrc
至此我们ssh服务就配置完成了,后面我们就可以用电脑通过ssh来玩安装在手机中的linux了。
Termux提供了一个proot-distro软件包,用于管理Termux内部的Linux发行版。据说几乎没有性能损失。
您可以通过执行以下命令安装该实用程序
安装proot-distro
pkg install proot-distro
目前,它支持以下发行版:
Alpine Linux(别名:alpine)-最小的可用发行版。
Arch Linux(别名:archlinux)
Debian 10 Buster(别名:debian-buster)
Kali Nethunter(别名:nethunter)-当前只有最小的构建。
Ubuntu 18.04 / 20.04(别名:ubuntu-18.04 / ubuntu-20.04)
要安装发行版,只需运行以下命令(假设已安装proot-distro):
# 查询支持哪些发行版本
proot-distro list
proot-distro install <alias>
我安装的 是alpine
,如下命令:
proot-distro install alpine
安装alpine体积会更小,下载量仅2.5M左右。很适合在空间比较小的手机上使用。随着docker的兴起
alpine越来越多被使用。
命令执行结果如下:
~ $ proot-distro install alpine
[*] Installing Alpine Linux 3.13.1...
[*] Downloading rootfs tarball...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 647 100 647 0 0 378 0 0:00:01 0:00:01 --:--:-- 378
100 2558k 100 2558k 0 0 526k 0 0:00:04 0:00:04 --:--:-- 876k
[*] Checking integrity, please wait...
[*] Extracting rootfs, please wait...
[*] Writing '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/alpine/etc/profile.d/termux-proot.sh'...
[*] Writing resolv.conf file (NS 1.1.1.1/1.0.0.1)...
[*] Writing hosts file...
[*] Registering Android-specific UIDs and GIDs...
[*] Running distro-specific configuration steps...
[*] Installation finished.
Now run 'proot-distro login alpine' to log in.
就这么简单,我们竟然在手机上安装了alpine linux。
进入alpine linux
proot-distro login alpine
执行结果如下:
~ $ proot-distro login alpine
localhost:~#
出现了root和#的标识了,这意味着我们现在可以为所欲为了!
默认源太慢了,我们还是切换一下国内的源下载软件会快很多。
切换到中科大的源,一条命令搞定:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
其实就是修改/etc/apk/repositories
中的地址,修改后内容如下:
cat /etc/apk/repositories
https://mirrors.ustc.edu.cn/alpine/v3.13/main
https://mirrors.ustc.edu.cn/alpine/v3.13/community
详细了解见:
《alpinelinux使用国内源》
https://blog.csdn.net/lxyoucan/article/details/117166318
/etc/apk/repositories
以安装neofetch为例
apk add neofetch
x86版本的alpine我设置成功了。详细见:《alpine linux配置中文语言环境》https://blog.csdn.net/lxyoucan/article/details/117165981
Termux版本的,也就是arm版本的,这一步我几经努力最终还是失败告终。不是不行,是需要自己去编译 glibc。没有中文其实影响也不算大,先这样吧。这样体积还能小一些。
React Native的开发是离不开node.js的。我后面用到的nvim.coc也依赖这个。那就先安装一下吧!
apk add nodejs
查一下node的版本
localhost:~# node -v
v14.16.1
安装npm
apk add npm
查一下npm的版本
localhost:~# npm -v
6.14.12
切换淘宝源
# 使用nrm工具切换淘宝源
npx nrm use taobao
# 如果之后需要切换回官方源可使用
npx nrm use npm
万里长征第一步。
我这里用vim做为IDE使用。
apk add vim
#首次使用要安装一下expo命令行工具
npm install --global expo-cli
# 初始化一个项目
expo init my-project
限于手机的性能有限,在手机上开发有点太卡了。一个expo安装了10 分钟!!!初始化一个项目也慢的受不了,都不知道有没有在运行。我决定放弃使用纯手机做APP开发。
https://reactnative.cn/docs/environment-setup