Автор Тема: Xfce c Sysv  (Прочитано 564039 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1140 : 03.07.2019 20:54:40 »
А во-вторых, эти команды не создадут stop-симлинки. Они создают только start-симлинки. В смысле, что просили, то и получите.

Т.е. ? chkconfig off не выключит?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1141 : 03.07.2019 21:07:43 »
А во-вторых, эти команды не создадут stop-симлинки. Они создают только start-симлинки. В смысле, что просили, то и получите.

Т.е. ? chkconfig off не выключит?

chkconfig --level уровни сервис off
создаст stop симлинки
Как вижу по функционалу:
--add и reset парсят реальные ранлэвэлы из chkconfig: или из Default-St* LSB-хидера и при симлинковке содают симлинки как указано в заголовках скрипта.

Но например в network, эти ранлэвэлы синхронно указаны и в chkconfig: и в LSB-хидере.
Мне даже интересно стало, а как сработает защита от дурака, если эту синхронность сломать? :-)

dango

  • Гость
Re: Xfce c Sysv
« Ответ #1142 : 03.07.2019 21:17:23 »
Как-то уже не хочется снова задавать вопрос о жизнеспособности sysv в альтах. Анекдот о стюардессе уже не смешон.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1143 : 03.07.2019 21:37:18 »
Как-то уже не хочется снова задавать вопрос о жизнеспособности sysv в альтах.

Не знаю, стоит или не стоит, но последний slackware-current-live от Эрика Хэймлирс, у меня всегда на винчестере. И всегда под контролем.
Как говорят в народе, бережёного Бог бережёт.
Кстати пакет в slackware-current(и stable) надыбал под ut2004(demo).
О как! Это вам не хухры-мухры:
# tar -tvf /home/altlinux/Загрузки/aaa_elflibs-15.0-i586-8.txz | grep libstdc++.so.5
-rwxr-xr-x root/root    732224 2019-02-20 10:28 usr/lib/libstdc++.so.5.0.7


Анекдот о стюардессе уже не смешон.

Стюардесса была девушкой хоть куда. Но её скелет по сравнению с p6, выглядит как-то не очень...

Я на этом  гадском p9 даже в suspend не могу уйти без краша файловой. В логи лезть, гиблое дело. Файловая-то в r/o. Какие нафик логи. Там только fsck через verbose может подсказать из-за чего файловую на suspend кондратий хватил.
« Последнее редактирование: 03.07.2019 21:52:35 от Speccyfighter »

dango

  • Гость
Re: Xfce c Sysv
« Ответ #1144 : 03.07.2019 21:43:49 »
Нет, честно, люди, если партийная линия альтов это systemd, то нафига тратить время и здоровье на войну с мельницами. Я могу плюнуть на свои ресурсы, потраченные на альты. А Юрий себя не жалеет. Фактически sysv ещё жив в альтах только благодаря его упорству. Но по факту sysv это глухарь. Ну где смысл? Померла так померла.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1145 : 04.07.2019 06:10:19 »
Нет, честно, люди, если партийная линия альтов это systemd, то нафига тратить время и здоровье на войну с мельницами. Я могу плюнуть на свои ресурсы, потраченные на альты. А Юрий себя не жалеет. Фактически sysv ещё жив в альтах только благодаря его упорству. Но по факту sysv это глухарь. Ну где смысл? Померла так померла.

sysv жил, sysv жив, sysv будет жить... Пока есть пользователи (а они есть и среди тимовцев, elogind же запилили), sysv будет жить.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1146 : 06.07.2019 18:54:04 »
Костыль для сброса всех сервисов в дефолт на p9-xfce-sysv

скрипт глобального сброса всех сервисов sysvinit в состояние по-умолчанию
См. runlevel в chkconfig: и Default-St* в init-скриптах
# sysv-reset-services
# Script to reset all System V services to default state
# Run as root
#
grep chkconfig: /etc/rc.d/init.d/* | \
grep -v nm-group | sort | \
cut -f1 -d ':' | \
cut -f5 -d '/' | \
       while read line; \
           do \
               if [ -x "/etc/rc.d/init.d/$line" ]; then \
                       chkconfig $line reset; \
               fi; \
       done

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Re: Xfce c Sysv
« Ответ #1147 : 10.10.2019 15:38:30 »
если партийная линия альтов это systemd
Нет.  По крайней мере пока я (а также sem@, legion@ и далее по списку) здесь, полагаю.
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус


Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1149 : 31.10.2019 16:38:29 »
Взять на карандаш/контроль:

Конфликт /usr/share/bash-completion/completions/loginctl в systemd-utils и bash-completion-elogind

https://forum.altlinux.org/index.php?topic=42738.msg343109#msg343109
https://forum.altlinux.org/index.php?topic=42738.msg343151#msg343151
Bug 37352 - Конфликт с systemd-utils
https://bugzilla.altlinux.org/show_bug.cgi?id=37352

# cat /image/.disk/info
ALT p9 xfce-sysv/x86_64 build 2019-10-20
# rpm -qvl  systemd-utils | grep loginctl | grep bash
-rw-r--r--    1 root    root                     4675 апр 11  2019 /usr/share/bash-completion/completions/loginctl
# rpm -qpvl /var/cache/apt/archives/bash-completion-elogind_241.2-alt1%3asisyphus+226467.100.1.1@1554295119_noarch.rpm
lrwxrwxrwx    1 root    root                        8 апр  3  2019 /usr/share/bash-completion/completions/eloginctl -> loginctl
-rw-r--r--    1 root    root                     4707 апр  3  2019 /usr/share/bash-completion/completions/loginctl
# rpm -Uhv /var/cache/apt/archives/bash-completion-elogind_241.2-alt1%3asisyphus+226467.100.1.1@1554295119_noarch.rpm
Подготовка...                           ######################################################################################## [100%]
файл /usr/share/bash-completion/completions/loginctl из устанавливаемого пакета bash-completion-elogind-241.2-alt1.noarch конфликтует с файлом из пакета systemd-utils-1:242-alt12.x86_64

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1150 : 10.11.2019 23:28:51 »
Наваять пакет для p9/branch и выше (в контексте работающего elogind в xfce-sysv), с созданием в preinstall группы storage?
Так вот:
Может возникнуть ситуация, когда например требуется разрешить монтирование флешек человеку (администратору) с аккаунтами root и user1, но запретить второму администратору (user2) и всем остальным.
Этого, вариант 2 рулеза не может, - он разрешает обеим администраторам.

Но это может вариант 3 рулеза:
Только пользователи входящие в системную группу storage, имеют право монтировать флешки.

По-умолчанию, в альтлинукс группа storage не существует.
Создаём её:
# groupadd -r storage

Добавляем в неё пользователя которому разрешено монтировать флешки:
# gpasswd --add ПОЛЬЗОВАТЕЛЬ storage

Для этой ситуации будет работать правило:
# cat /media/alt-live-storage/etc/polkit-1/rules.d/60-mount-other-seat.rules
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount") == 0) {
        if (subject.isInGroup("storage")) {
            return polkit.Result.AUTH_SELF;
        } else {
            return polkit.Result.NO;
        }
    }
});


polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount-other-seat") == 0) {
        if (subject.isInGroup("storage")) {
            return polkit.Result.AUTH_SELF;
        } else {
            return polkit.Result.NO;
        }
    }
});


У пользователя которому разрешено монтировать флешки
$ udisksctl mount -b /dev/sdc1 # unmount для размонтирования

и который входит в группу storage, будет запрошен его пароль для подтверждения подлинности пользователя.

На системах с sysvinit придётся однозначно использовать не AUTH_SELF, а YES, поскольку авторизация в альтлинукс на sysv сломана.
(Для работы рулеза вариантом 3 на sysv (sysv-xfce), также необходимо изъять правила с этими экшнами из файла 60-sysvinit-mount.rules)
(Последний абзац касается только sysv-xfce на p8/branch. И вряд ли это стоит трогать.)

И в preinstall что-то вроде этого
/usr/sbin/groupadd -r storage &>/dev/null
n=`/bin/awk -F: '{if ($3==500) print $1}' /etc/group`
/usr/bin/gpasswd -a $n storage &>/dev/null

и с такими зависимостями
# rpm -qf --qf '%{NAME}\n' /usr/sbin/groupadd
shadow-utils
# rpm -qf --qf '%{NAME}\n' /bin/awk
gawk
# rpm -qf --qf '%{NAME}\n' /usr/bin/gpasswd
shadow-groups
# rpm -qf --qf '%{NAME}\n' /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
udisks2
# rpm -qf --qf '%{NAME}\n' /usr/libexec/polkit-1/polkitd
polkit
# rpm -qf --qf '%{NAME}\n' /etc/group
setup

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1151 : 15.11.2019 20:48:43 »
Похоже elogind в Альте больше не будет. Апстрим elogind не поспевает за апстримом systemd, который ломает API почти в каждой новой версии:
https://lists.altlinux.org/pipermail/devel/2019-November/208963.html

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1152 : 15.11.2019 21:40:20 »
Антон, огромное спасибо за ценную ссылку!

А я-то думаю, чиво это слакоделы вместе с Патриком этот сыстемдэ напрочь выпилили у себя
https://lists.altlinux.org/pipermail/devel/2019-November/208963.html
Проблема в том, что разработчики libsystemd ломают ABI. Из-за этого часть
функций просто не работают. Пакеты слинкованные с libsystemd нельзя
использовать с libelogind.


А оно вон оно шо...
Единственный возможный подход в gentoo и devuan, где все пакеты
пересобираются с libelogind. Лишь в этом случае замена будет работать.

elogind может существовать именно как замена, а не альтернатива.


Весьма важное сообщение Алексея Гладкова.


Антон, ну шо, возвращаем polkit-sysvinit?
И как мне помнится, если не забылось, к polkit-sysvinit рулез нужно прикручивать для управления яркостью дисплеев на ноутбуках с графикой интел.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1153 : 15.11.2019 21:48:58 »
Антон, ну шо, возвращаем polkit-sysvinit?

Придётся, а так не хотелось...

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1154 : 16.11.2019 05:53:41 »
Ссылка от Лёши Гладкова:
https://github.com/elogind/elogind/issues/70
Yamakuzure прокомментировал on 2 Jul 2018
@ DareDeb-User : Нет, вы правы. Проблема здесь: systemd управляет VT, elogind - нет. Итак, чтобы получить сеанс пользователя vt, вам нужен менеджер виртуальных терминалов. Единственный, кого я знаю, это systemd.


А я-то думаю, шо за хрень:
прав доступа у пользователя в системе на systemd нет,
# grep ' <fb> ' /etc/security/console.perms.d/50-default.perms
<console>  0600 <fb>         0600 root
а сами права у пользователя есть.
И насколько понимаю, эта строка распределяет права доступа на фреймбуфер в системе на sysv, и неверно. Из-за чего права доступа на фреймбуфер, в sysv благополучно сломаны.
В ней не хватает явного указания самой группы и прав доступа для группы.

Куча выбросов по теме прав доступа на фреймбуфер в sysv:
https://forum.altlinux.org/index.php?topic=42738.msg343700#msg343700
https://forum.altlinux.org/index.php?topic=42738.msg343701#msg343701
https://forum.altlinux.org/index.php?topic=42738.msg343704#msg343704
https://forum.altlinux.org/index.php?topic=42738.msg343705#msg343705

Разрулить, разложить по полкам подробности/сравнения и написать простыню багрепорта на fb* в sysv
И кратким отдельным комментарием, что требуется и как это будет работать.
« Последнее редактирование: 16.11.2019 06:23:02 от Speccyfighter »