使用 ArchLinux 构建您自己的系统
为什么要建立自己的系统?
为什么选择 Arch Linux?
它看起来像什么?
它看上去会是什么样子?
我需要做什么才能开始?
但我不想马上开始,我可以先做一些准备工作吗?
构建我自己的系统的步骤是什么?
您可能感兴趣的一些套餐
如何保存我宝贵的工作成果?
综上所述
此篇文章的原文发表在我的博客上。
我最近在 dev.to 上写了一条评论,引起了不少关注;这条评论是关于我定制的 Arch 系统的。我觉得提供一份 101 个入门指南会很有用,这样感兴趣的人也能享受构建自己系统的过程。
为什么要建立自己的系统?
知识
构建自己的系统迫使你了解它的一切,从而成为一个更优秀的 Linux 用户(甚至是计算机用户)。我通过这种方式获得的知识过去(现在仍然)在我的日常工作中非常有用。
生产率
您将根据自身需求设计系统。您无需根据软件调整工作流程,而是设计软件来适应您的工作流程。
有了新掌握的 Linux 知识,您将能够更好地处理使用操作系统时不可避免地出现的任何错误或问题。
创造的喜悦
如此难得的机会,能打造兼具美观与实用的物品。这将是一个锻炼你设计技能的绝佳机会,不仅要兼顾美学,还要兼顾用户体验/用户界面 (UX/UI)。
最好的部分是:您可以每天全天使用该系统,无论是在工作还是在电脑上休息时!
为什么选择 Arch Linux?
Arch Linux 太棒了。很多 Linux 发行版都致力于让主流用户更容易上手,而且它们或多或少都做到了这一点。
Arch Linux 则反其道而行之。Arch 的理念可以概括如下:
- 极简主义:不考虑用户的任何需求。
- 不是用户友好的,而是以用户为中心:事情不应该让初学者感到容易,事情应该简单。
- 实用主义:你不想要一个围绕意识形态设计的系统,你想要一个有效的系统。
它看起来像什么?
一个简单的命令行。如果您想要更多,则必须自行构建。
它看上去会是什么样子?
好处是:因为你从零开始,所以没有什么能阻止你用你的电脑做任何你想做的事情。唯一的限制就是你的想象力。这是同一系统一段时间后的样子:
漂亮多了,对吧?
而且我绝对算不上什么天才。如果你想看真正的杰作,去看看unixporn 的 subreddit 吧(工作场合可以安全观看!)
我需要做什么才能开始?
这个项目你唯一需要的就是时间。最糟糕的情况(据我所知)是你最终只能用一台无法完全使用的电脑,如果你需要用这台电脑来工作,那就麻烦了。我个人花了大约两周的时间才让它完全可用(具体时间取决于你目前的 Linux 技能)。
如果这不可能,请考虑在暂时不需要的计算机、双启动或虚拟机上启动该项目。
你的大部分时间将花在阅读Arch wiki 上,它是整个互联网上最受好评的资源之一。它或多或少会告诉你所有你需要知道的信息。
但我不想马上开始,我可以先做一些准备工作吗?
当然!以下这些内容可以帮助你提前了解:
- 切换到用户友好的 Linux 发行版。Linux Mint 或 Manjaro 都是不错的选择(Manjaro 实际上基于 Arch!)。
- 多读书!我建议你读读 Brian Ward 的《Linux 工作原理》,这是一本非常有趣且详尽的 Unix 和 Linux 书籍。这本书会对你大有裨益!
构建我自己的系统的步骤是什么?
我不会讲细节,我相信你会阅读手册;然而,解释一下一般步骤会很有用:
1/ 在您的计算机上安装 Arch Linux,通过命令行©
2/ 决定您想要哪些软件包;安装它们;配置它们。3
/ 配置 Arch Linux 系统本身,瞧。
就是这么“简单”。归根结底,就是选择你系统所需的配置,并学习如何正确配置所有东西。
对于配置,您显然会花一些时间阅读 Arch 和您的软件包的文档(请务必检查您的软件包是否在令人惊叹的Arch wiki上有一个页面)。
对于包的选择,我可以给你一些建议(双关语)。
您可能感兴趣的一些套餐
这份清单只是我个人最喜欢的一些。如果你想找到其他有趣的想法,欢迎随时查看unixporn 子版块。
使用哪种 shell?
通常的选择是 Bash 或 Zsh。我个人选择的是安装了 oh-my-zsh 的 Zsh,因为它能带来极致的 shell 体验。
图形服务器
命令行功能很棒,但就是无法显示 Netflix!所以你可能需要更多功能。
大多数应用程序都需要你安装图形服务器。
我建议你试试 X.Org 窗口系统。Wayland 也是一个可行的替代方案,但对于新手来说,它似乎有点太新,不够完善。
如何启动图形服务器?
Arch Wiki 会告诉您更多有关此内容的信息,但基本上您可以配置 shell 配置文件(.bash_profile 或 .zprofile)以在启动时启动 X 服务器。
然后,您可以配置 xinit(在 .xinitrc 文件中),使其在 X 图形服务器启动时启动任何您想要的程序。例如,我用它来配置我的笔记本电脑的触摸板。
桌面环境还是 Tile 窗口管理器?
建立自己的系统的好处在于:你可以问自己一些很少有人问的问题。
如果你曾经使用过电脑,你可能使用过桌面环境,点击文件夹图标即可打开文件夹窗口等等。
平铺窗口管理器则完全不同,每个程序都会在屏幕上打开一个新的平铺窗口。你在电脑文件系统上的大部分导航都是通过命令行进行的。
这对我来说更有意义,也更实用。对于初学者来说,适应起来可能需要一些时间,但值得。我推荐 i3(或者 i3-gaps,我觉得它更美观)。
如果您想要更经典的用户体验,可以使用一些出色的桌面环境(KDE、GNOME……)。
一位排字工人
不是必需的,但是有就更好了。
合成器是图形服务器和程序之间的一个额外层。程序不会直接绘制到屏幕上,而是先绘制到合成器的内存中,然后再由合成器绘制到屏幕上。这可以带来更好的用户体验和更佳的效果(例如窗口透明度)。
我个人使用 picom(ex-compton)。
正确的航站楼
如果您在 shell 上花费大量时间(无论是为了工作,还是因为您发现它更方便,那么这一点尤其重要(在这种情况下,您可能会使用 Tile 窗口管理器!)
这里有一些不错的选择,例如:kiTTY、Terminator、URxvt、st...
最后我选择了 Termite,因为它具有类似 VIM 的出色绑定功能,可以让我轻松地使用键盘导航。
值得探索的精彩套餐
- 你可能需要一张壁纸!看看“feh”。
- “Rofi”是一款令人惊叹的程序启动器,高度可定制。
- “Dunst” 将允许您构建桌面通知。
想要了解更多软件包,我建议你去unixporn subreddit查看精彩内容
如何保存我宝贵的工作成果?
您将花费大量时间来配置系统和软件包。这可能是一项艰巨的工作,任何损失都令人遗憾。
保存工作最简单的方法是将配置文件(通常称为点文件)以及任何您感兴趣的配置复制到 Git 仓库中。然而,这种方法不太可持续,因为您可能需要连续数月(甚至数年:工作流程改进是一个持续的过程!)反复调整系统。每次都手动复制文件会非常繁琐!
你可能需要一种更可持续的方法。例如,你可以将你的点文件(以及任何其他你感兴趣的文件)从你的 Git 仓库符号链接到你的系统。这样,你对配置文件所做的任何更改都将保存在你的仓库中。或许你可以使用 CRON 任务定期将该仓库推送到 GitHub。
我建议你更进一步,直接学习使用Ansible。这是一款非常棒的 IT 自动化工具,而且使用起来非常简单。你只需在用 YAML 编写的剧本中列出任务并执行即可。如果你从事 IT 行业,这也是一项非常有市场价值的技能。
如果您的计算机明天损坏或被盗,并且您有一个编写良好的 ansible 剧本,您可以使用单个命令重新安装您自己的系统。
这难道不是一个令人非常满意的想法吗?
综上所述
构建自己的系统需要时间、奉献和大量的阅读……但这段经历会非常充实!
和往常一样,如果你遇到困难或仍然不知道从哪里开始,你可以直接在这里或通过邮件问我。我和无数的爱好者都很乐意为你提供帮助。
祝您搭建愉快!
2021 年更新:Termite 现已弃用。我推荐 Alacritty,它是一款非常棒的终端模拟器。此外,我还从 Oh-my-zsh 迁移到了 Zimfv。
2023年编辑:Wayland/sway 太棒了。别再用 Xorg/i3 了。
文章来源:https://dev.to/samuelfaure/build-your-own-system-with-archlinux-240o