在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是这样介绍的:

1564561411655

懒得翻译了,这个镜像最大的优点就是可以随你自己的意愿自由定制,而且不管是多老的镜像都可以在线更新到最新版,所以你用这个镜像安装出来的manjaro都是最新的。让我这个永远都是更新到最新版系统的人很舒服啊。

说干就干,网上搜了一下教程,傻眼了,一个安装纯命令行manjaro的都没有,安装arch的倒是很多,但是对我没用啊,manjaro虽然基于arch,但是安装方法可一点都不一样。没办法,硬着头皮上吧。

在下载页面下面有一个安装说明(https://wiki.manjaro.org/index.php?title=Installation_with_Manjaro_Architect),不过是安装gnome桌面的教程,只能有一点参考价值。在踩坑无数,快要放弃的时候终于安装好了,所以有了这一篇教程。

开始安装

怎么上传镜像我就不说了,直接开始创建虚拟机吧

1564563013179

先把右下角高级点上,后面的步骤跟着图上的就行了

1564563083001

选择到相应的镜像

1564563184495

BIOS选择UEFI,后面自主安装的时候安装方式也是UEFI,所以选择一致吧。

1564563266976

硬盘大小随意,不过不要太小,以免出现安装的时候提示磁盘空间不足。

1564563341079

CPU配置自己决定,我这里演示就用单核。

1564563424542

内存随意。

1564563440504

网卡默认就行。

1564563463752

点击完成。

点击右上角启动,然后切换到控制台。

启动镜像进行安装

1564563559624

选中BOOT:… 回车

1564563676959

这里最好用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,等待安装器自动更新。

1564563721343

只有英语看得懂了,选他吧。

1564563765037

OK

1564563791874 1564563813951

第一项设置键盘的格式,如果你的上下左右键和回车没问题就可以不用管这一项。

选项后面有(optional)的都不管。

选择第三个 Partition Disk,如果是物理机安装请小心又小心,保证数据备份好了。虚拟机随意。

1564564028706

ok下一步

1564564065563

小白请选第二项,让程序自动为你分区,它会分出一个500M的EFI分区,剩下的空间作为安装介质。但是我们不是多系统,虚拟机安装也不可能在以后多系统安装,为了最大化利用这500m,我用fdisk来分区。你也可以用自己熟悉的分区软件。

使用fdisk分区

1564564240882

选中fdisk

1564564281898

先输入P看看分区,不看也行。

1564564328897

输入d删除分区,如果有多个分区就多输入几次d,我这个是空盘,什么分区也没有。下面开始重点。

1564564406700

输入n新建一个分区

1564564427561

输入p或者直接回车。

1564564466079

连按两次回车,千万不要多按了,那样会直接把所有空间分成一个盘。

这一步是分出EFI分区,单系统用500m的空间实在太奢侈了,我给大家看看我已经安装好的manjaro占用了多少EFI空间。

/dev/sda1是我的EFI分区,只用了258K,我分了150M,连百分之一都没用到。

回到安装步骤,我们这里就分50M吧,块是从2048开始的,结束块应该是104448,公式如下,n为你想要分区的大小。

1564564884797

输入104448回车,然后输入p看看分区大小,确实是50M

1564564934766

然后再输入n,按三次回车,直到出现

created a new partition 2 of type Linux and of size 32 GiB

1564565106774

再输入p看看是否分了两个区,如果分错了,就输入d删掉这些分区(有几个删几次,d一次只能删除一个分区)重新进行上面分区的步骤。到此,分区结束,输入w执行分区(刚刚的步骤只是在内存中模拟,并没有真正的执行,输入了w才是真的对硬盘进行分区了)

1564565326871

输入w后跳转回这个界面,选中第7项,挂载分区。

挂载分区

1564565371808

一些警告信息,直接点OK

1564565403109

这一步是让你选择root分区,也就是系统安装的分区,选择最大的那个盘。

1564565453451

格式化选择EXT4,若要选择其他格式请随意。

1564565492185

警告你格式化了数据就没了,选Yes。

1564565540222

按空格键选择,这一步不要多选,直接点击回车下一步。

1564565594991

Yes

1564565620982

如果设置的内存够大,或者你明确的知道以后对系统的事情不会占用太多内存,这里的swapfile可以不用设置,光标移到None上面回车进行下一步,否则还是设置一下的好,一般设置的和内存差不多大。移动到swapfile选项回车。

1564565704758

回车

1564565762467

直接回车,不要挂载这个分区。

1564565783810

这一步让你选择UEFI分区,选择我们刚刚设置的50M的分区。

1564565817292

挂载点,默认即可。回车。到此,挂载分区结束。

源的设置

1564565848480

现在的安装器会自动选择最近的镜像源,所以不用设置这一项,如果想改的话请搜索“manjaro更换源”。

1564565940989

选中第九步回车,会刷新key,几分钟就好。

1564566366411

选中第10项,回车。

1564566395155

Yes。顺便说一句,fsck hook 是在系统启动时是否进行磁盘检查,其实我觉得虚拟机没必要开启这个,但是我还是开了( (~ ̄▽ ̄)~ )

1564566409683 1564566418921
1564566432340

回到上一项。

1564566448680

Install CLI System

我是只安装命令行版本的manjaro,所以直接第三项,Install CLI System。如果要安装Desktop版本直接跟着官方教程走就行了。

cli项目
install Base Packages

选中第一项,安装基础包。

可能不会出现的错误

出现错误,不管他,下一步。

选择内核

按空格选中第一个包,可以安装第三方源的软件。内核自己选吧,我选的目前最新的稳定版,linux419。回车

选择内核模组

可选可不选,回车。

不重要的错误

又出现这个错误,不管他,直接回车。(有可能没有这个错误,不重要)

开始安装了

等待他安装完成。

安装完成了

安装完成了,问你安装开源驱动还是闭源驱动,选第一项就好。

Install BootLoader
安装bootloader 选择grub

BootLoader选择grub就好

UEFI的询问选项

因为启动方式选择的UEFI,所以问你是否需要将启动项添加到efi分区,点击yes

Configure Base
config base

开始设置一些基础项

选项

依次为:生成FSTAB,设置用户名,系统语言,时区,root密码,添加新用户

  • FSTAB

    选一项看起来顺眼的就行,我选的第一项。

  • 用户名

    在网络中显示的主机名,我就保持默认了

  • 系统语言

    系统语言,英语或者中文都可以。中文在倒数第五个。

    编码格式选择

    编码选择 utf-8 的

  • 时区 上海

    时区选择 Asia/Shanghai

    更新时间方式

    UTC就行,如果是windows双系统就选第二个,第一个会导致windows时区重置为太平洋时间。

  • root密码

    设置root密码

    设置完成,返回
  • 创建新用户

    输入用户名来创建一个新用户。这将是你之后登录的账户

    默认的shell

    默认的shell,建议选择第二项,然后进入系统后再安装其他shell。

    用户密码

    你的密码

返回到上一步

Install Custom Packages
安装自定义软件

安装自定义软件

翻译

输入包名来进行搜索,然后按tab键来选择包,选择完成后按enter退出。

我们需要安装如下几个软件:

1
2
3
4
5
openssh
vim
nano
net-tools
netctl
tab选择后在前方会出现绿色的小箭头

tab选择后在前方会出现绿色的小箭头

开始安装了
System Tweaks
系统配置

系统的配置

四个配置项

依次为:启用自动登录,启用休眠,性能,安全和其他系统设置。

默认即可,直接back

其他
1573029987923

这时候可以查看一下之前的配置,如果有不对的可以返回去修改,如果没有问题,就back然后安装吧。

开始安装
done

选择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
2
cd /etc/netctl
ls

查看当前目录下的文件

然后执行

1
sudo nano ens18

ens18替换为上面ifconfig看到的网卡名字,但是跟着我教程安装的一定是ens18。

输入

1
2
3
Interface=ens18
Connection=ethernet
IP=dhcp

然后按ctrl+o,ctrl+x 退出

如果没有问题,就执行

1
2
sudo netctl enable ens18
sudo netctl start ens18

重启看看ifconfig网卡是否获取到了ip,如果成功了,恭喜你,所有的安装已经结束。享受新的系统吧。