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

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

Unix & Linux用户
提问于 2017-02-04 17:13:07
回答 2查看 1.8K关注 0票数 1

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

我正在使用Ubuntu Ubuntu 16.04.1 LTS

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

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磁盘分区。

是吗?

好的,挂载点是/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

回答 2

Unix & Linux用户

发布于 2017-02-04 19:06:38

这是一个问题中的许多问题:

这个术语到底意味着什么?

块装置是为操作系统提供对硬件设备的缓冲访问和抽象层的特殊文件。

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

磁盘和部件,如您所猜测的,是物理磁盘或驱动器以及它们上的分区。lvm是逻辑卷管理器的缩写。它将多个分区分组到一个逻辑卷中,以便更好地管理磁盘空间。rom是您的光盘或dvd驱动器名为"sr0“。

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

您可以通过键入终端来检测当前正在使用的内核:

代码语言:javascript
复制
uname -a

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

实际上,您的引导分区是完全满的,这将阻止ubuntu安装内核的新版本。

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

您可以尝试从系统中删除旧包,这将从引导分区中释放旧内核。在终端输入此命令,输入管理员密码,然后回答"y“以删除旧包:

代码语言:javascript
复制
sudo apt autoremove

这将安全地删除旧的内核版本,并更新您的引导选项和initram-fs。

票数 1
EN

Unix & Linux用户

发布于 2017-02-04 18:57:51

我确信Ubuntu的方法是使用GUI包管理器,但我只需要在命令行中这样做。

首先,找出到底安装了什么包名-

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

计算出内核实际运行的是什么

代码语言:javascript
复制
uname -a

然后使用

代码语言:javascript
复制
sudo apt-get autoremove PackageName

其中PackageName是您想要去掉的内核映像包的名称-它可能类似于Linux-Image-4.4.0-21泛型。这将删除内核映像(您的/boot目录文件)、/lib/模块/内核_version目录结构、内核标头包等,根据需要重新配置grub等等。

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

https://unix.stackexchange.com/questions/342525

复制
相关文章

相似问题

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