Из-за коммита: http://git.altlinux.org/gears/s/systemd.git?p=systemd.git;a=commitdiff;h=30c28ce9e6d8d006c81b6bbecaf6423a08d8f3f5;hp=060cea49f5f2514e85aa3fab168830059f27e561 Невозможно установить bash-completion-elogind Конфликтующий файл: /usr/share/bash-completion/completions/loginctl В качестве решения предлагаю loginctl переименовать в eloginctl. Сейчас /usr/share/bash-completion/completions/loginctl/eloginctl является симлинком на /usr/share/bash-completion/completions/loginctl. Так что превращение симлинка в файл вызовет проблемы при обновлении. Потому необходимо выставить конфликт с предыдущими версиями у bash-completion-elogind. Но лучше пойти ещё дальше и включить bash-completion-elogind в elogind по аналогии с systemd-utils, так как bash-completion весит копейки и никаких зависимостей не тянет. Не забыв выставить конфликт с bash-completion-elogind.
Так понимаю, ты собирался повесить на bash-completion-elogind.
(В ответ на комментарий №1) > Так понимаю, ты собирался повесить на bash-completion-elogind. Да. Но, если подумать, то лучше решать проблему в systemd. Всё-таки /usr/share/bash-completion/completions/loginctl не обязаны быть идентичными для elogind и systemd. А потому правильным решением будет перенести /usr/share/bash-completion/completions/* из systemd-utils в systemd-services, где в основном и находятся утилиты, для которых предназначены bash-completion. А главное не нужно порождать ещё один конфликт. Потому перевешиваю обратно на systemd-utils.
(В ответ на комментарий №2) > (В ответ на комментарий №1) > > Так понимаю, ты собирался повесить на bash-completion-elogind. > > Да. Но, если подумать, то лучше решать проблему в systemd. > Всё-таки /usr/share/bash-completion/completions/loginctl не обязаны быть > идентичными для elogind и systemd. > А потому правильным решением будет перенести > /usr/share/bash-completion/completions/* из systemd-utils в systemd-services, > где в основном и находятся утилиты, для которых предназначены bash-completion. > А главное не нужно порождать ещё один конфликт. > Пакет apt-conf-ignore-systemd предназначен для блокирования установки пакетов systemd{,-services,-sysvinit} в системы на sysvinit. И если /usr/share/bash-completion/completions/* из systemd-utils # rpm -ql systemd-utils | grep bash-completion | wc -l 24 # rpm -ql systemd-utils | grep completions | grep localectl /usr/share/bash-completion/completions/localectl перенести в systemd-services, то при наличии apt-conf-ignore-systemd в системе на sysv, apt заблокирует установку systemd-services в систему на sysv и конфликт не возникнет. При этом systemd-services в конфликтах elogind, - или sysv или systemd: # apt-cache show elogind | grep ^Conflict Conflicts: ConsoleKit2, ConsoleKit2-x11, systemd, systemd-services
systemd-1:243-alt4 -> sisyphus: Tue Nov 05 2019 Alexey Shabalin <shaba@altlinux> 1:243-alt4 - move completions to systemd-services (ALT #37352) - group add vmusers in pre for udev package (ALT #37200)
Лёш, спасибо!