使用非ssh方式访问已挂载系统
某些情况下ssh服务可能会出现问题无法启动,不能使用ssh的方式登录容器系统,可以使用Linux Deploy提供的脚本进行访问和操作。该脚本位于本机目录/data/data/ru.meefik.linuxdeploy/files/bin/linuxdeploy
,脚本提供了完整的容器挂载、配置、部署及访问的操作,事实上图形界面操作的时候应该也是使用此脚本进行操作。
在本地终端上以本机Root用户执行以下命令可登录已挂载系统:
/data/data/ru.meefik.linuxdeploy/files/bin/linuxdeploy shell -u <用户名>
其中用户名为目标系统中的用户名。以此方式登录目标系统shell不需要对应用户的密码。
此外Linux Deploy也提供了两种远程方式以方便访问上述脚本。
Telnet方式
在Linux Deploy程序设置中开启Telnet(启用telnetd守护模式),默认端口为5023,通过支持telnet的外部终端登录该服务(命令:telnet <IP> [port]
,如telnet 127.0.0.1 5023
)。
登录后默认进入到Linux Deploy程序的数据目录/data/data/ru.meefik.linuxdeploy/files
,切换到Root用户,使用上述命令即可登录目标系统。
HTTP方式
在Linux Deploy程序设置中开启HTTP,默认端口为5080,使用浏览器访问127.0.0.1:5080
进入网页终端,其它内容同Telnet。
IMG系统镜像文件扩容
停止系统后在外部终端上使用以下命令增加镜像文件的大小。
dd if=/dev/zero bs=1G count=4 >> /sdcard/linux.img
e2fsck -f /sdcard/linux.img
resize2fs /sdcard/linux.img
对于第一条命令,bs参数指定每次写入的块大小,通常来说块大小越大写入效率越高,但需要操作系统支持该大小;count参数指定写入的块总数。
需要注意,本条命令执行的结果为在原有文件的基础上附加4GB大小的空间,而不是扩容后总大小为4GB。
授予Linux用户网络权限
由于Android内核的一些额外机制,Linux容器中的用户需要创建网络套接字、监听端口等权限,要将该用户附加上aid_inet, aid_net_raw
这两个组,如给www-data用户授权:
usermod -a -G aid_inet,aid_net_raw www-data
评论区(暂无评论)