5

这是对 Linux 正确的使用方法么?

 8 months ago
source link: https://www.v2ex.com/t/1004076
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Linux

这是对 Linux 正确的使用方法么?

  shuiguomayi · 10 小时 52 分钟前 · 2507 次点击
划分单独的分区
- /boot/efi (fat 分区)
- /home (ext4 或者 xfs)

1. 使用基于 Release 发行的版本: Fedora, Ubuntu. 直到有一天发现你当前的系统版本已经无法安装你需要的软件了, 说明你该升级系统了, 若能够原地升级则升级, 若升挂了则重装系统.

2. 使用 manjaro 这种滚动更新的版本, 每个月更新一下, 直到有一天滚挂了, 如果能轻易修复则 Google 查一查资料修复, 如果不容易修复, 直接重装.
27 条回复    2023-12-28 20:35:43 +08:00
NessajCN

NessajCN      10 小时 43 分钟前

如果你只有一块硬盘,/home 不需要单独分区
如果你有两块及以上的硬盘,
可以把其中一块(最好是 ssd )分两个区挂载到/boot 和/ ,
另一块容量大点的挂载到 /home 放用户文件
yolee599

yolee599      10 小时 43 分钟前 via Android   ❤️ 1

我是这样:
- /boot
- /

不分 /home ,因为分少了不够用,分多了浪费
xieshaohu

xieshaohu      10 小时 39 分钟前

默认分区,去掉/home 单独分区,就是完美的。
mokiki

mokiki      10 小时 33 分钟前

不是。
自己试了觉得合适才是正确的。
zjp

zjp      10 小时 33 分钟前

https://wiki.archlinuxcn.org/wiki/EFI_系统分区#挂载分区
上周折腾了会分区,最后选择将 EFI 系统分区 到 /boot 。内核直接放在 EFI 分区简单省事
sunnist

sunnist      10 小时 31 分钟前

没有 /swap 分区??
shuiguomayi

shuiguomayi      10 小时 28 分钟前

@yolee599 单独分出 /boot 和 /home 是为了重装系统方便, 个人数据和配置文件都在/home 下保留.
@xieshaohu
@NessajCN
NessajCN

NessajCN      10 小时 11 分钟前

@shuiguomayi 请尽快抛弃用 Windows 后遗留的不良观念和习惯
vcn8yjOogEL

vcn8yjOogEL      10 小时 8 分钟前

MicroOS/Silverblue
kongkongyzt

kongkongyzt      9 小时 57 分钟前

只有 /boot/efi 和 / 这两个分区
libook

libook      9 小时 42 分钟前

实际上没有“正确的使用方法”,只有在充分了解 Linux 的文件系统、结构之后根据需求来规划和使用。

例如。我目前的主力机,只有一块 512G 的 NVMe:
- EFI 只支持一些简单的文件系统,如 FAT32 ,因为我打算主要使用一些高级文件系统,所以我需要给 EFI 单独分一个分区。
- 根目录我选择 Btrfs ,一方面是因为对这个文件系统比较熟悉,另一方面是想要使用它的子卷和快照功能。
- 因为是笔记本,我需要使用休眠机制来将内存数据存在硬盘上,所以我需要大于等于内存大小的 Swap 。
那么我的分区就是:
- 500M FAT32 /boot/efi
- 434GB Btrfs /
- 64GB Swap

但我家里的 NAS 的情况就会有一些区别:
- 使用 U 盘引导,所以系统盘上并不需要给 boot 或 EFI 单独的分区。
- 系统以只读模式完全运行在内存里,所以系统盘也不需要使用高级文件系统。
- 内存足够大,也不需要 Swap 分区。
- 存储盘全都挂载到/mnt 下。

一些高级文件系统有子卷和限额机制,如果未来需要调整的话比分区更灵活。比如你希望单独管理 home 可以把/home 分为一个子卷。

重装系统可以不像过去的 Windows 那样需要格式化系统盘,哪怕系统无法启动也可以使用 liveCD 进入文件系统重装和修复软件包。

话说我现在用 Windows 也不特意分区了,我现在只有在同一块盘上需要使用不同文件系统的时候才会考虑分区,比如我的移动硬盘一部分是加密的 NTFS ,另一部分是不加密的 exFAT 。
dog82

dog82      9 小时 37 分钟前

原来的 linux 服务器,不到迫不得已(比如安全漏洞),绝对不升级。
现在都是云服务器了,我只管用
EvineDeng

EvineDeng      8 小时 52 分钟前

赞同 #12 的说法,分区没有对错,只有确定的场景下最合适的分区。如果你用 ext4/xfs ,并且有重装系统的可能性,那么/home 单独分出来会比较合适,并且未来想更换其他文件系统,这种方式也可以在完全保留旧系统的数据的同时原地安装系统,缺点就是如果 / 分区或者 /home 分区分小了未来没法调整。我之前就是这种方式,保留原来 ext4 分区的/home 数据的同时原地重装并更换到了 btrfs ,用 btrfs 之后,除 efi 分区外就没有分区的必要了,所以我现在是除 efi 分区外,/、/home 、/swap 、/var 、/.snapshots 全部以子卷形式共同使用同一个分区,这样可以最大化利用磁盘空间。虽然是同一个分区,但由于子卷的存在,即使重装系统,也可以保留旧系统中的/home 数据。
happyxhw101

happyxhw101      8 小时 7 分钟前

当然要划分 /home, 这样重装系统的时候只需要格式化 / 就可以了,用 linux, 怎少了重装系统
shuiguomayi

shuiguomayi      7 小时 49 分钟前 via iPhone

@libook
@EvineDeng
感谢对 btrfs 的推荐,请问,这个 fs 稳定吗?有没有什么坑需要注意的?
shuiguomayi

shuiguomayi      7 小时 48 分钟前 via iPhone

@EvineDeng
@libook

linux 和 macos 在分区这点上,越来越像了
libook

libook      7 小时 23 分钟前

@shuiguomayi #16 我用 Btrfs 少说有五六年了,用在系统盘,也用在 NAS 存储盘,没遇到过什么问题,在我的视角来说是稳定的。
历史上 Btrfs 曾经被一些发行版用作默认的文件系统,至少说明当时一些人认为它是比较稳定的。
Linux 从 v5 和 v6 版本都对 Btrfs 的性能进行了优化,目前一些情况下它的性能表现会比其他一些文件系统好,感兴趣可以去网上找一些压测数据。

单盘使用和 RAID-0/RAID-1 是比较稳定的,像 unRAID 系统的 Cache Pool 就默认推荐 Btrfs 的 RAID-1 ,其他 RAID 模式处于试验阶段,如果对 RAID 需求较高可以考虑 ZFS 和 XFS 。

我用 Btrfs 主要是想用它的子卷、快照、COW 和透明压缩,这些功能可能其他一些文件系统也可以提供,也有一些其他文件系统的功能 Btrfs 还没有,具体根据需求选择就行。

快照可以增量备份,我用 btrbk 脚本自动将一块盘上的子卷增量备份到备份盘中,然后自动打快照,并最多保留近 7 天的历史。

要说坑,应该也不算坑,就是如果你想在根目录下使用 Btrfs 的各种特性,最好也把根目录创建为一个子卷。

如果没有高级功能的需求,也可以用一些久经考验的文件系统,比如 Ext4 ,文件系统越简单故障恢复也越容易。
xieshaohu

xieshaohu      6 小时 42 分钟前

@libook #12 赞同 Linux 的分区还是需要根据自己的情况去划分,在/挂载点和/home 挂载点大小不确定或在 SSD 上使用 Linux 时,个人习惯不单独挂载/home ,大了、小了调整起来麻烦。

@happyxhw101 #15 至于重装系统,用 Linux 之后还没有碰到过要重装的,除非系统被 rm 了。否则都有办法恢复,毕竟一切皆文件。

@shuiguomayi #17 macOS 从 Catalina 开始区分系统卷和数据卷,操作系统会在系统卷的快照上 run 起来,但是看磁盘管理工具,这种系统卷和数据卷的概念又不同于 Linux 和 Windows 里面的分区概念。感觉和 PD 虚拟机 在 macOS 上的文件系统更像,是个影子文件,分配多少空间并不会真正占用空间。
minami

minami      6 小时 25 分钟前

Linux 正确的使用方法是扔进虚拟机/容器里面
sleepm

sleepm      6 小时 25 分钟前

车到山前必有路
出现问题,翻日志,尝试修,复原
没必要轻易就重装
重装不是解决问题的办法,是没办法的办法
liuran001

liuran001      5 小时 6 分钟前 via Android

我是
- /boot
- /swap
- / & /home (btrfs)
btrfs 有很多高级功能,比如我这边把 /home 单独分一个子卷,这样方便管理,同时还能和根目录共用存储空间
打快照也方便,比如我用 Arch Linux 滚挂了,只需要回滚一下快照即可
btrfs 虽然使用率不及 ext4 ,但目前看来已经是一个相对完善和稳定的格式了
kuanat

kuanat      4 小时 44 分钟前

分区话题比较复杂,一般性的建议是用发行版默认的文件系统和分区表。

另外 ESP 比较特殊,取决于 firmware 支持,大部分要求是 FAT32 ,在苹果电脑上要苹果的那个格式。挂载点现在推荐 /efi 或者 /boot ,特别是多系统引导环境,绝大多数情况下 /boot/efi 一样用。

发行版的 Point/Rolling Release 现在的分界线不是特别明显了,往严格里面说 Debian 这种算 Point Release ,而 Arch 这种算 Rolling ,像 Ubuntu/Fedora 介于二者之间。可能看 LTS 支持会更靠谱一些。我个人的分类是看官方维护的内核是只 backport 补丁,还是会追 mainline 版本。Rolling Release 也可以假装当 Point Release 来用,只要把官方内核版本锁了就行。

如果你希望系统层面上支持回滚,可以考虑 Fedora Silverblue 这类基于 ostree 的,或者 NixOS 这种声明式的,核心思想都是 Immutable system partition ,升级过程类似安卓设备上常见的 A/B partitions 。
EvineDeng

EvineDeng      4 小时 35 分钟前

@shuiguomayi #16
1. 如果/boot 不是独立的分区,而是跟着根分区的话,那么不能使用 grub 的 GRUB_SAVEDEFAULT 功能;
2. 推荐的分区可以参考 https://wiki.archlinux.org/title/Snapper#Suggested_filesystem_layout 如果不熟悉可以将/var/log 单独作为子卷,我是直接将/var 直接作为子卷,但是我这样必须将软件包的数据库(比如 arch 的 /var/lib/pacman ,debian 的/var/lib/apt 软连接到根子卷下,这样才能恢复旧的 snapshots ;
3. 我也用 swap 来休眠,单独挂载了 @swap 子卷。先看完 https://wiki.archlinux.org/title/Btrfshttps://wiki.archlinux.org/title/Snapper 再动手;
4. 推荐/.snapshots 单独作为顶级子卷 @snapshots
5. 一些好用的工具:grub-btrfs btrfs-assistant btrfsmaintenance ;
6. 建议先虚拟机熟悉操作后再动手。
superchijinpeng

superchijinpeng      4 小时 30 分钟前

不需要分区
Cooky

Cooky      4 小时 21 分钟前

个人习惯性分区

nvme0n1
├─nvme0n1p1 /boot
├─nvme0n1p2 /
├─nvme0n1p3 /opt
├─nvme0n1p4 /var
├─nvme0n1p5 [SWAP]
└─nvme0n1p6 /home
shuiguomayi

shuiguomayi      3 小时 32 分钟前 via iPhone

@liuran001 滚挂了回退,这个办法不错

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK