抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Kali(btrfs)

btrfs

一种适用于 Linux 的现代写入时复制 (CoW) 文件系统,旨在实现池化、快照、校验和以及集成多设备跨越等高级功能。特别是,快照支持使得 btrfs 对于裸机上的 Kali 安装具有吸引力。
使用 btrfs 作为文件系统,并在安装后启用快照。甚至可以通过启动菜单启动到任何保存的快照,并轻松回滚到以前的系统状态。以防作死搞崩系统或者滚挂。

当选择“btrfs”作为文件系统时,安装程序将自动创建以下子卷布局:

1
2
3
4
5
6
7
8
9
10
Mount Point         | Subvolume         | Description
-------------------------------------------------------------------------
/ | @ | The root filesystem incl. /boot
/.snapshots | @.snapshots | Snapper's snapshot directory
/home | @home | User home directories
/root | @root | The root user's home directory
/var/log | @var@log | Log files
/srv | @srv | Site-specific data served by this system
/tmp | @tmp | Temporary files
/usr/local | @usr@local | Tertiary hierarchy for local data
安装

安装步骤与默认 Kali 安装相同,除了将“ext4”更改为“btrfs”作为文件系统

  • 在“对磁盘进行分区”中,选择“引导 - 使用整个磁盘”
  • 双击 / 分区,双击 用于:ext4
  • 选择btrfs
  • 确定并返回
  • 选择 完成分区操作并将修改写入磁盘
  • 接下来同默认安装
配置
  • 安装后登录并在终端中运行以下命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 设置安全的 root 密码,否则将很难登录恢复 shell
    $ sudo passwd
    # 安装一些必要的工具
    $ sudo apt update && sudo apt install btrfs-progs snapper snapper-gui grub-btrfs
    # 为根文件系统创建 snapper 配置 "/"
    $ sudo cp /usr/share/snapper/config-templates/default /etc/snapper/configs/root
    $ sudo sed -i 's/^SNAPPER_CONFIGS=\"\"/SNAPPER_CONFIGS=\"root\"/' /etc/default/snapper
    # 防止“updatedb”对快照建立索引,这会降低系统速度
    $ sudo sed -i '/# PRUNENAMES=/ a PRUNENAMES = ".snapshots"' /etc/updatedb.conf
  • 需要调整桌面管理器以在只读快照中工作。(Xfce)

    1
    2
    3
    4
    # 重新配置 lightdm 以允许启动到只读快照
    $ sudo sed -i 's/^#user-authority-in-system-dir=false/user-authority-in-system-dir=true/' / etc/lightdm/lightdm.conf
    $
    $ sudo reboot

第一次重新启动将创建第一个自动快照。再次重新启动以找到快照的新启动菜单条目

  • 进入系统后使用snapper-gui

    1
    sudo snapper-gui
  • 创建home目录快照

    • new旁边的箭头 ->create Configuration
    • Name: home
    • Subvolume: /home
    • Filesystem: btrfs
    • Template: default

配置静态网络
sudo vim /etc/network/interfaces

1
2
3
4
5
6
7
8
9
10
11
# Include files from /etc/network/interfaces.d:
source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.31.246
gateway 192.168.31.1
netmask 255.255.255.0

sudo vim /etc/resolv.conf

1
2
3
4
#GeneratedbyNetworkManager
domain
nameserver 192.168.31.1
search localdomain

sudo /etc/init.d/networking restart

评论