Package: aptitude Version: 0.4.11.11-1 I just tried installing git-core via aptitude on a minimal amd64 vserver running squeeze. The network mirror i was pulling from has been really flakey (maybe a corrupt network service? A MITM? who knows...) and some packages have been typically not validating properly. (i was pulling from ftp.us.debian.org, fwiw)
In the run transcribed below, the x11-common package (a Pre-Dep of xauth, which is a Recommendation of openssh-client, which is in turn an implicit Recommendation (via virtual package ssh-client) of git-core) failed to install due to a network download failure during an installation of git-core. But aptitude returned error code 0 ("success"!) for the operation as a whole. Re-running the command immediately (since i was directly supervising this operation, i noticed the unusual spew amidst the typical console feedback), i was surprised to see aptitude not even bother to try to re-fetch x11-common, but instead to remove a bunch of packages that it believed were no longer needed (originally installed because they were dependencies of x11-common, i guess). Presumably, if i'd run this against another mirror, or against the same mirror at a different time, the outcome would have been different (x11-common would have been installed, along with all of these other packages). The idea that my package manager might run, reporting no explicit error, and leave my system in an undeterminate state seems like a Bad Thing. For example, imagine managing a labful of a hundred machines. You use cfengine or puppet or cssh or hand-crafted scripts or whatever to invoke aptitude install git-core -y on all machines, with your choice of appropriate remedial action should the command fail. How many of those machines end up with x11-common installed? As an administrator, how can you maintain a predictable working environment for your users? --dkg 0 monkey:/# aptitude install git-core Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done The following NEW packages will be installed: ca-certificates{a} git-core libcurl3-gnutls{a} libedit2{a} liberror-perl{a} libexpat1{a} libidn11{a} libkeyutils1{a} libkrb53{a} libldap-2.4-2{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb-xlib0{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxmuu1{a} openssh-blacklist{a} openssh-blacklist-extra{a} openssh-client{a} openssl{a} rsync{a} x11-common{a} xauth{a} 0 packages upgraded, 25 newly installed, 0 to remove and 0 not upgraded. Need to get 12.8MB of archives. After unpacking 31.1MB will be used. Do you want to continue? [Y/n/?] Writing extended state information... Done Get:1 http://ftp.us.debian.org squeeze/main openssh-blacklist 0.4.1 [2125kB] Get:2 http://ftp.us.debian.org squeeze/main openssh-blacklist-extra 0.4.1 [2127k B] Get:3 http://ftp.us.debian.org squeeze/main x11-common 1:7.3+18 [343kB] Get:4 http://ftp.us.debian.org squeeze/main libxau6 1:1.0.3-3 [12.5kB] Get:5 http://ftp.us.debian.org squeeze/main libxdmcp6 1:1.0.2-3 [17.9kB] Get:6 http://ftp.us.debian.org squeeze/main libxcb1 1.1-1.1 [47.5kB] Get:7 http://ftp.us.debian.org squeeze/main libxcb-xlib0 1.1-1.1 [15.3kB] Get:8 http://ftp.us.debian.org squeeze/main libx11-data 2:1.1.5-2 [169kB] Get:9 http://ftp.us.debian.org squeeze/main libx11-6 2:1.1.5-2 [660kB] Get:10 http://ftp.us.debian.org squeeze/main libxext6 2:1.0.4-1 [36.6kB] Get:11 http://ftp.us.debian.org squeeze/main libxmuu1 2:1.0.4-1 [13.7kB] Get:12 http://ftp.us.debian.org squeeze/main xauth 1:1.0.3-2 [32.9kB] Get:13 http://ftp.us.debian.org squeeze/main libedit2 2.11~20080614-1 [75.5kB] Get:14 http://ftp.us.debian.org squeeze/main libidn11 1.10-3 [147kB] Get:15 http://ftp.us.debian.org squeeze/main libkeyutils1 1.2-10 [6164B] Get:16 http://ftp.us.debian.org squeeze/main libkrb53 1.6.dfsg.4~beta1-6 [519kB] Get:17 http://ftp.us.debian.org squeeze/main libldap-2.4-2 2.4.11-1 [205kB] Get:18 http://ftp.us.debian.org squeeze/main openssh-client 1:5.1p1-5 [854kB] Get:19 http://ftp.us.debian.org squeeze/main openssl 0.9.8g-15 [1043kB] Get:20 http://ftp.us.debian.org squeeze/main ca-certificates 20080809 [151kB] Get:21 http://ftp.us.debian.org squeeze/main libcurl3-gnutls 7.18.2-8 [214kB] Get:22 http://ftp.us.debian.org squeeze/main libexpat1 2.0.1-4 [136kB] Get:23 http://ftp.us.debian.org squeeze/main liberror-perl 0.17-1 [23.6kB] Get:24 http://ftp.us.debian.org squeeze/main git-core 1:1.5.6.5-3 [3426kB] Get:25 http://ftp.us.debian.org squeeze/main rsync 3.0.5-1 [349kB] Fetched 12.8MB in 48s (263kB/s) Preconfiguring packages ... Selecting previously deselected package openssh-blacklist. (Reading database ... 15952 files and directories currently installed.) Unpacking openssh-blacklist (from .../openssh-blacklist_0.4.1_all.deb) ... Selecting previously deselected package openssh-blacklist-extra. Unpacking openssh-blacklist-extra (from .../openssh-blacklist-extra_0.4.1_all.deb) ... Selecting previously deselected package libedit2. Unpacking libedit2 (from .../libedit2_2.11~20080614-1_amd64.deb) ... Selecting previously deselected package libidn11. Unpacking libidn11 (from .../libidn11_1.10-3_amd64.deb) ... Selecting previously deselected package libkeyutils1. Unpacking libkeyutils1 (from .../libkeyutils1_1.2-10_amd64.deb) ... Selecting previously deselected package libkrb53. Unpacking libkrb53 (from .../libkrb53_1.6.dfsg.4~beta1-6_amd64.deb) ... Selecting previously deselected package libldap-2.4-2. Unpacking libldap-2.4-2 (from .../libldap-2.4-2_2.4.11-1_amd64.deb) ... Selecting previously deselected package openssh-client. Unpacking openssh-client (from .../openssh-client_1%3a5.1p1-5_amd64.deb) ... Selecting previously deselected package openssl. Unpacking openssl (from .../openssl_0.9.8g-15_amd64.deb) ... Selecting previously deselected package ca-certificates. Unpacking ca-certificates (from .../ca-certificates_20080809_all.deb) ... Selecting previously deselected package libcurl3-gnutls. Unpacking libcurl3-gnutls (from .../libcurl3-gnutls_7.18.2-8_amd64.deb) ... Selecting previously deselected package libexpat1. Unpacking libexpat1 (from .../libexpat1_2.0.1-4_amd64.deb) ... Selecting previously deselected package liberror-perl. Unpacking liberror-perl (from .../liberror-perl_0.17-1_all.deb) ... Selecting previously deselected package git-core. Unpacking git-core (from .../git-core_1%3a1.5.6.5-3_amd64.deb) ... Selecting previously deselected package libxau6. Unpacking libxau6 (from .../libxau6_1%3a1.0.3-3_amd64.deb) ... Selecting previously deselected package libxdmcp6. Unpacking libxdmcp6 (from .../libxdmcp6_1%3a1.0.2-3_amd64.deb) ... Selecting previously deselected package libxcb1. Unpacking libxcb1 (from .../libxcb1_1.1-1.1_amd64.deb) ... Selecting previously deselected package libxcb-xlib0. Unpacking libxcb-xlib0 (from .../libxcb-xlib0_1.1-1.1_amd64.deb) ... Selecting previously deselected package libx11-data. Unpacking libx11-data (from .../libx11-data_2%3a1.1.5-2_all.deb) ... Selecting previously deselected package libx11-6. Unpacking libx11-6 (from .../libx11-6_2%3a1.1.5-2_amd64.deb) ... Selecting previously deselected package rsync. Unpacking rsync (from .../rsync_3.0.5-1_amd64.deb) ... Processing triggers for man-db ... Setting up openssh-blacklist (0.4.1) ... Setting up openssh-blacklist-extra (0.4.1) ... Setting up libedit2 (2.11~20080614-1) ... Setting up libidn11 (1.10-3) ... Setting up libkeyutils1 (1.2-10) ... Setting up libkrb53 (1.6.dfsg.4~beta1-6) ... Setting up libldap-2.4-2 (2.4.11-1) ... Setting up openssh-client (1:5.1p1-5) ... Setting up openssl (0.9.8g-15) ... Setting up ca-certificates (20080809) ... Updating certificates in /etc/ssl/certs....done. Running hooks in /etc/ca-certificates/update.d....done. Setting up libcurl3-gnutls (7.18.2-8) ... Setting up libexpat1 (2.0.1-4) ... Setting up liberror-perl (0.17-1) ... Setting up git-core (1:1.5.6.5-3) ... Setting up libxau6 (1:1.0.3-3) ... Setting up libxdmcp6 (1:1.0.2-3) ... Setting up libxcb1 (1.1-1.1) ... Setting up libxcb-xlib0 (1.1-1.1) ... Setting up libx11-data (2:1.1.5-2) ... Setting up libx11-6 (2:1.1.5-2) ... Setting up rsync (3.0.5-1) ... E: Failed to fetch http://ftp.us.debian.org/debian/pool/main/x/xorg/x11-common_7.3+18_all.deb: Hash Sum mismatch Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done 0 monkey:/# aptitude install git-core Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done The following packages will be REMOVED: libx11-6{u} libx11-data{u} libxau6{u} libxcb-xlib0{u} libxcb1{u} libxdmcp6{u} 0 packages upgraded, 0 newly installed, 6 to remove and 0 not upgraded. Need to get 0B of archives. After unpacking 4899kB will be freed. Do you want to continue? [Y/n/?] Writing extended state information... Done (Reading database ... 17305 files and directories currently installed.) Removing libx11-6 ... Removing libx11-data ... Removing libxcb-xlib0 ... Removing libxcb1 ... Removing libxau6 ... Removing libxdmcp6 ... Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done 0 monkey:/#
signature.asc
Description: OpenPGP digital signature