当然,这不是要教你怎么把系统给毁了。但是确实有可能这让你的系统毁了,所以在进行一下操作时要格外小心。
有两种情况我们要删除内核。
- 清理旧内核
不可避免,我们的软件需要升级,内核也一样。在默认的情况下 Linux 会保留旧的内核,运行
rpm -qa | grep kernel
我们可能会看到类似这样的信息
kernel-pae-3.7.10-1.11.1.i686
kernel-pae-3.7.10-1.16.1.i686
我们很容易分辨的出有一个比较老旧而另一个比较新,在使用了一段时间以后证明新内核没有问题了,你就可以把旧的内核删除了。一来可以节约硬盘空间,二来省得看着引导界面一大串心烦。
在删除之前我先要检查自己现在运行的是什么内核,以免误删
uname -r
你可能看到类似输出
3.7.10-1.16-pae
确定完了以后我们可以使用以下命令删除
rpm -e 你要删除的内核
在这里就是
rpm -e kernel-pae-3.7.10-1.11.1.i686
或者不检查依赖关系直接删除,但请谨慎使用
rpm -e --nodeps kernel-pae-3.7.10-1.11.1.i686
- 彻底删除某一类不需要的内核
这种情况是这样的,比如我现在有 kernel-pae 和 kernel-desktop 两类内核,现在我打算以后就使用 desktop 内核了(顺便提一下,openSUSE 的桌面内核是针对桌面做过特别优化的,pae 内核则是针对 32 位计算机又带有 4G 以上内存的),那么现在我们要删除 kernel-pae。
理论上非常简单,在 YaST 里删除,或者使用 zypper 就可以了。
zypper rm -u kernel-pae
但是实际上可能出现一些问题,
正在读取已安装的软件包...
正在解决软件包依赖关系...
将安装以下新软件包:
kernel-pae-base
将移除以下软件包:
kernel-pae ndiswrapper-kmp-pae ndiswrapper-kmp-pae
1 个软件包将新装, 3 个软件包将移除.
没错,它会自动给你安装上 kernel-pae-base,pae 内核依然会在引导界面出现。即使使用上面那种情况的删除,系统检查完依赖关系以后还是会给你装上,这时你需要删除一个软件
zypper rm -u iscsitarget-kmp-pae
然后再运行上面的命令就可以删除了。当然,如果你要删除 desktop 内核,那就要删除 iscsitarget-kmp-desktop 了。
这个这个软件包是干什么用得呢?可以看 这里 ](http://software.opensuse.org/search?p=1&baseproject=openSUSE:12.3&q=iscsitarget)
那么又是怎么发现这个软件包的呢?
一般的笨办法,比如我要删除 pae 的内核,发现无法删除,怀疑有软件依赖它,于是就在 YaST 里搜索 pae 字眼。其中 ndiswrapper-kmp-pae ndiswrapper-kmp-pae 是可以通过 zypper rm -u 直接删除的,剩下的就是这个 iscsitarget-kmp-pae 了,查找一下资料了解一下,完了再实际操作一下,果然是这样的。