在PVE下使用manjaro-architect安装纯命令行版manjaro
更新完毕
前言
前段时间无聊,把一台安装了manjaro的旧电脑直接无备份格盘安装了PVE,发现确实很强大,但这不是今天的主题。
因为平时的开发都是远程到manjaro上的,这次没有备份就格式化确实丢掉了很多东西,但是旧的不去新的不来,是吧。以前manjaro上有几个docker服务,还有一些环境的配置,虽然系统没有备份下来,但是安装的脚本我还是保留了的,恢复也不难,就是花时间而已。装好PVE以后就想着把manjaro重新装回来,毕竟一直更新系统也是很爽的。
问题
我向来有下载最新的系统镜像到本地的习惯,这次安装我就直接用的本地的“manjaro-gnome-18.0.4-stable-x86_64.iso”镜像来安装。
因为linux入门就是从ubuntu开始的,所以比起KDE我更喜欢gnome的环境,虽然不折腾确实丑(笑)。
一开始安装问题就出现了,这个镜像根本在PVE下面就启动不了,这可就难受了。想了很多办法,更改了虚拟机的配置也不行。但是这个镜像在我本机的VMware Workstation 15 Pro(15.0.3)上面又是正常的。网上也根本就搜不到PVE下安装manjaro的教程,这可让我百思不得姐了。
正片
后来我转念一想,本来这台manjaro我就是专门用来开发的,用桌面环境根本就是浪费资源的行为,况且我PVE的宿主机本来配置就不行,在我安装了ubuntu-gnome和黑群晖后已经有点吃力了。安装纯命令行不是更好?所以立马就去官网把“manjaro-architect-18.0.2-stable-x86_64.iso”下载了下来。
顺便说一句,之所以不选择arch是因为arch更新太快了,而我又是不愿意等等看有没有问题的人,在一次更新arch挂掉之后,我就放弃掉这个系统了。而manjaro在更新迅速的同时,也是避开了很多arch的坑的。
官网对这个manjaro-architect是这样介绍的:
懒得翻译了,这个镜像最大的优点就是可以随你自己的意愿自由定制,而且不管是多老的镜像都可以在线更新到最新版,所以你用这个镜像安装出来的manjaro都是最新的。让我这个永远都是更新到最新版系统的人很舒服啊。
说干就干,网上搜了一下教程,傻眼了,一个安装纯命令行manjaro的都没有,安装arch的倒是很多,但是对我没用啊,manjaro虽然基于arch,但是安装方法可一点都不一样。没办法,硬着头皮上吧。
在下载页面下面有一个安装说明(https://wiki.manjaro.org/index.php?title=Installation_with_Manjaro_Architect),不过是安装gnome桌面的教程,只能有一点参考价值。在踩坑无数,快要放弃的时候终于安装好了,所以有了这一篇教程。
开始安装
怎么上传镜像我就不说了,直接开始创建虚拟机吧
先把右下角高级点上,后面的步骤跟着图上的就行了
选择到相应的镜像
BIOS选择UEFI,后面自主安装的时候安装方式也是UEFI,所以选择一致吧。
硬盘大小随意,不过不要太小,以免出现安装的时候提示磁盘空间不足。
CPU配置自己决定,我这里演示就用单核。
内存随意。
网卡默认就行。
点击完成。
点击右上角启动,然后切换到控制台。
启动镜像进行安装
选中BOOT:… 回车
这里最好用root登录,密码也是manjaro。登录进去以后先输入
1 | sudo pacman-mirrors -c China |
系统会自动选择离你最近的镜像服务器
2019-11-06 update:
manjaro architect 更新一直比较缓慢,最近新安装cli system 需要的空间更大了,但是系统自动分配的空间却不够了,这样会导致后续安装basepkgs时报错255。处理方法如下:
在输入setup之前,执行(不是root登录就在前面加一个sudo)
1 | mount -o remount,rw,relatime,size=$((1024*1024*1024)),mode=755 /run/miso/overlay_root |
这样会给 root 分区分配1G的空间,后续的下载空间就够了。
执行
1 | df -h |
可以看到分配成功没有
然后输入setup,等待安装器自动更新。
只有英语看得懂了,选他吧。
OK
第一项设置键盘的格式,如果你的上下左右键和回车没问题就可以不用管这一项。
选项后面有(optional)的都不管。
选择第三个 Partition Disk,如果是物理机安装请小心又小心,保证数据备份好了。虚拟机随意。
ok下一步
小白请选第二项,让程序自动为你分区,它会分出一个500M的EFI分区,剩下的空间作为安装介质。但是我们不是多系统,虚拟机安装也不可能在以后多系统安装,为了最大化利用这500m,我用fdisk来分区。你也可以用自己熟悉的分区软件。
使用fdisk分区
选中fdisk
先输入P看看分区,不看也行。
输入d删除分区,如果有多个分区就多输入几次d,我这个是空盘,什么分区也没有。下面开始重点。
输入n新建一个分区
输入p或者直接回车。
连按两次回车,千万不要多按了,那样会直接把所有空间分成一个盘。
这一步是分出EFI分区,单系统用500m的空间实在太奢侈了,我给大家看看我已经安装好的manjaro占用了多少EFI空间。
/dev/sda1是我的EFI分区,只用了258K,我分了150M,连百分之一都没用到。
回到安装步骤,我们这里就分50M吧,块是从2048开始的,结束块应该是104448,公式如下,n为你想要分区的大小。
输入104448回车,然后输入p看看分区大小,确实是50M
然后再输入n,按三次回车,直到出现
created a new partition 2 of type Linux and of size 32 GiB
再输入p看看是否分了两个区,如果分错了,就输入d删掉这些分区(有几个删几次,d一次只能删除一个分区)重新进行上面分区的步骤。到此,分区结束,输入w执行分区(刚刚的步骤只是在内存中模拟,并没有真正的执行,输入了w才是真的对硬盘进行分区了)
输入w后跳转回这个界面,选中第7项,挂载分区。
挂载分区
一些警告信息,直接点OK
这一步是让你选择root分区,也就是系统安装的分区,选择最大的那个盘。
格式化选择EXT4,若要选择其他格式请随意。
警告你格式化了数据就没了,选Yes。
按空格键选择,这一步不要多选,直接点击回车下一步。
Yes
如果设置的内存够大,或者你明确的知道以后对系统的事情不会占用太多内存,这里的swapfile可以不用设置,光标移到None上面回车进行下一步,否则还是设置一下的好,一般设置的和内存差不多大。移动到swapfile选项回车。
回车
直接回车,不要挂载这个分区。
这一步让你选择UEFI分区,选择我们刚刚设置的50M的分区。
挂载点,默认即可。回车。到此,挂载分区结束。
源的设置
现在的安装器会自动选择最近的镜像源,所以不用设置这一项,如果想改的话请搜索“manjaro更换源”。
选中第九步回车,会刷新key,几分钟就好。
选中第10项,回车。
Yes。顺便说一句,fsck hook 是在系统启动时是否进行磁盘检查,其实我觉得虚拟机没必要开启这个,但是我还是开了( (~ ̄▽ ̄)~ )
回到上一项。
Install CLI System
我是只安装命令行版本的manjaro,所以直接第三项,Install CLI System。如果要安装Desktop版本直接跟着官方教程走就行了。
install Base Packages
选中第一项,安装基础包。
出现错误,不管他,下一步。
按空格选中第一个包,可以安装第三方源的软件。内核自己选吧,我选的目前最新的稳定版,linux419。回车
可选可不选,回车。
又出现这个错误,不管他,直接回车。(有可能没有这个错误,不重要)
等待他安装完成。
安装完成了,问你安装开源驱动还是闭源驱动,选第一项就好。
Install BootLoader
BootLoader选择grub就好
因为启动方式选择的UEFI,所以问你是否需要将启动项添加到efi分区,点击yes
Configure Base
开始设置一些基础项
依次为:生成FSTAB,设置用户名,系统语言,时区,root密码,添加新用户
选一项看起来顺眼的就行,我选的第一项。
在网络中显示的主机名,我就保持默认了
系统语言,英语或者中文都可以。中文在倒数第五个。
编码选择 utf-8 的
时区选择 Asia/Shanghai
UTC就行,如果是windows双系统就选第二个,第一个会导致windows时区重置为太平洋时间。
设置root密码
输入用户名来创建一个新用户。这将是你之后登录的账户
默认的shell,建议选择第二项,然后进入系统后再安装其他shell。
你的密码
返回到上一步
Install Custom Packages
安装自定义软件
输入包名来进行搜索,然后按tab键来选择包,选择完成后按enter退出。
我们需要安装如下几个软件:
1 | openssh |
tab选择后在前方会出现绿色的小箭头
System Tweaks
系统的配置
依次为:启用自动登录,启用休眠,性能,安全和其他系统设置。
默认即可,直接back
其他
这时候可以查看一下之前的配置,如果有不对的可以返回去修改,如果没有问题,就back然后安装吧。
开始安装
选择Done开始安装
这里会问你是否真的退出,你还没有选择安装图形驱动,因为我们就是安装的cli系统,不需要图形界面,忽视直接yes即可。
是否保存log,yes
然后重启即可。
可以看到启动成功,到这里安装就完成了。
新系统的配置
网络配置
启动后会发现连不上网络,这是因为网卡的名称不对。我们来进行一些修改
输入
1 | ifconfig -a |
查看网卡信息(如果上面安装那一步没有安装net-tools工具的话,这里就会发现既没有网也没有办法修改,难受的一比。只有重新打开安装工具执行chroot来安装)
可以看到ens18没有获取到网络
先执行
1 | sudo dhclient ens18 |
来临时获取ip地址。
在执行一次
1 | ifconfig -a |
查看分配到的ip地址。
ssh配置
因为安装了openssh,这时候我们可以ssh到虚拟机上进行操作,不用一个一个手打了。
执行
1 | sudo systemctl start sshd |
然后打开putty或者xshell连接到虚拟机吧。
然后执行
1 | cd /etc/netctl |
查看当前目录下的文件
然后执行
1 | sudo nano ens18 |
ens18替换为上面ifconfig看到的网卡名字,但是跟着我教程安装的一定是ens18。
输入
1 | Interface=ens18 |
然后按ctrl+o,ctrl+x 退出
如果没有问题,就执行
1 | sudo netctl enable ens18 |
重启看看ifconfig网卡是否获取到了ip,如果成功了,恭喜你,所有的安装已经结束。享受新的系统吧。