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

2019-04-26 Thread Przemek Klosowski

On 4/25/19 6:10 PM, Björn Persson wrote:

It's perfectly possible for a number to be unique without being random.
As an example, you could hash the machine ID, which is supposedly
unique in space, and the system clock, which is unique in time. That
makes the hash unique in both space and time. Produce invocation IDs by
counting up from that value, or by hashing repeatedly. That way you
wouldn't need entropy for invocation IDs at every boot, only during
installation.

Such values would of course be somewhat predictable, but according to
what you've said in this thread, invocation IDs don't need to be
unpredictable. You've only said that you want them unique.


That is a good point---and by the way, you COULD make the same argument 
for hashing: one could create another installation-time seed value that 
will be guaranteed to not leak from the system, and mix it in the hash 
creation, making the hash unpredictable.


Between those two workarounds, it looks to me like we don't need 
randomness in secular systemd startup at all?



(Of course one needs to be aware that collisions are not impossible,
only improbable. That's equally true for hashes and random numbers.)


At the UUID-level bit lengths, the probability is vanishingly 
small---although one does have to realize that even very small 
probability events can be realized with enough statistics, like in this 
recent measurement of Xenon124 radioactive decay with time constant of 
over 10^22 years, trillion times longer than the life of the Universe:


https://www.nature.com/articles/s41586-019-1124-4

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-25 Thread Björn Persson
Lennart Poettering wrote:
>On Do, 25.04.19 13:14, Przemek Klosowski (przemek.klosow...@nist.gov) wrote:
>> That leaves the invocation IDs---the UUIDs need to be random to be truly
>> Universally Unique, but  a limited entropy system is implicitly isolated, so
>> maybe the limited UUIDs could be seen as Universal in its very small
>> Universe. What is the time duration of the original invocation IDs? What are
>> the negative implication of the initial UUIDs being less random than the
>> subsequent ones?  
>
>Invocation IDs are useful for globally pinpointing a specific service
>invocation. If the UUIDs would stop to be truly random then they'd
>stop being universally unique and thus stop being useful.

It's perfectly possible for a number to be unique without being random.

As an example, you could hash the machine ID, which is supposedly
unique in space, and the system clock, which is unique in time. That
makes the hash unique in both space and time. Produce invocation IDs by
counting up from that value, or by hashing repeatedly. That way you
wouldn't need entropy for invocation IDs at every boot, only during
installation.

Such values would of course be somewhat predictable, but according to
what you've said in this thread, invocation IDs don't need to be
unpredictable. You've only said that you want them unique.

(Of course one needs to be aware that collisions are not impossible,
only improbable. That's equally true for hashes and random numbers.)

Björn Persson


pgpgjRbFY3fy5.pgp
Description: OpenPGP digital signatur
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-25 Thread Lennart Poettering
On Do, 25.04.19 13:14, Przemek Klosowski (przemek.klosow...@nist.gov) wrote:

> On 4/25/19 5:14 AM, Lennart Poettering wrote:
> > For the hashtable seeds we use classic /dev/urandom (i.e. entropy from
> > a possibly non-initialized pool) since it's OK if those seeds are
> > crappy initially, as long as they get better over time, since we
> > reseed if we see too many hash collisions.
>
> I thought that hashing would be fine with a completely predictable
> generator, as long as the sequence itself is not correlated,  i.e. it would
> be OK if the sequence used for hashing was the same on every system.

No, because then I can calculate in advance which hashes the target
system uses and this still trigger the collisions. The seed hence must be
hard to guess from the outside, and thus cannot follow a predictable scheme.

> My point here is that actual entropy of the seeding is irrelevant, at all
> times---would you agree?

No, I would not agree.

> That leaves the invocation IDs---the UUIDs need to be random to be truly
> Universally Unique, but  a limited entropy system is implicitly isolated, so
> maybe the limited UUIDs could be seen as Universal in its very small
> Universe. What is the time duration of the original invocation IDs? What are
> the negative implication of the initial UUIDs being less random than the
> subsequent ones?

Invocation IDs are useful for globally pinpointing a specific service
invocation. If the UUIDs would stop to be truly random then they'd
stop being universally unique and thus stop being useful.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-25 Thread Przemek Klosowski

On 4/25/19 5:14 AM, Lennart Poettering wrote:

For the hashtable seeds we use classic /dev/urandom (i.e. entropy from
a possibly non-initialized pool) since it's OK if those seeds are
crappy initially, as long as they get better over time, since we
reseed if we see too many hash collisions.


I thought that hashing would be fine with a completely predictable 
generator, as long as the sequence itself is not correlated,  i.e. it 
would be OK if the sequence used for hashing was the same on every system.


Of course that particular sequence might lead to collisions, but then 
another uncorrelated but completely predictable sequence should fix 
that. In other words, it could be seeded from a constant table like 
[1,2,3,4,.], just as well as from /dev/urandom regardless of its 
entropy.


My point here is that actual entropy of the seeding is irrelevant, at 
all times---would you agree?


That leaves the invocation IDs---the UUIDs need to be random to be truly 
Universally Unique, but  a limited entropy system is implicitly 
isolated, so maybe the limited UUIDs could be seen as Universal in its 
very small Universe. What is the time duration of the original 
invocation IDs? What are the negative implication of the initial UUIDs 
being less random than the subsequent ones?

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-25 Thread Lennart Poettering
On Mi, 24.04.19 17:28, Björn Persson (Bjorn@rombobjörn.se) wrote:

> Lennart Poettering wrote:
> >As mentioned before: systemd itself already needs entropy itself (it
> >assigns a random 128bit id to each service invocation, dubbed the
> >"invocation ID" of it, and it generates the machine ID and seeds its
> >hash table hash functions)
>
> Given that access to entropy during early boot is so problematic,
> hardware-dependent and full of catch-22s, it seems to me that an init
> system should use the entropy pool only if it really must.
>
> With that in mind, could you explain why the invocation ID and the hash
> tables need to be cryptographically secure? Why is rand or a simple
> serial number not good enough? I never heard that lack of a
> cryptographically secure invocation ID was a big security problem
> before systemd.

init systems before systemd had no notion of "sevice lifecycles", they
just didn't care. systemd cares about lifecycles however, and assigns
a random 128bit id (aka "uuid") to each service invocation cycle. This
can be used to associate logs and resource data of a specific service
invocation with each other.

To be suitable for their purpose, of being *universally unique* you
need a good random source for them. You cannot just use srand() and
start from a fixed or time source, because then every system would
always generate the same uuids...

Naive hash tables are prone to collision attacks: if you know the hash
function used by the hash tables you might be able to trigger a DoS by
forcing collisions and thus degrading the assumed O(1) complexity of
hash table operations to O(n). See bug report how this was exploitable
in Perl hash tables for example:

https://rt.perl.org/Public/Bug/Display.html?id=22371

Because of that modern hash table implementations (including those in
systemd) will use a keyed hash function and pick a random value as
seed every now and then, so that clients cannot easily trigger DoS
like that. This random seed needs to be of relatively high quality,
since if clients could guess the seed the excercise would be
pointless. Hence no, srand() from timer or constant value wouldn't cut
it. But do note that systemd doesn't use blocking getrandom() for
seeding hash tables, but uses /dev/urandom instead (i.e. is happy with
an uninitialized entropy pool), because for the hash table collisions
it's fine if we initially don't have the best entropy as long as it
gets better over time. That's because the hash tables in systemd will
monitor the fill level and rehash with a fresh seed if we hit a
threshold.

Anyway, there are a number of other places systemd needs a bit of
entropy, these are just two prominent cases.

We also make use of /proc/sys/kernel/random/boot_id btw, which also
needs some entropy.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-25 Thread Lennart Poettering
On Mi, 24.04.19 17:43, Tomas Mraz (tm...@redhat.com) wrote:

> > But how can it be successful? If systemd already needs to wait until
> > the pool is full to get the randomness it needs (and thus blocks
> > system boot-up as a whole) then what's the point in running rngd
> > afterwards? To reach the point where rngd can be run we already need
> > the pool to be full, and hence rngd can't do any good at all anymore,
> > whatsoever.
>
> What does systemd use to generate these random numbers? Does it
> directly call getrandom() or does something else?

Depends.

For the invocation IDs we use getrandom() with default args
(i.e. blocking behaviour). Similar for all other cases where we pick
128bit random identifiers (also known as uuids).

For the hashtable seeds we use classic /dev/urandom (i.e. entropy from
a possibly non-initialized pool) since it's OK if those seeds are
crappy initially, as long as they get better over time, since we
reseed if we see too many hash collisions.

We never use /dev/random or GRND_RANDOM.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-25 Thread Lennart Poettering
On Mi, 24.04.19 08:27, Adam Williamson (adamw...@fedoraproject.org) wrote:

> > a. systemd starts before rngd.
> > b. rngd runs before the entropy pool is full.
> > c. the entropy pool needs to be full for systemd to start
> >
> > a before b before c before a before b before c before a? How's that
> > solvable?
> >
> > So if you want rngd to stay and do something useful, then it needs to
> > be modified to start *before* systemd, in the initrd, before systemd
> > is invoked. i.e. not as regular service, but as kind of an init before
> > the real init.
> >
> > The current mode is just entirely bogus...
>
> This is all based, though, on your expectation that everything uses
> non-blocking interfaces, right? For anything that *does* use
> /dev/random or blocking getrandom() - which absolutely does happen,
> even the docs say it's deprecated - rngd is still useful.

Well, the fix for that is probably not to clutter the system with rngd
though. Patching /dev/random out, and patching /dev/urandom into
those packages shouldn't be that difficult. It's low-hanging
fruit. Very low-hanging in fact, you don't get to fix bugs that often
by inserting a single character in your sources... ;-)

I mean, how is this ever going to be fixed if not by simply dropping
rngd from the default install and then fixing everything popping up?
You can't fix these things any other way, it doesn't work in
real-life.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Stephen John Smoogen
On Wed, 24 Apr 2019 at 11:30, Björn Persson  wrote:

> Lennart Poettering wrote:
> >As mentioned before: systemd itself already needs entropy itself (it
> >assigns a random 128bit id to each service invocation, dubbed the
> >"invocation ID" of it, and it generates the machine ID and seeds its
> >hash table hash functions)
>
> Given that access to entropy during early boot is so problematic,
> hardware-dependent and full of catch-22s, it seems to me that an init
> system should use the entropy pool only if it really must.
>
> With that in mind, could you explain why the invocation ID and the hash
> tables need to be cryptographically secure? Why is rand or a simple
> serial number not good enough? I never heard that lack of a
> cryptographically secure invocation ID was a big security problem
> before SystemD.
>
>
I expect they have to be because someone pointed out some security hack
that can be done without it and no one ever noticed it before (or had a way
to fix it before so we just knocked it as a 'well cant fix it so never
mind'). Over the years in this business I have seen a lot of issues in the
past with that mantra... they only usually get re-earthed when someone gets
a nit because a new tool doesn't have it.



> Björn Persson
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
>


-- 
Stephen J Smoogen.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Tomas Mraz
On Wed, 2019-04-24 at 14:16 +0200, Lennart Poettering wrote:
> On Mi, 24.04.19 12:37, Nikos Mavrogiannopoulos (n...@redhat.com)
> wrote:
> 
> > > As mentioned before: systemd itself already needs entropy itself
> > > (it
> > > assigns a random 128bit id to each service invocation, dubbed the
> > > "invocation ID" of it, and it generates the machine ID and seeds
> > > its
> > > hash table hash functions), hence rngd doesn't cut it anyway,
> > > since it
> > > starts after systemd, being a service managed by systemd. If rngd
> > > was
> > > supposed to fill up the entropy pool at boot, it would have to
> > > run as
> > > initial PID 1 in the initrd, before systemd, and then hand over
> > > to
> > > systemd only after the pool is full. But it doesn't, hence rngd
> > > is
> > > pointless: it runs too late to be useful.
> > 
> > The goal of running rngd early was to have the system boot, not
> > necessarily to address systemd's need for random numbers. In that
> > it
> > is successful. I do not disagree that it is not a clean solution.
> 
> But how can it be successful? If systemd already needs to wait until
> the pool is full to get the randomness it needs (and thus blocks
> system boot-up as a whole) then what's the point in running rngd
> afterwards? To reach the point where rngd can be run we already need
> the pool to be full, and hence rngd can't do any good at all anymore,
> whatsoever.

What does systemd use to generate these random numbers? Does it
directly call getrandom() or does something else?

-- 
Tomáš Mráz
No matter how far down the wrong road you've gone, turn back.
  Turkish proverb
[You'll know whether the road is wrong if you carefully listen to your
conscience.]

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Björn Persson
Lennart Poettering wrote:
>As mentioned before: systemd itself already needs entropy itself (it
>assigns a random 128bit id to each service invocation, dubbed the
>"invocation ID" of it, and it generates the machine ID and seeds its
>hash table hash functions)

Given that access to entropy during early boot is so problematic,
hardware-dependent and full of catch-22s, it seems to me that an init
system should use the entropy pool only if it really must.

With that in mind, could you explain why the invocation ID and the hash
tables need to be cryptographically secure? Why is rand or a simple
serial number not good enough? I never heard that lack of a
cryptographically secure invocation ID was a big security problem
before SystemD.

Björn Persson


pgpbHdZeSq8DS.pgp
Description: OpenPGP digital signatur
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Adam Williamson
On Wed, 2019-04-24 at 14:25 +0200, Lennart Poettering wrote:
> On Mi, 24.04.19 06:40, Stephen John Smoogen (smo...@gmail.com) wrote:
> 
> > > As mentioned before: systemd itself already needs entropy itself (it
> > > assigns a random 128bit id to each service invocation, dubbed the
> > > "invocation ID" of it, and it generates the machine ID and seeds its
> > > hash table hash functions), hence rngd doesn't cut it anyway, since it
> > > starts after systemd, being a service managed by systemd. If rngd was
> > > supposed to fill up the entropy pool at boot, it would have to run as
> > > initial PID 1 in the initrd, before systemd, and then hand over to
> > > systemd only after the pool is full. But it doesn't, hence rngd is
> > > pointless: it runs too late to be useful.
> > 
> > useful to systemd and your problems. What people are trying to say is that
> > it is useful to their problems.
> 
> but it can't be. it's logically impossible. let me explain this again:
> 
> 1. systemd needs entropy to start services and other purposes
> 2. if the entropy pool is not filled up systemd thus might need to
>wait for it to fill up, in a blocking fashion. When it blocks for
>that it won't start any services until it unblocks again.
> 3. rngd is supposed to fill up the entropy pool, thus allowing systemd
>to unblock and start the first services
> 4. rngd runs as regular service however, i.e.
> 
> And ther you have your ordering cycle:
> 
> a. systemd starts before rngd.
> b. rngd runs before the entropy pool is full.
> c. the entropy pool needs to be full for systemd to start
> 
> a before b before c before a before b before c before a? How's that
> solvable?
> 
> So if you want rngd to stay and do something useful, then it needs to
> be modified to start *before* systemd, in the initrd, before systemd
> is invoked. i.e. not as regular service, but as kind of an init before
> the real init.
> 
> The current mode is just entirely bogus...

This is all based, though, on your expectation that everything uses
non-blocking interfaces, right? For anything that *does* use
/dev/random or blocking getrandom() - which absolutely does happen,
even the docs say it's deprecated - rngd is still useful.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Simo Sorce
On Wed, 2019-04-24 at 12:02 +0200, Nikos Mavrogiannopoulos wrote:
> Can the jitter entropy gather be done by the kernel? It seems yes via
> the jitterentropy_rng module. So a combo of CONFIG_RANDOM_TRUST_CPU
> and the jitterentropy_rng may help in simplifying fedora (if people
> agree :).

This sounds like a useful change, can we make Fedora load this module
by default in initrd before systemd starts?
Will it help?
Or is this module not adding into the entropy estimate as well ?

Simo.

-- 
Simo Sorce
Sr. Principal Software Engineer
Red Hat, Inc

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Stephen John Smoogen
On Wed, 24 Apr 2019 at 08:26, Lennart Poettering 
wrote:

> On Mi, 24.04.19 06:40, Stephen John Smoogen (smo...@gmail.com) wrote:
>
> > > As mentioned before: systemd itself already needs entropy itself (it
> > > assigns a random 128bit id to each service invocation, dubbed the
> > > "invocation ID" of it, and it generates the machine ID and seeds its
> > > hash table hash functions), hence rngd doesn't cut it anyway, since it
> > > starts after systemd, being a service managed by systemd. If rngd was
> > > supposed to fill up the entropy pool at boot, it would have to run as
> > > initial PID 1 in the initrd, before systemd, and then hand over to
> > > systemd only after the pool is full. But it doesn't, hence rngd is
> > > pointless: it runs too late to be useful.
> >
> > useful to systemd and your problems. What people are trying to say is
> that
> > it is useful to their problems.
>
> but it can't be. it's logically impossible. let me explain this again:
>
> 1. systemd needs entropy to start services and other purposes
> 2. if the entropy pool is not filled up systemd thus might need to
>wait for it to fill up, in a blocking fashion. When it blocks for
>that it won't start any services until it unblocks again.
> 3. rngd is supposed to fill up the entropy pool, thus allowing systemd
>to unblock and start the first services
> 4. rngd runs as regular service however, i.e.
>
> And ther you have your ordering cycle:
>
> a. systemd starts before rngd.
> b. rngd runs before the entropy pool is full.
> c. the entropy pool needs to be full for systemd to start
>
> a before b before c before a before b before c before a? How's that
> solvable?
>
>
Again, I am not disagreeing that it isn't important.. I am just saying that
the other people saying they need it later and you are coming across as
saying get rid of it completely just because it doesn't meet your needs.
Most of them are seeing the system way after your problem and needing it
fixed then.

Let us look at it as a plumbing issue. We currently have a building with a
bunch of pipes with small feeds and you as the morning janitor come in
first of the day to wash the floors and clean things so other people can
get to work. To fill your buckets you need a big basin to start up and have
to instead wait around as the pipes fill up your cleaning bucket. You look
around and see that people installed various buckets and pots to act as
basins in their rooms they use to wash their hands and fases with but you
can't use them as they need to be cleaned first. No one sees your problem
because by the time their day starts.. you have been in there for hours and
got your drip drip going and done your work. The problem here is that how
you have come across is "Well I need more water, so we should rip out all
the basins until I get one too. Just use this mopbucket water like I do."

I don't know if that is what you are meaning to say or not. If it isn't
then I am just trying to explain why people are 'reacting' versus 'fixing'.
Yes the problem needs to be solved sooner in the chain. You need a proper
basin to fill up water in.  In fact we all need proper plumbing which helps
each service we are running. Working out how to get it is what we should be
doing but instead we are arguing over who is going to go on strike first to
get it.

So if you want rngd to stay and do something useful, then it needs to
> be modified to start *before* systemd, in the initrd, before systemd
> is invoked. i.e. not as regular service, but as kind of an init before
> the real init.
>
>
Which is what I was trying to say but you cut out.


> The current mode is just entirely bogus...
>
> Lennart
>
> --
> Lennart Poettering, Berlin
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
>


-- 
Stephen J Smoogen.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Lennart Poettering
On Mi, 24.04.19 06:40, Stephen John Smoogen (smo...@gmail.com) wrote:

> > As mentioned before: systemd itself already needs entropy itself (it
> > assigns a random 128bit id to each service invocation, dubbed the
> > "invocation ID" of it, and it generates the machine ID and seeds its
> > hash table hash functions), hence rngd doesn't cut it anyway, since it
> > starts after systemd, being a service managed by systemd. If rngd was
> > supposed to fill up the entropy pool at boot, it would have to run as
> > initial PID 1 in the initrd, before systemd, and then hand over to
> > systemd only after the pool is full. But it doesn't, hence rngd is
> > pointless: it runs too late to be useful.
>
> useful to systemd and your problems. What people are trying to say is that
> it is useful to their problems.

but it can't be. it's logically impossible. let me explain this again:

1. systemd needs entropy to start services and other purposes
2. if the entropy pool is not filled up systemd thus might need to
   wait for it to fill up, in a blocking fashion. When it blocks for
   that it won't start any services until it unblocks again.
3. rngd is supposed to fill up the entropy pool, thus allowing systemd
   to unblock and start the first services
4. rngd runs as regular service however, i.e.

And ther you have your ordering cycle:

a. systemd starts before rngd.
b. rngd runs before the entropy pool is full.
c. the entropy pool needs to be full for systemd to start

a before b before c before a before b before c before a? How's that
solvable?

So if you want rngd to stay and do something useful, then it needs to
be modified to start *before* systemd, in the initrd, before systemd
is invoked. i.e. not as regular service, but as kind of an init before
the real init.

The current mode is just entirely bogus...

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Lennart Poettering
On Mi, 24.04.19 12:37, Nikos Mavrogiannopoulos (n...@redhat.com) wrote:

> > As mentioned before: systemd itself already needs entropy itself (it
> > assigns a random 128bit id to each service invocation, dubbed the
> > "invocation ID" of it, and it generates the machine ID and seeds its
> > hash table hash functions), hence rngd doesn't cut it anyway, since it
> > starts after systemd, being a service managed by systemd. If rngd was
> > supposed to fill up the entropy pool at boot, it would have to run as
> > initial PID 1 in the initrd, before systemd, and then hand over to
> > systemd only after the pool is full. But it doesn't, hence rngd is
> > pointless: it runs too late to be useful.
>
> The goal of running rngd early was to have the system boot, not
> necessarily to address systemd's need for random numbers. In that it
> is successful. I do not disagree that it is not a clean solution.

But how can it be successful? If systemd already needs to wait until
the pool is full to get the randomness it needs (and thus blocks
system boot-up as a whole) then what's the point in running rngd
afterwards? To reach the point where rngd can be run we already need
the pool to be full, and hence rngd can't do any good at all anymore,
whatsoever.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Stephen John Smoogen
On Wed, 24 Apr 2019 at 06:24, Lennart Poettering 
wrote:

> On Mi, 24.04.19 12:02, Nikos Mavrogiannopoulos (n...@redhat.com) wrote:
>
> > On Thu, Apr 18, 2019 at 10:23 AM Lennart Poettering
> >  wrote:
> > > Sure, you can invoke rngd before systemd, in which case it would have
> > > to be able to run as PID 1 itself pretty much and then hand over
> > > things.
> > >
> > > But why do that in userspace at all? the "Trust CPU RNG" kernel
> > > compile time option shows that these things are trivial to solve if
> > > people just want to. Instead of involving rngd at all, why not add a
> > > similar option for the TPM RNG (or any other non-CPU hw rng) and then
> > > rngd doesn't do anything useful anymore whatsoever? I mean, to my
> > > knowledge all those other RNGs already feed into the pool anyway, they
> > > just don't get trusted and thus don't add to the entropy
> > > estimate. Fixing that should be quite doable and given that
> > > CONFIG_RANDOM_TRUST_CPU exists now it shouldn't be politically too
> > > hard to argue for a CONFIG_RANDOM_TRUST_TPM either...
> >
> > I like the part that this is trivial to solve if people want to.
> > Making people agree is an order of magnitude harder than fixing any
> > code. Nevertheless, without rngd, getrandom() would block in one of
> > the first services started by systemd (if it doesn't block in systemd
> > itself).
>
> As mentioned before: systemd itself already needs entropy itself (it
> assigns a random 128bit id to each service invocation, dubbed the
> "invocation ID" of it, and it generates the machine ID and seeds its
> hash table hash functions), hence rngd doesn't cut it anyway, since it
> starts after systemd, being a service managed by systemd. If rngd was
> supposed to fill up the entropy pool at boot, it would have to run as
> initial PID 1 in the initrd, before systemd, and then hand over to
> systemd only after the pool is full. But it doesn't, hence rngd is
> pointless: it runs too late to be useful.
>
>
useful to systemd and your problems. What people are trying to say is that
it is useful to their problems.

There are several solutions to try here:
1. Make something like it run sooner so it helps your problems
2. Add something like it into the kernel (which has been a Sisyphus task
from what i can tell)
3. Pull it into systemd so it helps your problems and others.
4. Keep this thread going with everyone talking past each other.

-- 
Stephen J Smoogen.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Nikos Mavrogiannopoulos
On Wed, Apr 24, 2019 at 12:24 PM Lennart Poettering
 wrote:
> > > But why do that in userspace at all? the "Trust CPU RNG" kernel
> > > compile time option shows that these things are trivial to solve if
> > > people just want to. Instead of involving rngd at all, why not add a
> > > similar option for the TPM RNG (or any other non-CPU hw rng) and then
> > > rngd doesn't do anything useful anymore whatsoever? I mean, to my
> > > knowledge all those other RNGs already feed into the pool anyway, they
> > > just don't get trusted and thus don't add to the entropy
> > > estimate. Fixing that should be quite doable and given that
> > > CONFIG_RANDOM_TRUST_CPU exists now it shouldn't be politically too
> > > hard to argue for a CONFIG_RANDOM_TRUST_TPM either...
> >
> > I like the part that this is trivial to solve if people want to.
> > Making people agree is an order of magnitude harder than fixing any
> > code. Nevertheless, without rngd, getrandom() would block in one of
> > the first services started by systemd (if it doesn't block in systemd
> > itself).
>
> As mentioned before: systemd itself already needs entropy itself (it
> assigns a random 128bit id to each service invocation, dubbed the
> "invocation ID" of it, and it generates the machine ID and seeds its
> hash table hash functions), hence rngd doesn't cut it anyway, since it
> starts after systemd, being a service managed by systemd. If rngd was
> supposed to fill up the entropy pool at boot, it would have to run as
> initial PID 1 in the initrd, before systemd, and then hand over to
> systemd only after the pool is full. But it doesn't, hence rngd is
> pointless: it runs too late to be useful.

The goal of running rngd early was to have the system boot, not
necessarily to address systemd's need for random numbers. In that it
is successful. I do not disagree that it is not a clean solution.

regards,
Nikos
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Lennart Poettering
On Mi, 24.04.19 12:02, Nikos Mavrogiannopoulos (n...@redhat.com) wrote:

> On Thu, Apr 18, 2019 at 10:23 AM Lennart Poettering
>  wrote:
> > Sure, you can invoke rngd before systemd, in which case it would have
> > to be able to run as PID 1 itself pretty much and then hand over
> > things.
> >
> > But why do that in userspace at all? the "Trust CPU RNG" kernel
> > compile time option shows that these things are trivial to solve if
> > people just want to. Instead of involving rngd at all, why not add a
> > similar option for the TPM RNG (or any other non-CPU hw rng) and then
> > rngd doesn't do anything useful anymore whatsoever? I mean, to my
> > knowledge all those other RNGs already feed into the pool anyway, they
> > just don't get trusted and thus don't add to the entropy
> > estimate. Fixing that should be quite doable and given that
> > CONFIG_RANDOM_TRUST_CPU exists now it shouldn't be politically too
> > hard to argue for a CONFIG_RANDOM_TRUST_TPM either...
>
> I like the part that this is trivial to solve if people want to.
> Making people agree is an order of magnitude harder than fixing any
> code. Nevertheless, without rngd, getrandom() would block in one of
> the first services started by systemd (if it doesn't block in systemd
> itself).

As mentioned before: systemd itself already needs entropy itself (it
assigns a random 128bit id to each service invocation, dubbed the
"invocation ID" of it, and it generates the machine ID and seeds its
hash table hash functions), hence rngd doesn't cut it anyway, since it
starts after systemd, being a service managed by systemd. If rngd was
supposed to fill up the entropy pool at boot, it would have to run as
initial PID 1 in the initrd, before systemd, and then hand over to
systemd only after the pool is full. But it doesn't, hence rngd is
pointless: it runs too late to be useful.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-24 Thread Nikos Mavrogiannopoulos
On Thu, Apr 18, 2019 at 10:23 AM Lennart Poettering
 wrote:
> Sure, you can invoke rngd before systemd, in which case it would have
> to be able to run as PID 1 itself pretty much and then hand over
> things.
>
> But why do that in userspace at all? the "Trust CPU RNG" kernel
> compile time option shows that these things are trivial to solve if
> people just want to. Instead of involving rngd at all, why not add a
> similar option for the TPM RNG (or any other non-CPU hw rng) and then
> rngd doesn't do anything useful anymore whatsoever? I mean, to my
> knowledge all those other RNGs already feed into the pool anyway, they
> just don't get trusted and thus don't add to the entropy
> estimate. Fixing that should be quite doable and given that
> CONFIG_RANDOM_TRUST_CPU exists now it shouldn't be politically too
> hard to argue for a CONFIG_RANDOM_TRUST_TPM either...

I like the part that this is trivial to solve if people want to.
Making people agree is an order of magnitude harder than fixing any
code. Nevertheless, without rngd, getrandom() would block in one of
the first services started by systemd (if it doesn't block in systemd
itself). The kernel option CONFIG_RANDOM_TRUST_CPU, is not portable so
you'll need something more for non-x86. What rngd does that the kernel
doesn't is a jitter entropy "subsystem" which will feed the kernel
with random data, even when the hardware doesn't support something
native.

Can the jitter entropy gather be done by the kernel? It seems yes via
the jitterentropy_rng module. So a combo of CONFIG_RANDOM_TRUST_CPU
and the jitterentropy_rng may help in simplifying fedora (if people
agree :).

regards,
Nikos
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-23 Thread Lennart Poettering
On Mo, 22.04.19 08:35, Robert Marcano (rob...@marcanoonline.com) wrote:

> > What's the story anyway for rngd? Why would userspace be better at
> > providing entropy to the kernel than the kernel itself? Why do we
> > enable it on desktops at all, such systems should not be
> > entropy-starved.
>
> Non developers, true. Developer's workstations, wrong. Just signing a few
> packages (java's jarsigner) to test your code runs fine under those
> conditions can drop to near zero the entropy, taking a lot of time to finish
> the signing.

Well, "jarsigner" is broken then. It appears to use /dev/random
instead of /dev/urandom. if you use the latter, then you can pull out
as much randomness as you want, it's not affected by "entropy
depletion".

See man page about that:

http://man7.org/linux/man-pages/man4/urandom.4.html

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-23 Thread Lennart Poettering
On Do, 18.04.19 09:16, stan (upai...@zoho.com) wrote:

> On Thu, 18 Apr 2019 10:22:27 +0200
> Lennart Poettering  wrote:
>
> > On Mi, 17.04.19 11:29, Japheth Cleaver (clea...@terabithia.org) wrote:
>
> > > This seems like a false dichotomy, no? Surely, things like this are
> > > a possibility:
> > > https://lists.freedesktop.org/archives/systemd-devel/2010-September/000225.html
> >
> > That too means the service gets started after the init system is up,
> > and the init system already requires entropy, so it's pointless.
>
> On shutdown the existing entropy is stored for use at startup (it is
> still entropy on restart if an attacker hasn't seen it). So, if init
> uses that entropy and depletes it, it would be a positive to restore it
> as soon as possible.

That is pretty late: it's systemd-random-seed.service that does that
and it runs after /var is mounted writable, which is relatively late
in the early-boot phase. Moreover we don't credit entropy when writing
the seed back into the kernel, since it's not safe to do so in the
general case, as people frequently deploy the same pre-built image on
multiple systems and tend to forget to invalidate the saved seed
then. And all images that come up with the same saved seed would have
the same entropy pool initially hence the excercsie would be
pointless.

There has been work on making this opt-in
(https://github.com/systemd/systemd/pull/10621) but this has stalled
since. If anyone wants to resurrect that, please do.

However, regardless whether s-r-s.s credits entropy or does not: it
runs too late: there are plenty entropy users running before that that
need to wait for the pool to be filled. And we can't really move
s-r-s.s earlier.

[And also: the concept of "depleting" the entropy pool is a
misconception. This doesn't happen if people use the APIs correctly,
i.e. /dev/urandom instead of /dev/random (or their getrandom()
equivalents). The kernel documentation calls /dev/random a "legacy
interface" for a reason (see
http://man7.org/linux/man-pages/man4/urandom.4.html). Once the entropy
pool is filled it is filled for good, if /dev/urandom is used.]

(BTW: in case you wonder why we wait for /var being writable before
s-r-s.s is run: that's because we need to invalidate the old stored
seed when you use it, so that it is never reused again. This means we
need to overwrite the seed file when we use it.)

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-22 Thread Robert Marcano

On 4/17/19 4:38 AM, Lennart Poettering wrote:

On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:


I think all of these are good ideas. "No udev-settle" seems like a nice
highlevel goal to shoot for.

Another one I might add: "No stuck stop jobs" - it annoys me every single
time when I reboot and something like rngd or conmon holds up my reboot
for several minutes for no reason at all.


I've seen the rngd stop thing, hadn't had time to investigate it yet as
more urgent fires keep showing up :/


What's the story anyway for rngd? Why would userspace be better at
providing entropy to the kernel than the kernel itself? Why do we
enable it on desktops at all, such systems should not be
entropy-starved.


Non developers, true. Developer's workstations, wrong. Just signing a 
few packages (java's jarsigner) to test your code runs fine under those 
conditions can drop to near zero the entropy, taking a lot of time to 
finish the signing.



Do we need this at all now that the kernel can use
RDRAND itself?

rngd runs as regular system service, hence what's the point of that
altogether? I mean, it runs so late during boot, at a point where the
entropy pool is full anyway, and we need the kernel's RNG much much
earlier already (already because systemd assigns a uuid to each
service invocation that derives from kernel RNG, and it does that
super early). So, why run a service that is supposed to fill up the
entropy pool at a point where we don't need it anymore, and if the
kernel can do what it does most likely already on its own?

Isn't it time to kick rngd out of the default install, in particular
on the workstation image? Isn't keeping it around just cargo culting?

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread stan
On Thu, 18 Apr 2019 10:22:27 +0200
Lennart Poettering  wrote:

> On Mi, 17.04.19 11:29, Japheth Cleaver (clea...@terabithia.org) wrote:

> > This seems like a false dichotomy, no? Surely, things like this are
> > a possibility:
> > https://lists.freedesktop.org/archives/systemd-devel/2010-September/000225.html
> >   
> 
> That too means the service gets started after the init system is up,
> and the init system already requires entropy, so it's pointless.

On shutdown the existing entropy is stored for use at startup (it is
still entropy on restart if an attacker hasn't seen it). So, if init
uses that entropy and depletes it, it would be a positive to restore it
as soon as possible. But that is the purpose of having the CPRNG be
robust.  The seeds from last run are used until there is enough new
entropy to reseed, and in the meantime the CPRNG provides the 'random'
numbers. For most purposes this is more than adequate.  If the CPRNG
can be cracked with the short stream fed from it to start up the
system, it is not robust.  And that assumes that an attacker has
complete access to that stream.

The main threat from random numbers is that 'password' is a perfectly
legitimate random string, so even hardware random number generators can
generate easy to crack strings of numbers.  That is, random doesn't
mean strong cryptographically.  What we really want are
unpredictable crpytographically strong numbers.  And that is also why
it is so hard to validate random number generators; if they aren't
failing the tests occasionally, they aren't random.  But if they are
failing the tests occasionally, it might or might not indicate they are
not random, and thus predictable.  And we might not even be testing
the right thing!  In any case, a good reason to randomly change seeds to
CPRNGs regularly, if possible. Even a vulnerable CPRNG with a long
stream required to crack it is robust if reseeded constantly at short
intervals with randomness (the strategy of the linux kernel).
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Jason L Tibbitts III
> "LP" == Lennart Poettering  writes:

LP> Yes it is. But so is rngd afaik?

The software isn't exclusive to any particular architecture, though it
may of course have different sources of entropy on different
architectures.

 - J<
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Martin Kolman
On Wed, 2019-04-17 at 10:55 -0400, Steve Grubb wrote:
> On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:
> > On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:
> > 
> > 
> > > > I think all of these are good ideas. "No udev-settle" seems like a
> > > > nice
> > > > highlevel goal to shoot for.
> > > > 
> > > > 
> > > > 
> > > > Another one I might add: "No stuck stop jobs" - it annoys me every
> > > > single
> > > > time when I reboot and something like rngd or conmon holds up my
> > > > reboot
> > > > for several minutes for no reason at all.
> > > 
> > > 
> > > I've seen the rngd stop thing, hadn't had time to investigate it yet as
> > > more urgent fires keep showing up :/
> > 
> > What's the story anyway for rngd? Why would userspace be better at
> > providing entropy to the kernel than the kernel itself? Why do we
> > enable it on desktops at all, such systems should not be
> > entropy-starved. Do we need this at all now that the kernel can use
> > RDRAND itself?
> 
> The kernel uses RDRAND/SEED but it does not increment the entropy estimate 
> based on it. Another interesting thing is that TPM chips also have entropy 
> available, but the kernel does not use it. So, if you have a hardware based 
> entropy source such as TPM, you need rngd to move the entropy to the kernel. 
> And it also can mine CPU jitter to create some entropy on its own. And it 
> also supports the NIST beacon if you want that kind of entropy. Rngd greatly 
> helps system recover from low entropy situations.
> 
> 
> > rngd runs as regular system service, hence what's the point of that
> > altogether? I mean, it runs so late during boot, at a point where the
> > entropy pool is full anyway, 
> 
> I'd really like to see it start much earlier. Any way to make that happen?
> 
> > and we need the kernel's RNG much much earlier already (already because
> > systemd assigns a uuid to each service invocation that derives from kernel
> > RNG, and it does that super early). So, why run a service that is supposed
> > to fill up the entropy pool at a point where we don't need it anymore, and
> > if the kernel can do what it does most likely already on its own?
> 
> The kernel cannot recover quickly when stressed for continued entropy 
> depletion. For example, we are required to be able to supply all guest VM's 
> with entropy from the host. They draw down the entropy pools which need 
> replenishment. The kernel is constantly starved for entropy.
> 
> > Isn't it time to kick rngd out of the default install, in particular
> > on the workstation image? Isn't keeping it around just cargo culting?
> 
> I think you're being harsh without really looking deeply into the problem. If 
> we could set a sysctl to tell the kernel to use a TPM or increment entropy 
> estimate when RDSEED is used, I'd agree we should consider this. And to be 
> honest, it should be running during an anaconda or kickstart install in order 
> to safely setup an encrypted disk.
AFAIK, we already home that in place - if there is not enough entropy when 
storage
encryption is being setup, the installation will pause & notify the user to 
provide
more entropy (generally by monkey-bashing keyboard keys).

>  Also, livecd uses are starved for entropy 
> and must use rngd to be responsive and safe. If you have a TPM, the best use 
> you'll get out of it is providing random numbers via rngd. :-)
> 
> -Steve
> 
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Daniel P . Berrangé
On Wed, Apr 17, 2019 at 10:55:58AM -0400, Steve Grubb wrote:
> On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:
> > On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:
> > 
> > 
> > > > I think all of these are good ideas. "No udev-settle" seems like a
> > > > nice
> > > > highlevel goal to shoot for.
> > > >
> > > >
> > > >
> > > > Another one I might add: "No stuck stop jobs" - it annoys me every
> > > > single
> > > > time when I reboot and something like rngd or conmon holds up my
> > > > reboot
> > > > for several minutes for no reason at all.
> > >
> > >
> > >
> > > I've seen the rngd stop thing, hadn't had time to investigate it yet as
> > > more urgent fires keep showing up :/
> > 
> > What's the story anyway for rngd? Why would userspace be better at
> > providing entropy to the kernel than the kernel itself? Why do we
> > enable it on desktops at all, such systems should not be
> > entropy-starved. Do we need this at all now that the kernel can use
> > RDRAND itself?
> 
> The kernel uses RDRAND/SEED but it does not increment the entropy estimate 
> based on it. Another interesting thing is that TPM chips also have entropy 
> available, but the kernel does not use it. So, if you have a hardware based 
> entropy source such as TPM, you need rngd to move the entropy to the kernel. 
> And it also can mine CPU jitter to create some entropy on its own. And it 
> also supports the NIST beacon if you want that kind of entropy. Rngd greatly 
> helps system recover from low entropy situations.
> 
> 
> > rngd runs as regular system service, hence what's the point of that
> > altogether? I mean, it runs so late during boot, at a point where the
> > entropy pool is full anyway, 
> 
> I'd really like to see it start much earlier. Any way to make that happen?
> 
> > and we need the kernel's RNG much much earlier already (already because
> > systemd assigns a uuid to each service invocation that derives from kernel
> > RNG, and it does that super early). So, why run a service that is supposed
> > to fill up the entropy pool at a point where we don't need it anymore, and
> > if the kernel can do what it does most likely already on its own?
> 
> The kernel cannot recover quickly when stressed for continued entropy 
> depletion. For example, we are required to be able to supply all guest VM's 
> with entropy from the host. They draw down the entropy pools which need 
> replenishment. The kernel is constantly starved for entropy.

The recommendation is for virtio-rng to be backed by /dev/urandom
these days, so you won't deplete the host /dev/random anymore.


Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Lennart Poettering
On Mi, 17.04.19 15:25, Simo Sorce (s...@redhat.com) wrote:

> On Wed, 2019-04-17 at 15:14 -0400, Steve Grubb wrote:
> > Many have tried to convince upstream about this. If anyone here has 
> > influence,
> > please try.
>
> If upstream is currently resistant, what about turning rngd into a
> loadable kernel module and then insure it is in the initramfs and
> loaded at kernel boot time ?
>
> Would this be a way to show upstream that this works and perhaps allow
> inclusion later on ?

So apparently the kernel can do both the RDSEED/RDRAND stuff already
on its own (and this is turned on in Fedora) and also can credit
entropy based on other hwrngs too (see other mail). The latter is a
bit awkward since it requires a kernel cmdline option currently to
enable, and is global for all drivers though it would probably be wise
to enable this individually for each driver judging by how much the
device is trusted or not.

(Also note that virtio-rng is something systemd automatically loads if
it's not around but the environment would support it, and it appears
to credit entropy too.)

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Lennart Poettering
On Mi, 17.04.19 16:05, Chris Murphy (li...@colorremedies.com) wrote:

> On Wed, Apr 17, 2019 at 11:36 AM Lennart Poettering
>  wrote:
> >
> > Yeah, all that stuff is stuff the kernel could do better on its
> > own. If the CPU jitter stuff or the TPM stuff is a good idea, then why
> > not add that to the kernel natively, why involve userspace with that?
> > i.e. if the TPM and the CPU jitter stuff can be trusted, then the same
> > thing as for CONFIG_RANDOM_TRUST_CPU=y should be done: pass the random
> > data into the pool directly inside in the kernel.
>
> $ grep CONFIG_HW_RANDOM_TPM /boot/config-5.0.6-300.fc30.x86_64
> CONFIG_HW_RANDOM_TPM=y

So apparently, since a long time the kernel actually could push data
from hwrngs into the kernel pool while crediting entropy:

https://lkml.org/lkml/2018/11/2/193

i.e. it's the "rng_core.default_quality=700" switch on the kernel
cmdline.

It sounds like that option is just something that needs a compile time
option that Fedora could just turn on.

Quoting from that mail: "This is better than relying on rng-tools."

> /usr/lib/systemd/system/rngd.service contains
>
> WantedBy=multi-user.target
>
> I'm gonna guess Steve Grubb is wondering whether it could be wanted by
> an earlier target, possibly cryptsetup-pre.target? I don't see a
> service file in the upstream project so this may have been selected by
> the Fedora packager as a known to work option.

WantedBy= doesn't really say much about when something is started,
just about what wants it started. It's not about ordering, it's about
requirement.

If you want to order it early then set DefaultDependencies=no and use
Before= some appropriate unit.

But this is all pretty much pointless, since PID 1 (systemd) itself already
needs entropy, and thus starting this after PID 1 is useless.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Lennart Poettering
On Mi, 17.04.19 15:14, Steve Grubb (sgr...@redhat.com) wrote:

> #!/bin/sh
>
> while [ 1 ]
> do
> /bin/cat /proc/sys/kernel/random/entropy_avail
> sleep 1
> done
>
> Then in another:
>
> cat /dev/random >/dev/null
>
> After a couple seconds, hit ctl-c to kill cat. Watch what happens to the
> entropy.

Well, don't use /dev/random. Use /dev/urandom. The official
documentation declares /dev/random a "legacy interface".

http://man7.org/linux/man-pages/man4/random.4.html

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Lennart Poettering
On Mi, 17.04.19 11:29, Japheth Cleaver (clea...@terabithia.org) wrote:

> On 4/17/2019 10:36 AM, Lennart Poettering wrote:
> > On Mi, 17.04.19 10:55, Steve Grubb (sgr...@redhat.com) wrote:
> >
> > > On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:
> > > > rngd runs as regular system service, hence what's the point of that
> > > > altogether? I mean, it runs so late during boot, at a point where the
> > > > entropy pool is full anyway,
> > > I'd really like to see it start much earlier. Any way to make that
> > > happen?
> > Well, no. I mean, the only way you can do that is by turning rngd into
> > its own init system, if you want it to run before the init
> > system.
>
> This seems like a false dichotomy, no? Surely, things like this are a
> possibility:
> https://lists.freedesktop.org/archives/systemd-devel/2010-September/000225.html

That too means the service gets started after the init system is up,
and the init system already requires entropy, so it's pointless.

> But beyond that, is there really no way to lift this earlier in the boot
> logic?

Sure, you can invoke rngd before systemd, in which case it would have
to be able to run as PID 1 itself pretty much and then hand over
things.

But why do that in userspace at all? the "Trust CPU RNG" kernel
compile time option shows that these things are trivial to solve if
people just want to. Instead of involving rngd at all, why not add a
similar option for the TPM RNG (or any other non-CPU hw rng) and then
rngd doesn't do anything useful anymore whatsoever? I mean, to my
knowledge all those other RNGs already feed into the pool anyway, they
just don't get trusted and thus don't add to the entropy
estimate. Fixing that should be quite doable and given that
CONFIG_RANDOM_TRUST_CPU exists now it shouldn't be politically too
hard to argue for a CONFIG_RANDOM_TRUST_TPM either...

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-18 Thread Lennart Poettering
On Mi, 17.04.19 13:01, Jason L Tibbitts III (ti...@math.uh.edu) wrote:

> > "LP" == Lennart Poettering  writes:
>
> LP> That's not true anymore. There's a kernel compile time option now
> LP> for that in CONFIG_RANDOM_TRUST_CPU=y. And yes, the Fedora kernel
> LP> sets that since a while.
>
> Isn't this arch-dependent?

Yes it is. But so is rngd afaik? It uses the RDTSC, RDSEED and TPM RNG
iiuc and those are either x86 specific (in case of RDTSC/RDSEED) or
pretty much so (in case of the TPM RNG).

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Chris Murphy
On Wed, Apr 17, 2019 at 11:36 AM Lennart Poettering
 wrote:
>
> Yeah, all that stuff is stuff the kernel could do better on its
> own. If the CPU jitter stuff or the TPM stuff is a good idea, then why
> not add that to the kernel natively, why involve userspace with that?
> i.e. if the TPM and the CPU jitter stuff can be trusted, then the same
> thing as for CONFIG_RANDOM_TRUST_CPU=y should be done: pass the random
> data into the pool directly inside in the kernel.

$ grep CONFIG_HW_RANDOM_TPM /boot/config-5.0.6-300.fc30.x86_64
CONFIG_HW_RANDOM_TPM=y

I've got no idea if this is for TPM 1.x or 2.x or both.

> Well, no. I mean, the only way you can do that is by turning rngd into
> its own init system, if you want it to run before the init
> system.

/usr/lib/systemd/system/rngd.service contains

WantedBy=multi-user.target

I'm gonna guess Steve Grubb is wondering whether it could be wanted by
an earlier target, possibly cryptsetup-pre.target? I don't see a
service file in the upstream project so this may have been selected by
the Fedora packager as a known to work option.


-- 
Chris Murphy
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Zbigniew Jędrzejewski-Szmek
On Tue, Apr 16, 2019 at 09:06:02AM -0700, Adam Williamson wrote:
> On Tue, 2019-04-16 at 11:48 -0400, Matthias Clasen wrote:
> > On Tue, Apr 9, 2019 at 12:08 PM Lennart Poettering 
> > wrote:
> > 
> > > 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:
> > > 
> > > 
> > > 
> > > 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 think all of these are good ideas. "No udev-settle" seems like a nice
> > highlevel goal to shoot for.
> > 
> > Another one I might add: "No stuck stop jobs" - it annoys me every single
> > time when I reboot and something like rngd or conmon holds up my reboot
> > for several minutes for no reason at all.
> 
> I've seen the rngd stop thing, hadn't had time to investigate it yet as
> more urgent fires keep showing up :/

I opened a bug a while back, but it hasn't cropped up since I enabled
additional logging:
https://bugzilla.redhat.com/show_bug.cgi?id=1690364

Zbyszek
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread stan
On Wed, 17 Apr 2019 15:14:54 -0400
Steve Grubb  wrote:

> Ah...the devil is in the details. It does not credit entropy. This
> can easily be tested. systemctl stop rngd. Then open 2 terminal
> windows. In one terminal start this shell script:
> 
> #!/bin/sh
> 
> while [ 1 ]
> do
> /bin/cat /proc/sys/kernel/random/entropy_avail
> sleep 1
> done
> 
> Then in another:
> 
> cat /dev/random >/dev/null
> 
> After a couple seconds, hit ctl-c to kill cat. Watch what happens to
> the entropy.
> 
> I have a Kabylake system idling. It takes 3 minutes for entropy to
> get back to 3k after stopping the consumer. At that point its losing
> about as much as its gaining. If I start rngd and do the same test,
> my entropy bounces back to over 3k in less than a second. As it
> stands today, rngd has a dramatic effect on entropy.

I run a daemon that harvests entropy from the atmosphere via an rtl2832
and feeds it into the kernel via /dev/random.  And, yes it makes a big
difference to feed the entropy pool.

When random.c was rewritten to use chacha instead of the modified
mersenne twister (4.xx?), the way entropy was used changed.  It used
to bleed constantly across from the pool that is /dev/random
into /dev/urandom when it was above the threshold set in
write_wakeup_threshold.  Now, it only checks when the kernel routine
for get_random is called and reseeds if enough entropy is present.  It
always has decremented and still decrements entropy available when
it uses some. Under mersenne it used to be possible to set a timer as
well, but that went away with chacha.  I patch to enable that feature
in the new random.c, so I can reseed the chacha on a periodic interval.

The rationale for chacha was that server farms were starving for
entropy, and it is considered more robust for low entropy conditions,
at least that is what I understand from my reading.  

As far as the CPU hardware entropy generators, those are not open
source, so it is not possible to determine if they have a
backdoor.  Research has shown, however, that if any true entropy is
fed into a stream with compromised entropy, it results in a stream with
better entropy.  That is, a system using a compromised hardware
generator will have more robust entropy when combined with other
sources of entropy.  The kernel does this via a hash to smear the mix.
An attacker can no longer utilize an attack knowing the bits came from
the compromised generator.

Things like the bit bubbler are reasonably cheap (~100 dollars US) and
provide enough entropy for a small server farm.   Even the rtl2832 (~10
dollars US) provides about 90 Kbytes of entropy per second (the kernel
entropy pool is 4kB). Not enough for monte carlo simulations, but plenty
for a home system or a few servers.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Simo Sorce
On Wed, 2019-04-17 at 15:14 -0400, Steve Grubb wrote:
> Many have tried to convince upstream about this. If anyone here has 
> influence, 
> please try.

If upstream is currently resistant, what about turning rngd into a
loadable kernel module and then insure it is in the initramfs and
loaded at kernel boot time ?

Would this be a way to show upstream that this works and perhaps allow
inclusion later on ?

Simo.

-- 
Simo Sorce
Sr. Principal Software Engineer
Red Hat, Inc

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Steve Grubb
On Wednesday, April 17, 2019 1:36:08 PM EDT Lennart Poettering wrote:
> On Mi, 17.04.19 10:55, Steve Grubb (sgr...@redhat.com) wrote:
> > On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:
> > > What's the story anyway for rngd? Why would userspace be better at
> > > providing entropy to the kernel than the kernel itself? Why do we
> > > enable it on desktops at all, such systems should not be
> > > entropy-starved. Do we need this at all now that the kernel can use
> > > RDRAND itself?
> > 
> > The kernel uses RDRAND/SEED but it does not increment the entropy
> > estimate based on it. Another interesting thing is that TPM chips also
> > have entropy
> 
> That's not true anymore. There's a kernel compile time option now for
> that in CONFIG_RANDOM_TRUST_CPU=y. And yes, the Fedora kernel sets
> that since a while.

Ah...the devil is in the details. It does not credit entropy. This can easily 
be tested. systemctl stop rngd. Then open 2 terminal windows. In one terminal 
start this shell script:

#!/bin/sh

while [ 1 ]
do
/bin/cat /proc/sys/kernel/random/entropy_avail
sleep 1
done

Then in another:

cat /dev/random >/dev/null

After a couple seconds, hit ctl-c to kill cat. Watch what happens to the 
entropy.

I have a Kabylake system idling. It takes 3 minutes for entropy to get back 
to 3k after stopping the consumer. At that point its losing about as much as 
its gaining. If I start rngd and do the same test, my entropy bounces back to 
over 3k in less than a second. As it stands today, rngd has a dramatic effect 
on entropy.


> > available, but the kernel does not use it. So, if you have a hardware
> > based entropy source such as TPM, you need rngd to move the entropy to
> > the kernel. And it also can mine CPU jitter to create some entropy on
> > its own. And it also supports the NIST beacon if you want that kind of
> > entropy. Rngd greatly helps system recover from low entropy situations.
> 
> Yeah, all that stuff is stuff the kernel could do better on its
> own. 

Many have tried to convince upstream about this. If anyone here has influence, 
please try.

> If the CPU jitter stuff or the TPM stuff is a good idea, then why
> not add that to the kernel natively, why involve userspace with that?

I agree.  :-)

> i.e. if the TPM and the CPU jitter stuff can be trusted, then the same
> thing as for CONFIG_RANDOM_TRUST_CPU=y should be done: pass the random
> data into the pool directly inside in the kernel.

And credit entropy!

> > > rngd runs as regular system service, hence what's the point of that
> > > altogether? I mean, it runs so late during boot, at a point where the
> > > entropy pool is full anyway,
> > 
> > I'd really like to see it start much earlier. Any way to make that
> > happen?
> 
> Well, no. I mean, the only way you can do that is by turning rngd into
> its own init system, if you want it to run before the init
> system.
> 
> > > RNG, and it does that super early). So, why run a service that is
> > > supposed to fill up the entropy pool at a point where we don't need it
> > > anymore, and if the kernel can do what it does most likely already on
> > > its own?
> > 
> > The kernel cannot recover quickly when stressed for continued entropy
> > depletion. For example, we are required to be able to supply all guest
> > VM's with entropy from the host. They draw down the entropy pools which
> > need replenishment. The kernel is constantly starved for entropy.
> 
> That's not how the entropy pool works. Once it is full it's full, and
> it doesn't run empty anymore.

Empirical  evidence suggests otherwise. See the test above.
 
> > I think you're being harsh without really looking deeply into the
> > problem. If we could set a sysctl to tell the kernel to use a TPM or
> > increment entropy estimate when RDSEED is used, I'd agree we should
> > consider this. And to be
> 
> OK, so I guess that point in time is now. Though it's not a sysctl,
> but a compile time option (see above).

It looks as though it may be controlled as a boot commandline option, too. 
But that is likely intended to disable the effect it has.

-Steve

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Japheth Cleaver

On 4/17/2019 10:36 AM, Lennart Poettering wrote:

On Mi, 17.04.19 10:55, Steve Grubb (sgr...@redhat.com) wrote:


On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:

rngd runs as regular system service, hence what's the point of that
altogether? I mean, it runs so late during boot, at a point where the
entropy pool is full anyway,

I'd really like to see it start much earlier. Any way to make that
happen?

Well, no. I mean, the only way you can do that is by turning rngd into
its own init system, if you want it to run before the init
system.


This seems like a false dichotomy, no? Surely, things like this are a 
possibility:

https://lists.freedesktop.org/archives/systemd-devel/2010-September/000225.html

But beyond that, is there really no way to lift this earlier in the boot 
logic?


-jc

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Jason L Tibbitts III
> "LP" == Lennart Poettering  writes:

LP> That's not true anymore. There's a kernel compile time option now
LP> for that in CONFIG_RANDOM_TRUST_CPU=y. And yes, the Fedora kernel
LP> sets that since a while.

Isn't this arch-dependent?

config RANDOM_TRUST_CPU
bool "Trust the CPU manufacturer to initialize Linux's CRNG"
depends on X86 || S390 || PPC
default n

Not sure what happens on ARM but I think it would need to be considered.

 - J<
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Simo Sorce
On Wed, 2019-04-17 at 19:36 +0200, Lennart Poettering wrote:
> On Mi, 17.04.19 10:55, Steve Grubb (sgr...@redhat.com) wrote:
> 
> > On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:
> > > On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:
> > > 
> > > 
> > > > > I think all of these are good ideas. "No udev-settle" seems like a
> > > > > nice
> > > > > highlevel goal to shoot for.
> > > > > 
> > > > > 
> > > > > 
> > > > > Another one I might add: "No stuck stop jobs" - it annoys me every
> > > > > single
> > > > > time when I reboot and something like rngd or conmon holds up my
> > > > > reboot
> > > > > for several minutes for no reason at all.
> > > > 
> > > > 
> > > > 
> > > > I've seen the rngd stop thing, hadn't had time to investigate it yet as
> > > > more urgent fires keep showing up :/
> > > 
> > > What's the story anyway for rngd? Why would userspace be better at
> > > providing entropy to the kernel than the kernel itself? Why do we
> > > enable it on desktops at all, such systems should not be
> > > entropy-starved. Do we need this at all now that the kernel can use
> > > RDRAND itself?
> > 
> > The kernel uses RDRAND/SEED but it does not increment the entropy estimate
> > based on it. Another interesting thing is that TPM chips also have
> > entropy
> 
> That's not true anymore. There's a kernel compile time option now for
> that in CONFIG_RANDOM_TRUST_CPU=y. And yes, the Fedora kernel sets
> that since a while.
> 
> > available, but the kernel does not use it. So, if you have a hardware based
> > entropy source such as TPM, you need rngd to move the entropy to the kernel.
> > And it also can mine CPU jitter to create some entropy on its own. And it
> > also supports the NIST beacon if you want that kind of entropy. Rngd greatly
> > helps system recover from low entropy situations.
> 
> Yeah, all that stuff is stuff the kernel could do better on its
> own. If the CPU jitter stuff or the TPM stuff is a good idea, then why
> not add that to the kernel natively, why involve userspace with that?
> i.e. if the TPM and the CPU jitter stuff can be trusted, then the same
> thing as for CONFIG_RANDOM_TRUST_CPU=y should be done: pass the random
> data into the pool directly inside in the kernel.

Big +1, I've been saying this for ages as well ...

> > > rngd runs as regular system service, hence what's the point of that
> > > altogether? I mean, it runs so late during boot, at a point where the
> > > entropy pool is full anyway,
> > 
> > I'd really like to see it start much earlier. Any way to make that
> > happen?
> 
> Well, no. I mean, the only way you can do that is by turning rngd into
> its own init system, if you want it to run before the init
> system.
> 
> > > RNG, and it does that super early). So, why run a service that is supposed
> > > to fill up the entropy pool at a point where we don't need it anymore, and
> > > if the kernel can do what it does most likely already on its own?
> > 
> > The kernel cannot recover quickly when stressed for continued entropy
> > depletion. For example, we are required to be able to supply all guest VM's
> > with entropy from the host. They draw down the entropy pools which need
> > replenishment. The kernel is constantly starved for entropy.
> 
> That's not how the entropy pool works. Once it is full it's full, and
> it doesn't run empty anymore.
> 
> > I think you're being harsh without really looking deeply into the problem. 
> > If
> > we could set a sysctl to tell the kernel to use a TPM or increment entropy
> > estimate when RDSEED is used, I'd agree we should consider this. And
> > to be
> 
> OK, so I guess that point in time is now. Though it's not a sysctl,
> but a compile time option (see above).

I concur,
I would really like to see rngd become a thing of the past as well.
The kernel has all the tools and access needed to reseed itself,
*requiring* a racy userspace tool to do the kernel's job is a bit
ridiculous.

Simo.

-- 
Simo Sorce
Sr. Principal Software Engineer
Red Hat, Inc

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Lennart Poettering
On Mi, 17.04.19 10:55, Steve Grubb (sgr...@redhat.com) wrote:

> On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:
> > On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:
> >
> >
> > > > I think all of these are good ideas. "No udev-settle" seems like a
> > > > nice
> > > > highlevel goal to shoot for.
> > > >
> > > >
> > > >
> > > > Another one I might add: "No stuck stop jobs" - it annoys me every
> > > > single
> > > > time when I reboot and something like rngd or conmon holds up my
> > > > reboot
> > > > for several minutes for no reason at all.
> > >
> > >
> > >
> > > I've seen the rngd stop thing, hadn't had time to investigate it yet as
> > > more urgent fires keep showing up :/
> >
> > What's the story anyway for rngd? Why would userspace be better at
> > providing entropy to the kernel than the kernel itself? Why do we
> > enable it on desktops at all, such systems should not be
> > entropy-starved. Do we need this at all now that the kernel can use
> > RDRAND itself?
>
> The kernel uses RDRAND/SEED but it does not increment the entropy estimate
> based on it. Another interesting thing is that TPM chips also have
> entropy

That's not true anymore. There's a kernel compile time option now for
that in CONFIG_RANDOM_TRUST_CPU=y. And yes, the Fedora kernel sets
that since a while.

> available, but the kernel does not use it. So, if you have a hardware based
> entropy source such as TPM, you need rngd to move the entropy to the kernel.
> And it also can mine CPU jitter to create some entropy on its own. And it
> also supports the NIST beacon if you want that kind of entropy. Rngd greatly
> helps system recover from low entropy situations.

Yeah, all that stuff is stuff the kernel could do better on its
own. If the CPU jitter stuff or the TPM stuff is a good idea, then why
not add that to the kernel natively, why involve userspace with that?
i.e. if the TPM and the CPU jitter stuff can be trusted, then the same
thing as for CONFIG_RANDOM_TRUST_CPU=y should be done: pass the random
data into the pool directly inside in the kernel.

> > rngd runs as regular system service, hence what's the point of that
> > altogether? I mean, it runs so late during boot, at a point where the
> > entropy pool is full anyway,
>
> I'd really like to see it start much earlier. Any way to make that
> happen?

Well, no. I mean, the only way you can do that is by turning rngd into
its own init system, if you want it to run before the init
system.

> > RNG, and it does that super early). So, why run a service that is supposed
> > to fill up the entropy pool at a point where we don't need it anymore, and
> > if the kernel can do what it does most likely already on its own?
>
> The kernel cannot recover quickly when stressed for continued entropy
> depletion. For example, we are required to be able to supply all guest VM's
> with entropy from the host. They draw down the entropy pools which need
> replenishment. The kernel is constantly starved for entropy.

That's not how the entropy pool works. Once it is full it's full, and
it doesn't run empty anymore.

> I think you're being harsh without really looking deeply into the problem. If
> we could set a sysctl to tell the kernel to use a TPM or increment entropy
> estimate when RDSEED is used, I'd agree we should consider this. And
> to be

OK, so I guess that point in time is now. Though it's not a sysctl,
but a compile time option (see above).

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Steve Grubb
On Wednesday, April 17, 2019 4:38:18 AM EDT Lennart Poettering wrote:
> On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:
> 
> 
> > > I think all of these are good ideas. "No udev-settle" seems like a
> > > nice
> > > highlevel goal to shoot for.
> > >
> > >
> > >
> > > Another one I might add: "No stuck stop jobs" - it annoys me every
> > > single
> > > time when I reboot and something like rngd or conmon holds up my
> > > reboot
> > > for several minutes for no reason at all.
> >
> >
> >
> > I've seen the rngd stop thing, hadn't had time to investigate it yet as
> > more urgent fires keep showing up :/
> 
> What's the story anyway for rngd? Why would userspace be better at
> providing entropy to the kernel than the kernel itself? Why do we
> enable it on desktops at all, such systems should not be
> entropy-starved. Do we need this at all now that the kernel can use
> RDRAND itself?

The kernel uses RDRAND/SEED but it does not increment the entropy estimate 
based on it. Another interesting thing is that TPM chips also have entropy 
available, but the kernel does not use it. So, if you have a hardware based 
entropy source such as TPM, you need rngd to move the entropy to the kernel. 
And it also can mine CPU jitter to create some entropy on its own. And it 
also supports the NIST beacon if you want that kind of entropy. Rngd greatly 
helps system recover from low entropy situations.


> rngd runs as regular system service, hence what's the point of that
> altogether? I mean, it runs so late during boot, at a point where the
> entropy pool is full anyway, 

I'd really like to see it start much earlier. Any way to make that happen?

> and we need the kernel's RNG much much earlier already (already because
> systemd assigns a uuid to each service invocation that derives from kernel
> RNG, and it does that super early). So, why run a service that is supposed
> to fill up the entropy pool at a point where we don't need it anymore, and
> if the kernel can do what it does most likely already on its own?

The kernel cannot recover quickly when stressed for continued entropy 
depletion. For example, we are required to be able to supply all guest VM's 
with entropy from the host. They draw down the entropy pools which need 
replenishment. The kernel is constantly starved for entropy.

> Isn't it time to kick rngd out of the default install, in particular
> on the workstation image? Isn't keeping it around just cargo culting?

I think you're being harsh without really looking deeply into the problem. If 
we could set a sysctl to tell the kernel to use a TPM or increment entropy 
estimate when RDSEED is used, I'd agree we should consider this. And to be 
honest, it should be running during an anaconda or kickstart install in order 
to safely setup an encrypted disk. Also, livecd uses are starved for entropy 
and must use rngd to be responsive and safe. If you have a TPM, the best use 
you'll get out of it is providing random numbers via rngd. :-)

-Steve

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Daniel P . Berrangé
On Wed, Apr 17, 2019 at 10:38:18AM +0200, Lennart Poettering wrote:
> On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:
> 
> > > I think all of these are good ideas. "No udev-settle" seems like a nice
> > > highlevel goal to shoot for.
> > >
> > > Another one I might add: "No stuck stop jobs" - it annoys me every single
> > > time when I reboot and something like rngd or conmon holds up my reboot
> > > for several minutes for no reason at all.
> >
> > I've seen the rngd stop thing, hadn't had time to investigate it yet as
> > more urgent fires keep showing up :/
> 
> What's the story anyway for rngd? Why would userspace be better at
> providing entropy to the kernel than the kernel itself? Why do we
> enable it on desktops at all, such systems should not be
> entropy-starved. Do we need this at all now that the kernel can use
> RDRAND itself?

IIUC, RDRAND exists from IvyBridge generation CPUs onwards for Intel
or EPYC CPUs for AMD. I've no idea what the story is for non-x86 CPUs
& RDRAND equivalent.

Anyway, whether we can rely on RDRAND depends on what we consider the
minimum targetted CPU models & architectures. I'm guessing that we
do intend Fedora to work correctly in CPUs predating/lacking RDRAND.

KVM guests can have a virtio-rng device provided on any architecture,
which feeds from host's /dev/urandom, but it is unfortunately fairly
rare for public cloud providers to enable it :-(

rngd includes support for the "jitter entropy" source which uses
CPU jitter to feed the RNG. At least in RHEL, this is the recommended
option when the CPUs lack RDRAND or equivalent and is why rngd
is enabled by default there. IIUC it is reading the jitter entropy
from the kernel's crypto APIs, optionally applying AES to data, and
then feeding it back into the kernel's rng pool.

> rngd runs as regular system service, hence what's the point of that
> altogether? I mean, it runs so late during boot, at a point where the
> entropy pool is full anyway, and we need the kernel's RNG much much
> earlier already (already because systemd assigns a uuid to each
> service invocation that derives from kernel RNG, and it does that
> super early). So, why run a service that is supposed to fill up the
> entropy pool at a point where we don't need it anymore, and if the
> kernel can do what it does most likely already on its own?

/dev/random can get depleted after boot. Though modern recommendation
is for apps to use /dev/urandom by default (or getrandom/getentropy
syscalls), some probably still uses /dev/random for historical baggage
reasons.

Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-17 Thread Lennart Poettering
On Di, 16.04.19 09:06, Adam Williamson (adamw...@fedoraproject.org) wrote:

> > I think all of these are good ideas. "No udev-settle" seems like a nice
> > highlevel goal to shoot for.
> >
> > Another one I might add: "No stuck stop jobs" - it annoys me every single
> > time when I reboot and something like rngd or conmon holds up my reboot
> > for several minutes for no reason at all.
>
> I've seen the rngd stop thing, hadn't had time to investigate it yet as
> more urgent fires keep showing up :/

What's the story anyway for rngd? Why would userspace be better at
providing entropy to the kernel than the kernel itself? Why do we
enable it on desktops at all, such systems should not be
entropy-starved. Do we need this at all now that the kernel can use
RDRAND itself?

rngd runs as regular system service, hence what's the point of that
altogether? I mean, it runs so late during boot, at a point where the
entropy pool is full anyway, and we need the kernel's RNG much much
earlier already (already because systemd assigns a uuid to each
service invocation that derives from kernel RNG, and it does that
super early). So, why run a service that is supposed to fill up the
entropy pool at a point where we don't need it anymore, and if the
kernel can do what it does most likely already on its own?

Isn't it time to kick rngd out of the default install, in particular
on the workstation image? Isn't keeping it around just cargo culting?

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-16 Thread Adam Williamson
On Tue, 2019-04-16 at 11:48 -0400, Matthias Clasen wrote:
> On Tue, Apr 9, 2019 at 12:08 PM Lennart Poettering 
> wrote:
> 
> > 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:
> > 
> > 
> > 
> > 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 think all of these are good ideas. "No udev-settle" seems like a nice
> highlevel goal to shoot for.
> 
> Another one I might add: "No stuck stop jobs" - it annoys me every single
> time when I reboot and something like rngd or conmon holds up my reboot
> for several minutes for no reason at all.

I've seen the rngd stop thing, hadn't had time to investigate it yet as
more urgent fires keep showing up :/
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-16 Thread Matthias Clasen
On Tue, Apr 9, 2019 at 12:08 PM Lennart Poettering 
wrote:

> 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:
>
>
>
> 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 think all of these are good ideas. "No udev-settle" seems like a nice
highlevel goal to shoot for.

Another one I might add: "No stuck stop jobs" - it annoys me every single
time when I reboot and something like rngd or conmon holds up my reboot
for several minutes for no reason at all.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-15 Thread Lennart Poettering
On Sa, 13.04.19 14:03, Steve Grubb (sgr...@redhat.com) wrote:

> > If you enable lingering for a user, it's the "systemd --user" instance
> > (i.e. the per-user service manager) that is started at boot and
> > terminated at shutdown (instead of started at first login and
> > terminated at last logout of the user), that's all.
> >
> > If you then run code as user service (i.e. as a service started and
> > managed by the "systemd --user" instance instead of PID 1) then it is
> > lifecycled (and its processes killed as needed) by the user service
> > manager. And you can configure the way you want killing to behave like
> > you would for any systemd service: with KillMode= in the unit file.
>
> This doesn't really fit with the security requirements we need.
> Anything run outside of a user session needs to have an audit session id
> and login uid assigned to anything run.

It has. As mentioned, systemd --user runs as part of a PAM session,
hence it acquire its own session ID and loginuid setting as part of that.

> We also need to have the ability to know the name of the script that
> is being run in an audit event.

To my knowledge audit collects the comm name of any process already, no?

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-13 Thread Steve Grubb
On Fri, 12 Apr 2019 11:21:13 +0200
Lennart Poettering  wrote:

> On Do, 11.04.19 17:08, Przemek Klosowski (przemek.klosow...@nist.gov)
> wrote:
> 
> > > The logic in systemd is more strict on putting boundaries on
> > > resource usage, and thus will by default not allow you to consume
> > > resources while you are not logged in. It's really how this
> > > always should have been designed. However, we fully acknowledge
> > > that there are many uses where the ability to run stuff
> > > independently of any login as your own user is fine, but you need
> > > to turn on lingering for that (which is privileged), so that this
> > > is explicitly marked OK.  
> >
> > It IS very useful for systemctl to prevent resource leaks by
> > killing errant processes (hanging browser, etc)---however, as we
> > discussed, some processes should not be killed; I know which
> > processes I want to annoint this way, and I take responsibility for
> > their possible misbehavior.
> >
> > I understand that set-linger disables process harvesting for all
> > processes in the session, though, and I would like to just do it
> > only for SOME processes.  
> 
> If you enable lingering for a user, it's the "systemd --user" instance
> (i.e. the per-user service manager) that is started at boot and
> terminated at shutdown (instead of started at first login and
> terminated at last logout of the user), that's all.
> 
> If you then run code as user service (i.e. as a service started and
> managed by the "systemd --user" instance instead of PID 1) then it is
> lifecycled (and its processes killed as needed) by the user service
> manager. And you can configure the way you want killing to behave like
> you would for any systemd service: with KillMode= in the unit file.

This doesn't really fit with the security requirements we need.
Anything run outside of a user session needs to have an audit session id
and login uid assigned to anything run. We also need to have the
ability to know the name of the script that is being run in an audit
event.

-Steve
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-13 Thread Steve Grubb
On Fri, 12 Apr 2019 10:01:33 +0200
Dridi Boukelmoune  wrote:

> > Was this the privileged operation? What privilege does it require? I
> > just run the command as a non-admin user and saw no errors or
> > prompts for passwords or anything.  
> 
> Are you part of the wheel group

No, this account does not have wheel. That's what I meant by
non-sysadmin acct.

> and is wheel configured to be password-less in sudo?

Default F29 sudo config.

-Steve
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Adam Williamson
On Fri, 2019-04-12 at 16:29 +, Akarshan Biswas wrote:
> Mlocate too. I am not sure why is this package required but It
> tremendously slows down all of my PC(using magnetic disk hard drive).
> The first thing I do after installing Fedora Worstation is to remove
> it.

It only does that *one time*, until it has built its initial database.
After that the db is updated regularly when files appear or disappear,
and much faster. The benefit is you can then run 'locate' at any time
and get a fast response.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Akarshan Biswas
Mlocate too. I am not sure why is this package required but It tremendously 
slows down all of my PC(using magnetic disk hard drive). The first thing I do 
after installing Fedora Worstation is to remove it.



Regards,
Akarshan Biswas
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Colin Walters


On Fri, Apr 12, 2019, at 7:13 AM, Lennart Poettering wrote:
> On Fr, 12.04.19 11:35, Dominik 'Rathann' Mierzejewski 
> (domi...@greysector.net) wrote:
> 
> > > Interestingly I think Google Chrome needs this when it installs,
> > > though it seems nonsensical to me. (Chrome is installed by about 50%
> > > of our users given some informal stats, so writing it off would be
> > > shooting ourselves in the foot.) That's something the Workstation
> > > folks may want to work with them to fix in a more systemd-ish way.
> >
> > Chrome doesn't require atd explicitly (nor is it pulled in by any of its
> > dependencies).
> >
> > It does use it in %post to sneak in a cron job to to add a repo config
> > file and its GPG key trust behind your back:
> >
> > service atd start
> > echo "sh /etc/cron.daily/google-chrome" | at now + 2 minute > /dev/null 2>&1
> >
> > So, actually not having atd installed won't break Chrome as it will
> > just ignore the 'at' command execution error due to 'exit 0' a few
> > lines below it.
> 
> Just out of curiosity, why does a web browser need a daily chrome job?

Chrome needs a cron job kept in time with chrony of course!

I am not 100% certain on this but I am pretty sure it's because of RPM and GPG.
librpm stores the keys in the rpmdb, and it's not supported to import the keys 
during a "transaction".

Whereas at least libdnf uses /etc/pki/rpm-gpg and imports the keys before doing 
anything else; see also
https://github.com/rpm-software-management/libdnf/issues/43

But I think Chrome is trying to support multiple librpm-based tools with a 
single package.
The model of "add a repository with GPG key" is not really standardized across 
rpm-based distributions.
 
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Dominik 'Rathann' Mierzejewski
On Friday, 12 April 2019 at 14:47, Chris Adams wrote:
> Once upon a time, Dominik 'Rathann' Mierzejewski  
> said:
> > Chrome doesn't require atd explicitly (nor is it pulled in by any of its
> > dependencies).
> 
> That's incorrect.  The Google Chrome RPM requires /usr/bin/lsb_release,
> which is from redhat-lsb-core, and that requires /usr/bin/at.

Ah, you're right. I thought atd is in atd package but it's actually in
at and I have that installed, so I didn't see it in the transaction
when installing chrome. Sorry, my bad.

Regards,
Dominik
-- 
Fedora   https://getfedora.org  |  RPM Fusion  http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
-- from "Collected Sayings of Muad'Dib" by the Princess Irulan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Chris Adams
Once upon a time, Dominik 'Rathann' Mierzejewski  said:
> Chrome doesn't require atd explicitly (nor is it pulled in by any of its
> dependencies).

That's incorrect.  The Google Chrome RPM requires /usr/bin/lsb_release,
which is from redhat-lsb-core, and that requires /usr/bin/at.

-- 
Chris Adams 
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Nicolas Mailhot
Le vendredi 12 avril 2019 à 13:12 +0200, Lennart Poettering a écrit :
> On Fr, 12.04.19 11:35, Dominik 'Rathann' Mierzejewski (
> domi...@greysector.net) wrote:
> 
> > > Interestingly I think Google Chrome needs this when it installs,
> > > though it seems nonsensical to me. (Chrome is installed by about
> > > 50%
> > > of our users given some informal stats, so writing it off would
> > > be
> > > shooting ourselves in the foot.) That's something the Workstation
> > > folks may want to work with them to fix in a more systemd-ish
> > > way.
> > 
> > Chrome doesn't require atd explicitly (nor is it pulled in by any
> > of its
> > dependencies).
> > 
> > It does use it in %post to sneak in a cron job to to add a repo
> > config
> > file and its GPG key trust behind your back:
> > 
> > service atd start
> > echo "sh /etc/cron.daily/google-chrome" | at now + 2 minute >
> > /dev/null 2>&1
> > 
> > So, actually not having atd installed won't break Chrome as it will
> > just ignore the 'at' command execution error due to 'exit 0' a few
> > lines below it.
> 
> Just out of curiosity, why does a web browser need a daily chrome
> job?

Probably a check-for-updates or download white/black lists thing.

Regards,

-- 
Nicolas Mailhot
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Jos Vos
On Fri, Apr 12, 2019 at 01:12:51PM +0200, Lennart Poettering wrote:

> Just out of curiosity, why does a web browser need a daily chrome job?

From the script's comment:

# It creates the repository configuration file for package updates, since
# we cannot do this during the google-chrome installation since the repository
# is locked.
#
# This functionality can be controlled by creating the $DEFAULTS_FILE and
# setting "repo_add_once" to "true" or "false" as desired. An empty
# $DEFAULTS_FILE is the same as setting the value to "false".

Despite this, the complete script (500+ lines!) seems to be in-line
copied to the rpm's post-install script (nearly 1200 lines!) too.

I gave up trying to understand everything they do in there years ago.
I used to repackage Chrome in earlier days (i.e. make an rpm that
extracts the Google binary rpm and builds a new one with pre/post
scripts I wrote myself), also because I refused to run Google scripts
as root with (in those days, a.o.) lines like "rm -rf $SOMEVAR" in it.
But I became lazy and you can use your time only once, so now I
decided not to bother anymore.

Cheers,

-- 
--Jos Vos 
--X/OS Experts in Open Systems BV   |   Office: +31 20 6938364
--Amsterdam, The Netherlands|   Mobile: +31 6 26216181
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Florian Weimer
* Lennart Poettering:

> Just out of curiosity, why does a web browser need a daily chrome job?

It uses this to persist itself, so that it is more difficult to remove
the Google repository.

I guess we can be lucky that it doesn't does this via /etc/ld.so.preload
or a kernel module.

Thanks,
Florian
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Lennart Poettering
On Fr, 12.04.19 11:35, Dominik 'Rathann' Mierzejewski (domi...@greysector.net) 
wrote:

> > Interestingly I think Google Chrome needs this when it installs,
> > though it seems nonsensical to me. (Chrome is installed by about 50%
> > of our users given some informal stats, so writing it off would be
> > shooting ourselves in the foot.) That's something the Workstation
> > folks may want to work with them to fix in a more systemd-ish way.
>
> Chrome doesn't require atd explicitly (nor is it pulled in by any of its
> dependencies).
>
> It does use it in %post to sneak in a cron job to to add a repo config
> file and its GPG key trust behind your back:
>
> service atd start
> echo "sh /etc/cron.daily/google-chrome" | at now + 2 minute > /dev/null 2>&1
>
> So, actually not having atd installed won't break Chrome as it will
> just ignore the 'at' command execution error due to 'exit 0' a few
> lines below it.

Just out of curiosity, why does a web browser need a daily chrome job?

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Dominik 'Rathann' Mierzejewski
On Thursday, 11 April 2019 at 18:09, Paul Frields wrote:
> On Tue, Apr 9, 2019 at 12:07 PM Lennart Poettering  
> wrote:
[...]
> [...]
> > 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?
> 
> Interestingly I think Google Chrome needs this when it installs,
> though it seems nonsensical to me. (Chrome is installed by about 50%
> of our users given some informal stats, so writing it off would be
> shooting ourselves in the foot.) That's something the Workstation
> folks may want to work with them to fix in a more systemd-ish way.

Chrome doesn't require atd explicitly (nor is it pulled in by any of its
dependencies).

It does use it in %post to sneak in a cron job to to add a repo config
file and its GPG key trust behind your back:

service atd start
echo "sh /etc/cron.daily/google-chrome" | at now + 2 minute > /dev/null 2>&1

So, actually not having atd installed won't break Chrome as it will
just ignore the 'at' command execution error due to 'exit 0' a few
lines below it.

Regards,
Dominik
-- 
Fedora   https://getfedora.org  |  RPM Fusion  http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
-- from "Collected Sayings of Muad'Dib" by the Princess Irulan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Lennart Poettering
On Do, 11.04.19 20:49, Steve Grubb (sgr...@redhat.com) wrote:

> > > I run a bunch of background jobs like harvesting podcasts that are
> > > released weekly, collecting weather stats for my garden watering
> > > system, monitoring my power feed and UPS, collecting ADSB  data,
> > > etc. I don't think of those as 'system' services, so I run them in
> > > my own cron jobs. The system works well because even if my system
> > > reboots on a power glitch, or my session crashes, the jobs still
> > > run--but in the systemd world it wouldn't work.
> >
> > Why would't they? If you want to to run your own stuff independent of
> > you being logged in then do "loginctl set-linger" on your user and
> > it's done.
>
> Was this the privileged operation? What privilege does it require? I
> just run the command as a non-admin user and saw no errors or prompts
> for passwords or anything.

It uses PolicyKit, like most of the system level services that need to
authenticate clients. Hence, not sure what your local configuration of
PolicyKit is, but iirc it allows users in "wheel" to do a lot of stuff
without password. We require "auth_admin_keep" from pk for the action
of enabling lingering.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Lennart Poettering
On Do, 11.04.19 17:08, Przemek Klosowski (przemek.klosow...@nist.gov) wrote:

> > The logic in systemd is more strict on putting boundaries on resource
> > usage, and thus will by default not allow you to consume resources
> > while you are not logged in. It's really how this always should have
> > been designed. However, we fully acknowledge that there are many uses
> > where the ability to run stuff independently of any login as your own
> > user is fine, but you need to turn on lingering for that (which is
> > privileged), so that this is explicitly marked OK.
>
> It IS very useful for systemctl to prevent resource leaks by killing errant
> processes (hanging browser, etc)---however, as we discussed, some processes
> should not be killed; I know which processes I want to annoint this way, and
> I take responsibility for their possible misbehavior.
>
> I understand that set-linger disables process harvesting for all processes
> in the session, though, and I would like to just do it only for SOME
> processes.

If you enable lingering for a user, it's the "systemd --user" instance
(i.e. the per-user service manager) that is started at boot and
terminated at shutdown (instead of started at first login and
terminated at last logout of the user), that's all.

If you then run code as user service (i.e. as a service started and
managed by the "systemd --user" instance instead of PID 1) then it is
lifecycled (and its processes killed as needed) by the user service
manager. And you can configure the way you want killing to behave like
you would for any systemd service: with KillMode= in the unit file.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-12 Thread Dridi Boukelmoune
> Was this the privileged operation? What privilege does it require? I
> just run the command as a non-admin user and saw no errors or prompts
> for passwords or anything.

Are you part of the wheel group and is wheel configured to be
password-less in sudo?



Dridi
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Japheth Cleaver

On 4/11/2019 8:32 AM, Przemek Klosowski wrote:

On 4/11/19 10:16 AM, Lennart Poettering wrote:

However, that's intended for system services only (i.e. for services
running as users UID < 1000). For regular users (i.e. human ones,
those with UID >= 1000), the idea is to install timer units in the
per-user instance of the systemd service manager instead. That service
manager runs inside a PAM session of the user, and the lifetime is
normally bound to the time the user is logged in, meaning that users
who are not logged in cannot run stuff. (however, specific users can
be marked as "lingering" though a privileged operation and if so
their specific service manager is started at boot and stays around
until shutdown, so that their timers can run outside of the immediate
login time of the user).


I think you're saying that systemd is designed on an assumption that 
such jobs are part of system operation, and  will have to run as 
system/privileged jobs or at least be designated as 'lingering', which 
you say requires system privilege. I would argue that on my own system 
(which is a majority of systems now) it should be easy to designate 
low-privilege jobs as lingering: I should get to decide if it's useful 
for them to run even if  I don't have a current login session.



While we're discussing session-tying for cron-esque background 
automation, it would be nice to have a resolution for 
https://bugzilla.redhat.com/show_bug.cgi?id=911766

via https://bugzilla.redhat.com/show_bug.cgi?id=995792#c16

It's unfortunate that it still fills up basic syslog with it: 
https://access.redhat.com/solutions/1564823


-jc


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Przemek Klosowski

On 4/11/19 1:08 PM, Lennart Poettering wrote:

I run a bunch of background jobs like harvesting podcasts that are released
weekly, collecting weather stats for my garden watering system, monitoring
my power feed and UPS, collecting ADSB  data, etc. I don't think of those as
'system' services, so I run them in my own cron jobs. The system works well
because even if my system reboots on a power glitch, or my session crashes,
the jobs still run--but in the systemd world it wouldn't work.

Why would't they? If you want to to run your own stuff independent of
you being logged in then do "loginctl set-linger" on your user and
it's done.

The logic in systemd is more strict on putting boundaries on resource
usage, and thus will by default not allow you to consume resources
while you are not logged in. It's really how this always should have
been designed. However, we fully acknowledge that there are many uses
where the ability to run stuff independently of any login as your own
user is fine, but you need to turn on lingering for that (which is
privileged), so that this is explicitly marked OK.


It IS very useful for systemctl to prevent resource leaks by killing 
errant processes (hanging browser, etc)---however, as we discussed, some 
processes should not be killed; I know which processes I want to annoint 
this way, and I take responsibility for their possible misbehavior.


I understand that set-linger disables process harvesting for all 
processes in the session, though, and I would like to just do it only 
for SOME processes.


I guess I could create another user for the persistent jobs and 
set-linger that session... but it gets complicated.


I think it's a better design if I could designate individual processes 
using my UID as set-linger. I remember talking about remote sessions 
with long-running jobs, and how the connection timeouts caused by remote 
clients or network routing prevented their completion. The solution was 
IIRC running them in tmux/screen. Here also, it'd be nice if I could 
designate 'my-long-running-service-like-executable' as eligible for 
lingering.


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Steve Grubb
On Thu, 11 Apr 2019 19:08:38 +0200
Lennart Poettering  wrote:

> On Do, 11.04.19 11:32, Przemek Klosowski (przemek.klosow...@nist.gov)
> wrote:
> 
> > On 4/11/19 10:16 AM, Lennart Poettering wrote:  
> > > However, that's intended for system services only (i.e. for
> > > services running as users UID < 1000). For regular users (i.e.
> > > human ones, those with UID >= 1000), the idea is to install timer
> > > units in the per-user instance of the systemd service manager
> > > instead. That service manager runs inside a PAM session of the
> > > user, and the lifetime is normally bound to the time the user is
> > > logged in, meaning that users who are not logged in cannot run
> > > stuff. (however, specific users can be marked as "lingering"
> > > though a privileged operation and if so their specific service
> > > manager is started at boot and stays around until shutdown, so
> > > that their timers can run outside of the immediate login time of
> > > the user).  
> >
> > I run a bunch of background jobs like harvesting podcasts that are
> > released weekly, collecting weather stats for my garden watering
> > system, monitoring my power feed and UPS, collecting ADSB  data,
> > etc. I don't think of those as 'system' services, so I run them in
> > my own cron jobs. The system works well because even if my system
> > reboots on a power glitch, or my session crashes, the jobs still
> > run--but in the systemd world it wouldn't work.  
> 
> Why would't they? If you want to to run your own stuff independent of
> you being logged in then do "loginctl set-linger" on your user and
> it's done.

Was this the privileged operation? What privilege does it require? I
just run the command as a non-admin user and saw no errors or prompts
for passwords or anything.

-Steve


> The logic in systemd is more strict on putting boundaries on resource
> usage, and thus will by default not allow you to consume resources
> while you are not logged in. It's really how this always should have
> been designed. However, we fully acknowledge that there are many uses
> where the ability to run stuff independently of any login as your own
> user is fine, but you need to turn on lingering for that (which is
> privileged), so that this is explicitly marked OK.
> 
> But anyway, it's totally fine if you use cron for what you are doing
> too, if you are more comfortable with it. It's just a question if cron
> needs to be around on the workstation default install. I mean, all the
> stuff you list up there, it's not precisely part of the base install
> either, you installed a number of packages to make that work, and it
> should be fine if crond is one of them, no?
> 
> > I think you're saying that systemd is designed on an assumption
> > that such jobs are part of system operation, and  will have to run
> > as system/privileged jobs or at least be designated as 'lingering',
> > which you say requires system privilege. I would argue that on my
> > own system (which is a majority of systems now) it should be easy
> > to designate low-privilege jobs as lingering: I should get to
> > decide if it's useful for them to run even if I don't have a
> > current login session.  
> 
> Privileges are required to turn on lingering for your user. After that
> your user can consume resources on the system from power-on to
> power-off without further privileges.
> 
> i.e. it's the act of turning on lingering that requires privs. After
> that's done once you don't have to think about that anymore.
> 
> Lennart
> 
> --
> Lennart Poettering, Berlin
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Daniel P . Berrangé
On Thu, Apr 11, 2019 at 12:48:13PM -0400, Colin Walters wrote:
> 
> 
> On Tue, Apr 9, 2019, at 12:07 PM, Lennart Poettering wrote:
> > 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?
> 
> The dependency chain of libvirtd is just doomed from this perspective.

This is a rather sweeping inaccurate statement IMHO.

The scale of the dependancies you get from installing libvirt varies
significantly depending on which libvirt RPMs you choose to install
or depend on. There's quite alot of modularization there if you pick
the right sub-RPMs to minimize install footprint. In addition some
of the footprint you get when installing libvirt is actually coming
from QEMU itself.

eg starting from the fedora:30 docker image


* "libvirt-daemon-driver-qemu"

  The bare minimum currently needed by the libvirt QEMU driver impl.

  56 RPMs / 100 MB


* "libvirt-daemon-kvm"

  All functionality usable in combination with libvirt and KVM. Also
  pulls in the qemu-system- to match your host arch.

  300 RPMs / 430 MB

  Of this, 211 RPMs / 300 MB is due to qemu-system-x86 & qemu-img
  RPMs, rather than libvirt itself. So real libvirt overhead here
  is only 90 RPMs / 120 MB

* "libvirt-daemon-qemu"

  All functionality usable in combination with libvirt and QEMU (any
  arch emulation). Pulls in every qemu-system-XXX RPM

  350 RPMs / 1 GB

  (The extra delta here is really coming from
   QEMU not libvirt itself)


The first libvirt-daemon-driver-qemu RPM should in fact be even smaller
than it is, but we have an accidental dependancy between two parts of
libvirt codebase. This will be addressed in F31.

Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Lennart Poettering
On Do, 11.04.19 11:32, Przemek Klosowski (przemek.klosow...@nist.gov) wrote:

> On 4/11/19 10:16 AM, Lennart Poettering wrote:
> > However, that's intended for system services only (i.e. for services
> > running as users UID < 1000). For regular users (i.e. human ones,
> > those with UID >= 1000), the idea is to install timer units in the
> > per-user instance of the systemd service manager instead. That service
> > manager runs inside a PAM session of the user, and the lifetime is
> > normally bound to the time the user is logged in, meaning that users
> > who are not logged in cannot run stuff. (however, specific users can
> > be marked as "lingering" though a privileged operation and if so
> > their specific service manager is started at boot and stays around
> > until shutdown, so that their timers can run outside of the immediate
> > login time of the user).
>
> I run a bunch of background jobs like harvesting podcasts that are released
> weekly, collecting weather stats for my garden watering system, monitoring
> my power feed and UPS, collecting ADSB  data, etc. I don't think of those as
> 'system' services, so I run them in my own cron jobs. The system works well
> because even if my system reboots on a power glitch, or my session crashes,
> the jobs still run--but in the systemd world it wouldn't work.

Why would't they? If you want to to run your own stuff independent of
you being logged in then do "loginctl set-linger" on your user and
it's done.

The logic in systemd is more strict on putting boundaries on resource
usage, and thus will by default not allow you to consume resources
while you are not logged in. It's really how this always should have
been designed. However, we fully acknowledge that there are many uses
where the ability to run stuff independently of any login as your own
user is fine, but you need to turn on lingering for that (which is
privileged), so that this is explicitly marked OK.

But anyway, it's totally fine if you use cron for what you are doing
too, if you are more comfortable with it. It's just a question if cron
needs to be around on the workstation default install. I mean, all the
stuff you list up there, it's not precisely part of the base install
either, you installed a number of packages to make that work, and it
should be fine if crond is one of them, no?

> I think you're saying that systemd is designed on an assumption that such
> jobs are part of system operation, and  will have to run as
> system/privileged jobs or at least be designated as 'lingering', which you
> say requires system privilege. I would argue that on my own system (which is
> a majority of systems now) it should be easy to designate low-privilege jobs
> as lingering: I should get to decide if it's useful for them to run even if 
> I don't have a current login session.

Privileges are required to turn on lingering for your user. After that
your user can consume resources on the system from power-on to
power-off without further privileges.

i.e. it's the act of turning on lingering that requires privs. After
that's done once you don't have to think about that anymore.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Michael Cronenworth

On 4/11/19 2:12 AM, Vojtěch Trefný wrote:

That's actually a bug in libblockdev, only multipath plugin should
depend on device-mapper-multipath.


Bug opened.

https://bugzilla.redhat.com/show_bug.cgi?id=1699071

I can make the spec changes if you need help, but I wanted to document this action 
in case there is something we're missing.


Thanks,
michael
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Colin Walters


On Tue, Apr 9, 2019, at 12:07 PM, Lennart Poettering wrote:
> 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?

The dependency chain of libvirtd is just doomed from this perspective.  For 
Fedora Silverblue (and FCOS) we make the intention decision not to include it 
by default (though I personally have it package layered).


(Using qemu inside a container without libvirt is also a nice pattern, we use 
this in https://github.com/coreos/coreos-assembler )
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Paul Frields
On Tue, Apr 9, 2019 at 12:07 PM Lennart Poettering  wrote:
[...]
> 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:

Although somewhat orthogonal to your notes below, overall there's a
lot of package-entangling in the basic platform underlying the
Workstation as well. This is something we should look at if we're to
make progress in CI and Lifecycle objectives -- i.e. being able to
produce basic platform for integration more quickly. I was talking to
contyk about this the other day and we are starting to throw some
ideas around about that. Again, doesn't solve all your individual
concerns below but at least related. A good portion of the other
subthread is really about choices made and how we enable bits properly
for something like Workstation, which is also valid but a different
effort I think.

[...]
> 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?

Interestingly I think Google Chrome needs this when it installs,
though it seems nonsensical to me. (Chrome is installed by about 50%
of our users given some informal stats, so writing it off would be
shooting ourselves in the foot.) That's something the Workstation
folks may want to work with them to fix in a more systemd-ish way.

-- 
Paul
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Roberto Ragusa

On 4/11/19 5:32 PM, Przemek Klosowski wrote:

I think the Android model is more relevant in this IoT age than the traditional 
timesharing, 'kick-me-off-when-I-log-out' mode.


I would agree and observe that even the timesharing model was never really 
kick-me-off-when-I-log-out.
Processes have an owner (username) and run by themselves. Some effects related 
to father-child lifecycle
are almost accidental (broken pipe and so on) and easily avoided (nohup, 
screen).
The concept of "login" was just associated to how you entered the system 
(authentication,...), and there
was no real concept of "session".
The "session" concept mostly came from the graphical interfaces, where many 
pieces have to collaborate to
give the final experience, that started the "session daemons" fashion.
Some not-Unix operating system that were almost useless without a login (and 
without a graphic card)
reinforced this idea that "the machine does something only when somebody is logged 
in".

Regards.
--
   Roberto Ragusamail at robertoragusa.it
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Adam Williamson
On Wed, 2019-04-10 at 12:49 +0200, Kamil Paral wrote:
> On Tue, Apr 9, 2019 at 8:21 PM Lennart Poettering 
> wrote:
> 
> > Hmm, but the installed OS is not 100% the same as the livesys, or is
> > it? If not, it should be possible to add a "systemctl disable
> > dmraid.service --root=/path/to/os" somewhere, no?
> > 
> 
> AFAIK, they are 100% same. There's a hack, check your
> /etc/rc.d/init.d/livesys
> /etc/rc.d/init.d/livesys-late
> They are executed every time during boot, but immediately quit if they
> detect they're not running on a Live image (using kernel command line). You
> can see them also here:
> https://pagure.io/fedora-kickstarts/blob/f30/f/fedora-live-base.ks#_73
> https://pagure.io/fedora-kickstarts/blob/f30/f/fedora-live-base.ks#_232

That's only part of the story. All the other kickstarts can add bits to
the scripts, too (by catting to them). The actual script on any given
live image is a combination of the bits from live-base and whatever the
other kickstarts involved in building that image do to it.

A long time ago I rewrote these as systemd units; the change was
rejected...
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Przemek Klosowski

On 4/11/19 10:16 AM, Lennart Poettering wrote:

However, that's intended for system services only (i.e. for services
running as users UID < 1000). For regular users (i.e. human ones,
those with UID >= 1000), the idea is to install timer units in the
per-user instance of the systemd service manager instead. That service
manager runs inside a PAM session of the user, and the lifetime is
normally bound to the time the user is logged in, meaning that users
who are not logged in cannot run stuff. (however, specific users can
be marked as "lingering" though a privileged operation and if so
their specific service manager is started at boot and stays around
until shutdown, so that their timers can run outside of the immediate
login time of the user).


I run a bunch of background jobs like harvesting podcasts that are 
released weekly, collecting weather stats for my garden watering system, 
monitoring my power feed and UPS, collecting ADSB  data, etc. I don't 
think of those as 'system' services, so I run them in my own cron jobs. 
The system works well because even if my system reboots on a power 
glitch, or my session crashes, the jobs still run--but in the systemd 
world it wouldn't work.


I'd like the system jobs to be strictly about the OS 
infrastructure---both for the 'ideological purity' and because it seems 
to me that it'd be easier to move them to some sort of cloud environment 
where I don't manage the underlying OS.


I think you're saying that systemd is designed on an assumption that 
such jobs are part of system operation, and  will have to run as 
system/privileged jobs or at least be designated as 'lingering', which 
you say requires system privilege. I would argue that on my own system 
(which is a majority of systems now) it should be easy to designate 
low-privilege jobs as lingering: I should get to decide if it's useful 
for them to run even if  I don't have a current login session.


Compare this with Android: the apps can run in background, and it's 
fine; I implicitly authorized them by owning the device, and installing 
the app after authenticating to the device and to the app store and 
maybe to cloud services they depend on. I think the Android model is 
more relevant in this IoT age than the traditional timesharing, 
'kick-me-off-when-I-log-out' mode.

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Lennart Poettering
On Do, 11.04.19 14:19, Steve Grubb (sgr...@redhat.com) wrote:

> > > But what, exactly, has cron fallen short in?
> >
> > In this case, I was trying to communicate that if systemd, which seems
> > to want to replace cron, can't meet all the use cases, we should be
> > reporting those that we find in the distro.  That lets the systemd
> > upstream decide if it is in scope or not and make changes as needed.
>
> From a security point, we'd want the equivalent of cron.allow,
> cron.deny. We'd need the pam stack to run just as it did for cron which
> means it needs to be privileged and switch to the user account so that
> it can correctly recreate the user environment, optionally do auditing
> as needed (just like cronie), and it would need to be MLS (Multi-level
> Security) capable.
>
> If it did all these things, I could see ditching cron. I also have not
> looked into the systemd timers to see if or how much of this it
> currently does.

systemd follows a more restrictive approach there: system services and
timers can only be installed by root. If the service uses User= it can
run code as a non-root user that way. If the service uses PAMName=
this can be done through a PAM session if needed.

However, that's intended for system services only (i.e. for services
running as users UID < 1000). For regular users (i.e. human ones,
those with UID >= 1000), the idea is to install timer units in the
per-user instance of the systemd service manager instead. That service
manager runs inside a PAM session of the user, and the lifetime is
normally bound to the time the user is logged in, meaning that users
who are not logged in cannot run stuff. (however, specific users can
be marked as "lingering" though a privileged operation and if so
their specific service manager is started at boot and stays around
until shutdown, so that their timers can run outside of the immediate
login time of the user).

This model is supposed to be a bit more restrictive security-wise than
traditional cron: it's not privileged code that parses and schedules
timer expression and then transitions on each dispatching, but it's
always the user's own code that is responsible for that.

systemd is not a 1:1 replacement for cron, not by a long shot, and
it's not supposed to be. It's supposed to be more restrictive and run
the scheduler itself with the same privileges of the user it shall run
stuff as. There are difference besides lifecycle and security
though. For example, it serializes execution of timer-triggered
services, and merges trigger events.

It never was the intention of to provide the exact same feature set as
cron. And I wouldn't push users who want cron to use systemd timers
instead. But I'd say the semantics and security model we expose in
systemd timers is actually better fitting for the various housekeeping
jobs we ship along with our various RPMs.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Daniel P . Berrangé
On Thu, Apr 11, 2019 at 03:57:30PM +0200, Lennart Poettering wrote:
> On Do, 11.04.19 11:18, Daniel P. Berrangé (berra...@redhat.com) wrote:
> 
> > > I don't know off hand of anything that would prevent it. Libvirt does
> > > process events from running qemu VMs, but if there's no API users
> > > connected to the daemon then I don't think libvirtd needs to be running;
> > > it can handle restart and reconnecting to running VMs. That's
> > > essentially the same behavior the session libvirtd instance uses which
> > > auto shuts down after 30 seconds if there's no clients IIRC. danpb would
> > > know best though, CCd
> >
> > The reasons systemd libvirtd starts on boot is that it needs to perform
> > auto-start of various resources its manages. These resources don't have
> > any associated systemd unit so we can't use systemd for this purpose.
> > Ideally we would enable libvirtd to create systemd units for the resources
> > it manages that need autostart, but that's a significant bit of work.
> > So today we can't use systemd activation.
> 
> socket activation doesn't mean you need to start libvirt strictly on
> socket traffic. A common pattern is to start both the socket and the
> service at boot, but the service exits when idle and then gets
> restarted when needed. And that's what I'd like to see here: make
> libvirt socket-activatable, but also start it at boot. This would mean
> libvirt could start any VMs it wants at boot if they are
> configured. And if nothing is configured and nothing has an open IPC
> connection it would just exit, knowing that the instance something
> wants to talk to it it would be started again.

Ok, I see what you mean, enabling both the service & socket by default
will probably work. We already have support for systemd activation
and auto-exiting, for our non-root instance, so in theory we can
just change the unit file setup. Will have to think if there are
any other edge cases with this in the root instance though as it
has much broader functionality.

Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Lennart Poettering
On Do, 11.04.19 11:18, Daniel P. Berrangé (berra...@redhat.com) wrote:

> > I don't know off hand of anything that would prevent it. Libvirt does
> > process events from running qemu VMs, but if there's no API users
> > connected to the daemon then I don't think libvirtd needs to be running;
> > it can handle restart and reconnecting to running VMs. That's
> > essentially the same behavior the session libvirtd instance uses which
> > auto shuts down after 30 seconds if there's no clients IIRC. danpb would
> > know best though, CCd
>
> The reasons systemd libvirtd starts on boot is that it needs to perform
> auto-start of various resources its manages. These resources don't have
> any associated systemd unit so we can't use systemd for this purpose.
> Ideally we would enable libvirtd to create systemd units for the resources
> it manages that need autostart, but that's a significant bit of work.
> So today we can't use systemd activation.

socket activation doesn't mean you need to start libvirt strictly on
socket traffic. A common pattern is to start both the socket and the
service at boot, but the service exits when idle and then gets
restarted when needed. And that's what I'd like to see here: make
libvirt socket-activatable, but also start it at boot. This would mean
libvirt could start any VMs it wants at boot if they are
configured. And if nothing is configured and nothing has an open IPC
connection it would just exit, knowing that the instance something
wants to talk to it it would be started again.

Or to say this differently: you can combine activation methods nicely
and it's common to do so: activation-on-boot + activation-on-timer +
activation-on-socket + activation-on-hardware +
activation-on-anything-else can be nicely done for the same service.

Or to say this even differently: service activation in systemd is
substantially more powerful than in inetd: it's not exclusively about
*on-demand* socket activation, but socket activation is just one form
that can neatly be composed with every other trigger you like.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Michael Watters
I'd say that backward compatibility is important and as a Fedora
workstation and server user I expect crond to work OOTB.  Yes, users can
install and enable the service if needed but cron is such an essential
part of every system that I see no reason to exclude it.

On 4/11/19 6:30 AM, Brian (bex) Exelbierd wrote:
> My interest, and the way I read the OP was not about minimal size,
> directly.  In this case, it sounds like we have adopted a tool,
> systemd, that replaces another tool, cron.  We can debate the
> completeness of the replacement, etc, but it is also valid to question
> why we ship both as default installed.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Steve Grubb
On Thu, 11 Apr 2019 12:30:11 +0200
"Brian (bex) Exelbierd"  wrote:

> To: Japheth Cleaver 
> CC: Development discussions related to Fedora
>  Subject: Re: Can we maybe reduce the
> set of packages we install by default a bit? Date: Thu, 11 Apr 2019
> 12:30:11 +0200 Reply-To: Development discussions related to Fedora
> 
> 
> On Wed, Apr 10, 2019 at 8:54 PM Japheth Cleaver
>  wrote:
> >
> > Reducing the Minimal size is, in general, good, but it's possible
> > to go too far, and I think that's the case with low-level, *nix
> > wide tools like this. I'm reminded of the time someone thought tar
> > needed to go too:
> > https://bugzilla.redhat.com/show_bug.cgi?id=1409920  
> 
> My interest, and the way I read the OP was not about minimal size,
> directly.  In this case, it sounds like we have adopted a tool,
> systemd, that replaces another tool, cron.  We can debate the
> completeness of the replacement, etc, but it is also valid to question
> why we ship both as default installed.
> 
> Extending this, tar is a reasonable thing to install on all systems
> today.  That might not be true tomorrow.  I encourage Fedora to be
> willing to explore these questions and make opinionated decisions.
> 
> >  
> > > Lastly, taking a position on some of this, for example, removing
> > > cron, is a form of opinionation that calls back to our roots of
> > > innovating in the OS space.  We would be saying, we recognize
> > > this is the way we did things X years ago, but there are new ways
> > > and processes and we see value in those.  If we can't remove
> > > these things, then we are being a good distribution by pointing
> > > out where solutions that claim to fix something have fallen short
> > > so that those upstreams can make decisions about what to do.  
> >
> > But what, exactly, has cron fallen short in?  
> 
> In this case, I was trying to communicate that if systemd, which seems
> to want to replace cron, can't meet all the use cases, we should be
> reporting those that we find in the distro.  That lets the systemd
> upstream decide if it is in scope or not and make changes as needed.

From a security point, we'd want the equivalent of cron.allow,
cron.deny. We'd need the pam stack to run just as it did for cron which
means it needs to be privileged and switch to the user account so that
it can correctly recreate the user environment, optionally do auditing
as needed (just like cronie), and it would need to be MLS (Multi-level
Security) capable.

If it did all these things, I could see ditching cron. I also have not
looked into the systemd timers to see if or how much of this it
currently does.

-Steve
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Brian (bex) Exelbierd
On Wed, Apr 10, 2019 at 8:54 PM Japheth Cleaver  wrote:
>
> Reducing the Minimal size is, in general, good, but it's possible to go
> too far, and I think that's the case with low-level, *nix wide tools
> like this. I'm reminded of the time someone thought tar needed to go
> too: https://bugzilla.redhat.com/show_bug.cgi?id=1409920

My interest, and the way I read the OP was not about minimal size,
directly.  In this case, it sounds like we have adopted a tool,
systemd, that replaces another tool, cron.  We can debate the
completeness of the replacement, etc, but it is also valid to question
why we ship both as default installed.

Extending this, tar is a reasonable thing to install on all systems
today.  That might not be true tomorrow.  I encourage Fedora to be
willing to explore these questions and make opinionated decisions.

>
> > Lastly, taking a position on some of this, for example, removing cron,
> > is a form of opinionation that calls back to our roots of innovating
> > in the OS space.  We would be saying, we recognize this is the way we
> > did things X years ago, but there are new ways and processes and we
> > see value in those.  If we can't remove these things, then we are
> > being a good distribution by pointing out where solutions that claim
> > to fix something have fallen short so that those upstreams can make
> > decisions about what to do.
>
> But what, exactly, has cron fallen short in?

In this case, I was trying to communicate that if systemd, which seems
to want to replace cron, can't meet all the use cases, we should be
reporting those that we find in the distro.  That lets the systemd
upstream decide if it is in scope or not and make changes as needed.

I was not suggesting cron had a short fall.

> >> The last thing I'd want to have to deal with is solving for a missing
> >> /etc/cron.* because someone forgot to click a checkbox somewhere or
> >> didn't call it out in kickstart.
> > Yes, but I also don't want to deal with a security fix in cron when I
> > didn't want it to begin with.  Adding software the user doesn't want
> > to have it as assumed for other users is always a trade-off.
>
> True, but - as written elsewhere - that can be taken to a logical
> extreme, both via removal of simple, auditable utilities and shell
> scripts, and eventual giant replacements.

I don't consider the evolution of replacements to be inherently bad.
They may not meet your use case, but they may meet the use case of the
Fedora Workstation core target audience.  If we build a workstation
that tries to be all things for all people, it is often not great for
everyone.  I am advocating that we tighten our scope for our
deliverables and allow for differentation in them instead of trying to
be all things for all people.

regards,

bex
-- 
Brian (bex) Exelbierd | bexel...@redhat.com | b...@pobox.com
Fedora Community Action & Impact Coordinator
@bexelbie | http://www.winglemeyer.org
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Daniel P . Berrangé
On Tue, Apr 09, 2019 at 02:55:51PM -0400, Cole Robinson wrote:
> On 4/9/19 2:24 PM, Lennart Poettering wrote:
> > On Di, 09.04.19 14:16, Cole Robinson (crobi...@redhat.com) wrote:
> > 
> >> On 4/9/19 1:09 PM, Zbigniew Jędrzejewski-Szmek wrote:
> >>> On Tue, Apr 09, 2019 at 06:07:09PM +0200, Lennart Poettering wrote:
>  multipathd [...] 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...).
> >>>
> >>> This was supposed to be fixed 
> >>> https://bugzilla.redhat.com/show_bug.cgi?id=1631772.
> >>> If not, please reopen that bug.
> >>>
>  5. libvirtd. Why is this running? Can't we make this socket
> activatable + exit-on-idel?
> >>>
> >>> This was supposed to happen. See
> >>> https://bugzilla.redhat.com/show_bug.cgi?id=1290357.
> >>>
> >>
> >> This bug (briefly) describes why at present libvirt can't use socket
> >> activation: https://bugzilla.redhat.com/show_bug.cgi?id=1326136
> > 
> > Hmm, so that is a valid request I guess. But why can't libvirt do
> > exit-on-idle? i.e. after it started up, after it noticed that it has no VMs 
> > to
> > run, checks that there are no IPC requests pending, can't it just exit
> > then and then rely on socket activation to be started again when it is
> > needed the next time? That way libvirt would start at boot, but not
> > stick around during normal runtime.
> > 
> 
> I don't know off hand of anything that would prevent it. Libvirt does
> process events from running qemu VMs, but if there's no API users
> connected to the daemon then I don't think libvirtd needs to be running;
> it can handle restart and reconnecting to running VMs. That's
> essentially the same behavior the session libvirtd instance uses which
> auto shuts down after 30 seconds if there's no clients IIRC. danpb would
> know best though, CCd

The reasons systemd libvirtd starts on boot is that it needs to perform
auto-start of various resources its manages. These resources don't have
any associated systemd unit so we can't use systemd for this purpose.
Ideally we would enable libvirtd to create systemd units for the resources
it manages that need autostart, but that's a significant bit of work.
So today we can't use systemd activation.

Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-11 Thread Vojtěch Trefný


On 4/10/19 11:57 AM, Kamil Paral wrote:
> On Wed, Apr 10, 2019 at 2:35 AM Chris Murphy 
> wrote:
> 
>>> 1. multipathd.
>>
>> I'm pretty sure it gets dragged in by the installer
> 
> 
> Nope, multipath seems to be present because libblockdev and udisks (and
> perhaps some more), which is in turn required by GNOME:
> 
> $ rpm -q --whatrequires device-mapper-multipath
> libblockdev-fs-2.21-2.fc30.x86_64
> libblockdev-part-2.21-2.fc30.x86_64

That's actually a bug in libblockdev, only multipath plugin should
depend on device-mapper-multipath.

> libblockdev-mpath-2.21-2.fc30.x86_64
> fcoe-utils-1.0.32-6.fc29.x86_64
> 
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Japheth Cleaver

On 4/10/2019 4:10 AM, Brian (bex) Exelbierd wrote:

On Tue, Apr 9, 2019 at 8:40 PM Japheth Cleaver  wrote:

Is this really worth the effort? cronie in F30 is a 103K package, and a
decent chunk of that might be the ChangeLog. crontabs is all of 18K,
which is 95% the GPL and the RPM header. It seems like a very small
price to pay for something everyone is going to assume will be on any
*nix-compatible system of note.

I read, possibly misread, the original comment as being about the
number of "unneeded" things in the install, not necessarily the weight
of the specific packages.  What I think we are hearing from
containers, OSTree, etc. is that there is a group of people that wants
their systems more minimal with less unnecessary stuff.


*snip*


This seems to go back to who is the primary target audience for our
Workstation edition and what do they want/expect.  Then we can
document the changes and socialize them over a few releases so that
other users can get to where they want to be.  Basically "extra" isn't
what no one wants, its what our defined target doesn't want/expect.


Although this was originally posted about Workstation, I can virtually 
guarantee that a solution accepted for implementation would not be 
"Remove cron in %post," thus this really comes about as removing it as a 
default install pretty much everywhere. Of course, things like 
OSTree/atomic, containers, and micro-environments where every byte 
counts are likely to be bypassing typical installation mechanisms 
regardless to fine-tune what's delivered -- eg, removing documentation, 
etc in docker kickstart %post, or re-implementing parts of RPM to begin 
with.


Reducing the Minimal size is, in general, good, but it's possible to go 
too far, and I think that's the case with low-level, *nix wide tools 
like this. I'm reminded of the time someone thought tar needed to go 
too: https://bugzilla.redhat.com/show_bug.cgi?id=1409920


One might make the case for a removal from @core -- *maybe* -- but 
definitely not @base.




Lastly, taking a position on some of this, for example, removing cron,
is a form of opinionation that calls back to our roots of innovating
in the OS space.  We would be saying, we recognize this is the way we
did things X years ago, but there are new ways and processes and we
see value in those.  If we can't remove these things, then we are
being a good distribution by pointing out where solutions that claim
to fix something have fallen short so that those upstreams can make
decisions about what to do.


But what, exactly, has cron fallen short in? I'm reminded of that old 
testimonial tag line for the similarly named, but unrelated, utility 
cronolog: "cronolog kicks ass in every conceivable way in which a 
utility like cronolog can kick ass." ( 
http://web.archive.org/web/20090627031834/http://cronolog.org/ ) There 
are other launching mechanisms, sure... I've worked on one of them, but 
that doesn't mean there's anything wrong with cron, or /etc/cron.*/ 
directories.


More directly, I'm old enough to remember when we were assured that 
systemd's timers were not "to be in competition here" with cron, and and 
it was promised to "make sure that cron is advertised as a good solution 
for people who just want to queue a simple cronjob." With all the 
discussion of ease-of-use and discoverability, removing the "good 
solution" mechanism for users in favor of something requiring a package 
install doesn't seem to be a great example of that. 
https://lists.fedoraproject.org/pipermail/devel/2014-March/196293.html




The last thing I'd want to have to deal with is solving for a missing
/etc/cron.* because someone forgot to click a checkbox somewhere or
didn't call it out in kickstart.

Yes, but I also don't want to deal with a security fix in cron when I
didn't want it to begin with.  Adding software the user doesn't want
to have it as assumed for other users is always a trade-off.


True, but - as written elsewhere - that can be taken to a logical 
extreme, both via removal of simple, auditable utilities and shell 
scripts, and eventual giant replacements.


-jc
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Brian (bex) Exelbierd
On Wed, Apr 10, 2019 at 3:22 PM Michael Watters  wrote:
>
> You mean like systemd?  ;)

Given the origin of this thread, I tried not to go there.  However,
now that you've broached it, yes.  This :D.

systemd is a lot of things, but it also is the way forward we think
that our audience wants.  It has the adoption that shows that leaving
it out is bad, and in this specific cron example, not using its full
feature set is probably bad for our users and is poor of us as a
distro.

The more interesting set of cases is what our users want/need to be
successful.  For example, if we are targetting developers, should we
work on replacing some tools like `cat` with `bat` as it is code
aware.  This would be a HUGE undertaking, potentially, but could
potentially create an ease of use and experience that shows we
understand our market.

regards,

bex

>
> On 4/10/19 7:10 AM, Brian (bex) Exelbierd wrote:
> > Adding software the user doesn't want
> > to have it as assumed for other users is always a trade-off.
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org



-- 
Brian (bex) Exelbierd | bexel...@redhat.com | b...@pobox.com
Fedora Community Action & Impact Coordinator
@bexelbie | http://www.winglemeyer.org
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Michael Watters
You mean like systemd?  ;)

On 4/10/19 7:10 AM, Brian (bex) Exelbierd wrote:
> Adding software the user doesn't want
> to have it as assumed for other users is always a trade-off.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Martin Kolman
On Tue, 2019-04-09 at 14:20 -0400, Neal Gompa wrote:
> On Tue, Apr 9, 2019 at 1:11 PM Adam Williamson
>  wrote:
> > On Tue, 2019-04-09 at 12:54 -0400, Stephen John Smoogen wrote:
> > > On Tue, 9 Apr 2019 at 12:07, Lennart Poettering 
> > > wrote:
> > > 
> > > > 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:
> > > > 
> > > > 
> > > This is not the first time this has come up and I expect it won't be the
> > > last time.
> > > 
> > > I think the main reason they stick around is that the people who want them
> > > gone just show up right after a release, drop a bunch of requests, and 
> > > then
> > > go off to their own busy work. Then they come back a release later, don't
> > > see any change and either drop another email detailing things to be 
> > > dropped
> > > OR discouraged that no-one ever listens. The things that do get changed 
> > > and
> > > pulled out (or kept in) do so because people come in and work on scrubbing
> > > out the reasons and making sure the replacements are socialized in.
> > > 
> > > One of the things is that I am not sure any of these items
> > > 
> > > 
> > > 1. multipathd. On a workstation, uh?? I obviously have no multipath
> > > 
> > > 2. dmraid. Not quite as bad as multipathd as it is more likely to
> > > 
> > > I think these two are here because of the blivet you mentioned earlier.
> > > Advanced partitioning requires them to be there... and there do seem to be
> > > people who actually do expect both of those to work on their workstations
> > > when it was looked at to be removed in the past.
> > > 
> > > I do not know if the SIlverBlue does not have them on the other hand.
> > 
> > Basically, anything that's part of the install environment is going to
> > be present after a live install. That accounts for both of the above:
> > the installer supports multipath and dmraid storage devices, so the
> > relevant packages are part of the install environment, so they're part
> > of the lives, so they're installed by a live install.
> > 
> > This is kind of a limitation of the live deployment mechanism. In
> > theory a post-install stage could be added to strip things that were
> > only needed at install time, or that we can tell aren't actually needed
> > by the installed system, but this has never been done, though I recall
> > it being discussed at times.
> > 
> 
> I'd personally like to see some kind of post-install mechanism that
> could remove unneeded things
This is on the technical level doable as long as:
- RPM & DNF tooling on the image works
- you are only removing stuff
- the "recipe" what to remove needs to be maintained somewhere and kept current

>  or apply updates before rebooting into
> the new environment.
This on the other hand is a bit harder four a couple reasons:
- the current live installation does not need networking and this network is 
(IIRC) generally
  not setup, so you would need to make sure network is available at the time 
you attempt to do this
- unlike the live image that is always the same and passes quite some testing 
(both automated and manual)
  before it is declared fit for GA, update repos can change more or less at 
random, creating
  a miriad of combinations with the live image package set, some of them 
potentially wrong (file conflicts,
  broken deps, failing scriptlets)
- any errors due to updates might be harder to debug in the live environment 
than on installed system
- note that thisa is not the same as netins as you would be always taking a 
frozen package set and then aplying
  a bunch of ever changing updates on top of it VS installing a full system 
from latest packages on netinst
- while making the system up to date (and potentially more secure) this could 
make the live installation run
  quite a bit longer & taking ever longer the older the live image is
  (current live image just rsyncs the base filesystem content to the target, no 
need to run all the scriptlets and
   rpm machinery)


> That's something that Ubiquity, DrakX, Calamares,
> and YaST all do, and it's quite nice to have...
It's all possible in principle, but both remove & update is:
- extra code not useed on netinst that needs to be written, maintained & QAed
- will this be the same for all lives or different per spins vs workstation
- do the SIGs taking care of the Workstation live and other live spins actually 
want this ?

> 
> > > > 3. atd? Do we still need that? Do we have postinst scripts that need
> > > 
> > > 4. Similar crond. On my fresh install 

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

2019-04-10 Thread Lennart Poettering
On Mi, 10.04.19 08:16, Julen Landa Alustiza (ju...@zokormazo.info) wrote:

> I'm really interested on the livet crash, but I can't reproduce it with
> latest branched compose.
> Can you provide us with reproduction steps?

Urks, I don't remember. I think created an ESP part, two ext4
partitions, one encrypted swap and one encrypted btrfs or so, and then
changed my mind and flushed it all out with that button in the lower
right, and then it died on me. And then I did the same twice again it
it died again. But sorry, I didn't record the errors, it wasn't
particularly special though...

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Lennart Poettering
On Di, 09.04.19 18:34, Chris Murphy (li...@colorremedies.com) wrote:

> > 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?
>
> At the least it seems reasonable they can be disabled on the installed
> system, and enabled for Live OS boot if the installer needs them.

I mean, it could be as easy that these services remain off, but the
installer does a "systemctl enable --now …" on them as soon as it
notices it needs them. That way the livesys and the host installed
version can be 100% identical, if that's what people want.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Lennart Poettering
On Mi, 10.04.19 12:49, Kamil Paral (kpa...@redhat.com) wrote:

> > Hmm, but the installed OS is not 100% the same as the livesys, or is
> > it? If not, it should be possible to add a "systemctl disable
> > dmraid.service --root=/path/to/os" somewhere, no?
>
> AFAIK, they are 100% same. There's a hack, check your
> /etc/rc.d/init.d/livesys
> /etc/rc.d/init.d/livesys-late
> They are executed every time during boot, but immediately quit if they
> detect they're not running on a Live image (using kernel command line). You
> can see them also here:
> https://pagure.io/fedora-kickstarts/blob/f30/f/fedora-live-base.ks#_73
> https://pagure.io/fedora-kickstarts/blob/f30/f/fedora-live-base.ks#_232
> They are ugly, I think, and many improvements could be made there. But some
> Live image adjustments are possible through them. But those are just
> runtime changes for Live environment, they don't affect the installed
> system. If anaconda had a post-install phase where it would make
> appropriate changes to the installed system (and also ideally removed
> itself and those livesys scripts), that would be great, yes.

Those scripts, can't we make them part of some RPM btw? I filed a bug
about that yesterday:

https://bugzilla.redhat.com/show_bug.cgi?id=1698119

These scripts are a bit annoying since they are the only SysV scripts
left really (not even LSB!), have no purposes on an installed system
and live outside of any RPM ownership and validation.

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Brian (bex) Exelbierd
On Tue, Apr 9, 2019 at 8:40 PM Japheth Cleaver  wrote:
> Is this really worth the effort? cronie in F30 is a 103K package, and a
> decent chunk of that might be the ChangeLog. crontabs is all of 18K,
> which is 95% the GPL and the RPM header. It seems like a very small
> price to pay for something everyone is going to assume will be on any
> *nix-compatible system of note.

I read, possibly misread, the original comment as being about the
number of "unneeded" things in the install, not necessarily the weight
of the specific packages.  What I think we are hearing from
containers, OSTree, etc. is that there is a group of people that wants
their systems more minimal with less unnecessary stuff.  Some of this
is about resource-sizing (RAM, Disk, etc.), some is about update and
security footprints, and some of it is about "psychic weight."  I
realize that we have to make these tradeoffs in some cases, for
example, aiui, gnome-keyring is not able to be removed and still have
a functional Gnome environment.  But this isn't universally the case.

This seems to go back to who is the primary target audience for our
Workstation edition and what do they want/expect.  Then we can
document the changes and socialize them over a few releases so that
other users can get to where they want to be.  Basically "extra" isn't
what no one wants, its what our defined target doesn't want/expect.  I
don't expect the tools I use to always be installed by default and I
don't think anyone else on the list does either.  It also speaks to
our spins/labs as ways to take our existing software and reformulate
the install to meet different users' needs.

Lastly, taking a position on some of this, for example, removing cron,
is a form of opinionation that calls back to our roots of innovating
in the OS space.  We would be saying, we recognize this is the way we
did things X years ago, but there are new ways and processes and we
see value in those.  If we can't remove these things, then we are
being a good distribution by pointing out where solutions that claim
to fix something have fallen short so that those upstreams can make
decisions about what to do.

> The last thing I'd want to have to deal with is solving for a missing
> /etc/cron.* because someone forgot to click a checkbox somewhere or
> didn't call it out in kickstart.

Yes, but I also don't want to deal with a security fix in cron when I
didn't want it to begin with.  Adding software the user doesn't want
to have it as assumed for other users is always a trade-off.

regards,

bex
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Kamil Paral
On Tue, Apr 9, 2019 at 8:21 PM Lennart Poettering 
wrote:

> Hmm, but the installed OS is not 100% the same as the livesys, or is
> it? If not, it should be possible to add a "systemctl disable
> dmraid.service --root=/path/to/os" somewhere, no?
>

AFAIK, they are 100% same. There's a hack, check your
/etc/rc.d/init.d/livesys
/etc/rc.d/init.d/livesys-late
They are executed every time during boot, but immediately quit if they
detect they're not running on a Live image (using kernel command line). You
can see them also here:
https://pagure.io/fedora-kickstarts/blob/f30/f/fedora-live-base.ks#_73
https://pagure.io/fedora-kickstarts/blob/f30/f/fedora-live-base.ks#_232
They are ugly, I think, and many improvements could be made there. But some
Live image adjustments are possible through them. But those are just
runtime changes for Live environment, they don't affect the installed
system. If anaconda had a post-install phase where it would make
appropriate changes to the installed system (and also ideally removed
itself and those livesys scripts), that would be great, yes.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Kamil Paral
On Wed, Apr 10, 2019 at 2:35 AM Chris Murphy 
wrote:

> > 1. multipathd.
>
> I'm pretty sure it gets dragged in by the installer


Nope, multipath seems to be present because libblockdev and udisks (and
perhaps some more), which is in turn required by GNOME:

$ rpm -q --whatrequires device-mapper-multipath
libblockdev-fs-2.21-2.fc30.x86_64
libblockdev-part-2.21-2.fc30.x86_64
libblockdev-mpath-2.21-2.fc30.x86_64
fcoe-utils-1.0.32-6.fc29.x86_64

$ rpm -q --whatrequires libblockdev-fs
udisks2-2.8.2-1.fc30.x86_64

$ rpm -q --whatrequires udisks2
gvfs-1.40.0-1.fc30.x86_64
gnome-disk-utility-3.32.0-1.fc30.x86_64

That was latest F30 Workstation Live.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Nicolas Mailhot
Le mardi 09 avril 2019 à 10:11 -0700, Adam Williamson a écrit :
> 
> To be specific here, 'at' is part of the @standard group. 'chrony' is
> pulled in several ways. It's part of @standard *if gnome-control-
> center 
> is being installed*, so effectively it'll be installed with
> Workstation
> but not other editions/spins. That sort of implies that there's some
> functionality in GNOME that depends on chrony; 

chrony, mdadm and dmraid are all necessary parts of a workstation
setup.

The first one because some virtualisation systems (windows 10 Hyper-V
for example) are braindamaged and will wake up VMs (including GNOME
VMs) with a system clock stuck at the time the VM was frozen. So you
better have a clock-skewing ntp client running in all your vms. chrony
is the best existing one right now IIRC (kuddo to chrony devs, they
passed their security audits with style)

The others because raid does exist on workstations, and the dmraid guys
never got around to finish replicating all the mdadm functionnalities
(pretty much like networkd stopped at integrating bonding, and never
bothered to do teaming, for example).

chrond, at, udev settle… that's all lack or good proeminent systemd
documentation, that causes third party projects to kludge, and gave up
on things they do not understand.

-- 
Nicolas Mailhot
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-10 Thread Julen Landa Alustiza
I'm really interested on the livet crash, but I can't reproduce it with
latest branched compose.
Can you provide us with reproduction steps?

Hau idatzi du Neal Gompa (ngomp...@gmail.com) erabiltzaileak (2019 api. 10,
az. (02:59)):

> On Tue, Apr 9, 2019 at 8:35 PM Chris Murphy 
> wrote:
> >
> > On Tue, Apr 9, 2019 at 10:07 AM Lennart Poettering 
> wrote:
> > >
> > > 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).
> >
> > I haven't seen a single one come across in QA
> >
> > > 1. multipathd.
> >
> > I'm pretty sure it gets dragged in by the installer, i.e. the
> > installation environment needs it because installing to multipath is
> > supported. And since it's on the Workstation LiveOS, it just gets
> > copied over along with the installer itself (LiveOS installs use
> > rsync). I wonder if it's reasonable to apply more exclude filtering
> > during rsync to avoid copying some things needed for Live OS
> > environment, but not on the final installed system. But that's sorta
> > up to Workstation WG I think.
> >
>
> Not having the rpmdb in sync with what content is on the system is
> probably not a good idea. I'd advocate for anaconda being able to run
> dnf to clean up stuff instead.
>
> >
> > > 2. dmraid.
> >
> > Same as above. I'm not sure whether, or when, dmraid stuff is going to
> > be dropped by anaconda. For a long time now dmraid is deprecated. The
> > two supported ways of doing software raid are managed by mdadm and
> > lvm, both of which actually use the md driver in the kernel.
> >
> > So I think this is a question for the anaconda team.
> >
> >
> > > 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)
> >
> > I think zfs-fuse and glusterfs are dragged in by libvirt, which is
> > present because of GNOME Boxes. I don't know why any of those want
> > crond.
> >
>
> These could be converted to systemd units. There's no reason not to,
> really...
>
> > mdadm scrub and monitoring depends on crond, and then email
> > notifications if mismatch count != 0; it's archaic these days I guess,
> > but that's how it works.
> >
> >
> > > 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.
> >
> > Agreed.
> >
> >
> > >
> > > 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?
> >
> > At the least it seems reasonable they can be disabled on the installed
> > system, and enabled for Live OS boot if the installer needs them.
> >
> > --
> > Chris Murphy
> > ___
> > devel mailing list -- devel@lists.fedoraproject.org
> > To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> > 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@lists.fedoraproject.org
>
>
>
> --
> 真実はいつも一つ!/ Always, there's only one truth!
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
>


-- 
Julen Landa Alustiza 
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread Neal Gompa
On Tue, Apr 9, 2019 at 8:35 PM Chris Murphy  wrote:
>
> On Tue, Apr 9, 2019 at 10:07 AM Lennart Poettering  
> wrote:
> >
> > 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).
>
> I haven't seen a single one come across in QA
>
> > 1. multipathd.
>
> I'm pretty sure it gets dragged in by the installer, i.e. the
> installation environment needs it because installing to multipath is
> supported. And since it's on the Workstation LiveOS, it just gets
> copied over along with the installer itself (LiveOS installs use
> rsync). I wonder if it's reasonable to apply more exclude filtering
> during rsync to avoid copying some things needed for Live OS
> environment, but not on the final installed system. But that's sorta
> up to Workstation WG I think.
>

Not having the rpmdb in sync with what content is on the system is
probably not a good idea. I'd advocate for anaconda being able to run
dnf to clean up stuff instead.

>
> > 2. dmraid.
>
> Same as above. I'm not sure whether, or when, dmraid stuff is going to
> be dropped by anaconda. For a long time now dmraid is deprecated. The
> two supported ways of doing software raid are managed by mdadm and
> lvm, both of which actually use the md driver in the kernel.
>
> So I think this is a question for the anaconda team.
>
>
> > 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)
>
> I think zfs-fuse and glusterfs are dragged in by libvirt, which is
> present because of GNOME Boxes. I don't know why any of those want
> crond.
>

These could be converted to systemd units. There's no reason not to, really...

> mdadm scrub and monitoring depends on crond, and then email
> notifications if mismatch count != 0; it's archaic these days I guess,
> but that's how it works.
>
>
> > 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.
>
> Agreed.
>
>
> >
> > 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?
>
> At the least it seems reasonable they can be disabled on the installed
> system, and enabled for Live OS boot if the installer needs them.
>
> --
> Chris Murphy
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org



-- 
真実はいつも一つ!/ Always, there's only one truth!
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread Chris Murphy
On Tue, Apr 9, 2019 at 10:07 AM Lennart Poettering  wrote:
>
> 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).

I haven't seen a single one come across in QA

> 1. multipathd.

I'm pretty sure it gets dragged in by the installer, i.e. the
installation environment needs it because installing to multipath is
supported. And since it's on the Workstation LiveOS, it just gets
copied over along with the installer itself (LiveOS installs use
rsync). I wonder if it's reasonable to apply more exclude filtering
during rsync to avoid copying some things needed for Live OS
environment, but not on the final installed system. But that's sorta
up to Workstation WG I think.


> 2. dmraid.

Same as above. I'm not sure whether, or when, dmraid stuff is going to
be dropped by anaconda. For a long time now dmraid is deprecated. The
two supported ways of doing software raid are managed by mdadm and
lvm, both of which actually use the md driver in the kernel.

So I think this is a question for the anaconda team.


> 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)

I think zfs-fuse and glusterfs are dragged in by libvirt, which is
present because of GNOME Boxes. I don't know why any of those want
crond.

mdadm scrub and monitoring depends on crond, and then email
notifications if mismatch count != 0; it's archaic these days I guess,
but that's how it works.


> 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.

Agreed.


>
> 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?

At the least it seems reasonable they can be disabled on the installed
system, and enabled for Live OS boot if the installer needs them.

-- 
Chris Murphy
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread mcatanzaro
On Tue, Apr 9, 2019 at 12:11 PM, Adam Williamson 
 wrote:

To be specific here, 'at' is part of the @standard group. 'chrony' is
pulled in several ways. It's part of @standard *if 
gnome-control-center
is being installed*, so effectively it'll be installed with 
Workstation

but not other editions/spins.


Note that Workstation doesn't include @standard at all.

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread David Cantrell
On 4/9/19 2:14 PM, Lennart Poettering wrote:
> On Di, 09.04.19 12:54, Stephen John Smoogen (smo...@gmail.com) wrote:
> 
>> I think these two are here because of the blivet you mentioned earlier.
>> Advanced partitioning requires them to be there... and there do seem to be
>> people who actually do expect both of those to work on their workstations
>> when it was looked at to be removed in the past.
> 
> Well, but anaconda makes some changes to the image after copying in
> the OS, no? it could also do an "systemctl disable mdraid.service
> --root=/installed/tree" or so if it knows that mdraid is not actually
> needed...

The general argument against doing things like that in anaconda is that
it will change later and this email thread becomes "Why is anaconda
running systemctl disable mdraid.service after installing the OS"

>> This is more about socializing and teaching the systemd replacements...
>> because most of the systemd advocates and heavy users I have asked aren't
>> sure about how systemd replaces them and go back to cron/atd. I actually
>> think that the replacements seem much better thought out than cruft-ware
>> but.. but I also have little confidence I could get it to work consistently
>> while I can find 10k tutorials on cron.
> 
> Well, we addresses similar cases by placing README files or so in
> those directories, so that people might notice if they are looking for
> something there... i.e. /var/log/README is a similar case and
> /etc/inittab too. I think we can do the same here too and make clear
> that people need to install cronie first before these things work.
> 
> Alternatively. just drop the cron dropin dirs from the base image: if
> i want to drop in a script in the dirs I should notice if I can't
> because the dir doesn't actually exist.
> 
> Lennart
> 
> --
> Lennart Poettering, Berlin
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
> 


-- 
David Cantrell 
Red Hat, Inc. | Boston, MA | EST5EDT
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread Lennart Poettering
On Di, 09.04.19 20:12, Richard Hughes (hughsi...@gmail.com) wrote:

> On Tue, 9 Apr 2019 at 19:27, Lennart Poettering  wrote:
> > Hmm? Can you elaborate? Why does fwupd's runtime have something to do
> > with display flickers? Not grokking the connection?
>
> More information in
> https://github.com/hughsie/fwupd/commit/75b965d01d80d70ae51816acd4d4cafdaf792e99
> -- in the case of MST it's where a fake monitor gets created on the
> hardware so the chip can wake up enough to tell us the current
> firmware version, but the fake monitor causes a flicker for a couple
> of reasons. I guess we could always just cache the last known version
> in some database somewhere and just assume it's not changed, but if
> we're not "alive" to see the device removal/insertion event we don't
> know the true state of the hardware. If you're worried about the
> startup speed or memory usage, we've been pretty keenly fixing both,
> but if you have any specific concerns let me know.

Hmm, but why would you scan for firmware versions during hotplug? why
not just when the user triggers a query if there's something to
update?

I presume fwupd subscribes to udev events for this, what precisely is
it susbcribing to?

Lennart

--
Lennart Poettering, Berlin
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread Richard Hughes
On Tue, 9 Apr 2019 at 19:27, Lennart Poettering  wrote:
> Hmm? Can you elaborate? Why does fwupd's runtime have something to do
> with display flickers? Not grokking the connection?

More information in
https://github.com/hughsie/fwupd/commit/75b965d01d80d70ae51816acd4d4cafdaf792e99
-- in the case of MST it's where a fake monitor gets created on the
hardware so the chip can wake up enough to tell us the current
firmware version, but the fake monitor causes a flicker for a couple
of reasons. I guess we could always just cache the last known version
in some database somewhere and just assume it's not changed, but if
we're not "alive" to see the device removal/insertion event we don't
know the true state of the hardware. If you're worried about the
startup speed or memory usage, we've been pretty keenly fixing both,
but if you have any specific concerns let me know.

Richard.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread Cole Robinson
On 4/9/19 2:20 PM, Lennart Poettering wrote:
> On Di, 09.04.19 10:11, Adam Williamson (adamw...@fedoraproject.org) wrote:
> 
>> Basically, anything that's part of the install environment is going to
>> be present after a live install. That accounts for both of the above:
>> the installer supports multipath and dmraid storage devices, so the
>> relevant packages are part of the install environment, so they're part
>> of the lives, so they're installed by a live install.
> 
> Hmm, but the installed OS is not 100% the same as the livesys, or is
> it? If not, it should be possible to add a "systemctl disable
> dmraid.service --root=/path/to/os" somewhere, no?
> 
>> To be specific here, 'at' is part of the @standard group. 'chrony'
>> is
> 
> Yupp, it's very confusing that we have chrony and cronie in our OS
> and both are installed by default... ;-)
> 
>>> I don't know on this. I remember something about containers and flatpaks
>>> but .. I don't know.
>>
>> Boxes is a key component of Workstation, and it relies on libvirt. It's
>> in the 'Core Applications' definition of the Workstation tech spec:
> 
> Hmm, but boxes supposedly uses the user session version of libvirt,
> no? it doesn't actually use the system service?
> 

You're right it does not explicitly talk to the system libvirtd
instance. But boxes implicitly depends on system libvirtd to autostart
the 'default' virtual network, which is the preferred networking method.
boxes VMs then essentially use a small setuid helper shipped with qemu
to use the default virbr0 for unprivileged VMs.

Thanks,
Cole
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


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

2019-04-09 Thread Cole Robinson
On 4/9/19 2:24 PM, Lennart Poettering wrote:
> On Di, 09.04.19 14:16, Cole Robinson (crobi...@redhat.com) wrote:
> 
>> On 4/9/19 1:09 PM, Zbigniew Jędrzejewski-Szmek wrote:
>>> On Tue, Apr 09, 2019 at 06:07:09PM +0200, Lennart Poettering wrote:
 multipathd [...] 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...).
>>>
>>> This was supposed to be fixed 
>>> https://bugzilla.redhat.com/show_bug.cgi?id=1631772.
>>> If not, please reopen that bug.
>>>
 5. libvirtd. Why is this running? Can't we make this socket
activatable + exit-on-idel?
>>>
>>> This was supposed to happen. See
>>> https://bugzilla.redhat.com/show_bug.cgi?id=1290357.
>>>
>>
>> This bug (briefly) describes why at present libvirt can't use socket
>> activation: https://bugzilla.redhat.com/show_bug.cgi?id=1326136
> 
> Hmm, so that is a valid request I guess. But why can't libvirt do
> exit-on-idle? i.e. after it started up, after it noticed that it has no VMs to
> run, checks that there are no IPC requests pending, can't it just exit
> then and then rely on socket activation to be started again when it is
> needed the next time? That way libvirt would start at boot, but not
> stick around during normal runtime.
> 

I don't know off hand of anything that would prevent it. Libvirt does
process events from running qemu VMs, but if there's no API users
connected to the daemon then I don't think libvirtd needs to be running;
it can handle restart and reconnecting to running VMs. That's
essentially the same behavior the session libvirtd instance uses which
auto shuts down after 30 seconds if there's no clients IIRC. danpb would
know best though, CCd

Thanks,
Cole
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org


  1   2   >