Debian 桌面安装记录

Debian 是一个很古老的 Linux 发型版,我之前只是简单有所了解,曾在虚拟机里安装过,但从来没有真正的以一个正式的系统的视角去体会它。因此,这次安装 Debian,当中遇到了很多麻烦,值得记录在此。

安装原因

前几天忘了什么原因了,我尝试了一下 Linux Mint,不过或许跟我对现在使用的桌面环境的思考有关。过去,我基本上是在 GNOME 和 KDE 之间切换。KDE 其实挺好,目前的版本也比较完整,但 QT 目前还不能算绝对的主流,例子之一是坚果云安装后的登录窗口会显示不完整,而且没有最大化或者鼠标拖拽调整大小的方法,只能通过一些强制手段来放大,很烦人。GNOME 是主流 GTK 不错,但那种激进的设计模式老是让我感到自己脑子坏掉了。这时候 Linux Mint 的桌面引起了我的注意。

过去我短暂用过 Linux Mint([1](https://liuf.net/blog/2016/09/maybe-i-am-sick/]、2),我承认它是一个不错的系统,特别是 Cinnamon 的桌面环境,对一些初学者是非常友好的。不过当时我的心思完全被 Awesome 窗口管理器占据了,觉得用 Linux 不用一些特别的桌面环境,有些对不起自己。所以尽管我在 Linux Mint 环境下面很舒适,我后来还是换掉了。

当然,现在的我和当时已经有了很大变化。今天,我是轻易不会正式使用 Ubuntu 的。所以我装的是 LMDE。我对 LMDE 本身比较满意,唯一不满的是它的一些包特别老。一个例子是 Telegram Desktop,目前官方已经推出了 4 点几的版本了,源里面还是 3 点几,导致有些功能没法用。Debian Testing 和 Unstable 分支里面的版本倒是新,但我网上查了一下,说不建议切换分支,会有各种问题。我经过探查,感觉这个系统其实就是 Debian,装了 Cinnamon 桌面环境,上面套了 Linux Mint 的皮肤。我于是心想,我是不是可以自己装 Debian,然后装 Linux Mint 的主题呢?于是就有了这次的尝试。

安装镜象引导

过去我一直用最普通的方法来安装,原因是我想尽快体验一下系统,而底层的一些细节我不需要考虑,反正我也不会正式使用它。这次,我经过尝试,并不想用最普通的方法安装。最大的原因是,默认安装的 Debian 桌面环境,会有超多的我用不上的应用,多几个游戏也就罢了,还有泰语支持,真让我感觉接受不了。所以,我要探索一种可以最小安装的方法,安装完之后再用命令行或者其他工具,手工安装需要的组件。我发现下载的 LiveCD 里的图形安装环境都不大能做到,甚至你下载了哪个版本的 CD,你安装的桌面环境就定死了,中间不会给你选择的机会。我想最小安装还有一个原因是,我在其他发型版下用了挺长时间的 BTRFS 了,它的压缩跟快照功能是我想用的。Debian 默认安装是 ext4,我想找个方法使用 BTRFS。最终方法是用字符界面安装,我下载了最小安装的镜象,没想到这样也会有问题。

虚拟机软件是个乌托邦,引导安装镜象后可以顺利使用。但在实体电脑上,这样引导导致我无法用 WiFi 来上网。或许那一堆驱动列表里有我应该选的,但我实在是找不到合适的,况且其他情况下也没那么麻烦呀。我猜如果我插上网线,或许安装阶段可以上网,但我没带回我的扩展坞,而且也相当麻烦。经过研究,我发现这种情况下,我应该下载 nonfree 的安装镜象,那里面可以正确驱动我的无线网卡。

BTRFS

如何在安装阶段使用 BTRFS,我没有找网上的文档,完全通过自己的摸索尝试的。到了分区那一步,选择手动分区,然后分别建立 EFI、BTRFS、XFS 三个分区,可以手动设置挂载点。BTRFS 分区我没有仔细设置,直接选择挂到 / 下面,经测试安装不会有问题。XFS 分区括载到 /home 下面,设置好挂载点,再安装没有问题。

最小安装

安装过程中会执行 tasksel,让你选择要安装的包组。这个情况下,选择任何一个桌面环境都会装上很多不需要的包,甚至把默认选中的 GNOME 取消选中也不行,一定要连桌面环境这个选项也取消选中才可以达到目的,否则会默认安装上 GNOME 桌面环境。

这样的选择还有一个好处,就是节约安装时间。可能因为 Debian 的软件更新策略原因,它的安装程序有些坑爹。虽说开头有选择镜象源所在地的一步,但你选中了 China 之后,其他源会切换到中国的镜象,但 Security 源不会,还是从总部下载。这样在更新源的时候,有几个文件传输的非常慢,要等几十分钟,实在是难过。这个阶段不选中桌面环境,基本不会从 Security 源安装包,速度会快一些。

重启连网

这一步也很坑,结束安装后,我 reboot 电脑,重启后进入字符界面,要继续安装其他包时,发现没有连网。这个时候没有 NetworkManager 给我用,我简直抓瞎。尝试上网找其他的命令行连无线方法,走到中间一步告诉我说网卡被 block 了,我执行 rfkill 告诉我没有命令。最终只好重新用 iso 引导,然后挂载上 /,chroot 进去,安装 NetworkManager。我还安装了 rfkill,不过重启后没用上。不过,我怀疑可能要执行 /sbin/rfkill 才可以正确使用,不过我没有测试。有了 NetworkManager,可以使用 nmtui 工具方便的连网了。

安装 Linux Mint 主题

我经过测试,安装 Cinnamon 之后,要让界面看上去和 Linux Mint 一样美观,只需要去系统设置——主题里面,修改每一项的配置就可以了。然后就是找到 Linux Mint 的主题,基本上都叫 Mint-Y。一开始我傻傻的在虚拟机里复制 /usr/share/ 里的 themes、icons 目录,但总会有一些问题,导致我需要的主题或者图标不显示。后来我在网上找了一圈,发现只在 Linux Mint 的官方源里面有这些包。我考虑过添加到 Debian 里面作为第三方源,后来没敢冒险,最终选择手动下载源里的 deb 包然后安装。有些包有依赖关系,就溯源一下,把依赖的包也装上,最终解决了外观。

缺陷

这种方式有些问题我没解决。一些便捷的软件,比如文本编辑器,我本以为是 Cinnamon 带着的,结果竟然不是,他们在 Linux Mint 的源里。在不添加 Linux Mint 第三方源的情况下,要手动安装解决依赖关系有些复杂,最终我没有安装。

安装之后,我切换到了 Testing 分支,用的还算不错,不过发现在 Linux Mint 上面默认安装的 GUFW 软件,在 Testing 分支里竟然没有,相反,Stable 和 Unstable 分支里都有,这真是让我无法理解。

Timeshift

Linux Mint 安装自带 Timeshift,但因为默认使用 ext4 文件系统,因此只支持 rsync 模式的备份。我使用 BTRFS 的目的之一就是想用它的快照,于是手动安装 Timeshift。发现了问题,Timeshift 只支持 @ 子分区,像 Debian 安装程序默认把 / 挂载到 @rootfs 子分区的情况,Timeshift 不支持。我过去对这个现象一直不解,直到看到了这篇回答,里面这一段解释了原因:

Timeshift supports BTRFS snapshots, but not backups. A snapshot is taken from the selected BTRFS partition into this partition, not across different partition. In your setup second is the case. I think your system is on another BTRFS partition as your 1TB BTRFS partition on sdb3. If you want to backup BTRFS snapshots then you have to use the combination of btrfs send | btrfs receive. BTRFS it self contains anything to take snapshots and backups to external storages. But Timeshift does’nt support it with BTRFS. Strongly speaking: Timeshift don’t support BTRFS backups, only snapshots on the same partition, and that’s not a real backup. And second: the btrfs snapshots taken with Timeshift are writeable snapshots to my knowledge, that’s a realy bad idea of a snapshot.

然后我根据这个页面上的说明,找到了解决方法,其实挺简单,进入 Live 环境,挂载 @rootfs 所在的分区,然后用 mv 命令直接给它改名(mv /mnt/@rootfs /mnt/@),简单粗暴。然后改 /etc/fstab 文件,再 sync 之后卸载分区,重启,进入 GRUB 紧急终端,在里面手动执行 set root、linux、initrd、boot 等一系列指令,和 GRUB 默认的一样,只是要调整参数的配置,然后就引导到了正常的界面。这时候再执行 grub-mkconfig 指令,生成新的 grub.cfg 文件就好了。我的系统里还使用 ack 找了一下 EFI 分区里没有修改的参数,手动改正之后问题解决,Timeshift 也恢复正常。这一部分我有空会放到我的 wiki 上面。

其他的应该就没什么了,系统运行至今没有遇到大问题。我对 Debian 的这个状态还是比较满意的,虽然在安装的过程中有一些坑人的地方,需要特别注意。

发表回复

您的电子邮箱地址不会被公开。