重点参考资料termux wiki
简介
本篇文章主要介绍在安卓手机上使用termux软件环境搭建linux环境系统,主要是gcc和python,以及numpy/scipy,gsl等科学计算环境,可以让手机成为口袋里的高级计算器。
硬件:小米8,RAM 6G, ROM 64G,CPU 骁龙845 8核
软件:MIUI10系统稳定版(非root),安卓8.1.0版本
安装软件: APKpure(需墙),Termux, Haker's keyboard
安装完termux之后更新一下包以及安装一些必要的软件,如gcc(clang),vim,make,autoconf,python-dev(安装scipy用到),tree等
。
安装gcc
deb [trusted=yes] https://its-pointless.github.io/files/ termux extras
复制该内容,使用vim打开文件/etc/apt/sources.list添加之。这里需要注意的是termux下的文件路径和一般linux不同,termux下用户目录的绝对路径在:
/data/data/com.termux/files/home
而在termux下安装的软件,链接库,头文件等在路径:
/data/data/com.termux/files/usr
,如下结构图所示:
pkg install gnupg
添加源公钥的步骤我没有操作成功,下载不了,wget和curl试了提示非http链接,于是我忽略了这个步骤,后面还是可以正常安装gcc的
wget https://its-pointless.github.io/pointless.gpg
这是源公钥,如果没有安装gnupg,
apt-key add pointless.gpg
pkg update
# search packages
pkg search gcc
pkg install gcc-7
安装完成后输入
gcc-7 -v
验证gcc版本信息
更改gcc版本
一开始安装了clang,现在要更改默认的gcc编译器,可以按照下图设置
numpy/scipy安装
在termux中安装完python-pip(这里默认的python版本为3,如果需要python2的话可以使用pkg install python2安装)后,使用pip可以安装sympy,numpy但是安装scipy会出错,提示找不到lapack或者blas,查看官方手册知直接使用pkg安装numpy和scipy即可(注意顺序,先numpy,后scipy,这里本人有个疑问,可以使用pkg安装这两个库的原因好像是前面添加了源https://its-pointless.github.io/files/ termux extras才成功的,因为编译blas需要fortran编译器,因为按照这个顺序下来也没什么问题,就没有深究其中的依赖关系了)
pkg install numpy
pkg install scipy
这样操作同时会安装上openblas的。
安装GSL科学计算库
1.下载源代码:
wget http://mirrors.ocf.berkeley.edu/gnu/gsl/gsl-latest.tar.gz
2.解压:
tar -xzvf gsl-latest.tar.gz
3.进入解压后的文件夹
cd gsl-2.5
4.修改配置文件,这里主要参考termux包管理器教程
解压后的文件中可以找到configure', 'configure.ac', 'Makefile.in'等文件说明是基于GNU autotools工具链构建的,
在源代码根目录下执行
find . -name 'config.sub' -exec chmod u+w '{}' \; -exec cp -f "${PREFIX}/share/libtool/build-aux/config.sub" '{}' \;
find . -name 'config.guess' -exec chmod u+w '{}' \; -exec cp -f "${PREFIX}/share/libtool/build-aux/config.guess" '{}' \;
5.执行配置
./configure --prefix=/data/data/com.termux/files/usr
这里一定要更改prefix路径,因为默认的话会安装在/usr/local,这个路径在termux是没有的,或者说提示没有操作权限,作者一开始就是默认不管这个配置最后无法成功安装,这也是在手动编译包时与linux环境一大区别
6.编译及安装
执行
make -j10
make install
执行完安装后我看到一些警告,于是根据提示又执行了下面命令:
libtool --finish /data/data/com.termux/files/usr/lib
进入gsl doc文件夹
cd /data/data/com.termux/files/home/gsl-2.5/doc/examples
设置访问存储文件
使用命令
termux-setup-storage
按照下图设置
设置后会在用户目录下显示文件夹
storage
,里面可以访问内容有相册,下载文件等。
Installing ArchLinux with termux
- Download the script,copy and paste the following command lines into your Termux bash command shell:
pkg install wget
wget https://sdrausty.github.io/TermuxArch/setupTermuxArch.sh
- Run the script
bash setupTermuxArch.sh
It'll took some time to download archlinux and unpacking, please be patient!
安装完后在/data/data/com.termux/files/home
会多出一个arch文件夹,刚才安装的所有arch系统的文件都在这里
3.成功安装后会自动进入archlinux环境,退出archlinux环境执行
exit
即可;当关闭termux进程然后重启,默认是termux,执行命令
startarch
便可进入archlinux环境
4.如果要删除刚安装的arch,查看安装脚本的帮助信息可知只要在脚本根目录下执行
bash setupTermuxArch.sh purge
其他帮助信息如下图所示:
5.创建登录用户,因为使用命令
startarch
默认是以root登录的,平时我们在linux系统下都是以某个用户身份登录操作的,因此需要创建个用户来登录,首先执行命令
startarch c addauser kindy
这里kindy
便是创建的用户名,此命令会直接以用户kindy身份登录archlinux,退出之后要想再次以此用户登录,执行命令
startarch user kindy
或者
startarch login kindy
或者
startarch u kindy
或者
startarch l kindy
都可以。
后记
折腾完termux环境以后其实就一个目的,在手机上多学习一下linux系统,熟悉系统组成和各种命令,编辑跑程序啥的效率太低,有那时间还不如好好学习linux的理论知识,别把时间都浪费在码代码上了,学而不思则罔,思而不学则殆!