Posts for: #瞎捣鼓

太长不看!面向萌新的Arch Linux安装指南

Intro

首先首先,点进这篇文章说明你对这个主题有点兴趣,但你可能还是想问:why bother?为什么不用Windows/macOS而要折腾Linux呢?确实,Win是市面上最受欢迎、占据绝对霸主地位的桌面操作系统,根据Steam今年10月的硬件调查,Windows拥有高达94.84%的用户占有率,Linux则只有少得可怜的3.05%。我不再细数Windows的七宗罪了,总之如果你:

  • 受够了Windows,想试试更优雅的操作系统
  • 不怕折腾

那么Linux就是适合你的!

至于macOS,它跟Linux一样都是类UNIX操作系统,比Windows干净清爽很多,这几年我的主力机就是一台M1 MacBook Air,使用体验没得抱怨。但是今年很不幸地升级了Tahoe之后,液态玻璃带来了很多bug和卡顿,我也不喜欢这个设计风格。

打个比方吧,Win/Mac就像精装公寓,你只需要拎包入住,但是你对房子能做的改动有限,你不能换墙纸、不能换大型家电,玻璃窗外面有铁栅栏“保护”你不会摔死,一切都是微软/苹果为你准备好的,这很省心,但你只是房客。相反的,Linux就像毛坯房,你需要自己装修,确实麻烦,但是you are treated as an adult,你对这栋房子拥有绝对的话语权:看一面墙不爽想砸掉?没问题!觉得采光不好想换落地窗?没问题!你甚至可以把房子炸了,成年人的世界嘛,想干什么干什么,后果自己承担就好啦。

与大多数Linux distribution(例如Ubuntu)不同,Arch Linux更像一块地基,你需要自己当建筑工人从零开始盖这栋房子,从框架、外墙、管道,再到后来的装修都是你自己负责。这篇文章是关于安装Arch Linux,即只教你怎么盖房子,不涉及装修。多言无益,让我们开始吧。

Installation

俺永远忘不掉第一次安装Arch,跟着官方指南、查了无数帖子、花了几天时间才终于安好。这中间踩了无数坑,比如安装过程中的网络居然需要自己配置IP和路由表,装好系统之后居然没有图形界面,装好图形界面之后刚松了一口气,紧接着发现居然没有中文输入法……

在我们真的开始之前,切记官方指南是最好最详细的指南,如在安装过程中遇到任何问题,请查阅它。本文一开始只是俺给自己的备忘录,但写着写着就写多了,现在顶多作为您在安装过程中的参考或者companion,无法替代官方指南

下载映像文件&制作启动盘

下载Arch的iso映像文件,然后把映像文件烧录到DVD或者U盘上当作启动盘

如果你是要安装为虚拟机,那么不需要烧录,you know what you are doing。

接下来重启电脑,从映像文件进入live系统。

爱护眼睛

我们成功进入了live安装环境!这时候你可能会觉得字太小了、很费眼睛,you are not alone!请输入:

> setfont ter-132b

换上大十号的字体!

准备磁盘

分区

首先我们需要对磁盘进行分区,最常见的情况是分为三个区:

  1. boot:用于存放操作系统内核、引导文件等
  2. swap:虚拟内存,用于电脑休眠、快速启动等功能
  3. root:真正存放用户数据的分区,也应该是分配最多空间的

Arch官方推荐的分区方案是boot 1GB、swap至少4GB、磁盘剩余空间都给root(至少23GB)。

进入磁盘分区互动选单:

> fdisk /dev/sda

按照提示进行磁盘分区(m获得提示,n创建新的分区,t改变已创建分区的类型),比如创建一个4GB的swap分区:

创建swap分区

hint:你可以先创建固定大小的root、swap分区,然后把剩余空间都分配给root。不要忘了最后输入w保存分区方案!

格式化

进行对应的格式化:

> mkfs.fat -F 32 /dev/your_efi_system_partition
> mkswap /dev/your_swap_partition
> mkfs.ext4 /dev/your_root_partition

挂载

加载这些分区:

> mount /dev/your_root_partition /mnt
> mount --mkdir /dev/your_efi_system_partition /mnt/boot
> swapon /dev/your_swap_partition

配置网络

我们下载的映像文件只包含安装Arch所需要的工具(比如这一步我们显式用到的 ip, ping, iwctl,以及在幕后默默帮你动态分配ip的 dhcp),真正的Linux内核以及Arch系统需要单独下载。而在这之前,我们需要确保自己连接到了网络。

[点我!]

Cloudflare搭配Github丝滑搭建Hugo博客

Intro

大家博客的第一篇文章都是记录搭建过程,俺也不能例外!

之前俺用的是AWS全家桶,不懂后端,在AWS的体验不太友好,一开始配置的时候花了多少精力时间、踩了多少坑就不提了,每次更新博客都需要手动同步到S3,每个月还会产生三块钱的费用,于是就想换个方案。

听闻Cloudflare赛博菩萨的大名久矣,俺对它家也很有好感,最重要的是,俺想换个域名CF+GitHub的方案简直太适合静态博客了!配置、后续更新都省心,于是就决定从AWS搬家到CF,虽然昨天CF才崩过,但是us-east-2又如何呢?

在开始之前,这并不是零门槛的保姆级指南,俺assume你会用一点点命令行,如果没用过也没关系,你只需要拥有探索欲并且会Search The Fxxking Web。

Hugo

部署之前,当然是先上手Hugo啦!Hugo是一个静态网站生成器,在GitHub有84k星星,生态繁荣,有无数主题可以选择,也支持很多配置选项,总之就是省心并且可定制程度高,特别适合从md文档生成个人博客!

首先你需要安装Hugo,请follow官方指南。之后:

> hugo new site blog
> cd blog
> git init
> git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
> echo "theme = 'ananke'" >> hugo.toml
> hugo server

就可以在http://localhost:1313/看到你的博客第一眼啦!想写点东西?只需要:

> hugo new content content/posts/my-first-post.md

编辑上面创建的my-first-post.md,就是你的第一篇博客了,很简单是不是!

你可能会觉得现在的网站不好看,没关系,有海量主题供你选择。俺喜欢TUI风格,所以选择了这个terminal主题。并且Hugo有很多配置选项,请自行探索,you are on your own!

部署

太长不看:在Cloudflare创建pages连接你存放Hugo文件的repo。

GitHub

首先你需要在GitHub创建一个repo用来存放你的Hugo博客文件,包括你的md文档们。然后连接本地目录和云端仓库:

> git remote add origin [email protected]:yourgithub/blog.git

之后每次装修了博客,或者写了新文章,只需要:

> git add .
> git commit -m "Some message"
> git push

这样就可以把本地改动同步到云端,等会连接了Cloudflare之后就可以自动构建Hugo网站并且部署!

[点我!]