Termux中proot

您所在的位置:网站首页 termux摄像头命令大全 Termux中proot

Termux中proot

2024-06-14 05:04| 来源: 网络整理| 查看: 265

在Termux中proot-distoro可以安装发行版Linux,还可以备份还原linux。对我这个Termux迷来说,简直是神器。可以备份还原,就可以分享自己配置的环境了。甚至可以当作一个快照功能的做测试用。

安装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 list1 proot-distro install

我安装的 是archlinux,如下命令:

proot-distro install archlinux

archlinux大概需要下载600M左右的文件,执行时间看你的网速了。如果想下载一个较小的发布版本可以试试其他的,比如:proot-distro install ubuntu-20.04只需要下载25M左右。见:《玩转手机中的linux系统termux并搭建java开发环境》https://blog.csdn.net/lxyoucan/article/details/113831014。安装alpine会更小,只需要2.5M左右。

命令执行结果如下:

~ $ proot-distro install archlinux [*] Installing Arch Linux... [*] Downloading rootfs tarball... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 646 100 646 0 0 551 0 0:00:01 0:00:01 --:--:-- 551 100 549M 100 549M 0 0 1119k 0 0:08:22 0:08:22 --:--:-- 1964k [*] Checking integrity, please wait... [*] Extracting rootfs, please wait... [*] Writing '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/archlinux/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... gpg: /etc/pacman.d/gnupg/trustdb.gpg: trustdb created gpg: no ultimately trusted keys found gpg: starting migration from earlier GnuPG versions gpg: porting secret keys from '/etc/pacman.d/gnupg/secring.gpg' to gpg-agent gpg: migration succeeded gpg: Generating pacman keyring master key... gpg: key CD1AFEBD84DEF5CA marked as ultimately trusted gpg: directory '/etc/pacman.d/gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/etc/pacman.d/gnupg/openpgp-revocs.d/5BE44E190E37181EE9000E0FCD1AFEBD84DEF5CA.rev' gpg: Done ==> Updating trust database... gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u ==> Appending keys from archlinuxarm.gpg... ==> Locally signing trusted keys in keyring... -> Locally signing key 69DD6C8FD314223E14362848BF7EEF7A9C6B5765... -> Locally signing key 02922214DE8981D14DC2ACABBC704E86B823CD25... -> Locally signing key 9D22B7BB678DC056B1F7723CB55C5315DCD9EE1A... ==> Importing owner trust values... gpg: setting ownertrust to 4 gpg: inserting ownertrust of 4 gpg: setting ownertrust to 4 ==> Updating trust database... gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 1 signed: 3 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: depth: 1 valid: 3 signed: 1 trust: 0-, 0q, 0n, 3m, 0f, 0u gpg: depth: 2 valid: 1 signed: 0 trust: 1-, 0q, 0n, 0m, 0f, 0u Generating locales... en_US.UTF-8... done Generation complete. checking dependencies... :: base optionally requires linux: bare metal support Packages (5) diffutils-3.7-3 linux-firmware-20200721.2b823fc-1 mkinitcpio-28-1 mkinitcpio-busybox-1.31.1-1 linux-aarch64-5.8.0-1 Total Removed Size: 711.25 MiB :: Do you want to remove these packages? [Y/n] :: Running pre-transaction hooks... (1/1) Removing linux initcpios... :: Processing package changes... (1/5) removing linux-aarch64 [###################################################] 100% (2/5) removing mkinitcpio [###################################################] 100% (3/5) removing mkinitcpio-busybox [###################################################] 100% (4/5) removing diffutils [###################################################] 100% (5/5) removing linux-firmware [###################################################] 100% :: Running post-transaction hooks... (1/3) Reloading system manager configuration... Skipped: Current root is not booted. (2/3) Arming ConditionNeedsUpdate... (3/3) Updating module dependencies... [*] Installation finished. Now run 'proot-distro login archlinux' to log in.

就这么简单,我们竟然在手机上安装了archlinux,当初我在vmware中安装archlinux可是费了好大劲的。 《2021年vmware安装archlinux》 https://blog.csdn.net/lxyoucan/article/details/115226297

现在已经安装完成了archlinux,怎么进入archlinux呢? 进入archlinux

proot-distro login archlinux

执行结果如下:

~ $ proot-distro login archlinux [root@localhost ~]#

出现了root和#的标识了,这意味着我们现在可以为所欲为了!

切换国内源

使用说明 编辑 /etc/pacman.d/mirrorlist ,在文件的最顶端添加

Server = https://mirrors.ustc.edu.cn/archlinuxarm/$arch/$repo

详细了解见: https://mirrors.ustc.edu.cn/help/archlinuxarm.html#id1

使用pacman安装软件之前先更新一下系统

#更新系统,不然可能安装软件报错 pacman -Syyu archlinux安装软件

以安装vim为例

pacman -S vim

neofetch

pacman -S neofetch

在这里插入图片描述

安装设置中文

查看当前语言环境

echo $LANG

查看当前系统是否有中文语言包

locale -a

如果没有中文语言包

vim /etc/locale.gen

查看文件中是否有zh_CN.UTF-8在文件中增加一行

zh_CN.UTF-8 UTF-8

配置完成以后运行:

locale-gen

生成 locale。 向 /etc/locale.conf 输入内容

echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf

然后,修改/etc/environment(在文件的末尾追加):

LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh:en_US:en"

/etc/environmen这一步加不加实测效果一样,我不清楚为什么这里的环境变量没有生效,反正还是加一下放心一些吧。

手动执行一下export LANG=zh_CN.UTF-8

这里我们输入date查看时间,发现已经有中文了。

[root@localhost ~]# date 2021年 05月 13日 星期四 07:48:25 UTC

重启进的时候发现还是英文的,那我把就把LANG设置放进环境变量里吧。

#这里环境变量根据自己的环境来,如果是zsh才放到zsh的配置文件中 vim /etc/bash.bashrc

在底部增加:

export LANG=zh_CN.UTF-8 备份与还原

这里以备份alpine为例,其他系统备份请用别的发行版本的名称。

备份之前退好先 重启Termux,防止发行版本正在运行,导致备份出错。 备份镜像

#备份alpine proot-distro backup alpine --output ./alpine20210513.tar.gz #备份archlinux proot-distro backup archlinux --output ./archlinux20210513.tar.gz

命令解释: 把当作alpine发行版备份到当前目录下的alpine20210513.tar.gz文件

还原镜像 ⚠️警告还原操作会删除数据! 还原后就是备份的数据了。

proot-distro restore alpine.tar.gz 分享备份文件

有时候做好的开发环境,想要分享给小伙伴们要怎么处理呢? 运行下面命令:

termux-setup-storage

手动会弹出如下窗口: 在这里插入图片描述 选择 【始终允许】 这时~/storage/ 目录就有手机的存储目录了。如下:

~ $ cd ~/storage/ ~/storage $ ls dcim downloads movies music pictures shared

把文件放到这里的目录就可以分享给好友啦! 比如放到downloads目录,使用手机的文件管理器,找到downloads目录点相应的文件点击分享,发送给qq好友就行了。

卸载发行版本

警告警告,会删除数据!

proot-distro remove alpine 参考文件 《Sharing Data》https://wiki.termux.com/wiki/Sharing_Data


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3