我正在阅读一些有关创建发行版存储库的文档。但是,我无法准确理解这些命令的作用:
# cd /mnt/
# ls
centos-1 centos-2 centos-3
# for i in 1 2 3
> do
> cd /mnt/centos-$i
> tar cpf - . | ( cd /var/ftp/ks/centos/; tar xpf - )
> done
Run Code Online (Sandbox Code Playgroud)
我的(显然不正确)它的纲要是:遍历每个已安装的 CD ( /mnt/centos-<index>) 并创建一个tar保留权限的文件夹。然后,tar再次将该文件提取到另一个文件夹,保留权限。
如果是这样,为什么要这样做?真的没有更好的办法吗?或者也许我错过了整个想法。
在此过程中推荐使用 tar(或 cpio)而不是 cp 的原因在于工具的运行方式。
cp 依次对每个文件对象进行操作,从磁盘读取它,然后将其写入新位置。由于源和目标的位置在磁盘上可能并不接近,这会导致在位置之间进行大量搜索。
tar 和 cpio 尽量一口气读完,然后写入存档。这意味着源文件将一个接一个地读取,而目标文件将一个接一个地写入(当然允许进程切换),从而减少了查找,从而减少了花费的时间。
| 归档时间: |
|
| 查看次数: |
5162 次 |
| 最近记录: |