注意,必须root.没有root权限 无解。
你需要会用
准备工作
1 MT管理器 https://www.coolapk.com/apk/bin.mt.plus 2 下载 秋秋 静态编译的 lxc文件, 原下载地址 (下载后不用改名) 点这里 备用地址 (下载以后把后缀名.zip 删掉) 点这里
解压lxc
用mt管理器把静态编译的lxc压缩包 lxcnew.tar.gz文件复制到/data/lxc
打开mt管理器,点左上角 三条杠,
终端模拟器,如果是第一次使用,
等它初始化一下。
开始执行命令 解压 ,记得手机访问本网页,你可以直接复制代码
|
|
检测cgroup版本
分别执行以下命令
|
|
如果第 1 条命令有输出信息,你就是cgroup2
如果第 2 条命令有输出信息,你就是cgroup1
如果你是cgroup2版本,执行
|
|
如果你是cgroup2版本,执行
|
|
配置一下lxc的网络
|
|
挂载cgroup
|
|
上面5行命令 每次启动都要执行,可以更换termux 处理,写入到.bashrc 的末尾
|
|
记得 termux 要安装 tsu pkg install tsu
否则没有sudo命令,同时要给termux root权限,不然sudo 也执行不了
准备创建lxc
后面的命令都在termux里面执行,当然MT的终端 适当修改一下也可以
下载镜像
我这里选择debian,不喜欢ubuntu
|
|
依次输入 debian bookworm arm64
启动
|
|
如果提示 state “ABORTING” instead of “RUNNING”
|
|
|
|
日期 2023年07月21日 时间 01:44
by redblue(弗朗西斯科)
【 一 】 前期准备 ( 1 ) mt管理器,进入手机目录/data, 新建 lxc 文件夹
下载 秋秋 静态编译的 lxc文件, 原下载地址 (下载后不用改名) 点这里 备用地址 (下载以后把后缀名.zip 删掉) 点这里
然后把 lxcnew.tar.gz文件复制到/data/lxc, 打开mt管理器,点左上角 三条杠, 终端模拟器,如果是第一次使用, 等它初始化一下。 开始执行命令
$ su $ cd /data/lxc $ tar -xvf lxcnew.tar.gz ( 2 ) ——检测cgroup版本 分别执行以下命令
$ mount | grep cgroup2 $ mount | grep cgroup1 如果第 1 条命令有输出信息,你就是cgroup2 如果第 2 条命令有输出信息,你就是cgroup1
如果你是cgroup1版本,执行 (执行1次即可,以后每次启动 无需再次执行)
$ echo “lxc.init.cmd = /sbin/init systemd.unified_cgroup_hierarchy” »; /data/lxc/share/lxc/config/common.conf 如果你是cgroup2版本 执行 (执行1次即可,以后每次启动 无需再次执行)
$ echo “lxc.init.cmd = /sbin/init systemd.unified_cgroup_hierarchy=0” » /data/lxc/share/lxc/config/common.conf ( 3 ) 网络设置 ( cgroup1 和cgroup2都要执行 ) ( 共1条命令,只需要执行 1 次 )
$ sed -i ’s/lxc.net.0.type = empty/lxc.net.0.type = none/g’ /data/lxc/etc/lxc/default.conf ( 4 ) 挂载cgroup ( 可能需要每次都执行,如果在termux里可以在每个命令前加sudo,放.bashrc里每次自动执行)
mount -t tmpfs -o mode=755 tmpfs /sys/fs/cgroup && mkdir -p /sys/fs/cgroup/devices && mount -t cgroup -o devices cgroup /sys/fs/cgroup/devices && mkdir -p /sys/fs/cgroup/systemd && mount -t cgroup cgroup -o none,name=systemd /sys/fs/cgroup/systemd 或者 建议直接去termux里,执行
$ pkg install root-repo $ pkg install tsu lxc $ sudo mount -t tmpfs -o mode=755 tmpfs /sys/fs/cgroup && sudo mkdir -p /sys/fs/cgroup/devices && sudo mount -t cgroup -o devices cgroup /sys/fs/cgroup/devices && sudo mkdir -p /sys/fs/cgroup/systemd && sudo mount -t cgroup cgroup -o none,name=systemd /sys/fs/cgroup/systemd $ sudo lxc-setup-cgroups
【 二 】 创建和启动 lxc容器 接下来,你可以选择自己喜欢的app进行操作, 例如 mt管理器 juicessh termius termux 本地adb shell 远程adb
( 1 ) 配置环境 以mt管理器 为例, 打开mt管理器,点左上角 三条杠, 终端模拟器,如果是第一次使用, 等它初始化一下。 开始执行命令
$ su $ cd /data/lxc $ source env.sh ( 2 ) 创建和运行 lxc容器 创建lxc容器
$ lxc-create -t download -n ubuntu – –server mirrors.tuna.tsinghua.edu.cn/lxc-images 以 ubuntu 23.04 为例,依次输入 ubuntu lunar arm64
等它下载解压完
启动容器
lxc-start -n ubuntu 改密码
lxc-attach -n ubuntu /bin/passwd root 然后输入密码 再次输入密码 密码改好了!
停止容器
lxc-stop -n ubuntu 启动并进入容器
lxc-start -n ubuntu -F 输入用户名 root 输入密码 你改的密码
执行
apt update 发现网络有问题,失败
解决网络问题 ( 共3条命令 )
$ groupadd -g 3003 aid_inet $ usermod -g aid_inet _apt $ echo “nameserver 8.8.8.8” > /etc/resolv.conf 执行
apt update 发现成功了
【 三 】 ubuntu后续使用 ( 1 ) 更换为清华大学源 可选 备份原镜像源
$ cp /etc/apt/sources.list /etc/apt/sources.list.bak ubuntu 23.04更换清华大学源 共4条命令
$ echo “deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ lunar main restricted universe multiverse” > /etc/apt/sources.list
$ echo “deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ lunar-updates main restricted universe multiverse” » /etc/apt/sources.list
$ echo “deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ lunar-backports main restricted universe multiverse” » /etc/apt/sources.list
$ echo “deb http://ports.ubuntu.com/ubuntu-ports/ lunar-security main restricted universe multiverse” » /etc/apt/sources.list ( 2 ) ssh连接
$ apt install openssh-server 修改ssh配置文件,允许root用户的ssh连接,
$ apt install nano $ nano /etc/ssh/sshd_config 找到这行 #PermitRootLogin prohibit-password 在它的下面添加1行 PermitRootLogin yes
保存并退出 Ctrl + o Enter Ctrl + x
重启ssh服务
$ systemctl restart ssh ( 3 ) 改时区 描述: 日期时间不对,需要改下时区
执行
date 发现日期时间不对
执行以下命令 ( 即设定时区 让它自动校正时间 )
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 执行
date 发现时间自动校正了
【 四 】 lxc里的docker 运行 参考 安卓Lxc教程V9 的以下章节 : 【 六 】lxc里运行docker
【 五 】 常用命令 这里记录一些常用命令
( 1 ) lxc容器后台运行
lxc-start -n ubuntu -d 然后就可以ssh连接了
( 2 ) 停止lxc容器
lxc-stop -n ubuntu 也可以这样停止容器
$ su $ /data/lxc/bin/lxc-stop -n ubuntu termux里 可以这样停止容器
sudo /data/lxc/bin/lxc-stop -n ubuntu