gentoo + systemd 安装记录(2022-02-06)

很久没更新了,今天春节休息最后一天,整理一下

不喜欢systemd的可以看看这个

写在前面

我为什么要用gentoo
不是因为什么苦难哲学,安装Gentoo并不困难,只是需要时间而已
从最开始接触到Linux,就选择了Gentoo,一开始是因为编译时满屏的代码滚动,有一种莫名其妙的快感~
人都是有一种习惯的
最开始认为Gentoo从源码编译安装,会提高性能,这个好像是个误区,实际上并不能,就算有一点提升,也感觉不出来
最好的办法是配一台性能强劲的电脑 😃
用Gentoo最主要的原因是有限的选择权
比如我不喜欢systemd,我可以用openrc
通过USE控制可以一定程度上进行定制(这是一项长期的工作,不是一次安装就可以解决的)
可能让我用Gentoo的根本原因就是这个吧,能满足一点点控制欲~

新买了一块1T的SSD硬盘,很久没安装过gentoo了,在这里记录一下安装过程

一.前期准备工作

用的是SystemRescue + Rufus制作LiveUSB
备用ISOArcolinuxB cutefish ,其实是我想用用cutefish桌面 😃
注意选择GPT格式,然后刻录,ISO模式或者DD模式都可以,建议用ISO模式
SystemRescue以前是基于gentoo的发行版,不过现在改为基于Arch,不过不影响安装gentoo,理论上来说gentoo可以在任何现有Linux系统上安装

  • 为什么使用SystemRescue
    1、有图形界面,可以在安装的时候从gentoo handbook 或者其他教程中复制命令
    2、基于Arch Linux ,可以使用genfstab生成fstab文件
    3、arch-chroot 命令可以自动挂载 proc sys dev 这些,不用手动输入了 😃
    4、可以方便的回滚终端,唯一的遗憾就是不能输入中文

制作好liveusb后用U盘重启
输入:startx 进入图形界面,用浏览器打开gentoo handbook
打开终端,开始安装

有线连接一般情况下网络已经自动配置好了
无线的话参考gentoo handbook吧…我没有无线网卡
用U盘重新启动

ls /sys/firmware/efi/efivars	#测试是否是UEFI模式启动,如果没有这个目录,那么本篇内容就不适合你的机器
ping -c 3 www.baidu.com			#测试网络

二.硬盘分区

分区方案仅供参考,个人情况不一样,都有自己的考虑,以自己实际需求为准

lsblk			#查看硬盘编号,确定在哪块硬盘安装Gentoo,我这里是sdd
sgdisk --zap-all /dev/sdd      # 清空硬盘,如果硬盘上有其他系统或重要文件,谨慎操作
cfdisk -z /dev/sdd
# 选择gpt
# 因为我另一块硬盘上有WIN10的EFI分区(/dev/sdb1),所以不用再分一个EFI分区,直接整块硬盘分一个区
# cfdisk 操作比较简单
# new   ---> 新建分区
# type  ---> linux-root(x86-64)
# write ---> 写入硬盘
# quit  ---> 退出
分区 大小 文件系统 挂载点 补充说明
/dev/sdb1 300M fat32 /boot/efi 和win10共用esp分区
/dev/sdd1 all btrfs none 建立子卷挂载

三.格式化

mkfs.btrfs全部参数

mkfs.btrfs -f -n 4k -L BTRFS /dev/sdd1
# 如果用ext4或者xfs
# 使用相应的命令 mkfs.ext4 或者 mkfs.xfs
  • 参数说明
参数 全名 说明
-f –force 强制格式化为btrfs
-n –nodesize 指定blocksize 大小,默认为16KiB(16384) ,必须为扇区大小的整数倍和2的幂,且不能超过64KiB(65536)
-L –label 指定文件系统的标签,LABEL名随便取.不能超过256字节…不过没人会弄那么长的标签吧…
-O –features 在格式化时可以启用的功能, 命令 mkfs.btrfs -O list-all 可以列出所有功能列表,默认开启:skinny-metadata,extref no-holes

四.挂载分区

创建子卷

# 挂载刚才格式化好的btrfs分区
mount /dev/sdd1 /mnt
# 创建子卷
# su : subvolume
# cr : create
btrfs su cr /mnt/@
btrfs su cr /mnt/@root
btrfs su cr /mnt/@boot
btrfs su cr /mnt/@home
btrfs su cr /mnt/@distfiles
btrfs su cr /mnt/@swap

查看一下刚创建的子卷

# su : subvolume
# li : list
btrfs su li /mnt
ID 256 gen 6 top level 5 path @
ID 257 gen 7 top level 5 path @root
ID 258 gen 8 top level 5 path @boot
ID 259 gen 9 top level 5 path @home
ID 260 gen 10 top level 5 path @distfiles
ID 261 gen 11 top level 5 path @swap

设置默认子卷

#将@子卷设置为默认子卷,挂载时不必使用subvolid=256参数
#但是在需要挂载父卷进行操作的时候需要加上subvolid=5挂载参数
#如果设置了默认子卷,要操作父卷的话, mount /dev/sdd1 /mnt -o subvolid=5
btrfs su set-default 256 /mnt 
# 检查一下
btrfs su get-default /mnt
ID 256 gen 6 top level 5 path @
#卸载父卷
umount /mnt

挂载子卷

btrfs 全部挂载参数

# 挂载root
# 由于不是使用的gentoo官方livecd,所以需要建立一个目录,习惯了用/mnt/gentoo
mkdir -v /mnt/gentoo
# 将默认子卷挂载为根目录
# 重要提示:如果没设置默认子卷,需要加上subvolid=256进行挂载
mount -t btrfs -o defaults,autodefrag,compress=zstd,discard=async,space_cache=v2 /dev/sdd1 /mnt/gentoo   
# autodefrag : 自动文件碎片整理
# compress=zstd : 使用zstd压缩,需要内核中开启相应选项 
	# 默认为gzip(compress=on),可选(compress=lzo),不支持lz4
	# zstd默认压缩级别是3,可以用compress=zstd:X 更改(0<= X <=15)
# discard=async : 丢弃释放的文件块,对SSD有用. async: 异步模式(内核版本>5.6)
# space_cache=v2 : 控制可用空间缓存的选项。
 # 挂载子卷
 mkdir -pv /mnt/gentoo/{
   boot,root
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值