在更新或升级失败后恢复
如果在更新过程中出现问题,例如您的计算机在更新进行到一半时断电或进程被停止,则可能会对您的安装造成一些损害,因为软件包只安装了一半,并且缺少一些依赖项。本文介绍了创建单独的恢复环境,以帮助减轻更新过程中出现问题造成的损害,并修复由此产生的任何问题。
图形界面恢复环境
如果用户执行升级或更新后无法启动进入桌面环境,或者在用户能够看到显示管理器时无法启动应用程序,那么最佳实践是创建一个单独的环境,供用户轻松尝试自行修复这些错误。这对于 Linux 知识有限的用户尤其有用。安装 openbox 或其他等效的窗口管理器,它可以与 ideskAUR 一起使用,并为您自己的程序或更好的脚本创建按钮,这些脚本配置为在启动前执行操作、显示警告并显示系统管理员的联系信息。为了防止任何不需要的用户使用“安全模式”环境或某些恢复任务,您可以将以下内容添加到脚本或窗口管理器自启动的开头
AllowedUser="JolinTsai"; if [ "$(whoami)" != " ${AllowedUser,,}" ];then zenity --warning --text="You are not the allowed user! The allowed user is "$AllowedUser; #openbox --exit exit 1 fi
您需要从“会话类型”列表中删除所有不必要的条目,您可以通过删除或最好将包含它们的 *.desktop 文件移动到备份文件夹,并使用自定义配置创建您自己的条目,为了简单起见,只需将其中一个 *.desktop 文件复制到您想要的文件名,并在 Exec 和 description 部分进行更改。
您可以像这样使用一些命令来删除或移动文件到备份目录。
您通常可以在 /usr/share/xsessions/
中找到它们。
您还需要删除窗口的边框,以防止用户关闭工作窗口,例如如果您使用 xterm 来显示命令的输出。您可以使用 devilspie 来做到这一点。
为了获取窗口名称列表以在 devilspie 配置文件中使用,您可以使用 wmctrl 实用程序 wmctrl -l | awk '{print substr($0, index($0,$4))}'
,或者当您启动 devilspie 时,您将看到所有可能在配置文件中使用的信息。
窗口标题:'name@host:~/.path';应用程序名称: 'name@host:~/.path' ;类: 'XTerm' ;几何尺寸:492x350+487+226
window_name
、application_name
和 window_class
可用于更改窗口属性。
您可以为首选应用程序使用的 devilspie 配置文件示例
.devilspie/DesktopConsole.ds
(if (is (window_class) "XTerm") (begin (undecorate) (skip_tasklist) (above) (fullscreen) (maximize) (unpin) (skip_pager) ) )
XTerm 还有一个命令行可以在全屏模式下启动它:xterm -fullscreen
。
准备安全地恢复/重置整个存储设备
这里将描述关于如何更轻松地恢复默认操作系统(例如 Arch Linux)的基本理论步骤,只需使用您制作的“重置”功能,这对初学者/普通用户非常有用,或者如果您计划销售预装 Linux 的计算机。
物理锁定的存储
- 初始出厂设置必须存储在写保护存储设备上,例如 安全数字 (SD) 卡,它可以物理锁定为只读模式。
- 最新的更新出厂设置必须存储在可写存储设备上或单独的分区上,但访问受限,例如在 fstab 中预定义的写保护挂载,和/或在额外的挂载脚本 mount.* 中使用,并检查挂载了哪个设备/分区,并允许普通用户仅在只读模式下挂载。
- 最好还将这些目标位置隐藏在文件管理器菜单中。
- BIOS 需要配置为从 SD 卡启动并受密码保护(密码可以是计算机的名称+型号)。SD 卡需要永久连接并密封(粘合)。
您可以使用 Archiso 制作您自己的自定义 Live CD,它必须具有以下功能
- 健康监控工具,例如 smartmontools,以显示错误和关于如果目标存储设备损坏该怎么做的说明。
- 如果主分区损坏或将其作为选项,则使用 fsarchiver 等工具从备份映像恢复整个存储设备
- 如果可以联网,则从互联网检索更新。
- 如果最新的创建的“ISO”可用,则使用它来安装更新
额外的 ISO 可以创建在单独的分区上,在您预定义的或用户手动操作一定数量的更新后创建。
首次登录时,用户必须有机会选择一个云服务器,其中存储了所有已安装应用程序和更新的配置文件的列表。
在 PC 上,恢复介质可以存储在盒子内部,通过连接到带适配器的 USB 卡。笔记本电脑缺少在内部存储额外存储设备的能力,这些设备可以用于维修目的,但其中一些笔记本电脑可能有用于连接额外存储的位置,例如 安全数字 (SD) 卡,其中只能存储初始“出厂”ISO,并且可选地还可以存储内部存储设备备份映像。
虚拟化
创建一个最小化的 Linux 安装,其中一个用户将自动登录并使用预配置的虚拟机启动 .xinitrc,虚拟机具有计划的快照,甚至可以存储在远程存储上。
每次启动时恢复所需部分
通过创建可启动的 ISO 映像或 SquashFS,可以使用 GRUB 启动它们。这些可以预先配置,甚至包括最少需要的应用程序、X 服务器或 Wayland 和用户。启动后,您可以自动化挂载到 /usr/
、/home/
或其他自定义文件夹的路径,这些路径可以存在于物理存储或文件中。这对于保护引导和内核设置免受可能的损坏非常有用。如果分区/文件挂载到 /var/lib/pacman/
并且具有写入权限,则用户将能够更新程序。