Для этого можно использовать три крючка:
DPkg::Pre-Invoke
запускается один раз перед всеми последовательностями манипуляций с пакетами за один apt
вызов; DPkg::Pre-Install-Pkgs
также запускается один раз, до последовательностей манипулирования пакетами, после хука Pre-Invoke
и со списком всех пакетов, которые будут установлены; DPkg::Post-Invoke
запускается один раз, после последовательностей операций с пакетами. Документация не совсем ясна (читайтеman apt.conf
хотя ), но чтение исходного кода подтверждает вышеизложенное. Указание хуков также подтверждает это (, например, вот как работает apt-listbugs
).
Вместо использования screen
вы можете использовать специальную программу-эмулятор последовательного терминала, такую как minicom
, так как она имеет встроенную -поддержку протоколов передачи двоичных данных последовательного -порта на локальной стороне. как ЗМОДЕМ.
Чтобы передать файл из локальной системы на устройство ARM, на обоих устройствах должен быть установлен инструмент командной строки -для протокола ZMODEM. По крайней мере, в Debian он поставляется в пакете с именем lrzsz
.
Во-первых, вы должны войти на устройство ARM и выполнить на нем командуrz
(Receive Zmodem ). Он выводит специальную последовательность символов «ожидание приема», которая может быть обнаружена программой эмулятора терминала, поддерживающей ZMODEM -, например minicom
. В этот момент программа эмулятора терминала должна автоматически позволить вам выбрать файл для отправки на удаленное устройство ARM. Если этого не произошло, вы все равно можете выбрать функцию «отправить файл с помощью ZMODEM» (или «загрузить файл...» )вручную в эмуляторе терминала.
Некоторые эмуляторы терминала могут иметь полную внутреннюю реализацию протокола ZMODEM.но minicom
просто использует линейный инструментsz
(Send Zmodem )command -для фактической передачи файлов, поэтому вам также необходимо установить пакет lrzsz
локально.
Перенос с удаленного ARM на локальную систему работает по существу так же, :вы запускаете команду sz <filename>
на удаленном конце, и входящая передача («загрузка» )должна автоматически обнаруживаться вашим эмулятор терминала.
Поскольку инструменты sz
и rz
предназначены для использования на удаленном конце и будут передавать файл через стандартный ввод и вывод сеанса оболочки, использование команд на локальной стороне требует определенных перенаправления ввода/вывода, а эмулятор терминала должен прекратить чтение последовательного порта во время работы программы передачи файлов. Все это сделало бы крайне неудобным использование инструментов sz
/rz
на локальной стороне с такой программой, как screen
, которая не имеет необходимых функций для размещения внешних инструментов передачи файлов.