我正在根据如何在Raspbian上安装unrar-nonfree?(raspberrypi.stackexchange.com)的说明使用Ansible来安装unrar-nonfree。我已经成功地使用ansible中的apt_repository添加了apt仓库,并且当有变化时更新了缓存(默认值)。之后,我立即尝试运行以下命令:
sudo apt-get build-dep unrar-nonfree
但是使用ansible的等效方式:
- apt:
pkg: unrar-nonfree
state: build-dep
但是这次失败了,错误提示如下: fatal: [192.168.2.3]: FAILED! => {"changed": false, "failed": true, "msg": "没有匹配'unrar-nonfree'的软件包可用"}
以下是该失败的详细日志 (-vvv):
TASK [unrar-nonfree : apt] *****************************************************
task path: /Users/leonelgalan/Work/ansible-pi/roles/unrar-nonfree/tasks/main.yml:12
<192.168.2.2> ESTABLISH SSH CONNECTION FOR USER: leonelgalan
<192.168.2.2> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=leonelgalan -o ConnectTimeout=10 -o ControlPath=/Users/leonelgalan/.ansible/cp/ansible-ssh-%h-%p-%r -tt 192.168.2.2 '/bin/sh -c '"'"'( umask 22 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1462315830.89-175365841755446 `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-1462315830.89-175365841755446 `" )'"'"''
<192.168.2.2> PUT /var/folders/q8/mdl09l9d6m38tkk9rjtgq_9r0000gn/T/tmpwEEqbI TO /home/leonelgalan/.ansible/tmp/ansible-tmp-1462315830.89-175365841755446/apt
<192.168.2.2> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=leonelgalan -o ConnectTimeout=10 -o ControlPath=/Users/leonelgalan/.ansible/cp/ansible-ssh-%h-%p-%r '[192.168.2.2]'
<192.168.2.2> ESTABLISH SSH CONNECTION FOR USER: leonelgalan
<192.168.2.2> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=leonelgalan -o ConnectTimeout=10 -o ControlPath=/Users/leonelgalan/.ansible/cp/ansible-ssh-%h-%p-%r -tt 192.168.2.2 '/bin/sh -c '"'"'sudo -H -S -n -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-uctakuwrjhufxakpatxinjmeibajdcbz; /bin/sh -c '"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/leonelgalan/.ansible/tmp/ansible-tmp-1462315830.89-175365841755446/apt; rm -rf "/home/leonelgalan/.ansible/tmp/ansible-tmp-1462315830.89-175365841755446/" > /dev/null 2>&1'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"''"'"'"'"'"'"'"'"''"'"''
fatal: [192.168.2.2]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_args": {"cache_valid_time": null, "deb": null, "default_release": null, "dpkg_options": "force-confdef,force-confold", "force": false, "install_recommends": null, "package": ["unrar-nonfree"], "pkg": "unrar-nonfree", "purge": false, "state": "build-dep", "update_cache": true, "upgrade": null}, "module_name": "apt"}, "msg": "No package matching 'unrar-nonfree' is available"}
故障排除
Ansible版本:ansible 2.0.1.0 操作系统:Raspbian Jessie March 2016
- 我已经多次重新运行脚本,但它每次都在同一个地方失败。
- 我在两个任务之间添加了一个额外的
-apt: update_cache=yes
。 - 我已经在同一台机器上成功运行了
sudo apt-get build-dep unrar-nonfree
。然而,Ansible仍然失败:
#3的日志:
$ sudo apt-get build-dep unrar-nonfree
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
debhelper gettext intltool-debian libunistring0 po-debconf
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,482 kB of archives.
After this operation, 8,594 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libunistring0 armhf 0.9.3-5.2 [253 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main gettext armhf 0.19.3-2 [1,167 kB]
Get:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main intltool-debian all 0.35.0+20060710.1 [29.8 kB]
Get:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main po-debconf all 1.0.16+nmu3 [220 kB]
Get:5 http://mirrordirector.raspbian.org/raspbian/ jessie/main debhelper all 9.20150101 [813 kB]
Fetched 2,482 kB in 26s (93.3 kB/s)
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend requires a screen at least 13 lines tall and 31 columns wide.)
debconf: falling back to frontend: Readline
Selecting previously unselected package libunistring0:armhf.
(Reading database ... 125630 files and directories currently installed.)
Preparing to unpack .../libunistring0_0.9.3-5.2_armhf.deb ...
Unpacking libunistring0:armhf (0.9.3-5.2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../gettext_0.19.3-2_armhf.deb ...
Unpacking gettext (0.19.3-2) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../intltool-debian_0.35.0+20060710.1_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.1) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../po-debconf_1.0.16+nmu3_all.deb ...
Unpacking po-debconf (1.0.16+nmu3) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../debhelper_9.20150101_all.deb ...
Unpacking debhelper (9.20150101) ...
Processing triggers for man-db (2.7.0.2-5) ...
Processing triggers for install-info (5.2.0.dfsg.1-6) ...
Setting up libunistring0:armhf (0.9.3-5.2) ...
Setting up gettext (0.19.3-2) ...
Setting up intltool-debian (0.35.0+20060710.1) ...
Setting up po-debconf (1.0.16+nmu3) ...
Setting up debhelper (9.20150101) ...
Processing triggers for libc-bin (2.19-18+deb8u4) ...