termux-使用,关联 命令行, command-line,清华 / TUNA 镜像源, android shell, tar, binrun, android

使用国内源

使用 termux-change-repo 修改

执行 termux-change-repo ,弹出,命令行界面形式的图形节目,按照提示选择镜像服务器就行了。

国内的几个大学都有,清华、南大、上交大。

命令行替换

清华 / TUNA 镜像源

如果您在使用termux v0.118及以上版本,使用如下命令行替换官方源为 TUNA 镜像源

1
2
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade

如果您在使用termux v0.117及以下版本,则需要使用如下命令

1
2
3
4
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
apt update && apt upgrade

手动修改

编辑 $PREFIX/etc/apt/sources.list 修改为如下内容

1
2
# The termux repository mirror from TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main

(仅v0.117及以下)编辑 $PREFIX/etc/apt/sources.list.d/game.list 修改为如下内容

1
2
# The termux repository mirror from TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 games main

(仅v0.117及以下)编辑 $PREFIX/etc/apt/sources.list.d/science.list 修改为如下内容

1
2
# The termux repository mirror from TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 science main

初始配置、常用软件

  1. 更新升级
    1
    2
     apt update
     apt full-upgrade
    
  2. 常用软件
    1
     pkg install wget curl openssh git git-lfs vim
    
    1
     pkg install imagemagick
    

常用技巧

$PREFIX 相当于 linux的根目录

$PREFIX 相当于 linux的根目录,所以到配置目录: cd $PREFIX/etc/

环境变量的配置目录

1
2
3
4
5
6
# 按优先级排序
$PREFIX/etc/profile
$PREFIX/etc/profile.d

$PREFIX/etc/bash.bashrc
~/.bashrc

挂在sdcard目录

1
2
3
4
termux-setup-storage

ls ~/storage/
ls /sdcard

备份和恢复

1
2
termux-setup-storage
tar -zcf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr
  • 恢复
1
2
3
4
termux-setup-storage
tar -zxf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files --recursive-unlink --preserve-permissions
# 或者用7z
7z x -o/data/data/com.termux/files /sdcard/termux-backup.zip

常用软件安装

1
apt install openssh nmap wget curl p7zip

Q&A

为什么sdcard上的文件不能是可执行

只有 /data/data/com.termux/files/home 下的文件,可以 chmod 为可执行文件,这些文件的 owner 是 termux app 的用户(类似 u0_xxx)。

/sdcard 或者说 ~/storage/shared/ 下的文件都是不能改成可执行的, Android 挂载分区的时候就设置的 noexec。

解决办法:

  1. root

  2. binrun 工具,将文件自动拷贝到 termux $HOME 下面执行

    项目地址: https://github.com/GyanPrakash2483/binrun

    1. 下载和编译
      1
      2
      3
      4
      5
      6
      7
      8
       cd /data/data/com.termux/files/home
      
       git clone https://github.com/GyanPrakash2483/binrun.git
       cd binrun
       mkdir build && cd build
       cmake ..
       make
       make install
      
    2. 使用
      1
       binrun <path/to/executable> <arguments to pass ...>