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

Re: fsck progress not shown on boot with systemd as pid 1



The Wanderer wrote:
> Brian wrote:
> > Bob Proulx wrote:
> >> Just for the record I complain about that behavior.  I don't like
> >> the fancy tty colors and always disable them.  I don't like the
> >> screen clearing those away and so I always set the getty --noclear
> >> option. The problem is that while there may be complaints like mine
> >> I don't see them changing anything.
> > 
> > Upstream for agetty responded to concerns about security from users,
> > some of whom apparently had the compliance police breathing down
> > their necks. My view on such idiocy is probably not for this list.
> > The --noclear option rules here too.
> 
> Where do you set this, exactly? /etc/inittab ?

Note that Squeeze 6 /sbin/getting does not support --noclear so don't
set this on Squeeze systems.  But for Wheezy 7 and later this snippet
will make automate the change.  It is part of the standard system
config for me.

    if [ -f /etc/inittab ]; then
      if grep -q '^1:2345:respawn:/sbin/getty 38400 tty' /etc/inittab; then
	log "Fixing getty --noclear in /etc/inittab"
	sed --in-place '/^1/s/getty 38400/getty --noclear 38400/' /etc/inittab
	kill -1 1  # Tell init to re-read the inittab file.
      fi
    fi

One of the problems with the fancytty colors is that I always end up
needing to work around color escape sequences in log files.  Gack.
But even if the log file problem were completely fixed I would still
rather have the simplest console boot messages possible.

  cnf="/etc/lsb-base-logging.sh"
  line="FANCYTTY=no"
  var=${line%%=*}
  if [ ! -f "$cnf" ]; then
    echo "$line" > "$cnf"
    log "Fixing $cnf for no fancy tty output"
  else
    if ! grep -q -F -x "$line" "$cnf"; then
      if grep -q "^$var=" "$cnf"; then
        sed --in-place "s/^$var=.*/$line/" "$cnf"
      else
        echo "$line" >> "$cnf"
      fi
      log "Fixing $cnf for no fancy tty output"
    fi
  fi

And "log" above is a local function that you can replace with "echo"
or your own logging routine.  My simple one is:

  log() {
    echo "$@"
    logger -t medley "$*"
  }

> (If so, what about for systemd? /etc/inittab is much about
> runlevels, which systemd doesn't use AFAIK.)

As you may have figured out anything you have learned about Unix-like
systems over the last forty years is thrown out with systemd since it
is a completely new operating system.  Everything is different with
systemd.  Nothing previously learned applies to it.

> I don't generally have much problem with reading the boot messages as
> they scroll past, but my short-term memory isn't always as sharp as I'd
> like, so I'd like to be able to refer back to them after they scroll
> off-screen anyway.

I think they are available for terminal scrollback.  I just tried to
verify this just now but I don't even have a full screen of boot
messages and therefore can't page back because it is less than one
page.  But I think if it is more than one page that you can use the
terminal page keys to scroll back into the terminal window history.

Bob

Attachment: signature.asc
Description: Digital signature


Reply to: