Вы можете спросить systemd, какие у юнита триггеры:
systemctl show -p TriggeredBy systemd-tmpfiles-clean
Это покажет, что служба systemd-tmpfiles-clean
запускается таймером systemd-tmpfiles-clean.timer
. Это определяется как
# SPDX-License-Identifier: LGPL-2.1+
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Daily Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
Таким образом, служба запускается каждый день и очищает каталоги на основе конфигурации tmpfiles.d
. Подробности смотрите на соответствующих справочных страницах.
Как вы знаете, Python3 отличает строки от байтов, а Python2 — нет. Поэтому вам нужно, чтобы переменная someData
содержала байты, а не строку. Есть несколько решений, но поскольку вы уже используете struct.unpack()
, вы также можете использовать struct.pack()
для создания данных в первую очередь :
e = bytearray()
, а затем:
e += pack('B', (ord(plaintext[i]) ^ ord(counter[i])))
Упаковка в форматB
(байт без знака )преобразует число от 0 до 255 в байт. Не забудьте добавить from struct import pack
или подобное.