我对 btrfs 感兴趣,我开始理解并喜欢它的 COW 过程。
但我的理解是我需要做快照来跟踪对文件所做的所有修改。当 2 个快照之间有多个修改时会发生什么?我想我只有快照时间的最后一个状态。
有没有办法使用 btrfs 或其他文件系统来跟踪对文件(包括移动文件)的所有修改?IIRC DEC 具有这样的功能,可以将所有文件备份保存为 ~ 扩展名,然后是 ~~ 然后是 ~~~ 等等。
我在某些 btrfs 卷上有相当多的快照,我想知道每个快照占用多少空间,这样我就知道何时以及是否有重要的更改。
sudo btrfs subvolume show /home/
/
Name: <FS_TREE>
UUID: -
Parent UUID: -
Received UUID: -
Creation time: -
Subvolume ID: 5
Generation: 1181373
Gen at creation: 0
Parent ID: 0
Top level ID: 0
Flags: -
Snapshot(s):
.snapshot/_0
.snapshot/_1
.snapshot/_2
.snapshot/_3
.snapshot/_4
...
Run Code Online (Sandbox Code Playgroud)
但如果我使用du
它们会报告整个空间
du -sh /home/.snapshot/*
1,2T /home/.snapshot/_0
1,2T /home/.snapshot/_1
1,2T /home/.snapshot/_2
Run Code Online (Sandbox Code Playgroud)
有没有办法发现 _1 和 _2 之间在空间上存在哪些差异
编辑:注意:我一直在成功使用btrfs-list来简单地显示快照大小
这是一件令人好奇的事情,但我想知道目前 Linux 内核有多少是用 Rust 编写的?我的意思是百分比,如果你知道是哪一部分?是只有驱动程序还是纯 Rust 内核的真正部分?
注意:在 github.com/torvalds/linux 页面上有一个统计数据表明没有生锈。
C 98.3%
Assembly 0.7%
Shell 0.4%
Makefile 0.2%
Python 0.2%
Perl 0.1%
Other 0.1%
Run Code Online (Sandbox Code Playgroud)