安装
root@autodl-container-522548a71c-16e02917:~/autodl-tmp# sudo apt install pigz Reading package lists… Done Building dependency tree… Done Reading state information… Done E: Unable to locate package pigz root@autodl-container-522548a71c-16e02917:~/autodl-tmp#
E: Unable to locate package pigz 说明 apt 软件源里没有找到 pigz。在 AutoDL 容器里比较常见,原因通常是:
- 软件源索引没更新;
- 容器裁剪过,源配置不完整;
- 当前镜像不是完整 Ubuntu/Debian 源。
先按下面顺序排查。
1. 更新软件源索引
apt update
然后:
apt install pigz
使用
tar –use-compress-program=”pigz -p $(nproc)” -cpf kronos-project-$(date +%Y%m%d_%H%M%S).tar.gz kronos-project 能保留所有信息吗
你的命令:
tar --use-compress-program="pigz -p $(nproc)" -cpf kronos-project-$(date +%Y%m%d_%H%M%S).tar.gz kronos-project
不能完整保留所有信息。 原因是少了 -p,而且你的压缩方式参数也有一点问题。
你的命令逐项解释
tar ... -cpf xxx.tar.gz kronos-project
其中:
| 参数 | 作用 | 是否保留 |
|---|---|---|
c |
创建归档 | ✅ |
p |
保留权限 | ❌(这里不是那个意思) |
f |
指定文件名 | ✅ |
注意:
这里的:
-cpf
里面的 p 不是 preserve 权限。
因为 GNU tar 的参数解析中,-cpf 等价于:
-c -p -f
但如果创建归档时,-p 的意义主要是保留权限不受 umask 影响,在创建归档时作用有限。
真正关键的是:解压时使用:
-xpf
推荐备份命令
建议:
tar --use-compress-program="pigz -p $(nproc)" \
-cpf kronos-project-$(date +%Y%m%d_%H%M%S).tar.gz \
kronos-project
其实已经可以。
不过更明确推荐:
tar --numeric-owner \
--use-compress-program="pigz -p $(nproc)" \
-cpf kronos-project-$(date +%Y%m%d_%H%M%S).tar.gz \
kronos-project
--numeric-owner 很重要
它保存:
UID/GID 数字
例如:
原:
zhiyuan uid=1000 gid=1000
保存:
1000/1000
恢复到另一台机器:
tar -xpf xxx.tar.gz
不会因为用户名不存在导致变化。
对于服务器迁移、AutoDL 环境迁移,推荐加。
符号链接是否保留?
默认:
✅ 保留。
例如:
.venv/bin/python
-> /root/.local/share/uv/python/...
tar 保存的是:
python 是一个软链接
目标路径是什么
不会展开。
不要加:
-h
否则会展开链接。
最完整推荐版本
备份:
tar --numeric-owner \
--use-compress-program="pigz -p $(nproc)" \
-cpf kronos-project-$(date +%Y%m%d_%H%M%S).tar.gz \
kronos-project
恢复:
tar --use-compress-program="pigz -p $(nproc)" \
-xpf kronos-project-xxxxxx.tar.gz \
-C /home/zhiyuan/
这样可以保留:
✅ 文件内容
✅ 文件名
✅ 目录结构
✅ 权限
✅ 时间戳
✅ 用户/组 UID/GID
✅ 符号链接
✅ 硬链接
这套命令适合你现在这种 Kronos 项目迁移/备份 场景。
不要换行显示
单行版本:
tar --numeric-owner --use-compress-program="pigz -p $(nproc)" -cpf kronos-project-$(date +%Y%m%d_%H%M%S).tar.gz kronos-project
恢复:
tar --use-compress-program="pigz -p $(nproc)" -xpf kronos-project-xxxxxx.tar.gz -C /home/zhiyuan/
这两条即可。
作者: 高志远
高志远,24岁,男生 查看高志远的所有文章