首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安全地从/boot分区中删除旧内核版本?

如何安全地从/boot分区中删除旧内核版本?
EN

Ask Ubuntu用户
提问于 2017-02-04 17:08:26
回答 1查看 1.2K关注 0票数 0

我不太喜欢Linux,我有以下问题,因为我的/boot分区似乎已经满了,而且它似乎会导致安装程序时出现问题。

我试图详细解释我的疑虑,因为我不太喜欢系统工程(我是一个软件开发人员)。

1)执行lsblk状态,列出有关所有可用或指定块设备的信息。

根据经验,我认为它应该显示所有分区/挂载磁盘的列表或类似的内容。这个术语到底意味着什么?

因此,如果我在我的Ubuntu系统上执行此状态,我将获得:

代码语言:javascript
复制
root@MyServer-VPS:~# lsblk
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0              2:0    1    4K  0 disk
sda              8:0    0   20G  0 disk
├─sda1           8:1    0  476M  0 part /boot
├─sda2           8:2    0    1K  0 part
├─sda3           8:3    0   10G  0 part
│ └─vg-lv_root 252:0    0 18.6G  0 lvm  /
└─sda5           8:5    0  9.5G  0 part
  ├─vg-lv_root 252:0    0 18.6G  0 lvm  /
  └─vg-lv_swap 252:1    0  952M  0 lvm  [SWAP]
sr0             11:0    1 1024M  0 rom

那么,磁盘、部件(应该是父磁盘的分区)、lvm和rom之间有什么区别呢?

一个特定的分区是引导,这个分区:

代码语言:javascript
复制
sda1           8:1    0  476M  0 part /boot

这是一个sda磁盘分区。

据我所知,它应该包含Linux内核下载的版本。是吗?

好的,挂载点是/boot,所以我认为它是进入我的系统的/boot目录(是吗?),这是内容:

代码语言:javascript
复制
root@MyServer-VPS:/boot# ls
abi-4.4.0-21-generic  config-4.4.0-21-generic  grub                         System.map-4.4.0-21-generic  vmlinuz-4.4.0-21-generic
abi-4.4.0-31-generic  config-4.4.0-31-generic  initrd.img-4.4.0-21-generic  System.map-4.4.0-31-generic  vmlinuz-4.4.0-31-generic
abi-4.4.0-34-generic  config-4.4.0-34-generic  initrd.img-4.4.0-31-generic  System.map-4.4.0-34-generic  vmlinuz-4.4.0-34-generic
abi-4.4.0-38-generic  config-4.4.0-38-generic  initrd.img-4.4.0-34-generic  System.map-4.4.0-38-generic  vmlinuz-4.4.0-38-generic
abi-4.4.0-42-generic  config-4.4.0-42-generic  initrd.img-4.4.0-38-generic  System.map-4.4.0-42-generic  vmlinuz-4.4.0-42-generic
abi-4.4.0-45-generic  config-4.4.0-45-generic  initrd.img-4.4.0-42-generic  System.map-4.4.0-45-generic  vmlinuz-4.4.0-45-generic
abi-4.4.0-47-generic  config-4.4.0-47-generic  initrd.img-4.4.0-45-generic  System.map-4.4.0-47-generic  vmlinuz-4.4.0-47-generic
abi-4.4.0-51-generic  config-4.4.0-51-generic  initrd.img-4.4.0-47-generic  System.map-4.4.0-51-generic  vmlinuz-4.4.0-51-generic
abi-4.4.0-53-generic  config-4.4.0-53-generic  initrd.img-4.4.0-51-generic  System.map-4.4.0-53-generic  vmlinuz-4.4.0-53-generic
abi-4.4.0-57-generic  config-4.4.0-57-generic  initrd.img-4.4.0-53-generic  System.map-4.4.0-57-generic  vmlinuz-4.4.0-57-generic
abi-4.4.0-59-generic  config-4.4.0-59-generic  lost+found                   System.map-4.4.0-59-generic  vmlinuz-4.4.0-59-generic

那么这些内容到底代表了什么呢?在这个系统上下载了不同的Linux内核版本吗?

abi-,config-,initrd.img-,System.map-和vmlinuz-4文件之间有什么区别?

如何检测使用过的内核版本?

2)执行df -h状态I获得以下输出:

代码语言:javascript
复制
root@MyServer-VPS:~# df -h
Filesystem              Size  Used Avail Use% Mounted on
udev                    477M     0  477M   0% /dev
tmpfs                   100M   16M   84M  16% /run
/dev/mapper/vg-lv_root   19G   12G  6.3G  64% /
tmpfs                   497M     0  497M   0% /dev/shm
tmpfs                   5.0M     0  5.0M   0% /run/lock
tmpfs                   497M     0  497M   0% /sys/fs/cgroup
/dev/sda1               461M  458M     0 100% /boot
tmpfs                   100M     0  100M   0% /run/user/0

具体而言,我认为:

代码语言:javascript
复制
/dev/sda1               461M  458M     0 100% /boot

所以这意味着我的/boot分区已经完全满了?

我的问题是:我能否安全地删除所有旧内核版本(未使用的版本)以释放/boot中的空间?

我该怎么做呢?

EN

回答 1

Ask Ubuntu用户

发布于 2017-02-04 17:57:25

您可以使用以下命令:

代码语言:javascript
复制
uname -a

查看当前使用的内核。然后可以使用以下命令:

代码语言:javascript
复制
dpkg -l | grep linux-image

看看您可以安全地移除哪个旧的内核。

由于删除旧内核可能仍然涉及到/boot中已经有一些空闲空间(是的,是catch22情况),所以可以使用">“标志来首先对您确信不会使用的旧内核进行零化处理。

例如:

代码语言:javascript
复制
sudo bash
> /boot/vmlinuz-4.4.0-59-generic
> /boot/vmlinuz-4.4.0-57-generic
exit

在/boot中释放空间之后,使用apt或dpkg命令更容易删除旧内核。

我以前成功地使用过这个方法,因为手动删除/boot/使用rm命令中的内核可能会导致apt/dpkg的问题,如果您想使用“apt自动删除--清除”命令。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/879822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档