目录
进入图形界面:
可能遇到的问题:
升级ubuntu
再次执行sudo do-release-upgrade,输入y開始更新系统,按照终端的指示更新。
首页 运维 linux运维 linux deploy有什么用

linux deploy有什么用

Apr 12, 2023 pm 04:40 PM
linux

linux deploy用于在Android设备上部署Linux环境,其原理大概是在Android的Linux层跑一个chroot或者proot容器,然后再在容器中运行我们准备好的另外一个Linux系统。在使用Linux Deploy前,必须需要获取手机的Root权限。

linux deploy有什么用

本教程操作环境:linux7.3系统、Dell G3电脑。

Linux Deploy是一款可以在Android设备上部署Linux环境的应用,其原理大概是在Android的Linux层跑一个chroot或者proot容器,然后再在容器中运行我们准备好的另外一个Linux系统。值得注意的是,这与我们熟知的虚拟机技术不同,新的Linux系统将和Android系统平行运行(非专业解释不要深究)。

在使用Linux Deploy之前,我们需要获取手机的Root权限(必须),获取Root权限后,由于原机自带的Linux命令集不完整,我们需要安装Busybox来扩充Linux命令集(不安装也可以)

Linux Deploy需要在谷歌商店安装,其他安卓应用商店没有,以下提到的软件都只能在谷歌商店安装,文章下方也提供下载地址
1.png

安装完成后,我们将使用Linux Deploy在Android设备上部署Ubuntu系统:

  点击界面最右下方的"下载"图标进入配置文件的设置界面进行如下设置(我也不知道开发者为什么会用这么一个"下载"图标作为配置文件设置界面的图标):

  Containerization method:"chroot"

  发行版:"Ubuntu"

  架构:保持默认值

  发行版版本:"yakkety"(即Ubuntu 16.10)

  源地址:mirror.tuna.tsinghua.edu.cn(这里我们采用默认方式部署,即在软件源中下载Linux组件和必要的软件包的方式部署,因为默认源速度不佳,为了不下载一天一夜,我们这里使用的是清华大学的开源镜像源,如果你采用Repository方式部署(之后的文章会讲到),这里的"源地址"应该填写Repository文件(后缀为tgz/tar.gz)文件的本地或远程路径)

  安装类型:这一选项的话有两种建议,"目录"和"文件",如果对Linux不太熟悉并且/data分区剩余空间≥2g的话,建议使用"目录"的安装方式,如果对Linux比较熟悉或者/data分区剩余空间<2g的话,建议使用"文件"的安装方式。在这里,为了操作方便,使用"目录"的安装方式,但在实际使用中,为了不占用/data分区空间,建议大家采用"文件(镜像)"的安装方式。

  安装路径:"安装路径"选择"目录"时,这个选项将定义系统安装在哪个路径中,默认路径为${ENV_DIR}/rootfs/linux,即安装在/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux目录下。"安装类型"选择"文件"时,这个选项将定义Linux系统安装在哪个镜像文件中,默认值为外置存储/linux.img

  镜像大小(MB)(安装类型"选择"文件"时可用):这个选项将定义系统所在镜像文件的大小。系统安装之前将在安装目录创建一个大小为设置的镜像大小的空文件用来存放系统文件和数据(相当于新Linux系统的总磁盘空间)。建议不要用默认值,填写2048m足够了。

  文件系统(安装类型"选择"文件"时可用):选择"自动"。

  用户名:这个选项为登录系统时的用户名,默认为"android",可以随意更改。

  用户密码:这个选项为Ubuntu系统中用户的密码,可以根据自己的习惯填写。

  Privileged Users:保持默认值

  DNS服务器:可以保持默认值,也可自定义填写DNS服务器地址(如114.114.114.114等)

  本地化:建议保持默认值POSIX,如果有其他需求,比如需要让ssh返回结果为中文或者让图形界面的显示语言为中文时,选择"zh_CN.UTF8"

  INIT/MOUNTS项:若有需求时可以设置,无需求可以忽略。

  允许SSH服务器启动:打开此选项

  SSH设置:保持默认

  允许图形界面启动:若有需求可以设置,这里暂时不打开这个选项(之后的文章将会为大家介绍如何部署图形界面)。

2.png

  设置完成后,按返回键返回到应用主界面,按下菜单键,选择"安装"开始Linux系统的安装,安装过程中需要一直保持网络连接(建议在WIFI下安装,大概需要几百兆流量)。

  当看到终端输出">>>deploy"时,代表安装已开始:

3.png

  当看到终端输出"<<

4.png

  点击主界面下方的"启动"按钮可以启动新安装的系统,点击"停止"可以停止系统。

5.png

  至此,系统部署部分描述完毕。

  部署完毕后,我们需要用到lJuiceSSH/ConnectBot之类的SSH工具来登录系统(这里以JuiceSSH为例)。

  成功启动系统后我们打开JuiceSSH,依次点击 "连接" - 右下角"+"按钮 进入新建连接界面:

  昵称:可随意填写,我们以"Localhost - Android"为例   类型:SSH   地址:127.0.0.1

6.png

  认证:选择"新建"跳转到"新建认证"界面:   昵称:同样可以随意填写,我们同样以"Localhost - Android"为例   用户名:填写"配置文件设置"界面的"用户名",默认为android   密码:填写"配置文件设置"界面的设置的"用户密码"

7.jpg

  点击右上角的"√"图标保存并返回到"新建连接"界面,再次点击"√"图标保存,在"连接列表"中点击刚刚新建的这个项目连接到我们刚刚部署好的系统,连接成功后界面如下:

8.jpg

  因为我们是通过普通用户android登陆系统的,接下来我们需要设置超级用户(root)的密码并且以超级用户的身份登陆系统:

  在终端中键入:

sudo passwd root

  终端将会提示用户输入root用户的密码并且再次输入一次以确认(输入密码时密码将不可见,连*都不会显示),设置完毕后,在终端键入命令su并输入刚刚设置好的root用户密码即可切换到root用户。

  文件的管理:   如果你是通过"目录"方式部署的Linux系统,那么你可以直接使用R.E.管理器访问/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux即可管理新系统中的文件,如果你是通过"文件"方式部署的Linux系统,管理文件等操作就得依靠SFTP了(当然使用SSH方式也没问题,但是还是觉得SFTP更方便些)。当我们使用普通用户身份登录SFTP时,由于权限原因,我们无权操作大多数文件。所以我们需要以超级用户身份登录SFTP。但默认配置是不允许root用户登录SSH和SFTP的,所以我们需要进行如下设置:

  在Linux Deploy中启动部署好的系统,以android用户登录到SSH,在终端中执行:

sudo apt-get install -y vim #安装vim编辑器

  当然啦,使用系统自带的vi编辑器也是可以的,如果你对vi编辑器比较熟悉也可以使用vi编辑器编辑文件。vim编辑器安装完成后我们继续在终端执行:

vim /etc/ssh/sshd_config #使用vim编辑器打开/etc/ssh/sshd_config这个文件

  打开文件后,键入i进入编辑模式,点击终端任意空白位置可以弹出特殊键键盘,使用上下光标滚动浏览文件,在文件的#Authentication部分找到PermitRootLogin这一项,将其改为yes,改动完成后点击特殊键键盘中的"ESC"键退出编辑模式,键盘键入:wq!保存并强制退出文件完成对文件的编辑操作。

9.png

  打开Linux Deploy,停止后再启动Linux系统。打开"Turbo客户端" - 侧边栏 - 创建一个新账户 - SFTP 来新建一个SFTP连接(部分文件管理器,比如ES文件浏览器(ESFileExplorer),SE文件管理器(SolidExplorer)也带有SFTP功能,如果不想安装TurboFTP的话,可以用它们来代替):

10.png

  其中:

  用户名为:root   密码为刚刚设置好的root用户的密码   主机名为:127.0.0.1

  其他项保持默认,点击右上角的"保存"图标保存配置,在侧边栏的连接列表中我们将以root用户连接到SFTP并管理文件:

11.png

  当然,修改完sshd_config文件,停止并启动Linux系统后,你也可以直接以root用户连接到SSH了。   介绍完安装,介绍一下卸载吧~你可以通过以下方法完全卸载Linux Deploy:

  1.如果你使用"目录"的方式部署的Linux系统,那么在Linux Deploy内"停止"Linux系统,接着直接卸载Linux Deploy并重启手机即可完全卸载;   2.如果你使用"文件(镜像)"方式部署的Linux系统,你需要先"停止"Linux系统,然后删除放置在内置存储下的镜像文件,镜像文件路径就是上文在部署Linux系统之前提到的"安装路径"这一项,如果此项未经修改,则镜像路径为外置存储/linux.img,接着卸载Linux Deploy并重启手机即可完全卸载。

安装图形环境

修改以下配置项:

  INIT:   打勾:启用自定义脚本执行   (INIT的其他配置保持不变)

  图形界面:

  打勾:允许图形界面启动

  图形子系统:VNC

  图形化界面设定:保持默认配置

  桌面环境:按需选择,这里选择的是LXDE 

12.png
13.png
14.png

  配置完毕后,回到主界面,按下"菜单键",选择"配置"让我们刚才的的设置生效:

15.png
16.png

  配置完毕后,点击底部的"停止"按钮停止Linux系统,再点击"启动"按钮启动Linux系统,接着我们登入SSH,在终端中执行:

sudo apt-get install ttf-wqy-zenhei #安装中文字库

  中文字库安装完毕后,执行以下命令启动VNC:

vncserver

  终端会返回以下结果:

New &#39;X&#39; desktop is localhost:1 Starting applications specified in /home/android/.vnc/xstartup Log file is /home/android/.vnc/localhost:1.log
复制

  证明vncserver已启动成功。

  (注意,在某些时候,第一次执行vncserver命令时系统将要求你设定一个小于8位数的VNC密码,你需要输入两次密码之后提交,VNC密码设定完成之后还会有一个提示,不用理会,键入n提交即可)

进入图形界面:

  接着我们使用VncViewer来连接到我们刚刚部署好的的图形界面:

  打开VncViewer,点击右下角的"+"按钮添加VNC会话:

  Address:   127.0.0.1:5901   Name:   Localhost - Ubuntu@Xfce

  其中,"Address"项为VNC服务器所在的地址。由于我们需要连接本机的VNC服务器,所以填写127.0.0.1即可,此外我们还需要在地址后指定VNC端口,因为刚刚终端返回的信息:New &#39;X&#39; desktop is localhost:1指定了此次桌面会话号为1,所以端口就为5900+1=5901。如果我们开启了多个虚拟桌面,它们的会话号为2,3,4...,那么各自的端口即为5902,5903,5904...依次类推。并且,服务器地址与端口之间需要用英文冒号隔开。"Name"项为用户为此VNC会话指定的地址,我们为了区别其他会话,填写的是Localhost - Ubuntu@Xfce,实际上随便填写什么都可以。

  这些信息填写完毕后,点击"CREATE"按钮提交:

17.png
18.jpg

  确认信息无误后,点击下面绿色的"CONNECT"按钮开始连接VNC会话(如果你之前没有设定过VNC密码,但在连接VNC连接过程中仍然需要你输入密码时,那么你可以输入android用户的密码试试):

19.png
20.png

  好了...图形界面的部署过程到此为止,剩下的你们自己折腾吧(/doge脸)~

可能遇到的问题:

  1. 当你开启了一个VNC会话,停止Linux系统再启动Linux系统后,再次执行vncserver命令,系统可能会报出以下错误:

21.png

  这时候,你可以执行以下两条命令:

rm -rf /tmp/.X[1-9]-lock
rm -rf /tmp/.X11-unix/X[1-9]

  执行完毕后,再执行vncserver,会话号就会被重置为1了。为了防止每次停止再启动Linux系统后带来的这个问题,我们可以编辑/etc/rc.local文件,在此文件的exit 0之前插入这两条命令:

sudo vim /etc/rc.local #编辑/etc/rc.local
22.png

  编辑完成后,保存即可,进行这步操作后,在启动Linux系统后和停止Linux系统之前,Linux Deploy都会替我们执行这两条命令,这样一来之后就不会再报错了~

  2. vncserver默认的分辨率是1024×768,但市面上的大部分手机屏幕的分辨率都是720P(1280×720),1080P(1920×1080),甚至2K(2560×1440),vncserver默认的1024×768分辨率可能会造成VNC画面不能填充满屏幕的情况,这时候,我们有必要修改VNC分辨率以适应屏幕,经过测试,拿1080P屏幕来说,将分辨率设为为720P可使VNC图像充满屏幕且不影响显示效果。调节方法就是在每次执行vncserver命令时在后面加上-geometry参数,例如我需要把VNC分辨率调为720P(1280×720),那么在启动vncserver时,执行:

vncserver -geometry 1280x720

  即可将新开启的VNC虚拟会话屏幕分辨率设为1280×720。值得注意的是,命令中的1280x720里的x是小写字母x,而不是数学中的乘号×

  下面是1280×720分辨率和1024×768分辨率的对比(将VNC Viewer画面缩小到最小):

23.png
24.png

  很明显,1080P屏幕上,将VNC分辨率设为1280×720可使图像填充满屏幕且视觉效果更佳。

  如果你觉得每次启动vncserver时输这么一长串命令有点儿麻烦,那么可以编辑~/.bashrc文件,在下图所示的位置增加一行alias定义:

vim ~/.bashrc #编辑~/.bashrc

alias vncserver='vncserver -geometry 1280x720'
复制

25.png

  之后,每次执行vncserver命令后,新开启的VNC会话的分辨率都会被设为1280×720。

升级ubuntu

会发现ubuntu只能安装到18.04

升级的方法就是安裝Ubuntu后再直接升级。

用VNC登入桌面後,用終端機安裝更新器

sudo apt install update-manager-core
登录后复制

更新全部套件至最新版

sudo apt update && sudo apt upgrade
sudo do-release-upgrade
登录后复制

如果出現authenticate 'focal.tar.gz' against 'focal.tar.gz.gpg' Authentication failed錯誤,先安裝gnupg並執行以下指令:

sudo apt install gnupg gnupg1 gnupg2
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
登录后复制

再次执行sudo do-release-upgrade,输入y開始更新系统,按照终端的指示更新。

如果提示Please Install All Available Updates Before Upgrading

apt clean 
apt autoclean
sudo apt update 
sudo apt upgrade -y 
sudo apt dist-upgrade
登录后复制

再次执行sudo do-release-upgrade,输入y開始更新系统,按照终端的指示更新。

不出意外的话,系统正常升级完了。

升级完之后还需要回到linux deploy的配置项中把用户名改成root,密码可以保持不变,原因是升级后,原来的android这个用户名就没有root权限了

修改用户名之后一定要点linux deploy的配置选项重新配置

# 2023.3.8更新 如果你遇到“The required dependency 'apt (>= 2.0.4)' is not installed.”需要修改/etc/apt/source.list文件

## /etc/apt/source.list
deb http://ports.ubuntu.com/ focal multiverse main universe
deb-src http://ports.ubuntu.com/ focal multiverse main universe
deb http://ports.ubuntu.com/ focal-updates main universe multiverse
deb-src http://ports.ubuntu.com/ focal-updates main universe multiverse
deb http://ports.ubuntu.com/ focal-security main universe multiverse
deb-src http://ports.ubuntu.com/ focal-security main universe multiverse
登录后复制

相关推荐:《Linux视频教程

以上是linux deploy有什么用的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

centos和ubuntu的区别 centos和ubuntu的区别 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的关键差异在于:起源(CentOS 源自 Red Hat,面向企业;Ubuntu 源自 Debian,面向个人)、包管理(CentOS 使用 yum,注重稳定;Ubuntu 使用 apt,更新频率高)、支持周期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社区支持(CentOS 侧重稳定,Ubuntu 提供广泛教程和文档)、用途(CentOS 偏向服务器,Ubuntu 适用于服务器和桌面),其他差异包括安装精简度(CentOS 精

centos如何安装 centos如何安装 Apr 14, 2025 pm 09:03 PM

CentOS 安装步骤:下载 ISO 映像并刻录可引导媒体;启动并选择安装源;选择语言和键盘布局;配置网络;分区硬盘;设置系统时钟;创建 root 用户;选择软件包;开始安装;安装完成后重启并从硬盘启动。

Centos停止维护后的选择 Centos停止维护后的选择 Apr 14, 2025 pm 08:51 PM

CentOS 已停止维护,替代选择包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(与 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商业版,付费许可);5. Oracle Linux(与 CentOS 和 RHEL 兼容)。在迁移时,考虑因素有:兼容性、可用性、支持、成本和社区支持。

docker desktop怎么用 docker desktop怎么用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop?Docker Desktop 是一款工具,用于在本地机器上运行 Docker 容器。其使用步骤包括:1. 安装 Docker Desktop;2. 启动 Docker Desktop;3. 创建 Docker 镜像(使用 Dockerfile);4. 构建 Docker 镜像(使用 docker build);5. 运行 Docker 容器(使用 docker run)。

docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

docker镜像失败怎么办 docker镜像失败怎么办 Apr 15, 2025 am 11:21 AM

Docker镜像构建失败的故障排除步骤:检查Dockerfile语法和依赖项版本。检查构建上下文中是否包含所需源代码和依赖项。查看构建日志以获取错误详细信息。使用--target选项构建分层阶段以识别失败点。确保使用最新版本的Docker引擎。使用--t [image-name]:debug模式构建镜像以调试问题。检查磁盘空间并确保足够。禁用SELinux以防止干扰构建过程。向社区平台寻求帮助,提供Dockerfile和构建日志描述以获得更具体的建议。

centos停止维护后怎么办 centos停止维护后怎么办 Apr 14, 2025 pm 08:48 PM

CentOS 停止维护后,用户可以采取以下措施应对:选择兼容发行版:如 AlmaLinux、Rocky Linux、CentOS Stream。迁移到商业发行版:如 Red Hat Enterprise Linux、Oracle Linux。升级到 CentOS 9 Stream:滚动发行版,提供最新技术。选择其他 Linux 发行版:如 Ubuntu、Debian。评估容器、虚拟机或云平台等其他选项。

vscode需要什么电脑配置 vscode需要什么电脑配置 Apr 15, 2025 pm 09:48 PM

VS Code 系统要求:操作系统:Windows 10 及以上、macOS 10.12 及以上、Linux 发行版处理器:最低 1.6 GHz,推荐 2.0 GHz 及以上内存:最低 512 MB,推荐 4 GB 及以上存储空间:最低 250 MB,推荐 1 GB 及以上其他要求:稳定网络连接,Xorg/Wayland(Linux)

See all articles