zoukankan      html  css  js  c++  java
  • KAL1 LINUX 官方文档之安装 ---BTRFS安装

    译者注:是什么btrfs文件系统,它是2007年Oracle开发,支持GPL协议,为了取代Linux早期的ext系列文件系统的下一代文件系统。https://blog.csdn.net/gongxifacai_believe/article/details/88706503

    预览

    我们要安装ka1i Linux,在apt操作过程中自动创建文件系统快照,以便在升级失败后回滚系统。

    Btrfs是用于Linux的现代写时复制(copy on write  CoW)文件系统,旨在实现高级功能,例如池,快照,校验和以及集成的多设备跨接。特别是,快照支持使得Btrfs吸引了裸机上的ka1i安装。虚拟化解决方案(例如VMWare和Virtualbox)提供了自己的快照功能,实际上并不需要在这些环境中使用btrfs。

    本演练的快照策略围绕着来自Ubuntu存储库的名为“ apt-btrfs-snapshot”的工具,该工具是“ apt”的包装。该包装程序透明地挂接到apt工作流中,并在任何apt操作之前和之后自动创建快照。这项精巧的小功能使升级失败后可以轻松回滚系统。

    快照程序是另一个有用的实用程序,用于创建快照。我们正在通过为其快照创建一个单独的子卷来准备ka1i系统以供快照程序使用,但本演练中未包括快照程序的安装和使用。可在以下网站上找到有关快照程序的详细信息:http : //snapper.io/

    安装概述

    具有快照功能的ka1i Linux的安装与标准安装非常相似,但以下情况除外:

    1. 我们在中途暂停安装,以便在继续安装之前使用工具“ partman”在命令行上设置btrfs分区和btrfs子卷。
    2. 在重新启动到新安装的系统之前,我们调整fstab并将一些文件夹移至新的子卷

    分区方案

    我们将使用以下布局:

    Mount Point         | Subvolume         | Description
    -------------------------------------------------------------------------
    /                   | @                 | The root filesystem incl. /boot
    /home               | @home             | User home directories
    /root               | @root             | The root user's home directory
    /var/log            | @log              | Log files
    /.snapshots         | @snapshots        | Snapper's snapshot directory
    

    ka1i Linux Btrfs安装步骤

    安装先决条件

    • 用于ka1i Linux安装的最小20 GB磁盘空间。
    • 适用于i386和amd64架构的RAM,最低:1GB,推荐:2GB或更高。
    • CD-DVD驱动器/ USB启动支持

    准备安装

    1. 下载ka1i Linux
    2. 将ka1i Linux ISO刻录到DVD或将ka1i Linux Live刻录到USB
    3. 确保您的计算机设置为从BIOS中的CD / USB引导。

    ka1i Linux安装过程

    1. 要开始安装,请使用所选的安装介质启动。您应该会看到ka1i Boot屏幕。选择“ 图形安装”

    2. 安装步骤与标准ka1i安装相同,不同之处在于您在选择域名的步骤中会暂停,如下所示。

      btrfs-g-08-di.png

    3. 出现提示时,请暂停安装并通过“ Ctrl + Alt + 2”切换到第二个VT

      btrfs-g-09-cli.png

      按下enter以激活该控制台并运行partman以对硬盘进行分区。

      btrfs-g-11-cli.png

    4. 首先,我们创建两个分区:swap和root。manual在“分区方法”下选择,然后按enter

      btrfs-g-12-partman.png

    5. 选择您的硬盘:

      btrfs-g-13-partman.png

    6. 确认创建一个新的分区表

      btrfs-g-14-partman.png

    7. 接下来,选择新定义的“可用空间”:

      btrfs-g-15-partman.png

    8. 选择Create a new partition

      btrfs-g-16-partman.png

    9. 为交换分区选择所需的大小:

      btrfs-g-17-partman.png

    10. 选择首选的分区类型:

      btrfs-g-18-partman.png

    11. 交换分区的位置是个人喜好,我们在此处选择“结束”,以免干扰

      btrfs-g-19-partman.png

    12. 选择“完成设置分区”:

      btrfs-g-20-partman.png

    13. 接下来,我们重复该过程以设置maim btrfs分区:

      btrfs-g-21-partman.png

    14. 让我们创建一个新分区:

      btrfs-g-22-partman.png

    15. 使用剩余的可用空间:

      btrfs-g-23-partman.png

    16. 选择“ Primary”作为分区类型:

      btrfs-g-24-partman.png

    17. 配置以下参数并选择Done setting up the partition

      Use as:          btrfs journaling file system
      Mount point:     /
      Bootable flag:   on
      

      btrfs-g-25-partman.png

    18. 完成分区并确认将分区表写入磁盘:

      btrfs-g-26-partman.png

      btrfs-g-27-partman.png

    19. 我们返回命令行,并可以确认新的btrfs分区已安装在/ target上:

      btrfs-g-28-postpartman.png

    20. 接下来,我们创建所需的子卷:

      btrfs subvolume create /target/@
      btrfs subvolume create /target/@home
      btrfs subvolume create /target/@log
      btrfs subvolume create /target/@root
      btrfs subvolume create /target/@snapshots
      

      btrfs-g-30-postpartman.png

    21. 最后,我们通过以下方式从新的根子卷“ @”中获得子卷ID:

      btrfs subvolume list /target
      

      在这里“ 257”-我们将其设置为新的默认值并卸载分区

      btrfs subvolume set-default 257 /target
      umount /target
      

      btrfs-g-33-postpartman.png

    22. 现在可以通过Ctrl + Alt + F5切换回图形化安装并继续安装:

      btrfs-g-08-di.png

    23. 当我们进入分区阶段时,只需跳过它并确认我们很高兴使用现有的文件系统:

      btrfs-g-38-di.png

      btrfs-g-39-di.png

    24. 如果愿意,可以切换回VT 2并确认安装程序确实已将我们的“ @”子卷作为安装“ / target”的临时根目录安装:

      btrfs-g-40-cli.png

    25. 返回到VT 5,我们可以继续安装,直到最后一次暂停时我们到达最后一个屏幕:

      btrfs-g-45-di.png

    26. 按下Ctrl + Alt + F2我们可以返回到VT2并执行我们的安装后步骤:

      • 创建临时挂载点
      • 安装子卷
      • 将“ / home”,“ / var / log”,“ / root”移至其专用子卷:

        mkdir /target/mnt/root
        mkdir /target/mnt/home
        mkdir /target/mnt/log
        mkdir /target/.snapshots
        
        mount -t btrfs -o subvol=@root /dev/sda2 /target/mnt/root
        mount -t btrfs -o subvol=@home /dev/sda2 /target/mnt/home
        mount -t btrfs -o subvol=@log /dev/sda2 /target/mnt/log
        
        mv /target/root/.* /target/mnt/root/
        mv /target/home/* /target/mnt/home/
        mv /target/var/log/* /target/mnt/log/
        
        nano /target/etc/fstab
        
    27. 之后,我们可以编辑fstab以通过nano /target/etc/fstab以下方式挂载每个子卷

      UUID=<UUID of btrfs partition> /               btrfs   defaults,subvol=@             0       0
      UUID=<UUID of btrfs partition> /home           btrfs   defaults,subvol=@home         0       0
      UUID=<UUID of btrfs partition> /var/log        btrfs   defaults,subvol=@log          0       0
      UUID=<UUID of btrfs partition> /root           btrfs   defaults,subvol=@root         0       0
      UUID=<UUID of btrfs partition> /.snapshots     btrfs   defaults,subvol=@snapshots    0       0
      

      例如:

      btrfs-g-48-postinst.png

    28. 我们也可以配置 "locate "来忽略snapper使用的.snapshot文件夹(如果后来安装的话) 在/mnt/root/etc/updatedb.conf中添加PRUNENAMES = ".snapshots"。

      btrfs-g-49-postinst.png

    29. 最后一步,我们必须将“默认子卷”重置为5,因为这是“ apt-btrfs-snapshot”正常运行的要求:

      btrfs-g-50-postinst.png

    30. 现在安装已完成,我们可以切换回VT5(Ctrl + Alt + F5)并重新启动。

      btrfs-g-52-finish.png

    31. 重新启动后,我们可以登录并安装更多我们需要的工具。首先让我们安装“ btrfs-progs”:

      sudo apt install btrfs-progs

    32. 现在我们可以从Ubuntu存储库下载并安装“ apt-btrfs-snapshot”工具

      wget https://launchpad.net/ubuntu/+archive/primary/+files/apt-btrfs-snapshot_3.5.2_all.deb
      sudo apt install ./apt-btrfs-snapshot_3.5.2_all.deb
      

    恭喜,您已经安装了具有自动快照功能的ka1i系统!接下来,我们将介绍一些基本用法示例。

    用法

    创建快照

    在apt操作期间会自动创建快照。不需要其他步骤,例如:

    btrfs-50-示例快照

    列出快照

    首先,快照也是子卷,因此在列出btrfs子卷时,所有快照也都会显示,例如通过 sudo btrfs subvolume list /

    btrfs-51-example-subvolume-list

    要仅列出快照,我们可以使用以下命令: sudo apt-btrfs-snapshot list

    btrfs-52-示例快照列表

    删除快照

    删除快照的最简单方法是使用以下命令: sudo apt-btrfs-snapshot delete

    btrfs-52-示例快照删除

    瞧,它不见了:

    btrfs-53-示例快照列表删除后

    有删除多个快照的更复杂的方法,例如,以下删除所有早于2天的快照:

    sudo apt-btrfs-snapshot delete-older-than 2d

    有关“ apt-btrfs-snapshot”的所有不同功能,请参阅帮助输出

    回滚

    要回滚到先前的快照,我们必须记住两件事:-文件系统的根目录“ /”已安装在子卷“ / @”中,而不是btrfs分区“ /”的根目录中-处理了快照就像另一个子卷

    因此,我们要做的就是挂载btrfs分区,并用最后一个快照替换当前的根子卷“ @”。为了安全起见,我们将备份当前根目录(“ @”)子卷。例如:

    # mount your root partition (replace "/dev/mmcblk2p2" with yours):
    sudo mount /dev/mmcblk2p2 /mnt
    
    # Move the old root away:
    sudo mv /mnt/@ /mnt/@_badroot
    
    # Roll back to a previous snapshot:
    sudo mv /mnt/@ /mnt/@apt-snapshot-2019-10-13_18:07:40 /mnt/@
    
    sudo reboot -f
    

    从apt全面升级到回滚的完整演练

    全面升级

    全新安装后,我们还没有任何快照,我们可以通过以下网址查看: sudo apt-btrfs-snapshot list

    btrfs-70-Rollback-01.png

    让我们进行完整的系统升级:

    apt update
    apt full-upgrade
    

    btrfs-72-Rollback-03.png

    我们可以观察到在安装任何软件包之前正在创建快照:

    btrfs-74-Rollback-05.png

    完成后,我们可以确认没有更多可用的更新:

    btrfs-74-Rollback-05b.png

    如果我们再次列出快照,我们可以看到刚刚创建的快照:

    btrfs-75-Rollback-06.png

    回滚

    请记住,“ /”本身就是子卷“ @”。要回滚到快照,我们要做的就是用所需的快照替换“ @”。

    1. 首先,我们必须通过以下方式挂载btrfs分区:

      sudo mount /dev/<your btrfs partition> /mnt

      如果我们列出该分区的内容,则可以看到所有子卷,包括快照:

      btrfs-77-Rollback-08.png

    2. 在用快照替换当前根之前,为了安全起见,我们将“ @”移开:

      sudo mv /mnt/@ /mnt/@_badroot

      btrfs-78-Rollback-09.png

    3. 现在,我们可以从上一次升级之前选择快照,并将其重命名为“ @”:

      sudo mv /mnt/@apt-snapshot-2019-10-21_23:50:26 /mnt/@

      btrfs-79-Rollback-10.png

      这就是全部,这里是新的“ @”:

      btrfs-80-Rollback-11.png

      让我们重新启动以使回滚生效:

      btrfs-81-Rollback-12.png

    确认回滚有效

    重新启动后,我们可以看到快照已消失,因为我们回滚了快照:

    btrfs-82-Rollback-13.png

    如果我们发布另一个“ apt更新”,我们可以看到我们回到了快照之前的状态:

    btrfs-83-Rollback-14.png

    确认系统正常运行后,您可以通过挂载btrfs分区并使用“ btrfs subvolume delete”命令来删除旧的“ root”:

    sudo mount /dev/<your btrfs partition> /mnt
    sudo btrfs subvolume delete /mnt/@_badroot
    

    btrfs-84-Rollback-15.png

    参考文献:

    Btrfs WikiBtrfs Debian siteapt-btrfs-snapshotSnapper

  • 相关阅读:
    针式电子书下载列表(暂时)
    硬盘坏道造成SQL 2000的异常
    一种“您无权查看该网页”的原因和解决方法
    学习英语的一些方法
    “针式背单词”帮助文件
    ClickOnce的Excel模板文件发布
    IC 设计书籍和相关资料
    Useful links on GPU Programming &Examp; Architecture
    点评美国名校的(EE)和(CS)
    微电子/物理学名人 约翰·巴丁 John Bardeen
  • 原文地址:https://www.cnblogs.com/GKLBB/p/13581628.html
Copyright © 2011-2022 走看看