Arch之论与断


Archlinux

说到Arch Linux,那个叫做有点恐怖了,这一个我都在读文档,读得那个叫做天花乱坠啊,要死要活的,主要是想换个系统尝尝鲜,哪曾想这么耗费时间精力。不过说句实话,就算什么都没有收获到,对于一个有假期的闲人来说,这些事情不过是用来打磨时间而已。(各位都忙,新年快乐!)

Arch?!邪教??!可定制性高???!

到知乎上的一个问题叫做《为什么arch被称为邪教?》。我其实也挺好奇为什么叫做邪教,我单纯地看到Arch的AUR十分强大,它的仓库很大,许多软件都能直接安装上去,还可以添加国内源,极其方便地安装搜狗拼音、网易云音乐、WPS这三样我对笔记本的基础需求的软件。这么刚正不阿的Linux的发行版本,是那个地方邪恶了?

我认同Archlinux有种让人自大的能力,说不定也是其魅力所在。可定制性极高,虽然是没有到达我所想象的地步(应该是个人技术所限),但是起码的,从启动方式到桌面定制,还是可以制定挺强个性化的系统的。但它的魅力可没有让人们蛊惑人心的邪教的程度吧,毕竟Arch的文档还是极其恐怖,想要入门也是挺难的,虽然网络上有许多教程,但想要自己进行自己的定制,还是挺难的,花时间花精力,做出来的东西还不一定如意。像我这个样子,我都快废掉了,我现在还能记得我重装了差不多上百次系统最后一次用的命令。

wifi-menu
wget -O /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist
vim /etc/pacman.d/mirrorlist //修改源
timedatectl set-ntp true 
//如果后期要装桌面,我发现这个命令是没有任何作用的,但如果没有用桌面,那么系统时间会出错
fdisk -l
gdisk /dev/nvme0n1  //格式化硬盘创建分区
{
    o
    n //再两次回车
    +512M
    ef00 //文件系统ESP用于引导系统
    n //再三次回车
    w
}
mkfs.fat -F32 /dev/nvme0n1p1
mkfs.btrfs -f /dev/nvme0n1p2 //听说这个格式挺适合SSD使用
mount /dev/nvme0n1p2 /mnt
cd /mnt 
btrfs subvol create ROOT
btrfs subvol create HOME
cd ..
umount /dev/nvme0n1p2
mount /dev/nvme0n1p2 /mnt -o subvol=ROOT,compress=lzo,noatime,discard,ssd,space_cache
mkdir /mnt/home
mount /dev/nvme0n1p2 /mnt/home -o subvol=HOME,compress=lzo
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
pacstrap /mnt base base-devel iw wpa_supplicant dialog
genfstab -U /mnt >> /mnt/ect/fstab
arch-chroot /mnt
pacman -S vim
vim /etc/locale.gen //反注释en_US.UTF-8和zh_CN.UTF-8
locale-gen
rm /etc/localtime
ln /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc --utc
echo my_hostname > /etc/hostname //主机名,my_hostname自定义
vim /etc/hosts //官方建议加入
{
    127.0.0.1 my_hostname.localdomain my_hostname
}
passwd //管理员密码
pacman -S zsh
useradd -m -g users -s /bin/zsh my_name //个人喜好
passwd my_name
bootctl --path=/boot install //使用system boot引导,我大概用了十多次重装才搞明白
vim /boot/loader/loader.conf 
{
    default arch
    timeout 0 //单装Linux个人觉得不需要引导界面了
    editor 0
}
vim /boot/loader/entries/arch.conf
{
    title Arch
    linux //这个再vim用":read ! ls /boot"获取的,可以看文档,挺简单的
    initrd //同上
    options //":read ! blkid /dev/nvme0n1p2"文档看btrfs的用法
}
exit
umount -R /mnt //多次试验,这个命令可有可无
reboot //进入系统,接下来是桌面的安装,自选吧,我已经纠结了上百遍,最终回归dde

如果这个叫做可定制性高的话,这个时候我会闻到高考的味道了,我参加的高考拥有固定的模式——无限刷题刷出套路,虽然每个人的做题方法都没有什么区别了,但是做出来的东西它就是有那么多的不一样。固定模式之下让人们去实现自我,哈哈!

这么多次重装,在安装基本系统方面,我个人觉得除了定制硬盘格式和引导启动方式可以修改之外,其他什么的,其他发行版本的简易安装可以完虐Arch。邪教应该有个反人类的理念吧,但是想实现这几种可定制,这么样子做并不反人类吧。

我在文档处其实看到了有趣的地方。

中文文档是这样
但我发现英文文档怎么也找不到这个TMD的意思

翻译者真是调皮了。

核心才是关键,一切桌面皆为浮云??

我走进了很大的误区,起初我坚信我走入Arch是为了更高的定制性,我能够给我的桌面做出好多特效什么乱七八糟的。

经过这么多次的实践,桌面什么的,那个叫做桌面,不叫做Archlinux。Archlinux是一个包着Linux内核的包裹,包裹好不好看不是Archlinux自己能够决定的,它只能决定包裹里边的东西,说它好用,只能是说它里边的东西好用;说是好看,那只能决定于你。

多次的重装,Arch里边官方支持的桌面我几乎用了一大半。

KDE
Gnome
Xfce
Lxqt
dde

最终还是回到dde(深度桌面),中途还用到过Manjaro——一个基于Arch的发行版本,加入了重要的简单的安装方式,奈何并不是完全兼容Arch的仓库,然后呢,我用放弃了。

话说我从一开始便是认为核心才是关键,桌面什么的随随便便就可以了,除了KDE即装可用之外,其他桌面,比如说Gnome,快捷键的问题很大,再说Lxqt和Xfce,在初始状态,有种遇见Win2000的感觉,有点难受,加上那么长期的在安装系统,再花点时间在桌面的配置之上真的很难受,没那个时间,更多的是没有那个精力。

用的时间比较长的是KDE,因为感觉还方便使用,很多设置都可以轻易找到,网络配置也是即装即用,不像其他桌面一样还要另下NetworkManager。KDE还有Kwin脚本,很多特效可以自己制作还有可以从官网的主题站中下载,配置方便。不过所有桌面除去dde之外,终端要输入中文,真的是一个梦想。

为了解决这个问题,我真的是心都凉了,毕竟fbterm已经停止开发了,仓库也找不到安装文件,用一个停止开发的软件显得是特别的难受。最终找了另一个终端:

lilyterm

自带对中文支持,什么配置都不用做,只要有那么一个中文输入法就行了。

在无限重装的时光里,对高效率十分地着迷,无限地重装,不断查找资料,最终发现i3这一款窗口管理器似乎好多人都说好,其中还有资料说是:低领社区人的炫耀工具。这个我就不知道了,我追求的是效率,既然这个窗口管理器的使用靠的是键盘进行操作,我希望有一天能够这么工作。

实在没有忍住,哪里需要什么将来才能实现,二话不说,马上开始重装,装上i3-gaps。

说句实话,i3作为一个窗口管理器,但比lxqt和xfce的界面实在是好看多了(lxqt默认窗口管理器openbox确实不算太好看)。你看你看,我已经开始对桌面进行吐槽了。

主要是不适合我,我花了大部分时间在装系统和桌面之上,然后我发现这么做对我现在的打字似乎一点帮助都没有,而且找资料又是显得这么复杂,当手离开键盘就有很多事情很难办。不论是i3的平铺还是KDE的绚丽,我发现它们这些特性特别适合用在某些大屏的电脑之中,我的手上只有这么一台笔记本,不存在双屏,屏幕不足14寸,那种整个屏幕上全是平铺,那种特效特别炫酷的似乎都不适合我。轻量级的桌面似乎很大配置工作要进行,还真是个大工程,假期的二分之一已经拿来进行这种基础系统的操作了,最终结果只是装了好多次自己都数不清楚原理的系统。

Linux的核心确实是不一般的强大,可以精简得极致,像使用i3那一段时间,只使用终端,占用内存只是300M左右,可想这种配置多么适合写作者,音乐图形都可以开启,但没有桌面繁杂的特效,只用来写写作的话,那么笔记本的待机时长不知道可以增加多少倍。

当然这个永远得看情况。

而且我有不专职写作,这种配置我还得需要往上添加一些其他的东西,才能满足我的需求。奈何i3实在太磨人,许多配置自己写或者上网抄,加上实力不济,耗了许多时间。心烦意乱,最终只好放弃再重装,我对重装不算抗拒,毕竟都是套路化的。

最终啊,我发现效率不是网上说的算的,自己并不太适应在纯粹键盘工作的环境之中,自然不能操之过急,境界还是得慢慢来的。

deepin?dde?

总之我感觉从Arch仓库中安装的dde真的顺眼过ddepin本身,不知道是什么错觉,只是那些棱棱角角的真的变得很扁平的感觉。

移植dde和deepin很大的区别就是软件控制,应用的分类十分凌乱,加上深度商店是不可用的,所以应用直接右键是没有卸载选项的,而且你用Chrome添加网页到桌面之后,那个图标是找不到去除的方法的,我进到目录:

cd /usr/share/applications

也找不到这个.desktop文件的存在,所以切记,在这种环境之下,不要干这种添加到桌面的傻事。

其他方面的话,软件仓库方面的差异,没有太多区别了。

但最终我还是回到了deepin(更新)

写这篇文章开头的时候,我还在用着Arch+dde,但是这过程中我又断了一段时间的写文字,原因在于我又进入了一种僵局。

Arch虽好,但是:

  • 依赖关系很难处理
  • 仓库的部分软件失去更新,甚至从仓库中删去,相关软件继续安装却找不到依赖
  • 虚拟机跑不动,因为缺乏依赖
  • 找依赖什么的真的很烦
  • wine跑不动,很多依赖包在仓库中下不来

有种终极错觉,我进了一个大坑,我填了一个坑,继续下来我还是要进行另外一个坑的填补,无底大洞,因为实力有限,我可能在这个坑中饿死——只顾解决问题,最终什么东西都做不来,茶不思饭不想。这是Arch的魅力吗?

我发现我自己就是那么一个没有时间的人了,因为耗费了那么多时间在安装之中,遇到问题还有一句及其不负责任的话压在身上——什么都不会就看文档啊!

Arch真的适合那种在长期使用易用发行版的熟悉了Linux各种命令的人,而且英语还要好,然后他们使用Arch才能够做到工作效率倍增,我们这些小白坚持下去只会造成自己的无尽伤害。

还是慢慢来吧,没有人能够一步登天。

未盖棺,下定论

关于Arch的争论很多,Manjaro中文“官网”的文章是真的超级吐槽,把Arch贬得一无是处。

这种强力的批判未免有种一巴掌打死所有人的嫌疑,要是没有Arch,Manjaro的该怎么表述自己是怎么出现的?那种巴不得Arch消失的语气,我从电子屏幕中都感受到了一丝恐怖的气息。

如果你真的没有时间,Archlinux这个发行版真的不太适合你了,在你那,就是个吸血的玩意儿,吞食你的生命。

如果你的英文好,有时间和耐心,对Arch感兴趣,你才需要往下继续接触。不像你这样的人,只要知道有Arch这样东西就好了,毕竟Linux的哲学可是不支持你强硬去学,况且,没有恒心,一样东西怎么都学不会。

再者,Linux是一个内核,Linux前边或者后边加了东西的那个叫做发行版,为了方便其他人使用的。Linux是在开源社区混迹的强大存在,所以许多标准都是统一得惊人的,所以深入学习一个发行版,其他发行版都是了解一下都很容易上手了的。

那么为何不找一个简单的版本去学习呢?

比如说deepin

比如说centos/redhat

都好,别Arch了。

(一些补充)关于依赖关系的道谦--2018.2.15-9:05

Archlinux会出现一些依赖关系的问题,主要是因为我忘记在最后一次重装系统的时候忘记安装了base-devel,会导致二进制码编译。

在执行安装只是我可能没有进行

pastrap /mnt base base-devel

这个发现主要是在对家里电脑安装Manjaro时候发现的,Manjaro可能在优化安装之时本来就拒绝掉了外置的不安全的编译。但是通过$ sudo pacman -S base-devel就能够解决。

如果这个问题解决了,那么我之前的论断显得有些弱智了。

不过好坏与否,全看自己个儿的。

不过很遗憾的,在deepin之上我的数学库问题依旧没有解决,真的难受,每一次确定的计算得出的结果都是随机数,无法想象数学老师是否在愤怒。

更新

时过境迁,几乎主流发行版本都接触过了,Arch几乎很简单了。不多赘述,以后有时间再谈。

当时刚接触gcc,不懂,忘了加-lm,这是个笑话应该。以前没有详细承认发生了啥,现在也无从得知了。有进步就好。

(2020年3月17日)


推荐阅读更多精彩内容