linux 依赖关系解析失败,ubuntu 下boot 分区满导致 apt-get upgrade出错,依赖关系出问题的解决方案...

/boot 分区满导致 apt-get upgrade出错,依赖关系出问题的解决方案

1.查看当前使用内核版本

uname -a

root@ubuntu:~$ uname -a

Linux server117 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri

May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

当前内核版本 3.16.0-38-generic

2.手动删除旧的内核

root@ubuntu:/boot$ cd /boot

root@ubuntu:/boot$ ls

abi-3.16.0-30-generic  config-3.16.0-31-generic  initrd.img-3.16.0-31-generic

memtest86+_multiboot.bin  vmlinuz-3.16.0-30-generic

abi-3.16.0-31-generic  config-3.16.0-33-generic  initrd.img-3.16.0-33-generic

System.map-3.16.0-30-generic

vmlinuz-3.16.0-31-generic

abi-3.16.0-33-generic  config-3.16.0-34-generic  initrd.img-3.16.0-34-generic

System.map-3.16.0-31-generic

vmlinuz-3.16.0-33-generic

abi-3.16.0-34-generic  config-3.16.0-36-generic  initrd.img-3.16.0-36-generic

System.map-3.16.0-33-generic

vmlinuz-3.16.0-34-generic

abi-3.16.0-36-generic  config-3.16.0-37-generic  initrd.img-3.16.0-37-generic

System.map-3.16.0-34-generic

vmlinuz-3.16.0-36-generic

abi-3.16.0-37-generic  config-3.16.0-38-generic  initrd.img-3.16.0-38-generic

System.map-3.16.0-36-generic

vmlinuz-3.16.0-37-generic

abi-3.16.0-38-generic  config-3.16.0-41-generic  lost+found  System.map-3.16.0-37-generic

vmlinuz-3.16.0-38-generic

abi-3.16.0-41-generic  grub  memtest86+.bin  System.map-3.16.0-38-generic

vmlinuz-3.16.0-41-generic

config-3.16.0-30-generic

initrd.img-3.16.0-30-generic

memtest86+.elf  System.map-3.16.0-41-generic

可以看出有很多旧的内核。

以删除3.16.0-30-generic的为例:

列出:

root@ubuntu:/boot$ ll *3.16.0-30-generic

-rw-r--r-- 1 root root  1207386 Jan 16

2015 abi-3.16.0-30-generic

-rw-r--r-- 1 root root  171768 Jan 16

2015 config-3.16.0-30-generic

-rw-r--r-- 1 root root 20380509 Mar  7 19:35

initrd.img-3.16.0-30-generic

-rw------- 1 root root  3511040 Jan 16

2015 System.map-3.16.0-30-generic

-rw------- 1 root root  6345104 Jan 16

2015 vmlinuz-3.16.0-30-generic

删除/boot下的内核文件:

root@ubuntu:/boot$ sudo rm -rf *3.16.0-30-generic

删除/lib/modules下的内核文件:

root@ubuntu:/boot$ cd /lib/modules

root@ubuntu:/lib/modules$ ls

3.16.0-30-generic  3.16.0-33-generic

3.16.0-36-generic

3.16.0-38-generic

3.16.0-43-generic

3.16.0-31-generic  3.16.0-34-generic

3.16.0-37-generic

3.16.0-41-generic

3.16.0-45-generic

root@ubuntu:/lib/modules$ sudo rm -rf 3.16.0-30-generic

修改/boot/grub/grub.cfg文件,删除其中相应的项目:

修改文件权限:

root@ubuntu:~$ cd /boot/grub

root@ubuntu:/boot/grub$ sudo chmod 777

grub.cfg

root@ubuntu:/boot/grub$ cp grub.cfg ~/grub.cfg.bak #备份文件

root@ubuntu:/boot/grub$ vi grub.cfg

删除以menuentry开头的, 以‘Ubuntu, with Linux

3.16.0-30-generic’为关键字的段落,一共 两个,注意相对的{} , 不要误删。

内核删除完毕

reboot

重启之后的效果

root@ubuntu:~$ uname -a

Linux server117 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri

May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

root@ubuntu:~$ df -h

Filesystem  Size

Used Avail Use% Mounted on

/dev/mapper/server117--vg-root  5.6G

4.1G  1.3G  78%

/

none  4.0K  0  4.0K  0%

/sys/fs/cgroup

udev  2.0G  4.0K

2.0G  1% /dev

tmpfs  396M  680K

395M  1% /run

none  5.0M  0  5.0M  0%

/run/lock

none  2.0G  0  2.0G  0%

/run/shm

none  100M  0  100M  0%

/run/user

/dev/sda1  236M

200M  24M  90%

/boot

内核依然是 3.16.0-38-generic

/boot 分区已经下降了10%

重复删除旧版本内核。

命令总结:

sudo rm -rf /boot/*3.16.0-33-generic

sudo rm -rf /lib/modules/3.16.0-33-generic

vi /boot/grub/grub.cfg

然后这样内核删除的差不多了

Last login: Wed Aug 19 17:55:08 2015

root@ubuntu:~$ df -h

Filesystem  Size

Used Avail Use% Mounted on

/dev/mapper/server117--vg-root  5.6G

3.7G  1.6G  70%

/

none  4.0K  0  4.0K  0%

/sys/fs/cgroup

udev  2.0G  4.0K

2.0G  1% /dev

tmpfs  396M  680K

395M  1% /run

none  5.0M  0  5.0M  0%

/run/lock

none  2.0G  0  2.0G  0%

/run/shm

none  100M  0  100M  0%

/run/user

/dev/sda1  236M

139M  85M  63%

/boot

我们开始装新的内核,并解决依赖关系:

root@ubuntu:~$ sudo apt-get -f install

[sudo] password for web2admin:

Reading package lists... Done

Building dependency tree

Reading state information... Done

Correcting dependencies... Done

The following packages were automatically installed and are no

longer required:

linux-headers-3.16.0-30

linux-headers-3.16.0-30-generic

linux-headers-3.16.0-31

linux-headers-3.16.0-31-generic

linux-headers-3.16.0-33

linux-headers-3.16.0-33-generic

linux-headers-3.16.0-34

linux-headers-3.16.0-34-generic

linux-headers-3.16.0-36

linux-headers-3.16.0-36-generic

linux-headers-3.16.0-37

linux-headers-3.16.0-37-generic

linux-headers-3.16.0-43

linux-headers-3.16.0-43-generic

linux-image-3.16.0-30-generic

linux-image-3.16.0-31-generic

linux-image-3.16.0-33-generic

linux-image-3.16.0-34-gener

。。。

Found initrd image: /boot/initrd.img-3.16.0-41-generic

Found linux image: /boot/vmlinuz-3.16.0-38-generic

Found initrd image: /boot/initrd.img-3.16.0-38-generic

Found linux image: /boot/vmlinuz-3.16.0-37-generic

Found initrd image: /boot/initrd.img-3.16.0-37-generic

Found linux image: /boot/vmlinuz-3.16.0-36-generic

Found initrd image: /boot/initrd.img-3.16.0-36-generic

Found linux image: /boot/vmlinuz-3.16.0-34-generic

Found initrd image: /boot/initrd.img-3.16.0-34-generic

Found memtest86+ image: /memtest86+.elf

Found memtest86+ image: /memtest86+.bin

done

Setting up linux-image-3.16.0-43-generic

(3.16.0-43.58~14.04.1) ...

Running depmod.

让他自动清理一下无用的内核文件.

sudo apt-get autoremove

Removing linux-image-3.16.0-41-generic (3.16.0-41.55~14.04.1)

...

Examining /etc/kernel/postrm.d .

run-parts: executing /etc/kernel/postrm.d/initramfs-tools

3.16.0-41-generic /boot/vmlinuz-3.16.0-41-generic

update-initramfs: Deleting

/boot/initrd.img-3.16.0-41-generic

run-parts: executing /etc/kernel/postrm.d/zz-update-grub

3.16.0-41-generic /boot/vmlinuz-3.16.0-41-generic

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-3.16.0-45-generic

Found initrd image: /boot/initrd.img-3.16.0-45-generic

Found linux image: /boot/vmlinuz-3.16.0-43-generic

Found initrd image: /boot/initrd.img-3.16.0-43-generic

Found memtest86+ image: /memtest86+.elf

Found memtest86+ image: /memtest86+.bin

done

sudo apt-get autoremove 结束显示,表示成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值