如何创建包含链接和链接文件的存档。我有一些共享库,我想创建一个存档。这是我尝试过的
mkdir dest
#abc.so is a link file which points to abc.so.1
#abc.so.1 is a link file which points to abc.so.1.1
#abc.so.1.1 is the actual file
cp /usr/local/lib/abc.so* dest/
tar -czvf dest.tar.gz -C dest/ .
但生成的dest.tar.gz
文件列出的链接和链接文件具有相同的大小,并且l
输出中没有链接的文件类型tar -tvf dest.tar.gz
。
该
cp
操作不保留符号链接。tar
归档程序归档符号链接时没有出现问题。您很可能希望使用
cp
其-P
选项。这是一个标准选项。您还可以使用
rsync
:选项
-a
(--archive
) 是 的快捷方式-rlptgoD
,它是-l
将符号链接保留为链接的特定选项(其他选项保留文件的所有权、时间戳和其他元数据等)GNU 的 coreutils 实现
cp
也有一个-a
选项,它会尝试尽可能多地保留元数据等。如果系统使用 coreutils,您就可以使用cp -a
它来复制符号链接。cp -P