Android: Termux安装完整版Linux
在如下两篇中分别介绍了怎么安装Termux和Aid Learning!
这两款比较后发现,Aid Learning性能更好,因为是纯净版Linux,能够安装的东西更多!而Termux只能安装clang、python,其他的重要软件如gcc、g 、gfortran、jdk等等都不能安装!
因此:如果是新款手机我建议按个Aid Learning就算了!别折腾了!最新版的Aid learning还内置了vs code!强大的很!你要不愿意折腾就用这个吧。
但是,重要的是这个但是:
Aid Learning对老旧手机不友好!我的三星Note3无论怎么折腾都安不上Aid Learning。可是我想把老旧手机们串起来组集群啊!没办法了,只能寻求新的解决方法。
如果手机能root就好办了,Linux deploy直接就能安装。可惜折腾了三天,安了无数个流氓root软件,Note3还是无法root。只能退回到Termux上。
上官网发现,从0.73版本之后就不再支持安卓5了。所以三星Note3只能安装0.73版Termux。反正又不是不能用!
Termux安装完毕以后!
...................................................202108最新更新......................................
喜大普奔:官网已经有官方版本的纯种Linux了,之后的两种方法可以不用看了,也不用翻墙安软件了。墙内比如清华源可以妥妥的搞定了。方法如下:
看这里,官方提供了最新的安装纯种Linux的方法。
首先最好是换个国内的Termux源,我用的清华源,换源方法看这里:
换源其实就是手动修改这三个文件
编辑 $PREFIX/etc/apt/sources.list
修改为如下内容
# The termux repository mirror from TUNA: deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main
编辑 $PREFIX/etc/apt/sources.list.d/science.list
修改为如下内容
# The termux repository mirror from TUNA: deb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable
编辑 $PREFIX/etc/apt/sources.list.d/game.list
修改为如下内容
# The termux repository mirror from TUNA: deb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable
换好源后,记得update,但是不需要upgrade:
apt update
然后就是安装基础件proot-distro了:
pkg install proot-distro
或者
apt install proot-distro
查看proot-distro的使用帮助为:
proot-distro help
proot-distro list
可以查看可安装的Linux系统。当前常见的Linux有
· Alpine Linux (alias: alpine) - the smallest of the available distributions.
· Arch Linux (alias: archlinux)
· Debian 10 Buster (alias: debian-buster)
· Kali Nethunter (alias: nethunter) - only minimal build currently.
· Ubuntu 18.04 / 20.04 (alias: ubuntu-18.04 / ubuntu-20.04)
安装以上系统就简单了:
proot-distro install
比如,我要安装ubuntu 20.04,指令为:
proot-distro install ubuntu-20.04
安装完成后,进入 Linux发行版环境的指令为,比如我安装的ubuntu为
proot-distro login ubuntu-20.04
如果认为每次进入 ubuntu的命令太长,可以在 Termux 环境新建一个sh文件,比如新建u20.sh。
vim u20.sh
输入如下内容(就是esc键 i键):
proot-distro login ubuntu-20.04
然后退出(esc键 :键,再输入wq,回车)
最后,在终端输入:
./u20.sh
就进入了真正的linux环境了。之后,传统操作比如换源,安装软件等等,一条龙走起来吧。
输入exit可以退出登录的linux系统:
exit
以上就是官方版的纯种Linux安装全过程。只要是国内源,亲测安装一点bug都没有,非常顺畅。
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
以下是老方法,当然老方法也还是可以安装纯种Linux的,比如如果你要在Termux上安装两套同一种Linux发行版,你就可以采用如下方法。
经后台知友提醒,发现有两种方法可以安装完整版Linux。推荐第一种方法,第二种就不用看了。
写在前面:本文的方法可以在你的Termux上安装任意多个Linux,只要你把相关文件放在不同的文件夹下相互不干扰即可!!!比如,在home文件夹下建立file1和file2,然后就可以分别安装不同的Linux。好处:你可以在每个子Linux安装互不影响的软件,每个子Linux能够管理不同的软件系统。
方法1:
上网站下载AnLinux,当前版本是6.01:
安装Termux以后,基于AnLinux安装完整版本的Linux。方法如下:
首先在仪表板上选择你想要安装的Linux发行版,这里我选择Debian。
然后第二步,选择复制指令,然后在Termux的终端窗口,粘贴这段指令。
等待安装即可!
这一步骤极度依赖网络,我家的破X城宽带,一上外网就抽风。这一步骤我重复了多次。如果你安装不成功,一般都是网络的锅!
安装完毕,就可以进入你安装的Linux了。
按照说明输入如下指令:
./start-debian
划重点,坑来了,上面指令是过不去的,千万不要删除了重装浪费时间,千万别忘了后缀.sh,改用如下指令即可(这是我的血泪教训啊!):
./start-debian.sh
进入完整版linux系统,发现进系统后不能访问手机自身的存储文件系统了!修改start-debian.sh文件,发现原来哪行代码被屏蔽掉了,如果你需要,可以把注释符#去掉就有sdcard链接存在了!
就是这一行:
#command =“ -b /sdcard”
安装Linux以后,还可以安装桌面。
点击AnLinux左上角,选择“桌面”。
然后进入第一步,选择对应的Linux版本,我上一步是Debian,这里我也选择Debian。
然后第二步,选择桌面。
手机性能有限,我选择了Xfce4。
然后第三步,复制指令,然后把该指令粘贴到Termux的终端。
等待安装。成功与否完全依赖于网络!有错误就请重复本步。而且这一步之前请先输入:
./start-debian
也就是先打开Debian系统,然后安装桌面。
安装完成以后,请安装VNC Viewer,就是下图红圈内的这货:
然后在Termux终端开启VNC:
vncserver-start
第一次开启时还需要设置密码!
开启完成后如下:
如果你仔细看上图,会发现我开启了两次,这是因为第一次开机没成功。如果开启不成功,显示如下红圈的错误,则可能是上一次使用没有停止vncserver。
请先输入如下指令关闭vncserver:
vncserver-stop
可以看到我这里是:localhost:1
表示我的端口是1
开启VNC Viewer,然后设置如下:
点击Connect连接,效果如下:
手机登录Linux的桌面效果还是不好,凑活能看的水平。
使用完毕后,别忘记关闭VNC:
vncserver-stop
方法2:
以前的操作都属于常规操作,重要的步骤来了,模仿root权限的重要包:
pkg install proot
安装完毕以后,执行如下指令,获取root权限:
termux-chroot
千万记住了,在Termux上安装或者运行Linux之前一定要执行以上指令,否则安装linux会出错,进入linux后安装包会报错,运行java也会报错,......这些错你都完全无法查出原因!!!
这是我折腾了无数个日夜后得出来的经验!
然后,执行如下指令:
echo "deb [trusted=yes] https://yadominjinta.github.io/files/ termux extras" >> $PREFIX/etc/apt/sources.list
pkg in atilo-cn
相关的详细解释见官网
然后执行
atilo list
可以查看能够安装的版本,比如Debian, Ubuntu, Arch等等。
执行如下指令安装
atilo install debian
执行如下指令卸载
atilo remove debian
如果就真的这么简单就能安上,那我也不用写文章了。
重要的通知来了:如果网络环境不好(比如我家的某城宽带),下载没有100%完成,你的安装仍然会继续,后面的步骤任然会走到头,但是你安装的是个阉割版,运行必然出错!此时你执行atilo remove debian。然后重新安装,仍然还是个阉割版!
怎么办呢?官网是没有解释的。查询官网的源码:
如图可见,程序是通过比对名称来判断的,如果硬盘里面有了这个文件,不管他是否完整都会跳过下载,所以你每次都是安装的阉割版!!!坑吧!谁叫咱网络不好呢!
找到问题就好解决了,
cd ~/.atilo
ls
此时可以看到,目录下有个tmp文件夹!
rm -r tmp
没错,下载的安装包就在tmp下,把它删除掉,以上的错误就不再有了!
然后重新执行安装指令就行了:atilo install debian。
如果有错就继续以上步骤!
至此就完成了Termux安装Linux的全部步骤!
我安装的是Debian。在确保获得root权限后(执行termux-chroot),进入系统:
startdebian
上述两种方式安装Linux完成以后,以下操作就是相同的了:
apt update
apt upgrade
然后执行
apt install gcc
apt install g
apt install gfortran
apt install cmake
然后安装java:
apt search openjdk
发现目前的版本是openjdk-11
apt install default-jdk
最后是漫长的等待。
然后安装python。
apt install python3
pip在Debian里面不一样
apt search pip
发现它长这样:
apt install python3-pip
然后是python换国内源:
源文件文件在~/.pip/pip.conf
修改内容为:
[global]
index-url =http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com
然后安装常用包:
pip3 install numpy
pip3 install pandas
apt install libzmq3-dev
apt install libfreetype6-dev
没错,以上两个是matplotlib的依赖包,而且目前debian上是libfreetype6-dev了,不是libfreetype2!(没准你安装的时候又更新了,多用apt search盯着点把!泪目!)
pip3 install matplotlib
pip3 install jupyter
安完jupyter以后,参考如下文章,可以设置jupyter的一些便利开发环境,这里就不予赘述了:
结论:
本文重点是解决在Termux下安装完整版Linux,这样老旧手机(安卓5及以上)就可以安装gcc和java了!
请优先使用第一种方法安装Linux。
第二种方法复杂,且有坑:
其中最大的坑是:一定要执行termux-chroot获得root权限,然后才能顺畅的使用Linux并进行开发!
第二个坑是:安装Linux的过程中如果遇到网络问题,安装程序下载不完全,请记得一定要先删除安装包(tmp文件夹)!