Мне нужно получить правильные блокировки, чтобы команды 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 перестали работать из-за невозможности получить необходимую блокировку?