在 CentOS 里,“context” 通常有两种常见含义,下面分别说明如何备份:
SELinux 的 安全上下文(security context) 可以通过工具直接备份和恢复。
# 备份整个文件系统的 SELinux context
getfattr -R -m security.selinux / > selinux_context.bak
或使用更常用的方法:
# 生成带 context 的文件列表
ls -ZR / > selinux_context_list.txt
# 根据系统默认策略恢复
restorecon -Rv /
如果是自定义 context(如修改过 semanage fcontext):
# 备份自定义 SELinux 策略
semanage export -f selinux_custom.bak
# 恢复
semanage import -f selinux_custom.bak
指 /etc/systemd/system/ 或 /usr/lib/systemd/system/ 中服务的 Execution Context(User / Environment / WorkingDirectory 等)
# 备份所有 systemd 配置
tar czvf systemd_backup.tar.gz /etc/systemd/system /usr/lib/systemd/system
tar xzvf systemd_backup.tar.gz -C /
systemctl daemon-reload
# Podman 示例
podman export container_name > container_backup.tar
| 类型 | 备份方式 |
|---|---|
| SELinux context | getfattr / semanage export |
| systemd context | 备份 unit 文件 |
| 容器 context | podman/docker export |
如果你能具体说明:
我可以给你更精确的命令。