Linux Deploy:使用Repository部署Linux系统

文章更新   20170408 初次成文

问题提出:   在之前的文章中,小苏为大家介绍过使用常规方式和使用镜像方式部署Linux系统的方法,但是这两种方法各有利弊:

  使用常规方式部署时,镜像大小可以灵活调节,但这种方法需要设备在连接网络的情况下下载大量数据,由于运营商的DNS污染或者由于镜像源站同步的原因,即使更换软件源为国内镜像源,部署时也总会出现部署失败的提示。使用镜像方式部署Linux系统时,虽然可以免去部署时下载大量数据的麻烦,但是使用别人部署好的镜像,初始实现的功能依别人部署好的镜像而定,不能个性化定制系统,也不能调整镜像大小。

  所以,有没有一种部署成功率比较高,又不需要从软件源站下载大量数据,且可以灵活调整镜像大小的部署方式呢?

  答案当然是肯定的。那就是先在Linux Deploy中部署和安装所需要的环境和软件包,然后使用Linux Deploy的导出功能,将Rootfs打包为tar.gz文件,之后,我们只需要将此tar.gz文件导入Linux Deploy,就可以完整还原打包时的Linux系统了。

解决方案:   贴心的作者为我们做好了一些基础的Rootfs以方便我们部署Linux系统,这些Rootfs放置在Linux Deploy的"Repository"中,有些遗憾的是,这些Repository大多是需要到Play商店购买后才能被导入进Linux Deploy中的,但是小苏注意到,有一些Repository似乎可以无需购买,直接导入,比如debian_arm这个Repository:

  导入此Repository后,回到Linux Deploy主界面,点击右下角的"下载"图标进入配置界面,我们可以看到"源地址"已经被配置为一个远程服务器上的tgz(tar.gz)文件:

  我们观察这项配置:

http://hub.meefik.ru/rootfs/debian_arm.tgz

  似乎就是http://hub.meefik.ru/rootfs/加上Linux Deploy中各"Repository"的名称。

  我们拿一个需要付费的的Repository试一下:

http://hub.meefik.ru/rootfs/archlinux_arm.tgz

  似乎还真的是可用的...   所以...看起来这是个彩蛋(喵喵脸)...

  于是,在Linux Deploy中,各Repository的真实地址如下:

开始配置:   我们可以根据这些Repository下的提示,修改配置文件,由于各Repository的发行版,架构和版本都已经在说明中指定了,比如ubuntu_arm这个Repository:

ubuntu_arm
Ubuntu 16.04 LTS (Xenial Xerus) ARM base system.)

  在描述中指定了此Repository对应的发行版是Ubuntu,版本是Xenial,架构为ARM(armhf)。这也意味着,我们必须在配置界面填写与选择的Repository相同的信息。比如我们选定ubuntu_arm这个Repository来部署Linux系统,那么我们只需要进行以下几步操作:   1.下载此tar.gz文件:

http://hub.meefik.ru/rootfs/ubuntu_arm.tgz

  并且记好此文件的路径,下面以下路径为例: /storage/emulated/0/Download/ubuntu_arm.tgz

  2.新建一个配置文件,进入配置界面,做以下配置(未提到的项请保持默认设置):

  Containerization method:chroot   发行版:Ubuntu   架构:armhf   发行版版本:xenial   源地址:/storage/emulated/0/Download/ubuntu_arm.tgz   (即刚刚下载的tgz文件存放的路径)   安装类型:文件   (即使用"镜像"方式部署Linux系统)   安装路径:自定   (安装路径代表镜像文件存放的路径,下图以/storage/emulated/0/Linux/ubuntu_arm.img为例)   镜像大小:自定   (即部署完成后,Linux系统的"本地磁盘"大小,下图以1024m为例,不建议超过4096m)   用户名:android   (即部署完成后,系统默认的普通用户)   密码:自定   (此普通用户的密码,下图以sun12345为例)   Privileged user:root messagebus   (这一项照着填就好)   本地化:zh_CN.UTF8   (即部署完成后,Linux系统的语言环境,zh_CN.UTF8指语言环境为中文,如果喜欢英文语言环境,选择en_US.UTF8即可)   SSH:   打勾:允许SSH服务器启动("SSH"的其他项保持默认设置)

  3.配置完成后,我们就可以开始部署Linux系统了。在部署之前,小苏强烈建议大家挂国外梯子进行部署。因为在Repository中,作者使用各发行版的官方软件源作为软件源,这样一来,一是服务器节点远离中国,软件包下载速度一般都很慢,二是在我国ipv6还未普及,使用官方软件源在部署过程中有一定几率解析到ipv6地址,出现无法连接到服务器的情况并造成部署失败的情况。

  挂好梯子后,我们回到Linux Deploy的主界面,按下菜单键,选择"安装"开始部署:

  我们可以看到,从开始部署(19:15:19)到完成部署(19:17:05),仅仅用了1分44秒的时间就可部署完毕。并且整个过程中只需要下载附加组件(本次部署只启用了SSH连接,所以在部署过程中只下载了SSH有关的软件包,如果你启用了图形界面,在这个过程中还会下载图形环境和VNC等组件)。

  如果你想部署图形界面,请看这篇文章:

https://mlapp.cn/337.html 资源下载:   在网络通畅的情况下小苏还是首推官方的Repository

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏繁花云

[教程]在带有vnc的kvm主机上重装windows原版系统

配置随意,系统需要为Windows,如果为linux请先DD为windows再进行继续操作

1200
来自专栏小尘哥的专栏

搭建自己的个性博客平台

每次百度问题看到别人的个性博客,都纳闷是怎么来的,本教程教你搭建一个自己的个性博客平台。采用当前流行的博客开源框架hexo+oschina,别问为啥不用gith...

1163
来自专栏跟我一起学Docker

第一章 Docker环境搭建

学习Docker,免不了的就是搭建环境了。搭建环境是一个复杂的工程,而且还是相当费时间的,不过话又说回来了,磨刀不误砍柴工嘛,光有理论是不够的,...

6337
来自专栏草根专栏

要用Identity Server 4 -- OAuth 2.0 超级简介

1943
来自专栏编程坑太多

『高级篇』docker之kubernetes基础集群部署(下)(34)

kube-scheduler负责分配调度Pod到集群内的节点上,它监听kube-apiserver,查询还未分配Node的Pod,然后根据调度策略为这些Pod分...

1274
来自专栏L宝宝聊IT

Nginx网站服务

1615
来自专栏编程

rbd是否支持注入

引子 很多 OpenStack 与 Ceph 部署集成的文档都会告诉你,libivrt 的文件和密码注入是在 Ceph 上面是不支持的。需要使用下面的配置文件关...

2706
来自专栏散尽浮华

kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)

公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限。所以打算在这台2U服务器上部署kvm虚拟化,虚出多...

44010
来自专栏小李刀刀的专栏

在Linux VPS上配置日志自动按日分割压缩处理

从风云主机跑路之后,就一直在折腾VPS,虽然我没有什么重要的站,只有一个很久没更新也没什么流量的小博客,但是这个小博客不管怎么说也是从2005年(实际是2004...

3996
来自专栏蓝天

Linux进程KILL不掉的原因

做过Linux开发的人通常遇到过一个进程不能kill掉的情况,即使使用的是kill -9方式,而一般的教课书都只说kill -9能杀死任何进程,遇到这种情况时就...

1912

扫码关注云+社区