执行 $: salt \* pkg.install vim 时无法获取 /var/lib/dpkg/lock 锁

1 投票
2 回答
1215 浏览
提问于 2025-04-20 21:24

我正在使用Salt Stack来开发一个源代码管理系统(SCM)。我已经成功地把主控端(master)和被控端(minion)连接起来,并且下面这个命令可以正常工作。

$: salt \* test.ping

现在,我想执行下面这个命令。

$: salt \* pkg.install vim

目的是通过主控端在被控端上安装vim。当我在主控端执行这个命令时,却遇到了以下错误。

[INFO    ] User sudo_user1 Executing command pkg.install with jid 20140910191537152620
[DEBUG   ] Command details {'tgt_type': 'glob', 'jid': '20140910191537152620', 'tgt': '*', 'ret': '', 'user': 'sudo_user1', 'arg': ['vim'], 'fun': 'pkg.install'}
[INFO    ] Starting a new job with PID 5762
[INFO    ] Executing command "dpkg-query --showformat='${Status} ${Package} ${Version} ${Architecture}\n' -W" in directory '/home/cybage'
[INFO    ] Executing command ['apt-get', '-q', '-y', '-o', 'DPkg::Options::=--force-confold', '-o', 'DPkg::Options::=--force-confdef', 'install', 'vim'] in directory '/home/user1'
[ERROR   ] Command ['apt-get', '-q', '-y', '-o', 'DPkg::Options::=--force-confold', '-o', 'DPkg::Options::=--force-confdef', 'install', 'vim'] failed with return code: 100
[ERROR   ] output: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
[INFO    ] Executing command "dpkg-query --showformat='${Status} ${Package} ${Version} ${Architecture}\n' -W" in directory '/home/cybage'
[INFO    ] Returning information for job: 20140910191537152620
[DEBUG   ] Decrypting the current master AES key
[DEBUG   ] Loaded minion key: /etc/salt/pki/minion/minion.pem

主控端和被控端都是Ubuntu 14.04。如果有人遇到过类似的问题,或者我是不是漏掉了什么,请告诉我。谢谢大家的帮助。

2 个回答

1

通常这意味着另一个程序正在使用你的软件包管理器,所以你会看到锁定的提示。你可以试试在命令行输入 apt-get install vim 这个命令,看能不能成功。

你每次运行这个 salt 命令时都会出现这个错误吗?

1

最后我终于搞清楚问题出在哪里了。

我用下面的命令启动了salt-master

shwetabhs@shwetabhs-master:/etc/salt# sudo salt-master -l debug

但其实应该从根目录启动。

root@shwetabhs-master:/etc/salt# salt-master -l debug

从根目录启动后,问题就解决了。

撰写回答