安装 rpm 并将文件放入符号 link 目录

Install rpm and put file into symbolic link directory

我制作了一个安装程序的 rpm 包,它需要将文件复制到的文件夹之一是 symbolic link,因为符号 link 指向的程序to 可能会随着时间的推移而改变,因此通过将文件复制到 symbolic link 而不是硬编码路径,更容易维护 rpm 包的构建。但是,我收到错误

cp: cannot overwrite directory with non-directory

rpm 包试图将文件复制到符号 link 文件夹时。为什么会发生这种情况,除了将文件复制到 symbolic link 指向的文件夹之外,我还能做些什么来解决这个错误?我是 运行 RHEL 6.6

该错误通常意味着您已告诉 cp 将目标视为普通文件(-T 参数)。

$ ls -lR
.:
total 16
drwxr-xr-x 2 root root 4096 Feb  6 09:46 dir
-rw-r--r-- 1 root root    0 Feb  6 09:45 file
lrwxrwxrwx 1 root root    3 Feb  6 09:45 symdir -> dir

./dir:
total 0
$ cp -T file symdir
cp: cannot overwrite non-directory `symdir' with non-directory
$ ls -lR
.:
total 16
drwxr-xr-x 2 root root 4096 Feb  6 09:46 dir
-rw-r--r-- 1 root root    0 Feb  6 09:45 file
lrwxrwxrwx 1 root root    3 Feb  6 09:45 symdir -> dir

./dir:
total 0
$ cp file symdir
$ ls -lR
.:
total 16
drwxr-xr-x 2 root root 4096 Feb  6 09:46 dir
-rw-r--r-- 1 root root    0 Feb  6 09:45 file
lrwxrwxrwx 1 root root    3 Feb  6 09:45 symdir -> dir

./dir:
total 4
-rw-r--r-- 1 root root 0 Feb  6 09:46 file