[CentOS] Bugs in yum update

Tue Jan 13 15:36:03 UTC 2009
William L. Maltby <CentOS4Bill at triad.rr.com>

On Tue, 2009-01-13 at 15:00 +0000, Mike -- EMAIL IGNORED wrote:
> On Tue, 13 Jan 2009 11:18:37 +0000, Tony Mountifield wrote:
> 
> [...]
> > 
> > This suggests that yum is not flushing output, possibly because it
> > doesn't think it's stdio is on a tty.
> > 
> > 1. Were you running yum update locally on the console, or remotely via a
> > network connection of some kind, e.g. ssh? If you do it as a direct
> > command to ssh (ssh myhost yum update) you might get those symptoms,
> > unless you also give -t to ssh: ssh -t myhost yum update
> > 
> > 2. If you were on the console, were you piping the output of yum through
> > something else like tee? e.g. yum update | tee mylogfile
> > If so, you might again get the same symptoms. If you want to capture the
> > output of the session, use the script command:
> > 
> > # script mylogfile
> > Script started, file is mylogfile
> > # yum update
> > # exit
> > Script done, file is mylogfile
> > #
> > 
> > If neither of the above is applicable, please explain exactly what you
> > did, step by step, including what you might consider insignificant.
> > 
> > Cheers
> > Tony
> 
> On the local console, I did:
>    yum update 2>&1 | tee log
> so, as you say, that might account for the
> problem.  But it is not clear to me why this would be
> so.  I'll try the script suggestion.

It's because _normal_ terminal output is terminated by a new line
character and the prompt "... this OK" is _not_. So tee, expecting
newlines as one of the things it can act upon, dutifully waits for the
new line character. Also, it is common programming practice to issue
prompts on stderr (or some other file descriptor not being stdin, stdout
or stderr) so that stdout can be captured while the stderr will still
appear upon a "console".

When you redirected stderr, with 2>&1 (btw, &> is shorthand for that)
you effectively "buffered" the prompt while tee awaited a new line
character.

> 
> FWIW, the missing output did not appear in the log file.
> 
> Thanks,
> Mike.

I know that doesn't help do what you want, but I thought the explanation
might be useful to you.

<snip sig stuff>

-- 
Bill