Вы можете сделать apt-get научиться ждать, если будет запущен другой менеджер программного обеспечения. Что-то похожее на поведение из следующего экрана:
Создаю новый скрипт под названием apt-get (обертка для [ f5]) в каталоге /usr/local/sbin со следующим кодом bash внутри:
#!/bin/bash
i=0
tput sc
while fuser /var/lib/dpkg/lock >/dev/null 2>&1 ; do
case $(($i % 4)) in
0 ) j="-" ;;
1 ) j="\\" ;;
2 ) j="|" ;;
3 ) j="/" ;;
esac
tput rc
echo -en "\r[$j] Waiting for other software managers to finish..."
sleep 0.5
((i=i+1))
done
/usr/bin/apt-get "$@"
Не забудьте сделать его исполняемым:
sudo chmod +x /usr/local/sbin/apt-get
Прежде чем тестировать, проверьте, все в порядке. Вывод команды which apt-get должен быть теперь /usr/local/sbin/apt-get. Причина в том, что: по умолчанию каталог /usr/local/sbin помещается перед /usr/bin каталогом пользователя или root PATH.