相关疑难解决方法(0)

/boot 已满时如何删除旧内核/安装新内核?

我知道这个问题以前被问过很多次,但是我想这有点不同。

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       224G  5.2G  208G   3% /
udev            1.9G  4.0K  1.9G   1% /dev
tmpfs           777M  260K  777M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
/dev/sda2        90M   88M     0 100% /boot
/dev/sda6       1.9G  514M  1.3G  29% /tmp
Run Code Online (Sandbox Code Playgroud)

我的启动分区已满。

当前内核:

# uname -r
3.2.0-35-generic
Run Code Online (Sandbox Code Playgroud)

所有内核:

# dpkg --list | grep linux-image
ii  linux-image-3.2.0-32-generic    3.2.0-32.51                         Linux kernel image for version 3.2.0 on 64 bit x86 SMP …
Run Code Online (Sandbox Code Playgroud)

apt

32
推荐指数
5
解决办法
8万
查看次数

删除 Grub 中的旧内核条目

我经常使用 Synaptic 删除旧内核,只留下最新的两个条目。

我正在使用精确。但是,在我的 Grub“以前的 Linux 版本”菜单中,有很多条目标记为 2.6.8。我在 Synaptic 中找不到这些 linux 映像。

dpkg -l | grep linux-image
Run Code Online (Sandbox Code Playgroud)

给出:

rc  linux-image-3.0.0-17-generic           3.0.0-17.30                         
    Linux kernel image for version 3.0.0 on x86/x86_64
ii  linux-image-3.2.0-27-generic           3.2.0-27.43
Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-29-generic           3.2.0-29.46
Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.4.0-030400-generic       3.4.0-030400.201205210521
Linux kernel image for version 3.4.0 on 32 bit x86 SMP
ii  linux-image-generic                    3.2.0.29.31
Generic Linux kernel image
Run Code Online (Sandbox Code Playgroud)

Sudo update-grub …

grub2 kernel

28
推荐指数
3
解决办法
10万
查看次数

如何从启动菜单中删除不需要的条目?

可能的重复:
有没有办法删除/隐藏旧的内核版本?

当我的系统启动时,除了 Windows 操作系统选项之外,还会显示大约 6 个选项的大列表。

他们就像:

Ubuntu 10.04- linux kernel 2.6.32-25  
Ubuntu 10.04- linux kernel 2.6.32-25 (recovery)  
Ubuntu 10.04- linux kernel 2.6.32-26  
Ubuntu 10.04- linux kernel 2.6.32-26 (recovery)  
...etc  
Memory Test..  
Windows XP Professional  
Run Code Online (Sandbox Code Playgroud)

如何从此列表中删除不需要的条目?

boot grub2

25
推荐指数
0
解决办法
3656
查看次数

Bash one-liner 仅删除旧内核

我已经看到很多关于如何在 /boot 分区上释放空间的主题,这也是我的目标。但是,我只对删除内核感兴趣,而不是删除每个内核,而是删除当前内核。

我需要解决方案是单行的,因为我将从 Puppet 运行脚本并且我不想有额外的文件。到目前为止,我得到了以下信息:

dpkg -l linux-* | awk '/^ii/{print $2}' | egrep [0-9] | sort -t- -k3,4 --version-sort -r | sed -e "1,/$(uname -r | cut -f1,2 -d"-")/d" | grep -v -e `uname -r | cut -f1,2 -d"-"` | xargs sudo apt-get -y purge
Run Code Online (Sandbox Code Playgroud)

更准确地说,它目前的作用如下:

  • 列出所有 linux-* 包并打印它们的名称。
  • 只列出有数字的那些并对其进行排序,返回相反的结果。这样,较旧的内核会列在最后。
  • 仅打印当前内核之后的结果
  • 由于有一些 linux-{image,headers} 结果,请确保我不会清除与当前内核相关的任何内容
  • 呼叫易于清除

这行得通,但我确信该解决方案可以更优雅,并且对于生产环境来说是安全的,因为我们至少有 20 台服务器运行 Ubuntu。

谢谢你的时间,亚历杭德罗。

bash kernel boot-partition

25
推荐指数
2
解决办法
3万
查看次数

如何自动删除旧的内核版本?

我知道手动删除旧内核版本的多种方法。有没有办法自动删除旧的内核版本?自动地,从某种意义上说,每次内核更新时我都不必做同样的事情。

kernel

23
推荐指数
0
解决办法
4905
查看次数

为什么 /lib/modules 在 xubuntu 上占用这么多空间?

我有一个 2G 的主分区,/lib/modules 占用的空间超过 1.5G。我得到了 12 个以内核 2.6.32 版本命名的目录,每个目录占用 119k。为什么我有这一切?我需要所有这些吗?如果没有,删除我不需要的东西的干净方法是什么?

谢谢

kernel

21
推荐指数
1
解决办法
3万
查看次数

这个删除旧内核的命令是否可以安全使用?

在网上浏览 Ubuntu 文章时,我遇到了这个命令:

sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
Run Code Online (Sandbox Code Playgroud)

作者说这是一个单行命令,它将删除所有以前版本的Linux,只保留当前版本

我实际上正在寻找这样的命令,但我不太确定这有多安全。我想知道:

  • 执行这个命令是否安全?
  • 这个命令是如何工作的?即解释这么大的命令的小部分
  • 如果此命令用于某些不同的目的,那么实现作者声称的功能的正确命令是什么?

当我试图自己推论时,我变得非常困惑和沮丧。它包含了这是如何指挥工作众多/|\*,和^字符,这是很难为谷歌。

我正在寻找此命令的分步翻译和解释,但我无法在互联网上找到!

package-management security command-line

21
推荐指数
3
解决办法
8151
查看次数

无人值守升级是否还包括 apt-get autoremove?

假设我最近通过以下方式安装了无人值守升级:

sudo apt-get install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades -y
Run Code Online (Sandbox Code Playgroud)

无人值守升级是否还包括apt-get autoremove

或者我应该在无人值守升级层上添加每周一次的 cronjob 以确保删除的包的依赖项也被删除,通过crontab -e然后:

0 0 * * 0 apt-get autoremove -y
Run Code Online (Sandbox Code Playgroud)

注意:如果需要,请随意提及除 autoremove 之外的类似 apt 概念。

upgrade package-management apt cron unattended-upgrades

20
推荐指数
2
解决办法
6128
查看次数

如何从以前的版本中删除内核?

可能的重复:
有没有办法删除/隐藏旧的内核版本?

我使用 CD 将我的 Ubuntu 11.10 系统升级到 12.04。升级后,我尝试使用 Synaptic Package Manager 删除出现在 grub 启动菜单中的旧版本内核。但是旧的内核包(例如linux-image 3.0.0-16-generic:)不会出现在 Synaptic 中。当我尝试更新 GRUB 时,我看到了那里的内核。如何正确删除它们?

kernel

19
推荐指数
0
解决办法
4万
查看次数

从 menu.lst 中删除旧内核是否安全?

当计算机启动时,GRUB 会显示一长串以前的内核以及通常的东西,例如

Ubuntu 10.10, kernel 2.6.35-23-generic
Ubuntu 10.10, kernel 2.6.35-23-generic (recovery mode)
Ubuntu 10.10, kernel 2.6.35-22-generic
Ubuntu 10.10, kernel 2.6.35-22-generic (recovery mode)
[6 more similar]
Ubuntu 10.10, memtest86+
Other operating systems:
Dell Utility Partition
Windows Vista (loader)
Run Code Online (Sandbox Code Playgroud)

从 中删除那些额外的“Ubuntu 10.10,内核”行是否安全/etc/grub/menu.lst?目前我已经注释掉了从第三个到(不包括)memtest86。但我想知道是否出于特定原因需要它们?

grub2 kernel

17
推荐指数
2
解决办法
2132
查看次数