The recently released apt 0.9.12 contains a bunch of good stuff, bugfixes and cleanups. But there are two new feature I particularly like.
The first is the new parameter “–with-new-pkgs” for the upgrade
# apt-get upgrade --with-new-pkgs
that will install new dependencies on the upgrade but never remove
packages. A typical use-case is a stable system that gets a kernel
with a new kernel ABI package.
The second is “–show-progress” for
install/remove/upgrade/dist-upgrade which will show inline progress
when dpkg is running to indicate the global progress.
# apt-get install --show-progress tea ... Selecting previously unselected package tea-data. (Reading database ... 380116 files and directories currently installed.) Unpacking tea-data (from .../tea-data_33.1.0-1_all.deb) ... Progress: [ 10%] Progress: [ 20%] Progress: [ 30%] Selecting previously unselected package tea. Unpacking tea (from .../tea_33.1.0-1_amd64.deb) ... Progress: [ 40%] Progress: [ 50%] Progress: [ 60%] Processing triggers for doc-base ... Processing 2 added doc-base files... Registering documents with scrollkeeper... ... Processing triggers for man-db ... Setting up tea-data (33.1.0-1) ... Progress: [ 70%] Progress: [ 80%] Setting up tea (33.1.0-1) ... Progress: [ 90%] Progress: [100%]
For the install progress, there is also a new experimental option
“Dpkg::Progress-Fancy”. It will display a persistent progress status bar in the last terminal line. This works like this:
# apt-get -o Dpkg::Progress-Fancy=true install tea
This kind of information is obviously most useful on complex operations like big installs or (release) upgrades.