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