AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 790677
Accepted
dandan
dandan
Asked: 2016-07-20 04:46:42 +0800 CST2016-07-20 04:46:42 +0800 CST 2016-07-20 04:46:42 +0800 CST

Linux + 如何清理 /boot 并只保留当前内核版本文件

  • 772

在/boot我们有以下文件(red-hat Linux 6.6 版)

 cd /boot
 # ls -ltr

  drwx------ 2 root root    12288 Oct 15  2015 lost+found
 -rwxr-xr-x 1 root root  4152624 Oct 15  2015 vmlinuz-2.6.32-504.30.3.el6.x86_64
 -rw------- 1 root root  6084011 Oct 15  2015 initrd-2.6.32- 504.30.3.el6.x86_64kdump.img
  drwxr-xr-x 3 root root     1024 Oct 15  2015 efi
 -rw-r--r-- 1 root root   106371 Oct 15  2015 config-2.6.32-504.30.3.el6.x86_64
 -rw-r--r-- 1 root root  2546171 Oct 15  2015 System.map-2.6.32-504.30.3.el6.x86_64
 -rw-r--r-- 1 root root   200246 Oct 15  2015 symvers-2.6.32-504.30.3.el6.x86_64.gz
 -rw------- 1 root root 19360700 Oct 15  2015 initramfs-2.6.32-504.30.3.el6.x86_64.img
 -rwxr-xr-x 1 root root  4222736 Nov 23  2015 vmlinuz-2.6.32-573.12.1.el6.x86_64
 -rw-r--r-- 1 root root   107139 Nov 23  2015 config-2.6.32-573.12.1.el6.x86_64
 -rw-r--r-- 1 root root  2585672 Nov 23  2015 System.map-2.6.32-573.12.1.el6.x86_64
 -rw-r--r-- 1 root root   206008 Nov 23  2015 symvers-2.6.32-573.12.1.el6.x86_64.gz
 -rw------- 1 root root 24340354 Jul 16 03:20 initramfs-2.6.32-573.12.1.el6.x86_64.img
  drwxr-xr-x 2 root root     1024 Jul 16 03:20 grub

因为/boot的大小非常小,(90M 大小)

我们要从/boot中删除以前的内核,包括与此内核相关的所有其他文件

当前运行的内核版本

 # uname -r
 2.6.32-573.12.1.el6.x86_64

所以现在我想捕获所有与当前内核无关的文件,并且可以从/boot中删除

egrep -v 将完成这项工作

  # ls -ltr | egrep -v "2.6.32-573.12.1|lost\+found|grub|efi"

  -rwxr-xr-x 1 root root  4152624 Oct 15  2015 vmlinuz-2.6.32-504.30.3.el6.x86_64
  -rw------- 1 root root  6084011 Oct 15  2015 initrd-2.6.32-504.30.3.el6.x86_64kdump.img
  -rw-r--r-- 1 root root   106371 Oct 15  2015 config-2.6.32-504.30.3.el6.x86_64
  -rw-r--r-- 1 root root  2546171 Oct 15  2015 System.map-2.6.32-504.30.3.el6.x86_64
  -rw-r--r-- 1 root root   200246 Oct 15  2015 symvers-2.6.32-504.30.3.el6.x86_64.gz
  -rw------- 1 root root 19360700 Oct 15  2015 initramfs-2.6.32-504.30.3.el6.x86_64.img

  # rpm -qa | grep "2.6.32-504.30.3"
  kernel-2.6.32-504.30.3.el6.x86_64

所以我的计划是执行以下操作

  1. 删除 previos 内核

    rpm –e  kernel-2.6.32-504.30.3.el6.x86_64
    
  2. 从/boot中删除以下文件

    rm config-2.6.32-504.30.3.el6.x86_64 
    rm System.map-2.6.32-504.30.3.el6.x86_64
    rm symvers-2.6.32-504.30.3.el6.x86_64.gz
    rm initramfs-2.6.32-504.30.3.el6.x86_64.img
    

我的问题:

我的计划有风险吗?,或者我可以确定我的程序是安全的?

linux redhat rpm grub kernel
  • 2 2 个回答
  • 3178 Views

2 个回答

  • Voted
  1. Best Answer
    cormpadre
    2016-07-20T05:59:44+08:002016-07-20T05:59:44+08:00

    以前的答案应该可以,但我想我会提到'Yum-utils'可以让这更简单

    1. 检查安装了哪些内核:rpm -q kernel
    2. 安装 yum 工具:yum install yum-utils
    3. 包清理,其中 count 是您要保留的内核数:package-cleanup --oldkernels --count=2
    • 2
  2. bodgit
    2016-07-20T05:19:01+08:002016-07-20T05:19:01+08:00

    我认为你的计划过于复杂。

    无论如何,您建议在步骤 2 中删除的文件可能都归相关内核包所有。在我的测试 RHEL 6 机器上:

    $ rpm -qf /boot/initramfs-2.6.32-573.18.1.el6.x86_64.img kernel-2.6.32-573.18.1.el6.x86_64

    等等

    所以第 1 步应该删除所有内容。至于删除什么,rpm -qa kernel\*会列出所有安装的内核包。简单地找出不匹配的内容uname -r。注意这可能会如何影响您的 GRUB 配置,但如果您留在 RHEL 框架中,那么 GRUB 应该只引用已安装的内核。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve