无法使用 ansible 将站点中可用的文件链接到远程服务器中启用站点的目录?
这是我想要使用 ansible 的文件模块执行的命令:ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
这是我正在使用的任务的代码:
- name: Enable the Identity service virtual hosts
file: src=/etc/apache2/sites-available/wsgi-keystone.conf dest=/etc/apache2/sites-enabled state=link owner=root group=root mode=0644
顺便说一下,我以 root 用户身份运行剧本:
收到以下错误:
fatal: [10.0.1.32]: FAILED! => {"changed": false, "failed": true, "gid": 0, "group": "root", "mode": "0755", "msg": "refusing to convert between directory and link for /etc/apache2/sites-enabled", "owner": "root", "path": "/etc/apache2/sites-enabled", "size": 4096, "state": "directory", "uid": 0}
答案1
设置force=true
为创建符号链接。
在两种情况下强制创建符号链接:
源文件不存在(但稍后会出现);
目标存在并且是一个文件(因此,我们需要取消链接“路径”文件并在其中创建指向“src”文件的符号链接)。