The behaviour of systemctl.

Lennart Poettering mzerqung at 0pointer.de
Sat Jun 18 15:25:36 UTC 2011


On Sat, 18.06.11 16:39, Aaron Sowry (aaron+rh at aeneby.se) wrote:

> > > - The same command outputs column headers on tty, and no headers
> > >   otherwise. This is inconsistent. If I am outputting to a file, or
> > >   perhaps a printer, and want headers on my non-tty output, I have to
> > >   add them myself since there is no flag to force them on non-tty
> > >   channels. If I don't want them and they are present, I tail.
> > 
> > I am pretty sure that if you ask us nicely, we'll add an option to
> > enable headers nonetheless. It's however usually simpler if you pipe
> > something not to have to use tail/head.
> 
> Yet another flag to work around inconsistent behaviour is the last thing
> systemctl needs. Simplicity is not the issue here - you are assuming that output
> piped to something other than a tty is not destined for human eyes. I shouldn't
> have to convince you that this is nonsense, and will only get worse if --full is
> applied automatically to all non-tty output. Shall we add a --no-full flag to
> work around this, too?

You know, I'd prefer if you take up your beef with "ls" first. Have you
ever compared the output of "ls" and of "ls | cat"? And that's just the
most obvious case.

Generating slightly different output on a tty than when used in another
way is deeply rooted in Linux heritage. Autopaging is just a small step
forward in that area. And a very welcome one. In this regard systemd is
just following the evolution of Linux. We are not revolutionizing in
this area, and we are not pioneering either.

> > > - Currently, if I run 'systemctl --all' and have no pager (at least no
> > >   pager that systemctl knows of) available, I get an error message and
> > >   no output. This is horribly bad form, and forces me to use
> > >   --no-pager or pipe to cat in order to get output. This issue is
> > >   acknowledged in RH bug 713707.
> > 
> > We generally do not support if people delete arbitrary things from their
> > installation. /bin/more is part of util-linux, and if you delete that
> > then you broke your system, so don't complain to us please.
> 
> It is difficult to concieve where systemd might end up in future. 

And how does that matter for Fedora?

> Is util-linux a systemd dependency?

Yes, absolutely. systemd depends on util-linux for the gettys, for fsck,
for mount, for umount, for swapoff, for swapon -- all these commands are
more than just wrappers around kernel functionality and are pretty much
the Linux API for the respective functionality.

> > > - Another bright idea (RH bug 713567) is that --full should be applied
> > >   to non-tty output automatically, and not to tty output.
> > 
> > Yes, it actually makes sense and has been requested which is why we
> > implemented it.
> 
> This is being implemented now?

Hmm? Implicit --full when using a pager has been the default since quite
some time in systemd.

> > > No other Linux/UNIX tools make this assumption (with
> > > perhaps the exception of git-log et. al.), and if you are wanting
> > > administrators to feel comfortable with your new soon-to-be-ubiquitous
> > > tools, then I suggest you try to be consistent with existing
> > > convention. 
> > 
> > I think you are mixing up "administrators" with "Aaron Sowry".
> 
> Not really. All other administrators use exactly the same tools I do, very few
> of which behave like systemctl. Having to deal with command-specific behaviour
> only makes it more difficult to learn a new tool.

Yupp, as I see it it eases an administrator's life.

I guess we just have to agree to disagree on this, and leave it at
this. Sorry if that is disappointing.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the devel mailing list