Как получить необходимые блокировки для команд apt? - PullRequest
0 голосов
/ 19 мая 2019

Мне нужно получить правильные блокировки, чтобы команды apt не могли выполняться, пока блокировка удерживается.

Я пишу плагин Ansible Action, который будет повторяться в течение определенного количества раз в случае блокировкине может быть приобретено.Для тестирования плагина мне нужно несколько раз получить блокировку.Я попробовал следующий код, чтобы получить блокировку.Я тоже примерял /var/lib/dpkg/lock.В обоих случаях я смог без проблем выполнить apt команды.

import fcntl
import time


lock_path = '/var/lib/dpkg/lock-frontend'

lockfile = open(lock_path, 'w')

fcntl.flock(lockfile, fcntl.LOCK_EX | fcntl.LOCK_NB)

print('Got lock')
time.sleep(15)

fcntl.flock(lockfile, fcntl.LOCK_UN)
print('Released')

Что я могу сделать, чтобы команды apt перестали работать из-за невозможности получить необходимую блокировку?

...