LINUX.ORG.RU
ФорумAdmin

Help! Настройка systemd в обновлённом с чего-то Ubuntu 22.04.5 LTS на ARM transmission

 , , ,


0

1

Есть древний AllWinner A10, на нём крутится tor для локалки, хочу на него пересадить transmission с роутера. Обновился до LTS с чего-то, не помню чего.

dan@melea1000:/etc/tor$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy
dan@melea1000:/etc/tor$ uname -a
Linux melea1000 6.12.58-current-sunxi #1 SMP Thu Nov 13 20:34:41 UTC 2025 armv7l armv7l armv7l GNU/Linux

Не могу сменить в transmission-daemon юзера.

Команда sudo systemctl edit transmission-daemon.service ВСЕГДА перезатирает ПОСЛЕ выхода из редактора первоначальным вариантом.

Я понимаю, что нужно погружаться в systemd, разбирать исходники парсинга опций из файлов сервисов... Но на это же нужны какие-то сумасшедшие человеко-месяцы, есть ли какой FAQ по НЕСТАНДАРТНЫМ случаям, когда systemd летит фанерой???

★★★★★

Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от pfg

Что работает? Я не писал ничего про «работает/не работает», я писал что ты мазохист.

без мудрений с visudo и прочими костылями.

Вот уж не ври. Вспомогательный костыль visudo ты может и выкинул, а главный - сам sudo - вполне используешь.

firkax ★★★★★
()
Ответ на: комментарий от pfg

у меня в одном сервисе четыре ExecStart: в первом качается deb-пакет с тырнета, во втором устанавливается черз dpkg -i, в третьем доустанавливаются зависмости, в четвертом пакет уадляется.

Что это за ужас? Шелл-скрипт вместо конфиг-костыле-скриптинга сделать никак?

firkax ★★★★★
()
Ответ на: комментарий от pfg

Работать надо от юзера.

Администрировать - от рута, в начале разово залогинившись* за него (это предпочтительнее по безопасности) или разово набрав su - (хуже, юзерские снифферы могут украсть доступ в итоге, впрочем если ты редактируешь sudoers без перелогина* за рута - ситуация ровно та же, так что это тебя смущать не должно).

*Залогинившись, перелогина - имеется ввиду ещё одна полностью независимая сессия например на ctrl-alt-f2 или на отдельном ssh-подключении. В случае с ssh для этого можно завести отдельного юзера с правом su, чтобы не делать рут-логин напрямую.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от pfg

у меня в одном сервисе четыре ExecStart: в первом качается deb-пакет с тырнета, во втором устанавливается черз dpkg -i, в третьем доустанавливаются зависмости, в четвертом пакет уадляется.

это у тебя уже bashd получился =)

bigbit ★★★★★
()
Ответ на: комментарий от kaldeon

Никогда не знаешь, когда окажешься дураком.

С этим тезисом согласен полностью. Факапы у всех случаются, вон ЧАЭС ушатали, а там больше одного человека этим ушатыванием занималась.

Или твой коллега.

Чужая душа потёмки.
Только все это не имеет отношение к вашей фразе «visudo создаёт ложное впечатление, будто система как бы защищает от дурака.». Вариантов накосячить и без прямой правки sudoers чуть больше чем много.

anc ★★★★★
()
Ответ на: комментарий от firkax

все правильно. работаю от юзера, при необходимости редактировать систему (весьма редкой надо сказать), повышаю прав до рута. все ок.
юзерский снифер, его еще надо суметь словить, прекрасно может украсть пароль от рута в su :)

ну коль привык делать это в отдельной консоли, то это твои привычки :) использую временное повышение прав, по мне так удобнее.
в sshd закрыт доступ к руту.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 2)
Ответ на: комментарий от pfg

юзерский снифер, его еще надо суметь словить, прекрасно может украсть пароль от рута в su :)

Я поэтому и пишу что безопасное это не «повышения» всякие а перелогин с нуля.

firkax ★★★★★
()
Ответ на: комментарий от pfg

Тут более уместен вопрос зачем какие-то юниты вместо очевидного скрипта.

баш-лапшу.

Ага, а после дописывания к этой лапше ExecStart= в начало каждой строки она внезапно перестаёт быть лапшой?

firkax ★★★★★
()
Ответ на: комментарий от firkax

Я поэтому и пишу что безопасное это не «повышения» всякие а перелогин с нуля.

возможно :) я ж не настаиваю, работай как умеешь… кому и пикассо великий художник :)

Тут более уместен вопрос зачем какие-то юниты вместо очевидного скрипта.

тут более уместен вопрос ты умеешь различаешь менеджер старта и баш ??
для того чтобы скрипт автозапускался к нему нужна какаято запускалка в любом случае.

Ага, а после дописывания к этой лапше ExecStart= в начало каждой строки она внезапно перестаёт быть лапшой?

конечно же нет :) просто не нужен исчо один файл со скриптом.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)

Команда sudo systemctl edit transmission-daemon.service ВСЕГДА перезатирает ПОСЛЕ выхода из редактора первоначальным вариантом.

А «новый вариант» при редактировании точно между этими строками оказывается?

### Anything between here and the comment below will become the new contents of the file



### Lines below this comment will be discarded
mogwai ★★★★★
()
Ответ на: комментарий от pfg

у меня в одном сервисе четыре ExecStart: в первом качается deb-пакет с тырнета, во втором устанавливается черз dpkg -i, в третьем доустанавливаются зависмости, в четвертом пакет уадляется.

Какая жуть... Ну или «мы легких путей не ищем».

применили решение в виде удаления списка через пустой «ExecStart=» и прописывания с нуля нового списка ExecStart.

Какая жуть - 2.

вполне логично.

Где логика Карл?

anc ★★★★★
()
Ответ на: комментарий от pfg

https://openwrt.org/docs/guide-user/base-system/uci - лучший UX настроек linux.

Там же, каким должно быть то, что почему-то стало bash-портянками:

https://openwrt.org/docs/techref/initscripts

Shadow ★★★★★
() автор топика
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

если б уся c люсей были бы так хороши, то ее бы использовали везде :) однако чтобы вот…
вообще вариантов инитов системы наштамповано несколько десятков, можно пользовать любой, это вкусовщина…

pfg ★★★★★
()
Ответ на: комментарий от pfg

Я про формат файлов и дисциплину в init скриптах. Ну и, казалось бы, NIH - это что-то из области конспирологии, но каждый второй оказывается Денис Попов (только квалификация выше).

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

к сожалению стандарта формата конфигов нет и не предвидится :)
в той же усе есть варианты когда конфиг уси конвертится в конфиг приложения.
Не всё получается пропатчить…
есть подобия, тот же netplan.io, но многим не нравится онное.

pfg ★★★★★
()
Ответ на: комментарий от pfg

в той же усе есть варианты когда конфиг уси конвертится в конфиг приложения
Не всё получается пропатчить…

Там немного не так, там шаблонизатор конфига uci в конфиг приложения. По сравнению что с башелапшой RedHat до systemd, что с systemd феттучини - творение высшего разума.

Shadow ★★★★★
() автор топика
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от pfg

:) жуть жутчайшая, предложи альтернативу.

Запилить один скрипт и будет счастье? Зачем это оборачивать в прослойки? Не, то что можно 100500 прослоек использовать это понятно, но я приверженец KISS.

anc ★★★★★
()
Ответ на: комментарий от anc

как минимум чтобы скрипт запускался, к нему должна прилагаться какая-то ни было запускалка, как минимум простейшая sysV :)
вот в ней, аккурат изза простоты, для формирования условий работы службы вокруг нее должна быть куча прослоек…
к примеру, чтобы следить за падениями службы нужна отдельная прослойка в виде скрипта в кроне, проверяющим что процесс с таким-то pid еще работает, или отдельная цельная служба monit.
чтоб ограничить ресурсы работы необходимо службу запаковать в прослойку ограничения ресурсов cpulimit, ulimit
и т.д. и т.п.
systemd имеет огромное количество возможностей слежения за работой служб компа, упакованные в один конфиг, вместо баааальшой баш-лапши.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

как минимум чтобы скрипт запускался, к нему должна прилагаться какая-то ни было запускалка, как минимум простейшая sysV :)
вот в ней, аккурат изза простоты, для формирования условий работы службы вокруг нее должна быть куча прослоек…
к примеру, чтобы следить за падениями службы нужна отдельная прослойка в виде скрипта в кроне, проверяющим что процесс с таким-то pid еще работает, или отдельная цельная служба monit.
чтоб ограничить ресурсы работы необходимо службу запаковать в прослойку ограничения ресурсов cpulimit, ulimit
и т.д. и т.п.
systemd имеет огромное количество возможностей слежения за работой служб компа, упакованные в один конфиг, вместо баааальшой баш-лапши.

И вот это вот всё так необходимо для вашего:
«у меня в одном сервисе четыре ExecStart: в первом качается deb-пакет с тырнета, во втором устанавливается черз dpkg -i, в третьем доустанавливаются зависмости, в четвертом пакет уадляется.»
?

anc ★★★★★
()