Can we maybe reduce the set of packages we install by default a bit?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Heya,

today I installed the current Fedora 30 Workstation beta on my new
laptop. It was a bumpy ride, I must say (the partitioner (blivet?)
crashed five times or so on me, always kicking me out of anaconda
again, just because I wanted to undo something). But I don't really
want to discuss that. What I do want to discuss is this:

Can we maybe reduce the default set of packages a bit? In particular
the following ones I really don't think should be in our default
install:

1. multipathd. On a workstation, uh?? I obviously have no multipath
   devices configured on my laptop, how would I even? Has anyone? This
   is a really nasty one: to this day it pulls in udev settle, which
   is really backwards, and slows down our boot considerably. No
   current daemon should require udev settle, any daemon that still
   does is just backwards because it assumes that hardware would
   guarantee to have shown up at some specific time at boot, though in
   today's world that's really not how this works: hardware can take
   any time it wants, and thus instead of "waiting for everything" you
   can reasonably just wait for the stuff you know you actually need,
   based on your configuration. systemd-udev-settle.service however is
   a compat kludge that is supposed to provide "wait for everything",
   though this is racy and flaky. To say this clearly: anything that
   still relied on systemd-udev-settle.service 5y ago was bad, but
   still pulling that in today in 2019, and doing that in a default
   fedora install is just bad bad bad. This alone costs half the boot
   time on my system because it just waits for stuff for nothing, and
   for what? And beyond that, this daemon is really ugly too: it logs
   at high log levels during boot that it found no configuration and
   hence nothing to do. Yes, obviously, but that's a reason to shut up
   and proceed quickly, not to complain loudly about that so that it
   even appears on the scren (I mean srsly, this is the first thing I
   saw when i booted from the fedora live media: a log message printed
   all over the screen that multipathd has no working
   configuration...).

2. dmraid. Not quite as bad as multipathd as it is more likely to
   exist on a workstation (still quite exotic though), but also pulls
   in udev settle and hence should not be in our default boot. Much
   like multipathd this should be fixed to not require udev settle
   anymore, and in the absence of that at least not end up in the
   default fedora boot process, except for those people who actually
   have dmraid.

3. atd? Do we still need that? Do we have postinst scripts that need
   this? If so, wouldn't systemd-run be a better approach for those?
   Isn't it time to make this an RPM people install if they want it?

4. Similar crond. On my fresh install it's only used by "zfs-fuse",
   which I really wonder why it even is in the default install? And
   "mdadm" wants this too. (which would be great if it would just use
   timer units)

5. libvirtd. Why is this running? Can't we make this socket
   activatable + exit-on-idel? While I am sure it's useful on
   workstations why run it all the time, given that only very few
   users probably actually need that, and if they do starting it on
   demand would be much more appropriate? On my freshly installed
   system it is running all the time even though there are no VMs or
   anything around.

Ideally, the top 4 wouldn't be installed at all anymore (in case of
the first two at least on the systems which do not need them). But if
that's not in the cards, it would be great to at least not enable
these services anymore in the default boot so that they are only a
"systemctl enable" away for people who need them?

I wonder the first one is rooted in a misconception about systemd's
unit condition concept: conditions are extremely lightwight: they just
bypass service start-up, that's all. They have no effect on whether
dependencies are pulled in before hand or not, and they are only
tested the instant the service is ready to be fork()ed off. This means
multipathd.service (which has
ConditionPathExists=/etc/multipathd.conf) pulls in
systemd-udev-settle.service regardless if the condition holds or
fails...

I guess I should file bz issues about all of the above, but I am not
sure against which packages? anaconda? comps (does that still exist)?
the individual packages?

It's also my hope that maybe some champion volunteers for tracking
down issues like this and fixing them? i.e. keeping udev settle out of
the default install alone would be a worthy goal for every release,
given that it doubles boot time on typical systems... Anyone up for
that?

Lennart
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux