内核升级方法
- 格式:doc
- 大小:34.50 KB
- 文档页数:2
Linux终端命令系统更新和升级随着科技的迅速发展和技术的不断变革,操作系统的更新和升级成为了必不可少的环节,特别是在Linux终端系统中。
本文将介绍如何在Linux终端系统中进行系统的更新和升级,以帮助用户保持系统的稳定性、安全性和功能性。
1. 检查系统更新系统更新是确保系统安全性的关键步骤。
在Linux终端中,我们可以使用以下命令来检查系统更新:```shell$ sudo apt update```该命令将会检查系统中可用的更新。
如果有可用的更新,可以通过以下命令进行系统更新:```shell$ sudo apt upgrade```这将会根据系统需要更新已安装的软件包。
2. 升级Linux内核Linux内核的升级对于系统的性能和功能非常重要。
在终端中,我们可以通过以下步骤来升级Linux内核:首先,我们需要安装Ukuu工具,它是一个用于安装和管理Linux 内核版本的工具。
使用以下命令来安装Ukuu:```shell$ sudo apt-add-repository -y ppa:teejee2008/ppa$ sudo apt update$ sudo apt install ukuu```安装完成后,我们可以使用Ukuu来查看可用的内核版本,并进行升级。
可以通过以下命令来打开Ukuu:```shell$ ukuu-gtk```在Ukuu界面中,选择一个新的内核版本,并点击"Install"按钮来开始升级过程。
升级完成后,重新启动系统以使新的内核版本生效。
3. 更新软件包管理器在Linux终端中,系统的软件包管理器负责管理和安装软件包。
因此,及时更新软件包管理器也是非常重要的。
不同的发行版使用不同的软件包管理器,下面给出一些常见发行版的更新命令:Ubuntu/Debian:```shell$ sudo apt update$ sudo apt upgrade```CentOS/Fedora:```shell$ sudo dnf update$ sudo dnf upgrade```Arch Linux:```shell$ sudo pacman -Syu```4. 安装和更新软件包在Linux终端中,我们可以使用软件包管理器来安装和更新软件包。
序言由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。
没想到这一弄就花了两天时间(反复装系统,辛苦啊~~),总算把Linux系统从2.4.20-8内核成功升级到了2.6.18内核。
网上虽然有很多介绍Linux内核升级的文章,不过要么过时,下载链接失效;要么表达不清,不知所云;更可气的是很多文章在转载过程中命令行都有错误。
刚开始我就是在这些“攻略”的指点下来升级的,以致于浪费了很多时间。
现在,费尽周折,升级成功,心情很爽,趁性也来写个“升级攻略”吧!于是特意又在虚拟机上重新安装一个Linux系统,再来一次完美的升级,边升级边记录这些步骤,写成一篇Linux内核升级记实录(可不是回忆录啊!),和大家一起分享~~!一、准备工作首先说明,下面带#号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。
启动Linux系统,并用根用户登录,进入终端模式下。
1、查看Linux内核版本# uname -a如果屏幕显示的是2.6.x,说明你的已经是2.6的内核,也用不着看下文了,该干什么干什么去吧!~~~如果显示的是2.4.x,那恭喜你,闯关通过,赶快进行下一步。
2、下载2.6内核源码下载地址:/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz23、下载内核升级工具(1)下载module-init-tools-3.2.tar.bz2/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2(2)下载mkinitrd-4.1.18-2.i386.rpm/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm(3)下载lvm2-2.00.25-1.01.i386.rpm/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm(4)下载device-mapper-1.00.19-2.i386.rpm/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm(2.6.18内核和这4个升级工具我都有备份,如果以上下载地址失效,请到/guestbook留下你的邮箱,我给你发过去)好啦,2.6内核和4个升级工具都下载完了(少一个也不行,如果没有下载齐全,请不要尝试下面的步骤,升级是不会成功的),下面回到Linux系统中开始配置工作吧。
ubuntu12.04 升级内核实战ubuntu 12.04内核是linux 3.2.0-24,其实升级到最新版本3.3.4也没什么很大意义,主要是集成了一些新的驱动和一些普通用户用不到的功能,所以基本上本文纯属折腾,但不要随便升级当班设备啊!好了,不废话了,我们开始...........首先是准备条件:①、有一台装有ubuntu 12.04的机器②、先移步到/下载linux稳定版内核③、拥有root权限④、并将下载好的内核解压到/usr/src下,使用命令如下:#tar jxvf linux-3.3.4.tar.bz2这样你就可以得到一个名叫linux-3.3.4好,现在一切都准备好了,接下来就开始配置,编译,安装新内核吧!1,进入刚才的文件夹/usr/src/linux-3.3.4,输入命令:$ make mrproper该命令的功能在于清除当前目录下残留的.config和.o文件,这些文件一般是以前编译时未清理而残留的。
而对于第一次编译的代码来说,不存在这些残留文件,所以可以略过此步,但是如果该源代码以前被编译过,那么强烈建议执行此命令,否则后面可能会出现未知的问题。
2,配置编译选项作为操作系统的内核,其内容和功能必然非常繁杂,包括处理器调度,内存管理,文件系统管理,进程通讯以及设备管理等等,而对于不同的硬件,其配置选项也不相同,所以在编译源代码之前必须设置编译选项。
其实我觉得这一步是升级内核整个过程中最有技术含量的,因为要根据自己的需要正确选择yes or no需要对计算机方方面面的知识都有所了解。
但是这里的选项实在是太多了,大概有几百项之多,我以前曾尝试着一项一项的选,但是最后还是放弃了,因为有很多选项不是很明白。
既然这样,难道没有什么简便的方法么?当然有!那就是make menuconfig 或者make xconfig。
我使用的是make menuconfig,但是前提条件是要装ncurses。
Linux系统如何优雅地升级内核详细步骤带你轻松搞定Linux系统内核作为操作系统的核心组件,对系统的性能和功能起着至关重要的作用。
随着技术的不断发展,Linux内核也在持续更新和优化,以满足不断变化的用户需求。
本文将介绍如何以一种优雅且安全的方式升级Linux系统内核,并详细阐述每个步骤。
升级内核前的准备工作在开始升级内核之前,我们需要做一些准备工作,以确保升级过程的顺利进行。
1.备份重要数据由于升级内核可能存在一些风险,我们强烈建议在操作之前备份重要的数据。
这可以帮助我们在升级失败时恢复系统或数据。
2.查看当前内核版本在进行内核升级之前,我们需要了解当前系统正在运行的内核版本。
可以使用以下命令来查看:```uname -r```此命令将显示当前正在运行的内核版本。
3.下载最新的内核源代码要进行内核升级,我们需要下载最新的内核源代码。
在Linux内核开发者的官方网站上可以找到最新的内核版本。
请注意,下载的是tarball文件。
升级内核的步骤一旦我们完成了准备工作,就可以按照以下步骤来优雅地升级内核。
1.解压内核源代码使用以下命令解压之前下载的内核源代码:```tar -xvf linux-x.x.x.tar.xz```将"linux-x.x.x"替换为你下载的内核版本的实际文件名。
2.配置内核选项进入解压后的内核源代码目录,并执行以下命令以开始配置选项:```cd linux-x.x.xmake menuconfig```此命令将启动一个图形界面,让你可以根据你的需要对内核选项进行配置。
你可以使用方向键浏览选项,使用空格键进行选择或取消选择,使用Enter键进行进入或退出子菜单。
配置选项对于不同的系统和需求会有所不同,因此我们建议根据你的具体情况谨慎选择。
选择完成后,保存并退出配置界面。
3.编译和安装内核配置选项完成后,我们可以开始编译和安装内核。
使用以下命令开始编译内核:```make```这将花费一些时间来完成编译过程。
RedHat5.3 升级内核到2.6.33 版本错误:insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists编译2.6.31内核后重启出现insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists解决方法:1,解压initrd文件[root@bogon ~]# cp /boot/initrd-2.6.30.4.img /tmp[root@bogon ~]# cd /tmp/[root@bogon tmp]# lsinitrd-2.6.30.4.img[root@bogon tmp]# mkdir newinitrd[root@bogon tmp]# cd newinitrd/[root@bogon newinitrd]# zcat ../initrd-2.6.30.4.img |cpio -i11537 blocks释放之后看到如下内容[root@bogon newinitrd]# lsbin dev etc init lib proc sbin sys sysroot2,ok,下边就是编辑init,删掉其中重复的四行中的两行echo "Loading dm-region-hash.ko module"insmod /lib/dm-region-hash.koecho "Loading dm-region-hash.ko module"insmod /lib/dm-region-hash.ko3,重新打包initrd[root@bogon newinitrd]# find .|cpio -c -o > ../initrd11538 blocks[root@bogon newinitrd]# cd ..[root@bogon tmp]# gzip -9 < initrd > initrd.img[root@bogon tmp]# lsinitrd-2.6.30.4.img initrd initrd.img newinitrd好了,initrd.img就是重新打包的initrd了,然后把initrd.img拷贝到/boot,更改grub.conf里边的initrd-2.6.30.4.img为initrd.img就可以了,这样“insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists”就不会有了其实将init文件的第二行“setquiet”去掉,你就知道initrd文件到底在做什么了本文来自CSDN博客,转载请标明出处:/jinxl560/archive/2009/09/17/4563716.aspx。
ubuntu16.04升级内核的⽅法步骤⼀、环境在虚拟机上运⾏的ubuntu16.04 , 使⽤命令uname -r查看当前系统内核版本当前版本为4.15.0-45-generic要升级的内核为4.20.2⼆、准备需要的材料选择对应的⽂件,我的是amd64使⽤命令下载(也可以⽹页下载)wget https:///~kernel-ppa/mainline/v4.20.2/linux-headers-4.20.2-042002_4.20.2-042002.201901171620_all.debwget https:///~kernel-ppa/mainline/v4.20.2/linux-headers-4.20.2-042002-generic_4.20.2-042002.201901171620_amd64.debwget https:///~kernel-ppa/mainline/v4.20.2/linux-image-unsigned-4.20.2-042002-generic_4.20.2-042002.201901171620_amd64.deb wget https:///~kernel-ppa/mainline/v4.20.2/linux-modules-4.20.2-042002-generic_4.20.2-042002.201901171620_amd64.deb三、安装使⽤命令sudo dpkg -i *.deb安装完成后,重启ubuntu系统使⽤命令uname -r查看当前版本号内核升级成功。
四、遇到问题及解决⽅案在安装过程中出现使⽤命令打开该⽂件sudo vi /etc/apt/sources.list保存退出,更新源sudo apt-get update,接下来就可以安装 libssl1.1 了,在终端输⼊命令sudo apt-get install libssl1.1再次执⾏sudo dpkg -i *.deb就可安装成功。
内核升级目标:升级Linux内核到最新版本当前环境:Vmware虚拟机中安装Ubuntu 14.04 LTS 其Linux内核为3.13.0用uname -a可以查看所有版本信息虚拟机配置为:内存512M,硬盘20G,其它默认设置。
Ubuntu安装时选择的是“使用整块硬盘”。
内核升级准备工作:1,首先需要到下载最新的Linux内核源码。
这里下载的是3.14.3版本。
2,需要正确编译内核,需要安装gcc以及安装相应的依赖包和库,Ubuntu中已经自带了gcc编译器,但是仍然需要安装一些其它的类库,整个过程可以使用Ubuntu的apt-get install命令方便的完成。
具体命令为:sudo apt-get install build-essential网络上有些说明中还指出,需要安装 kernel-package这个东西,因此也一并装上了。
sudo apt-get install kernel-package为了方便下载,我把Linux 3.14.3源码包下载在了windows中文件名为linux-3.14.3.tar.xz,要将它复制到虚拟机的Linux里,直接复制显然不可以,因此使用SSH方式复制。
为实现SSH登录和传送文件,需要安装openSSH,只需要安装Server就可以。
同样可以使用sudo apt-get install openssh-server命令完成。
安装完成后使用FileZilla软件,通过sFtp协议登录并将源码复制到linux中。
复制完成后,就可以正式开始升级内核了。
内核编译前的配置:进入Linux系统,为了不出现权限问题,我直接用su -命令用root用户操作。
Ubuntu是一个桌面系统,可能是出于安全性考虑,Ubuntu安装好后不能直接用su命令切换root,会提示su认证失败,这是由于Ubuntu锁住了root用户,这时只需要执行sudo password 命令,修改UNIX密码即可,密码就是安装Ubuntu时设置的那个。
Linux升级内核教程(CentOS7)1.查看当前内核版本uname -r2.通过yum升级内核通过yum升级内核是最保险的升级⽅式,因为安装的是操作系统发⾏⼚商验证过兼容性的rpm包,升级风险⼀般很⼩。
yum install -y kernel重启后即可在grub界⾯选择使⽤新内核(新内核⼀般是默认使⽤内核,所以也可不⽤选直接等机器重启完⽤的就是新内核了)。
3.通过⼿动编译升级内核⼿动编译升级风险是⽐较⼤的,轻则可能会导致应⽤的兼容性问题,重则系统可能就启不来了(当然旧内核没删还是可以选旧内核来启,前提是你的屏幕能直连机器⽽不是ssh)但如果你就是想要升级到不是官⽅使⽤的内核版本,那么也只能使⽤⼿动编译的⽅式升级3.1下载我们这⾥选择当前最新的4.14版本下载3.2 编译安装tar -zxf linux-4.14.tar.gzcd cd linux-4.14make mrpropermake clean #这两条⽤于清除之前编译⽣成的.ko和.configmake oldconfig #使⽤当前的内核配置make #编译,半⼩时以上是正常的make modules_install #把编译出的内核模块复制到/lib/modules/${KERNEL_VERSION}make installmake oldconfig⾏表⽰使⽤当前内核⼀样的配置,坏消息是⼀般新的功能还是要我们⾃⼰选择⽽且项数还不少,好消息是这些选择都有默认选项如果我们不在意这些新功能看也不看⼀直按住回车即可。
make config是每项都要⾃⼰选择,这个除了⾃⼰明⽩要什么配置不然不建议使⽤。
make default是直接使⽤linus提供的默认配置,这个基本什么不⽤选编译也很快但是也不建议⽤,编译快是因为很多东西都没启⽤使⽤这个内核你的发⾏版基本重启启不来了。
make报错:/bin/sh: bc: 未找到命令处理:yum install bc -ymake报错:openssl/opensslv.h: No such file or directory处理:yum install openssl-devel -y安装完成后使⽤reboot重启操作系统,再使⽤uname -r查看,内核成成功替换为4.14版本:参考:。
如何升级R4内核Q:如何升级R4内核?A:下载新内核文件解压后,有一个shell的文件夹和_DS_MENU.DAT、_DS_MSHL.NDS二个内核文件,把这些文件粘贴到TF卡的根目录替换原有的内核文件就行。
Q:建立系统文件错误A:系统需要自动建立一个 4MB 的临时文件,请在 SD/TF 卡保留足够的空间(建议格式化卡后,先启动 R4 系统来建立临时文件,以后请不要删除)。
Q:系统文件不正确A:系统建立的 4MB 的临时文件被损坏,用户可以删除该文件让系统重新建立;或者格式化卡后,先启动 R4 系统来建立临时文件,以后请不要删除。
Q:打开主机没有找到 R4 卡(和没插卡一样)!A:请重新拨插 R4 试试,检查 R4 金手指是否有脏损。
Q:一直显示“ Loading ”、“ Couldn't find the SD/TF card ”或“ SD/TF card error ” ! A:请重新拨插 TF 卡试试,检查 TF 卡金手指是否有脏损。
Q:显示“ Couldn't find _DS_MENU.DAT ”!A:请检查 TF 卡里的内核是否安装正确,正确的方法是把“_DS_MENU.DAT ”文件放到 TF 卡的根目录;如果仍然有问题,格式化 TF 卡,重新安装内核。
Q:启动的时候显示“硬件版本不兼容”A:R4 的硬件是分区域的:中文版(含简中版和繁中版)、英文版、日文版等,相应的内核也分中文版(含简中版和繁中版)、英文版、日文版等,内核版本必须和硬件版本一致(中文版硬件可以使用“简体中文版”和“繁体中文版”内核),否则会显示“硬件版本不兼容”。
Q:同时使用 R4 和 GBA 端烧录卡,为什么每次进入 GBA 端烧录卡?A:这是因为使用的机器刷过 Flashme 的原因,以前是 GBA 端烧录卡占多数,所以 Flashme 把 GBA 端设为高优先级运行;如果要进入 R4 的话,按住 SELECT 开机,就可以改变优先级为 R4 优先。
由于谷歌的一些网站(如Gmail、YouTube等)每隔一段时间就会对旧版chrome停止支持,其实只是提示升级,不升级也能用,不过chrome应用商店对比较旧的版本却是不支持的。
鉴于此,决定将本软件ChromePlus的chrome内核升级,目前本软件用的chrome 内核是v36开发版,以前本软件升级都是由我将chrome新版配置好直接打包,但是自chrome v36后,chrome安全机制改变,不能再直接制作成便携版,所以此次升级需要你来手动完成,不过过程非常简单,只要严格按照以下步骤操作,别弄错顺序就能升级成功。
如果不升级chrome内核,也不影响除个别谷歌域其它网站的使用。
升级步骤:1、在ChromeUpdate文件夹内有个MyChrome.exe程序,双击运行它,它会同时打开代理软件和chrome浏览器窗口,然后再双击运行文件夹内的MyChrome.vbs那个程序,打开的程序界面上点击如下图蓝箭头所指的那个“请选择”,下拉菜单上再点“从离线安装文件提取”,弹出的定位窗口上点“chrome_installer.exe”,再点“打开”,如下图:稍等片刻就会弹出如下图一个提示:点击“强制关闭”,然后会弹出更新成功的提示,如下图,点“确定”。
2、关闭MyChrome.exe那个窗口,返回上层文件夹双击运行Chrome+.exe,打开浏览器之后,浏览器右上方会弹出询问框,如下图:切记!类似上图这样的对话框可能会出现两次,一定要点“保留更改”,点错就不能破网了。
切记!到此,chrome内核更新完成,整个过程只需要几分钟,严格按照以上步骤就能成功。
―――――――――――――――――――――――――――――――――下面的内容可看可不看。
怎样下载最新版chrome离线安装包?压缩包内附带的chrome,也就是ChromeUpdate文件夹内那个chrome_installer.exe 离线安装程序可能隔段时间就不是最新版了,那么要怎样获得最新版的chrome内核呢?方法是:进入ChromeUpdate文件夹,双击运行MyChrome.exe,打开的窗口上有一个“最新版本”的字样,它右边的蓝色数字就是版本号,左键点它就复制了下载地址,再把下载地址粘贴到浏览器或下载软件里就可以下载。
详解如何在CentOS7中安装或升级最新的内核虽然有些⼈使⽤ Linux 来表⽰整个操作系统,但要注意的是,严格地来说,Linux 只是个内核。
另⼀⽅⾯,发⾏版是⼀个完整功能的系统,它建⽴在内核之上,具有各种各样的应⽤程序⼯具和库。
在正常操作期间,内核负责执⾏两个重要任务:1. 作为硬件和系统上运⾏的软件之间的接⼝。
2. 尽可能⾼效地管理系统资源。
为此,内核通过内置的驱动程序或以后可作为模块安装的驱动程序与硬件通信。
例如,当你计算机上运⾏的程序想要连接到⽆线⽹络时,它会将该请求提交给内核,后者⼜会使⽤正确的驱动程序连接到⽹络。
随着新的设备和技术定期出来,如果我们想充分利⽤它们,保持最新的内核就很重要。
此外,更新内核将帮助我们利⽤新的内核函数,并保护⾃⼰免受先前版本中发现的漏洞的攻击。
准备好了在 CentOS 7 或其衍⽣产品(如 RHEL 7和 Fedora)上更新内核了么?如果是这样,请继续阅读!步骤 1:检查已安装的内核版本让我们安装了⼀个发⾏版,它包含了⼀个特定版本的内核。
为了展⽰当前系统中已安装的版本,我们可以:# uname -sr下⾯的图⽚展⽰了在⼀台 CentOS 7 服务器上的输出信息:还要考虑的⼀个重要的事情是内核版本的⽣命周期 - 如果你当前使⽤的版本接近它的⽣命周期结束,那么在该⽇期后将不会提供更多的 bug 修复。
关于更多信息,请参阅。
步骤 2:在 CentOS 7 中升级内核⼤多数现代发⾏版提供了⼀种使⽤和官⽅⽀持的仓库升级内核的⽅法。
与 Red Hat 不同,CentOS 允许使⽤ ELRepo,这是⼀个第三⽅仓库,可以将内核升级到最新版本。
要在 CentOS 7 上启⽤ ELRepo 仓库,请运⾏:# rpm --import https:///# rpm -Uvh /elrepo-release-7.0-2.el7.elrepo.noarch.rpm在 CentOS 7 启⽤ ELRepo仓库启⽤后,你可以使⽤下⾯的命令列出可⽤的内核相关包:# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available接下来,安装最新的主线稳定内核:# yum --enablerepo=elrepo-kernel install kernel-ml最后,重启机器并应⽤最新内核,接着运⾏下⾯的命令检查最新内核版本:uname -sr步骤 3:设置 GRUB 默认的内核版本为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。
Centos内核升级的三种⽅法在基于CentOS平台的⼯作过程中,难免有时需要升级或者降级内核以验证功能、调试性能或者更新整个系统。
如果从头重新编译⼀个内核,由于现在内核特性越来越复杂,依赖的库或者⼯具也不少,加之重新编译耗时不菲,了解更新内核的多种⽅式就显得尤为必要。
下⾯根据笔者最近的⼯作,总结了三种⽅法,供⼤家参考。
⽅法⼀如果机器不能联⽹,可以下载现有内核包到本地机器,直接在本地更新1.从/linux/scientific/7.0/x86_64/updates/security/下载需要的颁布rpm2. [root@localhost os2]# scp root@192.168.1.64:/home/worker/kernel-3.10.0-123.1.2.el7.x86_64.rpm root@192.168.1.64's password:kernel-3.10.0-123.1.2.el7.x86_64.rpm 100% 29MB 28.9MB/s 00:003.[root@localhost os2]# yum install kernel-3.10.0-123.1.2.el7.x86_64.rpmLoaded plugins: fastestmirror, langpacksExamining kernel-3.10.0-123.1.2.el7.x86_64.rpm: kernel-3.10.0-123.1.2.el7.x86_64Marking kernel-3.10.0-123.1.2.el7.x86_64.rpm to be installedResolving Dependencies--> Running transaction check---> Package kernel.x86_64 0:3.10.0-123.1.2.el7 will be installed--> Finished Dependency Resolutionepel/x86_64/metalink | 5.2 kB 00:00:00epel/x86_64 | 4.3 kB 00:00:01epel/x86_64/updateinfo | 517 kB 00:00:01epel/x86_64/primary_db | 4.0 MB 00:02:36....⽅法⼆如果机器已经联⽹,直接利⽤包管理⼯具更新,需要注意的是现在3.0以上的内核引⼊了签名机制,需要导⼊签名的key,参考步骤如下:1、导⼊keyrpm --import https:///当然,如果已经修改了repo的gpgcheck=0也可以不导⼊key2、安装elrepo的yum源rpm -Uvh /elrepo-release-7.0-2.el7.elrepo.noarch.rpm3、安装内核在yum的ELRepo源中,有mainline颁布的,可以这样安装:yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y当然也可以安装long term的:yum --enablerepo=elrepo-kernel install kernel-lt -y其它:/linux/kernel/el6/x86_64/RPMS/[root@server-mysql yum.repos.d]# yum --enablerepo=elrepo-kernel list |grep kernel*Unable to read consumer identity* elrepo-kernel: abrt-addon-kerneloops.x86_64 2.0.8-6.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 dracut-kernel.noarch 004-283.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel.x86_64 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel-devel.x86_64 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel-firmware.noarch 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel-headers.x86_64 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 libreport-plugin-kerneloops.x86_64 2.0.9-5.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 abrt-addon-kerneloops.x86_64 2.0.8-40.el6.centos basedracut-kernel.noarch 004-409.el6_8.2 updateskernel.x86_64 2.6.32-642.3.1.el6 updateskernel-abi-whitelists.noarch 2.6.32-642.3.1.el6 updateskernel-debug.x86_64 2.6.32-642.3.1.el6 updateskernel-debug-devel.i686 2.6.32-642.3.1.el6 updateskernel-debug-devel.x86_64 2.6.32-642.3.1.el6 updateskernel-devel.x86_64 2.6.32-642.3.1.el6 updateskernel-doc.noarch 2.6.32-642.3.1.el6 updateskernel-firmware.noarch 2.6.32-642.3.1.el6 updateskernel-headers.x86_64 2.6.32-642.3.1.el6 updateskernel-lt.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-devel.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-doc.noarch 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-firmware.noarch 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-headers.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-ml.x86_64 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-devel.x86_64 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-doc.noarch 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-firmware.noarch 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-headers.x86_64 4.6.4-1.el6.elrepo elrepo-kernellibreport-plugin-kerneloops.x86_64 2.0.9-32.el6.centos baseperf.x86_64 4.6.4-1.el6.elrepo elrepo-kernel⽅法三实际⼯作当中经常碰到需要修改内核配置,编译驱动,调节相关参数等,这就需要定制内核,为此需要⼿动⽣成新的内核。
ubuntu内核升级及卸载ubuntu下内核的升级与卸载很多用户一般都会选择Windows + Ubuntu的双系统。
用得时间久了,随着Ubuntu内核的不断升级,开机启动菜单会变得越来越臃肿。
下面简单介绍一下如何删除开机启动菜单多余的内核(旧版本),以及如何调整不同操作系统的启动顺序。
Ubuntu是由grub引导启动的。
每当Ubuntu升级到新的版本后,grub会自动调整开机启动菜单的顺序,把新的内核放在启动菜单的开始,同时也不会删除久的内核版本。
这样,当Ubuntu的升级次数一多,启动菜单中将变得非常臃肿。
而且那些旧版本的内核基本不会用,不如删除之。
解决方案如下:1.找出系统已经安装的内核版本,在终端里输入命令:dpkg --get-selections | grep linux-image然后会显示系统中已安装的内核,例如:linux-image-2.6.35-22-generic installlinux-image-2.6.38-10-generic installlinux-image-2.6.38-11-generic installlinux-image-2.6.38-8-generic installlinux-image-3.0.0-12-generic installlinux-image-generic install2.卸载旧的内核版本,在终端里输入命令:sudo apt-get remove linux-image-2.6.35-22-generic linux-image-2.6.38-8-generic linux-image-2.6.38-10-generic linux-image-2.6.38-11-generic上面命令和含义是:dpkg --get-selections [<表达式> ...] 把已选中的软件包列表打印到标准输出;grep linux-image 匹配查找;uname -a 查看已安装的linux内核版。
[root@localhost weblogic]# ls -l /boot-rw-r--r-- 1 root root 709527 Jan 24 09:50 initrd-2.6.9-78.0.13.ELsmp.img-rw-r--r-- 1 root root 722707 Oct 27 14:58 initrd-2.6.9-78.EL.img-rw-r--r-- 1 root root 712703 Oct 27 14:58 initrd-2.6.9-78.ELsmp.img[root@localhost weblogic]# more /etc/grub.conftitle Red Hat Enterprise Linux AS (2.6.9-78.0.13.ELsmp)root (hd0,0)kernel /vmlinuz-2.6.9-78.0.13.ELsmp ro root=LABEL=/ rhgb quietinitrd /initrd-2.6.9-78.0.13.ELsmp.imgtitle Red Hat Enterprise Linux AS (2.6.9-78.ELsmp)root (hd0,0)kernel /vmlinuz-2.6.9-78.ELsmp ro root=LABEL=/ rhgb quietinitrd /initrd-2.6.9-78.ELsmp.imgtitle Red Hat Enterprise Linux AS-up (2.6.9-78.EL)root (hd0,0)kernel /vmlinuz-2.6.9-78.EL ro root=LABEL=/ rhgb quietinitrd /initrd-2.6.9-78.EL.img二、Kernel版本类型单处理器:kernel-多处理器:kernel-smp-大内存:kernel-hugemem-虚拟机:kernel-xen-源码:kernel-devel-区别:kernel-devel包只包含用于内核开发环境所需的内核头文件以及Makefile,而kernel-souce包含所有内核源代码。
在Linux终端中进行系统更新和升级Linux是一种开源的操作系统,它的核心是Linux内核。
与其他操作系统不同,Linux系统可以通过终端来进行系统更新和升级,以保持系统的安全性和稳定性。
本文将介绍如何在Linux终端中进行系统更新和升级以及相关的注意事项。
1. 使用包管理器更新软件包在Linux系统中,常用的包管理器有apt、yum和dnf等。
这些包管理器可以帮助我们安装、更新和卸载软件包。
为了保持系统的安全性和稳定性,我们应该定期更新软件包。
以下是一些常用的包管理器及其使用方法:- apt:适用于Debian、Ubuntu等基于Debian的系统。
使用以下命令更新软件包:```sudo apt update # 更新软件包列表sudo apt upgrade # 更新已安装的软件包```- yum:适用于CentOS、Fedora等基于Red Hat的系统。
使用以下命令更新软件包:```sudo yum update # 更新软件包```- dnf:适用于Fedora 22及以上版本。
使用以下命令更新软件包:```sudo dnf upgrade # 更新软件包```2. 更新系统内核Linux系统的内核是其核心部分,它控制着系统的各个方面。
更新系统内核可以修复漏洞和改进系统性能。
以下是更新系统内核的一些常用方法:- 使用包管理器更新内核:通过包管理器可以方便地更新系统内核。
具体操作方法请参考对应的包管理器文档。
- 手动编译安装内核:如果需要使用最新版本的内核或者进行定制化配置,可以选择手动编译安装内核。
这个过程略显复杂,需要一定的Linux基础知识和编程技能。
3. 升级Linux发行版当一个Linux发行版的新版本发布时,升级到新版本可以获得更多的功能和改进的性能。
以下是一些常用的Linux发行版升级方法:- 使用包管理器升级:某些Linux发行版提供了方便的升级工具,通过包管理器即可完成升级。
Linux命令高级技巧之系统更新与升级操作系统的更新与升级是保持系统安全性和稳定性的重要步骤。
Linux作为一个开源操作系统,在这个领域具有广泛的应用。
本文将介绍Linux系统更新与升级的高级技巧,旨在帮助读者更好地进行系统维护和管理。
一、概述在开始讨论Linux系统更新与升级之前,先来了解一下为什么需要更新与升级。
随着时间的推移,操作系统会收到各种漏洞和安全威胁的挑战。
为了解决这些问题,开发者会定期发布新的补丁和更新。
通过应用这些更新,系统的性能可以得到改进,同时也可以提高安全性,防止未知漏洞的攻击。
二、系统更新系统更新是指应用补丁和更新程序来修复系统的漏洞和错误。
在Linux上,我们可以使用以下命令来进行系统更新:1. apt-get update该命令会更新本地存储库中可用软件包的最新列表。
在更新之前,务必确保网络连接正常。
2. apt-get upgrade该命令用于升级可用的软件包。
它会自动安装最新版本的软件包,以保持系统与最新补丁的同步。
3. apt-get dist-upgrade该命令比apt-get upgrade更进一步,它可以处理软件包之间的依赖关系,并在必要时删除或添加软件包。
三、内核升级内核是操作系统的核心部分,是与硬件直接交互的重要组件。
为了获得更好的性能和更好的硬件兼容性,有时需要升级内核。
在Linux上,可以使用以下命令来进行内核升级:1. apt-get install linux-image-{version}该命令可以安装指定版本的内核镜像。
在升级内核之前,建议先备份系统,以防止升级过程中出现问题。
2. update-grub该命令会更新系统引导程序Grub的配置文件,将新安装的内核镜像添加到引导菜单中,以便在重启后选择新内核。
四、软件包管理除了系统更新和内核升级,软件包管理也是Linux中重要的一个方面。
下面介绍几个常用的软件包管理工具:1. apt-get install {package}该命令可以安装指定名称的软件包。
内核升级方法:
一、将Linux内核从2.6.9.55直接升级到2.6.18.8
步骤:
1、将linux-2.6.18.8.tar.bz2放置在/usr/src/下然后解压:
cd /usr/src
tar -jxvf linux-2.6.18.8.tar.bz2
2、进入/usr/src目录,依次执行下列命令:
make mrproper(第一次编译内核不需要)
make menuconfig(直接保存退出)
make
make modules_install install
3、修改grub.conf文件
在/boot/grub/grub.conf 里新加enforcing =0
变成:
title Red Hat Enterprise Linux ES (2.6.18.8)
root (hd0,0)
kernel /vmlinuz-2.6.18.8 ro root=LABEL=/ enforcing=0 rhgb quiet
initrd /initrd-2.6.18.8.img
如果不加enfocing=0可能在重起后不能登录新编内核,并出现错误:
Mkrootdev:label /enforcing=0 not found
mount :error 6 mounting ext3
mount:error 2 mounting none
switchroot:mount failed:22
umount /initrd/dev failed:2
kernel panic –not synicncing:Attemped to kill init
分析:root找不到挂载点,所以不能启动。
另外需要注意的是enforcing=0和/与rhgb之间需要一个空格,否则错误信息同上。
4、重起,登录新编译的内核。
二、不在/usr/src目录下操作,在另外的目录下用shell脚本升级
我们在/dhcc目录下,建立个自己的目录,比如zhangbing,然后把linux-2.6.18.8.tar.bz2解压到这个目录下linux-2.6.18.8,同时建立一个目录build。
在linux-2.6.18.8目录中建立一个脚本shmake.sh
脚本内容如下:
# !/bin/sh
echo "make O=../build menuconfig"
make O=../build menuconfig
echo "make O=../build"
make O=../build
echo "make O=../build modules_install install"
make O=../build modules_install install
此脚本的目的在于每次编译不对原内核产生任何影响,每次编译的东东都放于build目录中了。
脚本执行完后,同第一种方法一样修改grub.conf文件。
三、自己定制一个系统
在10.10.151.135机器上,目录如下:/dhcc/zhangbing/work/linux-2.6.18.8,依次执行如下操作。
1、make mrproper (第一次编译内核不需要此步)
2、make menuconfig
3、make bzImage
4、make modules
5、make modules_install
然后开始自己定制一个*.img文件,不执行make install那一步
查看/lib/modules 目录下的文件,会发现一个2.6.18.8目录文件,这是刚刚编译过后生成的模块文件目录。
执行命令:mkinitrd /boot/initrd_2.6.18.8 2.6.18.8
cp /dhcc/zhangbing/work/linux-2.6.18.8/arch/i386/boot/bzImage /boot/bzImage.zhangbing cp /dhcc/zhangbing/work/linux-2.6.18.8/System.map /boot /System.map-2.6.18.8 rm -rf System.map
ln -s System.map-2.6.18.8 Systemp.map
注:最后这两步在第一次编译内核的时候不需要。
修改grub.conf文件,修改如下
title Red Hat Linux-zhangbing
root(hd0,0)
kernel /bzImage.zhangbing ro root=LABEL=/ enforcing=0 rhgb quiet
initrd /initrd_2.6.18.8
说明:我在执行mkinitrd /boot/initrd_2.6.18.8 2.6.18.8 这条命令的时候,分别遇到下列警告信息:
No module mptscsi found for kernel 2.6.18,aborting。
No module ata_piix found for kernel 2.6.18,aborting。
从网上查找到原因,是因为2.6.18.8模块目录下没有mptscsi,ata_piix这两个模块,和配置选项有关系。
修改/etc/modprobe.conf文件
把alias scsi_hostadapter1 mptscsi
alias scsi_hostadapter5 ata_piix 注释掉,改为
#alias scsi_hostadapter1 mptscsi
#alias scsi_hostadapter5 ata_piix
问题解决。