Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
openrc-0.42.2 and sysv-utils
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6065
Location: Removed by Neddy

PostPosted: Sat Aug 24, 2019 9:41 am    Post subject: openrc-0.42.2 and sysv-utils Reply with quote

Just going through my update and I see openrc-0.42.1 -> openrc-0.42.2

Curious as to what this is I looked at the ebuild


Code:
      sysv-utils? ( !sys-apps/sysvinit )
      !sysv-utils? ( >=sys-apps/sysvinit-2.86-r6[selinux?] )
         virtual/tmpfiles


Essentially this puts a block on sysvinit, which currently provides /sbin/init. Now for some time openrc has come with its own init (making it a more complete init/daemon manager) openrc-init ( https://forums.gentoo.org/viewtopic-t-1064510-highlight-openrcinit.html https://wiki.gentoo.org/wiki/OpenRC/openrc-init ) and for some time I have been thinking of switching over but not really had the time.

The caveats on this have been that sysvinit type commands (halt, reboot, init ....) will not work as there would be a namespace clash (easily managed via alias OR if you really wanted to mess with the low-level system... symlink [not a good idea imho])

The other was getty's as these would not be launched by default ... ok for manual steps

Doing a quick search, systemd ran into a similar issue a while back ( https://www.gentoo.org/support/news-items/2018-01-23-systemd-blocker.html) and this is where this sysv-utils flag was added to "magically" create expected symlinks to mitigate namespace clashes... seems reasonable and under the system control.


So How does this impact OpenRC

The default is OFF (ok) so OpenRC still uses sysvinit and inittab
Quote:

[ebuild U ] sys-apps/openrc-0.42.1::gentoo [0.41.2::gentoo] USE="ncurses netifrc pam (split-usr) unicode -audit -bash -debug -newnet (-prefix) (-selinux) -static-libs -sysv-utils%" 238 KiB


Setting the flag causes the expected block.
Quote:
[ebuild U ] sys-apps/openrc-0.42.1::gentoo [0.41.2::gentoo] USE="ncurses netifrc pam (split-usr) sysv-utils%* unicode -audit -bash -debug -newnet (-prefix) (-selinux) -static-libs" 238 KiB
[blocks B ] sys-apps/sysvinit ("sys-apps/sysvinit" is blocking sys-apps/openrc-0.42.1)


So the rhetorical question is... if I fix the blockage (emerge -C sysvinit) will portage
1) create expected sysvinit commands (mitigating issues with elogind: https://forums.gentoo.org/viewtopic-t-1100642-highlight-openrcinit.html)
2) will it create any getty's

Code:

# emerge -C sysvinit
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 sys-apps/sysvinit
    selected: 2.95
   protected: none
     omitted: none

emerge openrc -va

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-apps/openrc-0.42.1::gentoo [0.41.2::gentoo] USE="ncurses netifrc pam (split-usr) sysv-utils%* unicode -audit -bash -debug -newnet (-prefix) (-selinux) -static-libs" 238 KiB


The symlinks are setup
Code:
readlink $(which init halt reboot)
openrc-init
/lib/rc/bin/halt
/lib/rc/bin/reboot


and six agetty's are created

Quote:
readlink /etc/init.d/agetty*
/etc/init.d/agetty
/etc/init.d/agetty
/etc/init.d/agetty
/etc/init.d/agetty
/etc/init.d/agetty
/etc/init.d/agetty




This seams a smooth migration to a complete OpenRC init



EXCEPT for the expected ... such commands won't work until openrc-init is the init
_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Sat Aug 24, 2019 11:32 pm    Post subject: Reply with quote

I've been watching openrc evolution, not perfect, but way better than i first think it would goes, i must say williamh isn't doing all good, but more or less, it's good.

It doesn't seem a stupid idea (for a change) to have openrc able to boot by itself, more than just an rc, a true init.
And i think he is going the right way, i must admit i still use sysvinit because, well, it just works, and it's 100% trustable ; but from what i see, again, looks good.
Maybe if i had a clean system i would just goes full openrc, but even migration looks good, well, too much efforts for too less bonus (for now, maybe openrc init will really had some value one day, i mean same value of stability as sysvinit, but maybe a little more value in some addition to it, no idea, maybe shutdown could get something new and useful)

except the stupid "localmount failure to start and cascading errors from it" change (that is awful), openrc (as for 0.42.1) isn't that bad (i consider the systemd modules autoloaded directory really crap, but easy avoidable, so "bad, but not that bad"), but williamh have a bad habit to change/undo/rechange something good for no apparant reason (a kind of last bug report to ask something win, but as soon as another user report to unset it, he wins too and change are undone), and from version to version you could be surprise, which gave an overall bad feeling, but at least, he is one of the few devs i have interract with that take care to listen (it doesn't mean he agree to all, but you are heard).
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6065
Location: Removed by Neddy

PostPosted: Sun Aug 25, 2019 9:37 am    Post subject: Reply with quote

Well it isn't as smooth sailing as it could have been...

While the relaying out of the system was fine (with the small catch22 of... how to shutdown when the init command and thus the halt command no longer exists...), a full openrc-init shutdown has a slight difference and one I don't understand why...


Quote:
shutdown -h
/sbin/openrc-shutdown --halt
* openrc-shutdown: No shutdown time specified
Usage: openrc-shutdown -c | --cancel
or: openrc-shutdown -R | --reexec
or: openrc-shutdown -w | --write-only
or: openmrc-shutdown -H | --halt time
or: openrc-shutdown -K | --kexec time
or: openrc-shutdown -p | --poweroff time
or: openrc-shutdown -r | --reboot time
or: openrc-shutdown -s | --single time

Options: [ cdDfFHKpRrswChqVv ]
-c, --cancel cancel a pending shutdown
-d, --no-write do not write wtmp record
-D, --dry-run print actions instead of executing them
-H, --halt halt the system
-K, --kexec reboot the system using kexec
-p, --poweroff power off the system
-R, --reexec re-execute init (use after upgrading)
-r, --reboot reboot the system
-s, --single single user mode
-w, --write-only write wtmp boot record and exit
-h, --help Display this help output
-C, --nocolor Disable color output
-V, --version Display software version
-v, --verbose Run verbosely
-q, --quiet Run quietly (repeat to suppress errors)


For some REALLY odd reason this options have different case from sysvinit shutdown. Thus a lightDM shutdown doesn't actually power off the machine...

https://linux.die.net/man/8/shutdown
Quote:
Options
-r
Requests that the system be rebooted after it has been brought down.
-h
Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system.
-H
Requests that the system be halted after it has been brought down.
-P
Requests that the system be powered off after it has been brought down.

-c
Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE.
-k
Only send out the warning messages and disable logins, do not actually bring the system down.

_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Sun Aug 25, 2019 12:00 pm    Post subject: Reply with quote

you could point it and suggest -p should be -P option
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6065
Location: Removed by Neddy

PostPosted: Sun Aug 25, 2019 1:19 pm    Post subject: Reply with quote

Seems it is already in, so it is a manpage issues and another source as to why lightDM doesn't powerdown ...
https://github.com/OpenRC/openrc/commit/e7807b3136d8993805082320784460f5059e6275#diff-69725a5f03cca0a73f1d3d8188f5742d
_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1845

PostPosted: Sun Aug 25, 2019 1:36 pm    Post subject: Reply with quote

I was reading some of those links out of curiosity, mainly to see what if any actual advantages there were to using this. The answer seems to be none, unless you count "so openrc can be a complete init system". No thanks to all that...makes me even more glad I've just stuck with sys-apps/openrc-0.17. Maybe I'm missing something, but I don't think I am.

Tom
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Sun Aug 25, 2019 1:40 pm    Post subject: Reply with quote

I'll give it a try when its as mature as sysvinit. I'll be 96 then :)

Meanwhile, sys-apps/openrc-0.17 is hard to beat.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
spork_kitty
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jul 2019
Posts: 124

PostPosted: Sun Aug 25, 2019 6:31 pm    Post subject: Reply with quote

NeddySeagoon wrote:
I'll give it a try when its as mature as sysvinit. I'll be 96 then :)

Meanwhile, sys-apps/openrc-0.17 is hard to beat.


Is there a link to a post or story, or anything, to help one understand (a) why an older OpenRC is better (fwiu it has to do with williamh and anti-features?) and (b) why 0.17 specifically? I understand steveL has some patches for it as well, but I don't know where I should be looking for those.

This information will help in my system planning for the overlay/future fork. Compiling all of this into a site or wiki would prove useful, too, but that's for a later time.
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1845

PostPosted: Sun Aug 25, 2019 7:08 pm    Post subject: Reply with quote

spork_kitty wrote:
Is there a link to a post or story, or anything, to help one understand (a) why an older OpenRC is better (fwiu it has to do with williamh and anti-features?) and (b) why 0.17 specifically?
The real question is "what's improved since openrc 0.17", and the answer is nothing whatsoever. What has happened is that unnecessary changes keep getting made that accomplish nothing aside from screwing with end users. I think many settled on 0.17 simply because it predated most of that BS and just plain works.

The very topic of this thread is yet another example as to why many of us went this route: Forcing everyone to abandon a perfectly stable / mature sysvinit, and for no other reason than the usual systemd inspired wheel re-inventing bullshit for no good reason at all.

Tom
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9280

PostPosted: Sun Aug 25, 2019 7:13 pm    Post subject: Reply with quote

The above is really a non-answer to what spork_kitty was probably asking for; Replace 'openrc' with any desktop environment you have been using, 'sysvinit' with the toolkit iteration it is depending on, and you get a criticism template that turns up on many version bumps.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6148
Location: Dallas area

PostPosted: Sun Aug 25, 2019 7:14 pm    Post subject: Reply with quote

I had locked my openrc at 13.11 (not much difference between that and 17.0) because early on I didn't like the changes that were happening to it.
I also have eudev locked at 1.10-r2, it works well and apart from having to modify a few ebuilds to include my version there's been no problems.
_________________
UM780, 6.1 zen kernel, gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1845

PostPosted: Sun Aug 25, 2019 7:30 pm    Post subject: Reply with quote

asturm wrote:
The above is really a non-answer to what spork_kitty was probably asking for; Replace 'openrc' with any desktop environment you have been using, 'sysvinit' with the toolkit iteration it is depending on, and you get a criticism template that turns up on many version bumps.
To be honest, I'm not sure there is a good answer to the question frankly. The fact that I have to stick with that version just to ensure that some ass-hat doesn't break my system in the process of improving literally nothing at all sort of sucks...but it's the only solution I'm aware of at the moment. As to the original topic, I've also yet to read even one good reason for moving to openrc-init.

Tom
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1699
Location: South America

PostPosted: Sun Aug 25, 2019 8:15 pm    Post subject: Reply with quote

Naib wrote:
Seems it is already in, so it is a manpage issues and another source as to why lightDM doesn't powerdown ...
https://github.com/OpenRC/openrc/commit/e7807b3136d8993805082320784460f5059e6275#diff-69725a5f03cca0a73f1d3d8188f5742d

Really? So LightDM just does nothing? As far as I can tell, elogind calls halt, poweroff or reboot with no arguments, ConsoleKit2 does either /sbin/shutdown -h now or /sbin/shutdown -r now, and everything else, including LightDM, just goes through one of those two. May be it is more convoluted that I thought.

tld wrote:
I was reading some of those links out of curiosity, mainly to see what if any actual advantages there were to using this. The answer seems to be none, unless you count "so openrc can be a complete init system".

Yep, I think that was pretty much the intention. To allow OpenRC to be a complete init system instead of just its service manager.

Personally, I'm not interested in using OpenRC that way. Currently, openrc-init has one flaw: it doesn't supervise any other processes, so theoretically if enough of them die, it would no longer be possible to log in to the machine, so it would need a hard reboot. The author of s6 explains it here (yeah, that's a Reddit link). How likely that is is a different story, but the possibility exists, and that makes openrc-init unreliable. Neither sysvinit, nor runit, nor s6-based init systems have this problem, and, as far as I know, neither does systemd :P
Back to top
View user's profile Send private message
spork_kitty
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jul 2019
Posts: 124

PostPosted: Mon Aug 26, 2019 12:17 am    Post subject: Reply with quote

tld wrote:
spork_kitty wrote:
Is there a link to a post or story, or anything, to help one understand (a) why an older OpenRC is better (fwiu it has to do with williamh and anti-features?) and (b) why 0.17 specifically?
The real question is "what's improved since openrc 0.17", and the answer is nothing whatsoever. What has happened is that unnecessary changes keep getting made that accomplish nothing aside from screwing with end users. I think many settled on 0.17 simply because it predated most of that BS and just plain works.

The very topic of this thread is yet another example as to why many of us went this route: Forcing everyone to abandon a perfectly stable / mature sysvinit, and for no other reason than the usual systemd inspired wheel re-inventing bullshit for no good reason at all.

Tom


Okay, so it's just a convenient place to cut things off. Good to know. Which changes caused the most damage IYO?

I can probably just consult `git log` for specifics, but I figured discussion about it would lead me to meaningful answers and/or anecdotes. I'd like to read any stories you have to share.

(my bad for spawning a tangent; split off of this thread if you can, please, mods. OpenRC-the-init is a separate concern from masking >sys-apps/openrc-0.17)
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6065
Location: Removed by Neddy

PostPosted: Mon Aug 26, 2019 2:37 pm    Post subject: Reply with quote

tld wrote:
. As to the original topic, I've also yet to read even one good reason for moving to openrc-init.
Tom

That's the thing, its PID1, its meant to be simple, non-sexy... It has a couple of VERY simple tasks, manage the handover from kernel to userspace, kick off service manager, reep zombies... That is it so you could say OpenRC didn't need an init, but to be "complete" as an init system it needed it.

Sysvinit and sysvrc co-existed
sysvinit and openrc co-existed..

Part of the problem is people blaming sysvinit for the poor startup of linux systems (part of the PR/FUD from the Systemd crowd to sell their snakeoil). Those who understood knew the issue was with redhat sh coding, but the weaknesses of sysvrc was clear (dependancies etc...). So if distro's wanted to ditch sysvrc because there is performance issues and maintainability issues and feature issues, then yes SystemD looked appealing, but OpenRC (which did the needed shinies) was still dependent on sysvinit "but that is slow, and poorly coded" FACEPALM.

So I sort of see the benefit of OpenRC having an init process and if you look at the code it is simple, as it should be... larger than sysvinit or runit ( look here for some size comparisions https://forums.gentoo.org/viewtopic-t-1064510-highlight-openrcinit.html )

If you now look at the comparison of init systems, for these metrics its comparable to systemd, only major difference is logind (but elogind does that... not init job) and socket-based launching.
https://wiki.gentoo.org/wiki/Comparison_of_init_systems


GDH-gentoo wrote:
Naib wrote:
Seems it is already in, so it is a manpage issues and another source as to why lightDM doesn't powerdown ...
https://github.com/OpenRC/openrc/commit/e7807b3136d8993805082320784460f5059e6275#diff-69725a5f03cca0a73f1d3d8188f5742d

Really? So LightDM just does nothing? As far as I can tell, elogind calls halt, poweroff or reboot with no arguments, ConsoleKit2 does either /sbin/shutdown -h now or /sbin/shutdown -r now, and everything else, including LightDM, just goes through one of those two. May be it is more convoluted that I thought.

I don't use elogind, straight lightDM (more for convenience with the wify and kids about... otherwise it would be SLiM+awesomeWM... instead LightDM+{awesomeWM,xfce).
I am going to issue a poweroff command from a terminal right now to see if the issue is with OpenRC-init or with lightDM+OpenRC-init (NOTE: worked with sysvinit so there is definitely a correlation)

GDH-gentoo wrote:


Personally, I'm not interested in using OpenRC that way. Currently, openrc-init has one flaw: it doesn't supervise any other processes, so theoretically if enough of them die, it would no longer be possible to log in to the machine, so it would need a hard reboot. The author of s6 explains it here (yeah, that's a Reddit link). How likely that is is a different story, but the possibility exists, and that makes openrc-init unreliable. Neither sysvinit, nor runit, nor s6-based init systems have this problem, and, as far as I know, neither does systemd :P

It can supervise daemons since v0.21 via supervise-daemon
_________________
Quote:
Removed by Chiitoo


Last edited by Naib on Mon Aug 26, 2019 4:28 pm; edited 1 time in total
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1845

PostPosted: Mon Aug 26, 2019 4:25 pm    Post subject: Reply with quote

Just to clarify: You're last quote there was from GDH-gentoo and not me.

Tom
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1699
Location: South America

PostPosted: Mon Aug 26, 2019 5:47 pm    Post subject: Reply with quote

Naib wrote:
I don't use elogind, straight lightDM (more for convenience with the wify and kids about... otherwise it would be SLiM+awesomeWM... instead LightDM+{awesomeWM,xfce).

Is ConsokeKit2 installed, then?

Naib wrote:
It can supervise daemons since v0.21 via supervise-daemon

It ships with a supervise-daemon program that can supervise its child process, but the supervise-daemon processeses themselves are not supervised by openrc-init. If any of them terminates, it doesn't come back to life. That's where OpenRC's supervision model fails.
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6065
Location: Removed by Neddy

PostPosted: Mon Aug 26, 2019 6:04 pm    Post subject: Reply with quote

GDH-gentoo wrote:
Naib wrote:
I don't use elogind, straight lightDM (more for convenience with the wify and kids about... otherwise it would be SLiM+awesomeWM... instead LightDM+{awesomeWM,xfce).

Is ConsokeKit2 installed, then?

Yes. I just went and installed elogind and all working again. Still odd how this stopped

Quote:

Naib wrote:
It can supervise daemons since v0.21 via supervise-daemon

It ships with a supervise-daemon program that can supervise its child process, but the supervise-daemon processeses themselves are not supervised by openrc-init. If any of them terminates, it doesn't come back to life. That's where OpenRC's supervision model fails.

That is true but this is probably still a WIP.
_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1699
Location: South America

PostPosted: Tue Aug 27, 2019 2:54 am    Post subject: Reply with quote

Naib wrote:
GDH-gentoo wrote:
Naib wrote:
I don't use elogind, straight lightDM (more for convenience with the wify and kids about... otherwise it would be SLiM+awesomeWM... instead LightDM+{awesomeWM,xfce).

Is ConsokeKit2 installed, then?

Yes. I just went and installed elogind and all working again. Still odd how this stopped

Strange indeed. The setup with ConsoleKit2 should have worked. I believe it calls /sbin/shutdown -h now when asked to power off, and that should have been handled by OpenRC's shutdown compatibility script.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20485

PostPosted: Tue Aug 27, 2019 3:53 am    Post subject: Reply with quote

Naib wrote:
If you now look at the comparison of init systems, for these metrics its comparable to systemd, only major difference is logind (but elogind does that... not init job) and socket-based launching.
https://wiki.gentoo.org/wiki/Comparison_of_init_systems
The "Supported services (in Gentoo)" section only lists openrc & systemd, though I'm not certain if or how that might be significant.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum