依赖问题阻止升级

use*_*043 4 upgrade apt dependencies

由于自动更新安装新内核并删除旧内核而陷入根磁盘已满问题后,我现在面临依赖问题,无法升级我的系统。

sudo apt-get -f install 命令以以下错误结束:

dpkg: dependency problems prevent configuration of linux-image-virtual:
 linux-image-virtual depends on linux-image-3.2.0-52-virtual; however:
  Package linux-image-3.2.0-52-virtual is not installed.
dpkg: error processing linux-image-virtual (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from    a previous failure.                                                                                                                    

dpkg: dependency problems prevent configuration of linux-virtual:
 linux-virtual depends on linux-image-virtual (= 3.2.0.52.62); however:
  Package linux-image-virtual is not configured yet.
 linux-virtual depends on linux-headers-virtual (= 3.2.0.52.62); however:
  Version of linux-headers-virtual on system is 3.2.0.53.63.
dpkg: error processing linux-virtual (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from   a previous failure.


Errors were encountered while processing:
 linux-image-virtual
 linux-virtual
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

我已经阅读了几次与我的案例非常相似的另一个问题,但我无法解决我的问题。

如果我正确理解下面的输出,似乎在我的情况下 linux-headers-virtual 包的版本高于 linux-image-virtual

dpkg -l 命令的输出摘录:

ii  linux-headers-3.2.0-52           3.2.0-52.78                       Header files   related to Linux kernel version 3.2.0
ii  linux-headers-3.2.0-52-generic   3.2.0-52.78                       Linux kernel headers for version 3.2.0 on 64 bit x86 SMP
ii  linux-headers-3.2.0-52-virtual   3.2.0-52.78                       Linux kernel headers for version 3.2.0 on 64 bit x86 Virtual Guests
ii  linux-headers-3.2.0-53           3.2.0-53.81                       Header files related to Linux kernel version 3.2.0
ii  linux-headers-3.2.0-53-virtual   3.2.0-53.81                       Linux kernel headers for version 3.2.0 on 64 bit x86 Virtual Guests
ii  linux-headers-generic            3.2.0.52.62                       Generic Linux kernel headers
ii  linux-headers-virtual            3.2.0.53.63                       Linux kernel headers for virtual machines
ii  linux-image-3.2.0-44-generic     3.2.0-44.69                       Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-44-virtual     3.2.0-44.69                       Linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests
ii  linux-image-3.2.0-45-generic     3.2.0-45.70                       Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-45-virtual     3.2.0-45.70                       Linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests
ii  linux-image-3.2.0-48-generic     3.2.0-48.74                       Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-48-virtual     3.2.0-48.74                       Linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests
ii  linux-image-3.2.0-51-generic     3.2.0-51.77                       Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-51-virtual     3.2.0-51.77                       Linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests
ii  linux-image-3.2.0-52-generic     3.2.0-52.78                       Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-53-virtual     3.2.0-53.81                       Linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests
ii  linux-image-generic              3.2.0.52.62                       Generic Linux kernel image
iU  linux-image-virtual              3.2.0.52.62                       Linux kernel image for virtual machines
iU  linux-virtual                    3.2.0.52.62                       Complete Linux kernel for virtual machines 
Run Code Online (Sandbox Code Playgroud)

df -h 的输出(调整根分区大小后):

Filesystem                         Size  Used Avail Use% Mounted on
/dev/xvda2                          22G  961M   20G   5% /
udev                               111M  8.0K  111M   1% /dev
tmpfs                               48M  212K   48M   1% /run
none                               5.0M     0  5.0M   0% /run/lock
none                               120M     0  120M   0% /run/shm
/dev/xvda1                         461M  194M  244M  45% /boot
/dev/mapper/Main-Main--var         4.6G  339M  4.1G   8% /var
/dev/mapper/Main-Main--usr         4.6G  1.1G  3.3G  25% /usr
/dev/mapper/Main-Main--home        1.4G   35M  1.3G   3% /home
/dev/mapper/Main-Main--tmp         1.4G   35M  1.3G   3% /tmp
/dev/mapper/Main-Main--var----lib  2.8G  303M  2.4G  12% /var/lib
Run Code Online (Sandbox Code Playgroud)

df -i 的输出

Filesystem                         Inodes  IUsed   IFree IUse% Mounted on
/dev/xvda2                        1320336  28766 1291570    3% /
udev                                28362    433   27929    2% /dev
tmpfs                               30546    336   30210    2% /run
none                                30546      4   30542    1% /run/lock
none                                30546      1   30545    1% /run/shm
/dev/xvda1                         121920    276  121644    1% /boot
/dev/mapper/Main-Main--var         305216    460  304756    1% /var
/dev/mapper/Main-Main--usr         305216 197641  107575   65% /usr
/dev/mapper/Main-Main--home         91392     21   91371    1% /home
/dev/mapper/Main-Main--tmp          91776     11   91765    1% /tmp
/dev/mapper/Main-Main--var----lib  183264   4540  178724    3% /var/lib
Run Code Online (Sandbox Code Playgroud)

uname -r 输出:

3.2.0-44-virtual
Run Code Online (Sandbox Code Playgroud)

dpkg --print-architecture 输出

amd64
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。提前致谢。

use*_*043 8

到目前为止没有答案,我做了新的尝试......看到依赖关系问题是 linux 到 linux-virtual 和 linux-headers-virtual 我尝试删除该包(据我所知,这些包是虚拟包)。所以我表演了

sudo apt-get remove linux-headers-virtual linux-virtual  
Run Code Online (Sandbox Code Playgroud)

命令成功,所以我尝试使用重新安装它

sudo apt-get install linux-headers-virtual linux-virtual
Run Code Online (Sandbox Code Playgroud)

这也很成功。为了验证我试过

sudo apt-get -f install  
Run Code Online (Sandbox Code Playgroud)

成功了!!!最后清理我做了

sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

重新启动后一切正常,我能够执行 apt-get dist-upgrade。

希望这可以帮助一些人!!!