Hi,
I have prepared some by hand upgrade recipe for fabric, where I have in
fabfile.py...
def _ensure_perl_readline():
rlname = run("""perl -MTerm::ReadLine -e
'print(Term::ReadLine->ReadLine())'""", quiet=True)
if not rlname == "Term::ReadLine::Gnu":
run('aptitude install -q -q libterm-readline-gnu-perl')
@parallel
def aptitude_update():
run('aptitude update', quiet=True)
def aptitude_upgrade():
run('DEBIAN_FRONTEND=readline aptitude -q -q safe-upgrade')
@task
@runs_once
def upgrade():
_ensure_perl_readline()
execute(aptitude_update)
execute(aptitude_upgrade)
The output of dpkg is problem. I want to have tty because of debconf
interactive questions. Now the output is e.g.:
zito@ser1:~/admin$ fab -H nsi1.brn.i.cz upgrade
[nsi1.brn.i.cz] Executing task 'upgrade'
[nsi1.brn.i.cz] run: aptitude install -q -q libterm-readline-gnu-perl
[nsi1.brn.i.cz] out: The following NEW packages will be installed:
[nsi1.brn.i.cz] out: libterm-readline-gnu-perl
[nsi1.brn.i.cz] out: 0 packages upgraded, 1 newly installed, 0 to remove and 1
not upgraded.
[nsi1.brn.i.cz] out: Need to get 99.1 kB of archives. After unpacking 266 kB
will be used.
[nsi1.brn.i.cz] out: Selecting previously unselected package
libterm-readline-gnu-perl.
[nsi1.brn.i.cz] out: (Reading database ...
[nsi1.brn.i.cz] out: (Reading database ... 5%
[nsi1.brn.i.cz] out: (Reading database ... 10%
[nsi1.brn.i.cz] out: (Reading database ... 15%
[nsi1.brn.i.cz] out: (Reading database ... 20%
[nsi1.brn.i.cz] out: (Reading database ... 25%
[nsi1.brn.i.cz] out: (Reading database ... 30%
[nsi1.brn.i.cz] out: (Reading database ... 35%
[nsi1.brn.i.cz] out: (Reading database ... 40%
[nsi1.brn.i.cz] out: (Reading database ... 45%
[nsi1.brn.i.cz] out: (Reading database ... 50%
[nsi1.brn.i.cz] out: (Reading database ... 55%
[nsi1.brn.i.cz] out: (Reading database ... 60%
[nsi1.brn.i.cz] out: (Reading database ... 65%
[nsi1.brn.i.cz] out: (Reading database ... 70%
[nsi1.brn.i.cz] out: (Reading database ... 75%
[nsi1.brn.i.cz] out: (Reading database ... 80%
[nsi1.brn.i.cz] out: (Reading database ... 85%
[nsi1.brn.i.cz] out: (Reading database ... 90%
[nsi1.brn.i.cz] out: (Reading database ... 95%
[nsi1.brn.i.cz] out: (Reading database ... 100%
[nsi1.brn.i.cz] out: (Reading database ... 44444 files and directories
currently installed.)
[nsi1.brn.i.cz] out: Preparing to unpack
.../libterm-readline-gnu-perl_1.24-2+b1_amd64.deb ...
[nsi1.brn.i.cz] out: Unpacking libterm-readline-gnu-perl (1.24-2+b1) ...
[nsi1.brn.i.cz] out: Processing triggers for man-db (2.7.0.2-5) ...
[nsi1.brn.i.cz] out: Setting up libterm-readline-gnu-perl (1.24-2+b1) ...
[nsi1.brn.i.cz] out:
[nsi1.brn.i.cz] Executing task 'aptitude_update'
[nsi1.brn.i.cz] Executing task 'aptitude_upgrade'
[nsi1.brn.i.cz] run: DEBIAN_FRONTEND=readline aptitude -q -q safe-upgrade
[nsi1.brn.i.cz] out: The following packages will be upgraded:
[nsi1.brn.i.cz] out: linux-image-3.16.0-4-amd64
[nsi1.brn.i.cz] out: 1 packages upgraded, 0 newly installed, 0 to remove and 0
not upgraded.
[nsi1.brn.i.cz] out: Need to get 0 B/33.8 MB of archives. After unpacking
1,024 B will be used.
[nsi1.brn.i.cz] out: Do you want to continue? [Y/n/?]
[nsi1.brn.i.cz] out: Preconfiguring packages ...
[nsi1.brn.i.cz] out: (Reading database ...
[nsi1.brn.i.cz] out: (Reading database ... 5%
[nsi1.brn.i.cz] out: (Reading database ... 10%
[nsi1.brn.i.cz] out: (Reading database ... 15%
[nsi1.brn.i.cz] out: (Reading database ... 20%
[nsi1.brn.i.cz] out: (Reading database ... 25%
[nsi1.brn.i.cz] out: (Reading database ... 30%
[nsi1.brn.i.cz] out: (Reading database ... 35%
[nsi1.brn.i.cz] out: (Reading database ... 40%
[nsi1.brn.i.cz] out: (Reading database ... 45%
[nsi1.brn.i.cz] out: (Reading database ... 50%
[nsi1.brn.i.cz] out: (Reading database ... 55%
[nsi1.brn.i.cz] out: (Reading database ... 60%
[nsi1.brn.i.cz] out: (Reading database ... 65%
[nsi1.brn.i.cz] out: (Reading database ... 70%
[nsi1.brn.i.cz] out: (Reading database ... 75%
[nsi1.brn.i.cz] out: (Reading database ... 80%
[nsi1.brn.i.cz] out: (Reading database ... 85%
[nsi1.brn.i.cz] out: (Reading database ... 90%
[nsi1.brn.i.cz] out: (Reading database ... 95%
[nsi1.brn.i.cz] out: (Reading database ... 100%
[nsi1.brn.i.cz] out: (Reading database ... 44468 files and directories
currently installed.)
[nsi1.brn.i.cz] out: Preparing to unpack
.../linux-image-3.16.0-4-amd64_3.16.7-ckt20-1+deb8u3_amd64.deb ...
[nsi1.brn.i.cz] out: Unpacking linux-image-3.16.0-4-amd64
(3.16.7-ckt20-1+deb8u3) over (3.16.7-ckt20-1+deb8u2) ...
[nsi1.brn.i.cz] out: Setting up linux-image-3.16.0-4-amd64
(3.16.7-ckt20-1+deb8u3) ...
[nsi1.brn.i.cz] out: /etc/kernel/postinst.d/initramfs-tools:
[nsi1.brn.i.cz] out: update-initramfs: Generating
/boot/initrd.img-3.16.0-4-amd64
[nsi1.brn.i.cz] out: W: Possible missing firmware
/lib/firmware/tigon/tg3_tso5.bin for module tg3
[nsi1.brn.i.cz] out: W: Possible missing firmware
/lib/firmware/tigon/tg3_tso.bin for module tg3
[nsi1.brn.i.cz] out: W: Possible missing firmware /lib/firmware/tigon/tg3.bin
for module tg3
[nsi1.brn.i.cz] out: /etc/kernel/postinst.d/zz-update-grub:
[nsi1.brn.i.cz] out: Generating grub configuration file ...
[nsi1.brn.i.cz] out: Found linux image: /boot/vmlinuz-3.16.0-4-amd64
[nsi1.brn.i.cz] out: Found initrd image: /boot/initrd.img-3.16.0-4-amd64
[nsi1.brn.i.cz] out: done
[nsi1.brn.i.cz] out:
Done.
Disconnecting from nsi1.brn.i.cz... done.
The option to suppress dpkg progress output could be very worth.
I want to have tty on output, because of debconf questions of course.
Thanks for your work
Regards
--
Zito