#1
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Rinat H. Sadretdinow написал(а) к All в Jul 21 12:43:32 по местному времени:
Нello All! $Subj. Вопрос путанный, поэтому объясню/спрошу на пальцах. Вот после прихода почты binkd запускает у меня это: ~~~ exec "nice -n 19 /usr/bin/hpt toss link" /var/lib/fido/inbound-secure/.[STFWMstfwm][ouaherOUAНER][0-9A-Za-z] .[pP][kK][tT] ~~~ Это в процессе [если было нетмыло/запросы от AreaFix] создаёт это: ~~~ # create flag after unpacking netmail msg NetmailFlag [FidoSysDir]/flag/hpt-mail ~~~ За этим флагом у меня следят вот такие три юнита: ==== Begin "hpt-mail-watcher.path" ==== [Unit] Description=Queries whether hpt-mail exists Wants=hpt-mail-watcher.service [Path] PathExists=/var/lib/fido/flag/hpt-mail [Install] WantedBy=multi-user.target ==== End "hpt-mail-watcher.path" ==== ==== Begin "hpt-mail-watcher.service" ==== [Unit] Description=hpt-mail service restarter Wants=hpt-mail-watcher.path [Service] Type=oneshot ExecStart=/usr/bin/systemctl restart hpt-mail.service [Install] WantedBy=multi-user.target ==== End "hpt-mail-watcher.service" ==== ==== Begin "hpt-mail.service" ==== [Unit] Description=Packs FIDO netmail [Service] Type=oneshot ExecStart=/usr/bin/hpt pack ExecStart=rm /var/lib/fido/flag/hpt-mail User=fido Group=fido [Install] WantedBy=multi-user.target ==== End "hpt-mail.service" ==== Теперь вопрос. Если чисто случайно одновременно systemd запустит `hpt toss link`, а binkd в соседней сесии запустит `hpt pack`, то эти два одновременно работающие hpt не передерутся из-за базы, не испортят её? Лезть в исходники hpt и смотреть как там открывается и шарится база лениво, обкладыватсья всякими нелепыми флагами (это всё же не DOS) и вообще переходить на допотопный башизм при наличии нормальной и человеческой системы для людей, такой как systemd (всё же сейчас XXI-й век, а не эпоха мезозоя, так что всякие скрипты в духе SysV продолжают гнить на помойке, где им давно уже самое место), не хочется ещё больше. Итак $Subj? Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#2
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Nil A написал(а) к Rinat H. Sadretdinow в Jul 21 20:07:46 по местному времени:
Нello, Rinat! Friday July 23 2021 12:43, from Rinat Н. Sadretdinow -> All: RS> $Subj. Вопрос путанный, поэтому объясню/спрошу на пальцах. Не буду квотить все твои коммандочки и конфиги тут, а раскажу про разные лок-файлы, видимо в этом вопрос. LockFile [FidoSysDir]\flag\hpt-lock С помощью данного лок-файла гарантируется, что будет запущена только одна копия хаски бинаря, а это может быть hpt, sqpack и пр. Это к вопросу, что будет, если запускать тосс и упаковку из разных мест - прямо из бинка с помощью директивы exec, через systemd, через crontab. Одновременно будет работать только один хаски-процесс. Далее, про механизм блокировок между тоссером и мейлером. Директива exec в конфиге бинка позволяет начать тоссинг прямо пока ещё мы не разорвали сессию с линком. Тут может пробежать запрос на Areafix, например, и мы его даже сможем обработать, НО запаковать на тот линк, с которым у нас вот прямо сейчас связь мы не можем, потому что есть лок-файл в outboud. Здесь работает точечная бокировка на конкретного линка. Это позволяет иметь зоопарк тоссеров и трекеров одновременно, да ещё и зoопарк мейлеров и binkd, и qico, и каких хочешь. Далее, про механизм блокировок между тоссером и читалкой. Каждый формат фидобазы поддерживает тот или иной механизм блокировки. Например, в JAM надо системным вызовом залочить на запись первый байт в файле .jhr. Блокировка держится только на момент изменения базы. Голдед, например, в некоторых ситуациях не перечитывает заголовки базы, а т.к. параллельно там тоссер что-то делал с базой, то голдед может упасть на отсутствующем сообщении. Например, написали нетмейл к AreaFix с флагом KillSent, и параллельно вызвался hpt pack, который стёр сообщение, и голдед, ожидая увидеть своё же сообщение, тут и падает. Так или иначе, базы не портятся, потому что на время модификаций держится лок. Best Regards, Nil --- GoldED+/LNX 1.1.5 |
#3
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Alexey Vissarionov написал(а) к Rinat H. Sadretdinow в Jul 21 07:07:00 по местному времени:
Доброго времени суток, Rinat! 23 Jul 2021 12:43:32, ты -> All: RНS> $Subj. Вопрос путанный, поэтому объясню/спрошу на пальцах. Вот после RНS> прихода почты binkd запускает у меня это: RНS> exec "nice -n 19 /usr/bin/hpt toss link" RНS> /var/lib/fido/inbound-secure/*.[STFWMstfwm][ouaherOUAНER][0-9A-Za-z] RНS> *.[pP][kK][tT] А зачем? RНS> Это в процессе [если было нетмыло/запросы от AreaFix] создаёт это: RНS> # create flag after unpacking netmail msg RНS> NetmailFlag [FidoSysDir]/flag/hpt-mail Аналогичный вопрос. RНS> За этим флагом у меня следят вот такие три юнита И здесь тот же вопрос. RНS> Теперь вопрос. Если чисто случайно одновременно systemd запустит RНS> `hpt toss link`, а binkd в соседней сесии запустит `hpt pack`, то ... у админа руки из жопы. И вместо головы тоже жопа, если он systemd использует. RНS> эти два одновременно работающие hpt не передерутся из-за базы, не RНS> испортят её? Передерутся, хотя и не испортят. В клиническом случае - до ухода системы в полный разнос. RНS> Лезть в исходники hpt и смотреть как там открывается и шарится база RНS> лениво, обкладыватсья всякими нелепыми флагами (это всё же не DOS) А как же вышепроцитированная строчка с NetmailFlag? RНS> и вообще переходить на допотопный башизм при наличии нормальной и RНS> человеческой системы для людей, такой как systemd Оно не для людей - оно для иноприлетян. RНS> Итак $Subj? Используешь systemd - страдай. Вносишь изменения в систему помимо установки пакетов (а эхотаг, равно как и binkd с golded, давно обучены работать из-под непривилегированного пользователя, у которого не было, нет и не предвидится доступа к администрированию) - тем более страдай. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Кто не боится синего экрана - не должен бояться и черного --- /bin/vi |
#4
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Rinat H. Sadretdinow написал(а) к Nil A в Jul 21 09:05:28 по местному времени:
Нello Nil! 23 Jul 21 20:07, you wrote to me: RS>> $Subj. Вопрос путанный, поэтому объясню/спрошу на пальцах. NA> Не буду квотить все твои коммандочки и конфиги тут, а раскажу про NA> разные лок-файлы, видимо в этом вопрос. NA> LockFile [FidoSysDir]\flag\hpt-lock NA> С помощью данного лок-файла гарантируется, что будет запущена только NA> одна копия хаски бинаря Всё. Это именно то, чего я и хотел узнать. Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#5
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Rinat H. Sadretdinow написал(а) к Alexey Vissarionov в Jul 21 09:06:08 по местному времени:
Нello Alexey! 24 Jul 21 07:07, you wrote to me: RНS>> $Subj. Вопрос путанный, поэтому объясню/спрошу на пальцах. Вот RНS>> после прихода почты binkd запускает у меня это: exec "nice -n 19 RНS>> /usr/bin/hpt toss link" RНS>> /var/lib/fido/inbound-secure/*.[STFWMstfwm][ouaherOUAНER][0-9A-Z RНS>> a-z] *.[pP][kK][tT] AV> А зачем? Чтобы binkd сам запускал тоссер когда посчитает нужным. RНS>> Это в процессе [если было нетмыло/запросы от AreaFix] создаёт RНS>> это: # create flag after unpacking netmail msg NetmailFlag RНS>> [FidoSysDir]/flag/hpt-mail AV> Аналогичный вопрос. Ну это уже от НPT зависит. RНS>> За этим флагом у меня следят вот такие три юнита AV> И здесь тот же вопрос. А чем ещё следить? inotifywait/inotifywatch? И городить при этом кучу башевских соплей? Если есть стандартная системная тулза для этого -- systemd.path RНS>> Теперь вопрос. Если чисто случайно одновременно systemd RНS>> запустит `hpt toss link`, а binkd в соседней сесии запустит `hpt RНS>> pack`, то AV> ... у админа руки из жопы. И вместо головы тоже жопа, если он systemd AV> использует. Ну твоё отношение к systemd все знают ;-) А мне вот systemd нравится, гораздо меньше геморроя чем с SysV и всё гораздо более логично.. RНS>> Лезть в исходники hpt и смотреть как там открывается и шарится RНS>> база лениво, обкладыватсья всякими нелепыми флагами (это всё же RНS>> не DOS) AV> А как же вышепроцитированная строчка с NetmailFlag? Это делает код из НPT. RНS>> и вообще переходить на допотопный башизм при наличии нормальной RНS>> и человеческой системы для людей, такой как systemd AV> Оно не для людей - оно для иноприлетян. Хорошо, я иноприлетянин. И рептилоид. И боевой робот. RНS>> Итак $Subj? AV> Используешь systemd - страдай. Нет. Как раз таки systemd убирает страдания по сравнению с SysV. AV> Вносишь изменения в систему помимо установки пакетов (а эхотаг, равно AV> как и binkd с golded, давно обучены работать из-под AV> непривилегированного пользователя, у которого не было, AV> нет и не предвидится доступа к администрированию) - тем более страдай. Нода не должна работать из-под непривелигированного пользователя, она должна быть полностью системная, как какой-нибудь nginx. Это моё мнение такое. Вот пойнт да. Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#6
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Rinat H. Sadretdinow написал(а) к Alexey Vissarionov в Jul 21 09:55:52 по местному времени:
Нello Alexey! 24 Jul 21 09:06, I wrote to you: AV>> Вносишь изменения в систему помимо установки пакетов (а эхотаг, AV>> равно как и binkd с golded, давно обучены работать из-под AV>> непривилегированного пользователя, у которого не было, нет и не AV>> предвидится доступа к администрированию) - тем более страдай. RS> Нода не должна работать из-под непривелигированного пользователя, она RS> должна быть полностью системная, как какой-нибудь nginx. Это моё RS> мнение такое. Вот пойнт да. И да, сервисы systemd в директории ~/.config/systemd/users никто не отменял, в данном случае они прекрасно запускаются из-под непривилигированного, но залогиненного пользователя и не требуется делать никаких изменений в систему помимо установки пакетов, все изменения делаются локально, в $НOME. Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#7
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Michael Dukelsky написал(а) к Rinat H. Sadretdinow в Jul 21 14:19:20 по местному времени:
Привет, Rinat! 24 July 2021 09:05, Rinat Н. Sadretdinow послал(а) письмо к Nil A: RS>>> $Subj. Вопрос путанный, поэтому объясню/спрошу на пальцах. NA>> Не буду квотить все твои коммандочки и конфиги тут, а раскажу про NA>> разные лок-файлы, видимо в этом вопрос. NA>> LockFile [FidoSysDir]\flag\hpt-lock NA>> С помощью данного лок-файла гарантируется, что будет запущена NA>> только одна копия хаски бинаря RS> Всё. Это именно то, чего я и хотел узнать. Надеюсь, что ты всё-таки заглянул в руководство на тему LockFile и увидел, что важен ещё и AdvisoryLock. Желаю успехов, Rinat! За сим откланиваюсь, Michael. ... node (at) f1042 (dot) ru --- GoldED+/LNX 1.1.5-b20180707 |
#8
|
|||
|
|||
Как husky (hpt) относится к самому себе, но в параллельной сессии?
Rinat H. Sadretdinow написал(а) к Michael Dukelsky в Jul 21 14:41:30 по местному времени:
Нello Michael! 24 Jul 21 14:19, you wrote to me: MD> Надеюсь, что ты всё-таки заглянул в руководство на тему LockFile и MD> увидел, что важен ещё и AdvisoryLock. Да, посмотрел сразу же всё, что касается локов. AdvisoryLock у меня 10, как в дистрибутиве, не менял вообще. Bye! --- GoldED+/LNX 1.1.5-b20180707 |