[Tutorials] deepin25 deepin-immutable-ctl 命令速查表
Tofloor
poster avatar
LiuYongzhang
deepin
2025-11-05 21:17
Author

deepin-immutable-ctl 命令速查表(表格格式)

一、全局参数与基础命令

命令参数 功能描述 示例
deepin-immutable-ctl --help 查看所有子命令及全局参数,核心用途为快速了解工具整体功能;典型场景为首次使用或遗忘命令时查询。 deepin-immutable-ctl --help
deepin-immutable-ctl help <子命令> 查看指定子命令的详细帮助(如 upgrade),核心用途为针对性学习某类操作;典型场景为使用陌生子命令前查阅用法。 deepin-immutable-ctl help upgrade
-s, --immutable-status 检查当前系统是否为 immutable 模式,核心用途为确认系统类型;典型场景为判断是否适用 immutable 相关命令。 deepin-immutable-ctl -s
-j, --json 以 JSON 格式输出结果,核心用途为便于脚本解析处理;典型场景为编写自动化管理脚本时使用。 deepin-immutable-ctl admin status -j
-v, --verbose 显示详细日志,核心用途为排查命令执行问题;典型场景为命令报错或需了解执行细节时使用。 deepin-immutable-ctl snapshot list -v
-w, --wait 等待锁文件释放,核心用途为避免多进程操作冲突;典型场景为批量执行命令或脚本时确保顺序执行。 sudo deepin-immutable-ctl upgrade -w

二、系统部署管理(admin 子命令)

2.1 deploy - 部署更改到本地 OSTree 仓库

命令参数 功能描述 示例
deepin-immutable-ctl admin deploy 将更改部署到本地 OSTree 仓库,核心用途为应用系统修改并创建新的部署;典型场景为系统更新、配置变更后生成新的可启动版本。 sudo deepin-immutable-ctl admin deploy
deepin-immutable-ctl admin deploy --append 在开头位置添加新部署,默认最多保留 3 个(已废弃),核心用途为在 GRUB 菜单开头添加新部署项;典型场景为需要优先启动新部署时使用(注意:该参数已废弃)。 sudo deepin-immutable-ctl admin deploy --append
deepin-immutable-ctl admin deploy -b, --backup 备份当前系统,核心用途为在部署前自动创建系统备份;典型场景为重要系统变更前确保数据安全,防止部署失败无法回滚。 sudo deepin-immutable-ctl admin deploy -b
deepin-immutable-ctl admin deploy -f, --finalize 移除对默认启动项的覆盖修改,核心用途为清理临时修改并恢复默认启动配置;典型场景为测试完成后清除临时部署,恢复系统默认状态。 sudo deepin-immutable-ctl admin deploy -f
deepin-immutable-ctl admin deploy -r, --refresh 刷新修改层目录,核心用途为更新系统修改层的内容;典型场景为修改层内容发生变化后需要重新加载时使用。 sudo deepin-immutable-ctl admin deploy -r
deepin-immutable-ctl admin deploy -s, --status-fd uint 通过文件描述符以 JSON 格式输出备份进度信息,可通过管道读取(默认 3),核心用途为监控部署过程中的备份进度;典型场景为脚本中实时获取备份状态和进度信息。 sudo deepin-immutable-ctl admin deploy -s 3

2.2 exec - 执行 dpkg 或 apt 命令

命令参数 功能描述 示例
deepin-immutable-ctl admin exec <命令> 在特权模式下执行 dpkg 或 apt 命令,核心用途为修改系统核心配置和安装软件包;典型场景为安装底层依赖、调整只读目录文件。 sudo deepin-immutable-ctl admin exec dpkg -i package.deb
deepin-immutable-ctl admin exec -- <命令> 使用 -- 分隔符执行命令,核心用途为确保命令参数正确传递;典型场景为命令包含特殊字符或选项时使用。 sudo deepin-immutable-ctl admin exec -- apt install -y vim

2.3 file-op - 修改 immutable 目录中的文件

命令参数 功能描述 示例
deepin-immutable-ctl admin file-op setxattr <文件> [,] 设置文件的扩展属性,核心用途为添加或修改文件的元数据信息;典型场景为设置文件的安全属性或其他自定义属性。 sudo deepin-immutable-ctl admin file-op setxattr /etc/file key=value,key2=value2
deepin-immutable-ctl admin file-op rmxattr <文件>[,] 删除文件的扩展属性,核心用途为清理不需要的文件元数据;典型场景为移除错误设置的扩展属性。 sudo deepin-immutable-ctl admin file-op rmxattr /etc/file key1,key2
deepin-immutable-ctl admin file-op chown <文件>用户:组 更改文件的所有者和组,核心用途为调整文件的访问权限;典型场景为修复文件权限问题。 sudo deepin-immutable-ctl admin file-op chown /etc/file uos:uos
deepin-immutable-ctl admin file-op chmod <文件> <权限> 更改文件的权限模式,核心用途为控制文件的访问权限;典型场景为设置可执行权限或限制文件访问。 sudo deepin-immutable-ctl admin file-op chmod /etc/file 0755
deepin-immutable-ctl admin file-op cp <源文件> <目标文件> 复制文件,核心用途为创建文件副本;典型场景为备份重要配置文件或复制文件到 immutable 目录。 sudo deepin-immutable-ctl admin file-op cp /etc/source /etc/destination
deepin-immutable-ctl admin file-op mv <源文件> <目标文件> 移动或重命名文件,核心用途为文件整理或重命名;典型场景为调整文件组织结构。 sudo deepin-immutable-ctl admin file-op mv /etc/oldname /etc/newname

2.4 rollback - 执行回滚操作

命令参数 功能描述 示例
deepin-immutable-ctl admin rollback 执行回滚操作,将当前备份系统设置为默认系统,核心用途为系统升级失败后恢复稳定版本;典型场景为升级后出现 bug 时回退到之前的工作状态。 sudo deepin-immutable-ctl admin rollback
deepin-immutable-ctl admin rollback -c, --can-rollback 检查系统是否可以回滚,核心用途为确认回滚可行性;典型场景为执行回滚操作前验证系统状态。 deepin-immutable-ctl admin rollback -c

2.5 status - 显示系统状态

命令参数 功能描述 示例
deepin-immutable-ctl admin status 查看所有系统部署(带* 为当前启动项),核心用途为快速掌握部署数量及当前启动版本;典型场景为清理备份前确认部署索引。 deepin-immutable-ctl admin status
deepin-immutable-ctl admin status -d, --debug booted 显示当前启动部署的详细信息,核心用途为聚焦当前运行系统的配置;典型场景为确认当前系统版本、排查启动故障。 deepin-immutable-ctl admin status -d booted
deepin-immutable-ctl admin status -d, --debug deploy:<索引> 显示指定索引部署的详细信息,核心用途为分析特定备份或历史部署;典型场景为检查 GRUB 菜单中某备份是否可用、确认其占用路径。 deepin-immutable-ctl admin status -d deploy:1
deepin-immutable-ctl admin status -d, --debug expired 显示已过期部署的详细信息,核心用途为识别可清理的旧部署;典型场景为释放磁盘空间前确认过期文件路径。 deepin-immutable-ctl admin status -d expired
deepin-immutable-ctl admin status -d, --debug all 显示所有部署的详细信息,核心用途为全面掌握系统部署历史;典型场景为系统整体管理、批量清理冗余部署。 deepin-immutable-ctl admin status -d all
deepin-immutable-ctl admin status --persistent <路径> 指定持久化目录(默认 /persistent),核心用途为自定义可写数据存储路径;典型场景为将系统数据迁移到大容量分区。 deepin-immutable-ctl admin status --persistent /custom/path

2.6 undeploy - 删除指定索引的部署

命令参数 功能描述 示例
deepin-immutable-ctl admin undeploy <索引> 删除指定索引的部署,核心用途为清理 GRUB 菜单中的冗余备份;典型场景为删除不再需要的历史版本以释放空间。 sudo deepin-immutable-ctl admin undeploy 1

三、快照管理(snapshot 子命令)

命令参数 功能描述 示例
deepin-immutable-ctl snapshot list 列出所有快照(ID、名称、时间、描述),核心用途为查看文件级备份;典型场景为确认快照数量及关键备份的 ID。 deepin-immutable-ctl snapshot list
deepin-immutable-ctl snapshot list -v 详细列出所有快照(包含隐含信息),核心用途为获取快照的额外细节;典型场景为排查快照相关问题时使用。 deepin-immutable-ctl snapshot list -v
sudo deepin-immutable-ctl snapshot create -n <名称> -d <描述> 创建快照,核心用途为保存系统关键配置节点;典型场景为升级驱动、安装软件前创建备份以便回滚。 sudo deepin-immutable-ctl snapshot create -n "驱动更新前" -d "安装NVIDIA驱动前的状态"
sudo deepin-immutable-ctl snapshot delete <快照ID> 删除指定 ID 的快照,核心用途为清理无用的文件级备份;典型场景为释放磁盘空间,删除不再需要的旧快照。 sudo deepin-immutable-ctl snapshot delete ccbd4a6d1d6afb65
sudo deepin-immutable-ctl snapshot restore <快照ID> 将系统恢复到指定快照状态,核心用途为快速回滚文件配置;典型场景为配置错误后恢复到之前的正常状态。 sudo deepin-immutable-ctl snapshot restore bc3b0b0a66d608a1

四、系统升级管理(upgrade 子命令)

命令参数 功能描述 示例
deepin-immutable-ctl upgrade check 检查系统升级状态(是否有新版本),核心用途为确认是否需要升级;典型场景为定期检查系统更新。 sudo deepin-immutable-ctl upgrade check
sudo deepin-immutable-ctl upgrade 升级系统到最新版本,核心用途为更新系统至最新稳定版;典型场景为获取新功能或安全补丁。 sudo deepin-immutable-ctl upgrade
sudo deepin-immutable-ctl upgrade -d 仅下载升级包,不执行升级,核心用途为提前下载更新包以便后续离线升级;典型场景为网络不稳定时先缓存升级文件。 sudo deepin-immutable-ctl upgrade -d
sudo deepin-immutable-ctl upgrade add-remote <远程名称> 添加升级源远程仓库,核心用途为配置系统升级的软件源;典型场景为切换到官方源或第三方镜像源。 sudo deepin-immutable-ctl upgrade add-remote official https://repo.deepin.com/ostree
deepin-immutable-ctl upgrade list-remotes 列出所有已添加的远程仓库,核心用途为查看当前可用的升级源;典型场景为确认源配置是否正确。 deepin-immutable-ctl upgrade list-remotes
sudo deepin-immutable-ctl upgrade delete-remotes <远程名称> 删除指定远程仓库,核心用途为清理无效或过时的升级源;典型场景为移除不可用的第三方源。 sudo deepin-immutable-ctl upgrade delete-remotes old-repo
deepin-immutable-ctl upgrade list-remote-options <远程名称> 查看远程仓库配置选项,核心用途为了解源的详细设置;典型场景为排查源连接问题时确认配置参数。 deepin-immutable-ctl upgrade list-remote-options official
sudo deepin-immutable-ctl upgrade update-remote <远程名称> <选项> 更新远程仓库配置,核心用途为修改源的 URL 或其他参数;典型场景为源地址变更后更新配置。 sudo deepin-immutable-ctl upgrade update-remote official url=https://new.repo.url
deepin-immutable-ctl upgrade -s <文件描述符> 通过文件描述符输出升级进度(JSON 格式),核心用途为监控升级过程;典型场景为脚本中实时获取升级状态。 deepin-immutable-ctl upgrade -s 3

五、使用注意事项

5.1 权限要求

  • 大部分修改系统状态的命令(如 deploy、undeploy、rollback、snapshot create/delete/restore、upgrade)需要 root 权限,使用时需加 sudo
  • 读取状态的命令(如 status、list)通常不需要 root 权限

5.2 数据安全

  • 执行重要操作前建议先创建备份
  • 系统回滚可能会丢失当前的系统配置和数据
  • 快照操作仅针对文件级别的备份
  • immutable 系统的文件修改需要通过特定命令(如 file-op)进行

5.3 命令使用技巧

  • 使用 -- 分隔符可以确保命令参数正确传递给 exec 子命令
  • file-op 支持多种文件操作,包括权限修改、属性设置、复制移动等
  • status 命令的 -d 选项可以提供详细的部署信息,有助于问题排查

5.4 废弃参数

  • --append 参数已废弃,不建议使用
  • 关注官方文档以获取最新的命令用法
Reply Favorite View the author
All Replies
kookboy
deepin
2025-11-05 21:26
#1

这个好,收藏~thanks

Reply View the author
kookboy
deepin
2025-11-05 21:30
#2
kookboy@kookboy-PC:~$ deepin-immutable-ctl snapshot list
ID               Name                 Time                 Desc
4f65d54ea7fa2363 First backup         2025-09-24 21:15:51  System initialization backup
kookboy@kookboy-PC:~$ 

系统快照会占用多大空间呢?

Reply View the author
LiuYongzhang
deepin
2025-11-05 21:48
#3
kookboy
kookboy@kookboy-PC:~$ deepin-immutable-ctl snapshot list
ID               Name                 Time                 Desc
4f65d54ea7fa2363 First backup         2025-09-24 21:15:51  System initialization backup
kookboy@kookboy-PC:~$ 

系统快照会占用多大空间呢?

空间占用看不懂
image.png

Reply View the author
jjcui8595
deepin
Resources Team
2025-11-06 09:46
#4

学习,收藏like

Reply View the author
我是昵称
deepin
2025-11-06 10:07
#5

sudo deepin-immutable-ctl upgradesudo apt dist-upgrade有何区别?

Reply View the author
LiuYongzhang
deepin
2025-11-06 10:13
#6
我是昵称

sudo deepin-immutable-ctl upgradesudo apt dist-upgrade有何区别?

功能特性对比

特性 deepin-immutable-ctl upgrade sudo apt dist-upgrade
更新机制 原子更新,全有或全无 包级更新,可能部分成功
系统保护 核心目录只读保护 系统目录可自由修改
回滚能力 自动快照,一键回滚 无自动回滚,需手动修复
依赖处理 整体系统依赖管理 单个包依赖关系处理
系统稳定性 极高,更新失败不影响当前系统 中等,更新失败可能导致系统异常
更新速度 增量更新,速度较快 完整包下载,速度较慢
存储空间 双系统分区,占用较多空间 单分区,空间利用更高效
用户干预 几乎无需用户干预 需要用户确认关键操作
适用场景 Deepin 25+ 磐石系统 传统 Debian/Ubuntu 系统
Reply View the author