㈠ centos 6.6怎么升级内核
1. 准备工作确认内核及版本信息[[email protected] ~]# uname -r2.6.32-220.el6.x86_64[[email protected] ~]# cat /etc/centos-release CentOS release 6.5 (Final)安装软件编译安装新内核,依赖于开发环境和开发库# yum grouplist //查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库;# yum groupinstall "Development Tools" //一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具# yum install ncurses-devel //你必须这样才能让 make *config 这个指令正确地执行# yum install qt-devel //如果你没有 X 环境,这一条可以不用# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel //创建 CentOS-6 内核时需要它们如果当初安装系统是选择了Software workstation,上面的安装包几乎都已包含。2. 编译内核获取并解压内核源码,配置编译项 linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.yr: 主版本号x: 次版本号,偶数表示稳定版本;奇数表示开发中版本。y: 修订版本号 , 表示修改的次数去 http://www.kernel.org 首页,可以看到有stable, longterm等版本,longterm是比stable更稳定的版本,会长时间更新,因此我选择 3.10.58。 [[email protected] ~]#wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.28.tar.xz [[email protected] ~]# tar -xf linux-3.10.58.tar.xz -C /usr/src/[[email protected] ~]# cd /usr/src/linux-3.10.58/[[email protected] linux-3.10.58]# cp /boot/config-2.6.32-220.el6.x86_64 .config我们在系统原有的内核配置文件的基础上建立新的编译选项,所以复制一份到当前目录下,命名为.config。接下来继续配置:[[email protected] linux-3.10.58]# sh -c 'yes "" | make oldconfig' HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/confscripts/kconfig/conf –oldconfig Kconfig.config:555:warning: symbol value 'm' invalid for PCCARD_NONSTATIC.config:2567:warning: symbol value 'm' invalid for MFD_WM8400.config:2568:warning: symbol value 'm' invalid for MFD_WM831X.config:2569:warning: symbol value 'm' invalid for MFD_WM8350.config:2582:warning: symbol value 'm' invalid for MFD_WM8350_I2C.config:2584:warning: symbol value 'm' invalid for AB3100_CORE.config:3502:warning: symbol value 'm' invalid for MMC_RICOH_MMC** Restart config…*** General setup*… …XZ decompressor tester (XZ_DEC_TEST) [N/m/y/?] (NEW) Averaging functions (AVERAGE) [Y/?] (NEW) yCORDIC algorithm (CORDIC) [N/m/y/?] (NEW) JEDEC DDR data (DDR) [N/y/?] (NEW) ## configuration written to .config make oldconfig会读取当前目录下的.config文件,在.config文件里没有找到的选项则提示用户填写,然后备份.config文件为.config.old,并生成新的.config文件,参考http://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-linux-kernel-makefile有的文档里介绍使用make memuconfig,它便是根据需要定制模块,类似界面如下:(在此不需要)开始编译[[email protected] linux-3.10.58]# make -j4 bzImage //生成内核文件[[email protected] linux-3.10.58]# make -j4 moles //编译模块[[email protected] linux-3.10.58]# make -j4 moles_install //编译安装模块-j后面的数字是线程数,用于加快编译速度,一般的经验是,逻辑CPU,就填写那个数字,例如有8核,则为-j8。(moles部分耗时30多分钟)安装[[email protected] linux-3.10.58]# make install实际运行到这一步时,出现ERROR: modinfo: could not find mole vmware_balloon,但是不影响内核安装,是由于vsphere需要的模块没有编译,要避免这个问题,需要在make之前时修改.config文件,加入HYPERVISOR_GUEST=yCONFIG_VMWARE_BALLOON=m(这一部分比较容易出问题,参考下文异常部分)修改grub引导,重启安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。编辑 grub.conf文件,vi /etc/grub.conf#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS (3.10.58) root (hd0,0)…数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0。重启reboot:boot-with-new-kernel确认当内核版本[[email protected] ~]# uname -r3.10.58升级内核成功!3. 异常编译失败(如缺少依赖包)可以先清除,再重新编译:# make mrproper #完成或者安装过程出错,可以清理上次编译的现场# make clean在vmware虚拟机上编译,出现类似下面的错误[[email protected] linux-3.10.58]# make install sh /usr/src/linux-3.10.58/arch/x86/boot/install.sh 3.10.58 arch/x86/boot/bzImage \ System.map "/boot"ERROR: modinfo: could not find mole vmware_balloon可以忽略,如果你有强迫症的话,尝试以下办法:要在vmware上需要安装VMWARE_BALLOON,可直接修改.config文件,但如果vi直接加入CONFIG_VMWARE_BALLOON=m依然是没有效果的,因为它依赖于HYPERVISOR_GUEST=y。如果你不知道这层依赖关系,通过make menuconfig后,Device Drivers -> MISC devices 下是找不到VMware Balloon Driver的。(手动vi .config修改HYPERVISOR_GUEST后,便可以找到这一项),另外,无论是通过make menuconfig或直接vi .config,最后都要运行sh -c 'yes "" | make oldconfig'一次得到最终的编译配置选项。然后,考虑到vmware_balloon可能在这个版本里已更名为vmw_balloon,通过下面的方法保险起见:# cd /lib/moles/3.10.58/kernel/drivers/misc/# ln -s vmw_balloon.ko vmware_balloon.ko #建立软连接其实,针对安装docker的内核编译环境,最明智的选择是使用sciurus帮我们配置好的.config文件。也建议在make bzImage之前,运行脚本check-config.sh检查当前内核运行docker所缺失的模块。当提示缺少其他mole时如NF_NAT_IPV4时,也可以通过上面的方法解决,然后重新编译。 4. 几个重要的Linux内核文件介绍 在网络中,不少服务器采用的是Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls –l。编译过RedHat Linux内核的人对其中的System.map 、vmlinuz、initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作。那么这几个文件是怎么产生的?又有什么作用呢?(1)vmlinuzvmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。(2) initrd-x.x.x.imginitrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/moles下。为了解决这个问题,可以引导一个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文件,下面来看一看这个文件的内容。initrd实现加载一些模块和安装文件系统等。initrd映象文件是使用mkinitrd创建的。mkinitrd实用程序能够创建initrd映象文件。这个命令是RedHat专有的。其它Linux发行版或许有相应的命令。这是个很方便的实用程序。具体情况请看帮助:man mkinitrd下面的命令创建initrd映象文件:(3) System.mapSystem.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤出。对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4/System.map。像下面这样:nm /boot/vmlinux-2.4.7-10 > System.map下面几行来自/usr/src/linux-2.4/Makefile:nm vmlinux | grep -v '(compiled)|(.o)|([aUw])|(..ng)|(LASH[RL]DI)' | sort > System.map 然后复制到/boot:cp /usr/src/linux/System.map /boot/System.map-2.4.7-10在进行程序设计时,会命名一些变量名或函数名之类的符号。Linux内核是一个很复杂的代码块,有许许多多的全局符号。Linux内核不使用符号名,而是通过变量或函数的地址来识别变量或函数名。比如不是使用size_t BytesRead这样的符号,而是像c0343f20这样引用这个变量。对于使用计算机的人来说,更喜欢使用那些像size_t BytesRead这样的名字,而不喜欢像c0343f20这样的名字。内核主要是用c写的,所以编译器/连接器允许我们编码时使用符号名,当内核运行时使用地址。然而,在有的情况下,我们需要知道符号的地址,或者需要知道地址对应的符号。这由符号表来完成,符号表是所有符号连同它们的地址的列表。Linux 符号表使用到2个文件:/proc/ksyms和System.map。/proc/ksyms是一个“proc file”,在内核引导时创建。实际上,它并不真正的是一个文件,它只不过是内核数据的表示,却给人们是一个磁盘文件的假象,这从它的文件大小是0可以看出来。然而,System.map是存在于你的文件系统上的实际文件。当你编译一个新内核时,各个符号名的地址要发生变化,你的老的System.map具有的是错误的符号信息。每次内核编译时产生一个新的System.map,你应当用新的System.map来取代老的System.map。虽然内核本身并不真正使用System.map,但其它程序比如klogd, lsof和ps等软件需要一个正确的System.map。如果你使用错误的或没有System.map,klogd的输出将是不可靠的,这对于排除程序故障会带来困难。没有System.map,你可能会面临一些令人烦恼的提示信息。另外少数驱动需要System.map来解析符号,没有为你当前运行的特定内核创建的System.map它们就不能正常工作。Linux的内核日志守护进程klogd为了执行名称-地址解析,klogd需要使用System.map。System.map应当放在使用它的软件能够找到它的地方。执行:man klogd可知,如果没有将System.map作为一个变量的位置给klogd,那么它将按照下面的顺序,在三个地方查找System.map:/boot/System.map/System.map/usr/src/linux/System.mapSystem.map也有版本信息,klogd能够智能地查找正确的映象(map)文件。
㈡ 为什么安装centos6.3的时候会出现这个
kernel panic 。内核级崩溃。可能是内核版本比较低的缘故。试试 centos7或者fedora 内核版本(3.x)比较高的发行版本吧
㈢ 如何修改CentOS6,CentOS7内核支持安装锐速的内核
一、CentOS 6内核更换教程:
CentOS 6支持安装锐速的内核:2.6.32-504.3.3.el6.x86_64
1、首先运行下面命令为自己的VPS下载安装内核。
uname -r #查看当前内核版本
rpm -ivhhttps://file.diannaobos.com/linux/kernel/CentOS6/kernel-firmware-2.6.32-504.3.3.el6.noarch.rpm
rpm -ivh https://file.diannaobos.com/linux/kernel/CentOS6/kernel-2.6.32-504.3.3.el6.x86_64.rpm–force
2、执行命令“rpm -qa | grep kernel”,查看内核是否安装成功。如果显示你安装的内核版本,表示安装成功。
rpm -qa | grep kernel
3、重启VPS,查看内核是否修改成功。
reboot #重启VPS
uname -r #当前使用内核版本
2、重启VPS,查看内核是否修改成功。
reboot #重启VPS
uname -r #当前使用内核版本
3、目前Centos 7小问题比较多,锐速针对centos 7的版版本较少。推荐在CentOS 6.中安装。
㈣ 请问CentOS各版本的内核版本都是什么
和其他发行版无异—–CentOS是Linux的一个发行版。特点:===1、可以把CentOS理解为RedHatAS系列!它完全就是对RedHatAS进行改进后发布的!各种操作、使用和REDHAT没有区别!2、CentOS完全免费,不存在REDHATAS4需要序列号的问题。3、CentOS独有的yum命令支持在线升级,可以即时更新系统,不像REDHAT那样需要花钱购买支持服务!4、CentOS修正了许多REDHATAS的BUG!附:1、CentOS版本说明:CentOS3.1等同于REDHATAS3Update1CentOS3.4等同于REDHATAS3Update4CentOS4.0等同于REDHATAS4———CentOS2CentOS3.8CentOS4.4CentOS5.0内核2.4.92.4.212.6.92.6.18GCC2.963.2.33.4.64.1.1Web服务器apache1.3.27httpd2.0.46httpd2.0.52httpd2.2.3PHP4.1.24.3.24.3.95.1.6MySQL3.23.583.23.584.1.205.0.22PostgreSQL7.1.37.3.157.4.138.1.4Python1.5.22.2.32.3.42.4.3Perl5.6.15.8.05.8.55.8.8Samba2.2.73.0.93.0.103.0.23cSendmail8.11.68.12.118.13.18.13.8PostfixX2.0.162.2.102.3.3OpenSSH3.1p13.6.1p23.9p14.3p2OpenSSL0.9.6b0.9.7a0.9.7a0.9.8biptables1.2.51.2.81.2.111.3.5Bind9.2.19.2.49.2.49.3.3
㈤ CentOS 6.3如何删除旧的内核方法介绍
华夏联盟网点评:CentOS 6.3时常会更新内核,导致启动时会增加很多启动项,我们可以删除旧的内核,保留最新的内核,这样可以释放一些磁盘空间。CentOS 6.3时常会更新内核,导致启动时会增加很多启动项,我们可以删除旧的内核,保留最新的内核,这样可以释放一些磁盘空间。(1)查看已经安装的内核命令:rpm -q kernel显示结果:kernel-2.6.32-279.el6.i686kernel-2.6.32-279.9.1.el6.i686kernel-2.6.32-279.11.1.el6.i686kernel-2.6.32-279.14.1.el6.i686(2)删除旧的内核安装yum-utls:sudo install yum-utils设置你想要保留多少旧的内核,比如我想保留两个:sudo package-cleanup –oldkernels –count=2再次用rpm -q kernel查看内核信息,只剩最新的两个:kernel-2.6.32-279.11.1.el6.i686kernel-2.6.32-279.14.1.el6.i686(3) 设置永久的内核安装数量 ,我设置的是两个sudo gedit /etc/yum.conf设置installonly_limit=2(4) 重启,就只会看见两个内核启动项了。
㈥ 如何查询centos查看系统内核版本,系统版本
[[email protected] ~]# cat /etc/redhat-release CentOS release 6.5 (Final)##查看Linux系统32位or 64位[[email protected] ~]# uname –mx86_64//64位系统i386/i686//32位系统##查看Linux系统的内核版本[[email protected] ~]# uname –r2.6.32-504.e16.x86_64##查看Linux系统全部信息[[email protected] ~]# uname -aLinux moban 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux经验丰富的运维人员可以合理恰当的组合命令与参数,使Linux字符命令更加的灵活且相对减少消耗系统资源。http://www.linuxprobe.com/chapter-02.html最应该先学习的系统工作、系统状态、工作目录、文件、目录、打包压缩与搜索等工作所需的命令。通过将上述命令归纳到不同的章节,让您逐个的学习掌握必会的Linux基础命令,为今后学习更复杂的命令和服务做好必备铺垫。
㈦ centos 6.0的内核版本是多少
CENTOS 6.0/RHEL 6 Update 0——————2.6.32-71以下是RedHat/CentOS发行版本号及内核版本号对照表Redhat 9.0———————————————2.4.20-8RHEL 3 Update 8————————————2.4.21-47RHEL 4 ————————————————2.6.9-5RHEL 4 Update 1————————————2.6.9-11RHEL 4 Update 2————————————2.6.9-22RHEL 4 Update 3————————————2.6.9-34RHEL 4 Update 4————————————2.6.9-42RHEL 4 Update 5————————————2.6.9-55RHEL 4 Update 6————————————2.6.9-67RHEL 4 Update 7————————————2.6.9-78CENTOS 5/RHEL 5 ———————————2.6.18-8CENTOS 5.1/RHEL 5 Update 1——————2.6.18-53CENTOS 5.2/RHEL 5 Update 2——————2.6.18-92CENTOS 5.3/RHEL 5 Update 3——————2.6.18-128CENTOS 5.4/RHEL 5 Update 4——————2.6.18-164CENTOS 5.5/RHEL 5 Update 5——————2.6.18-194CENTOS 5.6/RHEL 5 Update 6——————2.6.18-238CENTOS 5.7/RHEL 5 Update 7——————2.6.18-274CENTOS 5.8/RHEL 5 Update 8——————2.6.18-308CENTOS 6.0/RHEL 6 Update 0——————2.6.32-71CENTOS 6.1/RHEL 6 Update 1——————2.6.32-131CENTOS 6.2/RHEL 6 Update 2——————2.6.32-220CENTOS 6.3/RHEL 6 Update 3——————2.6.32-279CENTOS 6.4/RHEL 6 Update 4——————2.6.32-358
㈧ centos7和centos6的区别
CentOS 7 vs CentOS 6的区别如下:(1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系统[CentOS6] ext4[CentOS7] xfs(3)内核版本[CentOS6] 2.6.x-x[CentOS7] 3.10.x-x(4)启动加载器[CentOS6] GRUB Legacy (+efibootmgr)[CentOS7] GRUB2(5)防火墙[CentOS6] iptables[CentOS7] firewalld(6)默认数据库[CentOS6] MySQL[CentOS7] MariaDB(7)文件结构[CentOS6] /bin, /sbin, /lib, and /lib64在/下[CentOS7] /bin, /sbin, /lib, and /lib64移到/usr下(8)主机名[CentOS6] /etc/sysconfig/network[CentOS7] /etc/hostname(9)时间同步[CentOS6]$ ntp$ ntpq -p[CentOS7]$ chrony$ chronyc sources(10)修改时间[CentOS6]$ vim /etc/sysconfig/clockZONE="Asia/Tokyo"UTC=fales$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime[CentOS7]$ timedatectl set-timezone Asia/Tokyo$ timedatectl status(11)修改地区[CentOS6]$ vim /etc/sysconfig/i18nLANG="ja_JP.utf8"$ /etc/sysconfig/i18n$ locale[CentOS7]$ localectl set-locale LANG=ja_JP.utf8$ localectl status(12)服务相关1)启动停止[CentOS6]$ service service_name start$ service service_name stop$ service sshd restart/status/reload[CentOS7]$ systemctl start service_name$ systemctl stop service_name$ systemctl restart/status/reload sshd自启动[CentOS6]$ chkconfig service_name on/off[CentOS7]$ systemctl enable service_name$ systemctl disable service_name服务一览[CentOS6]$ chkconfig –list[CentOS7]$ systemctl list-unit-files$ systemctl –type service强制停止[CentOS6]$ kill -9 <PID>[CentOS7]$ systemctl kill –signal=9 sshd(13)网络1)网络信息[CentOS6]$ netstat$ netstat -I$ netstat -n[CentOS7]$ ip n$ ip -s l$ ss2)IP地址MAC地址[CentOS6]$ ifconfig -a[CentOS7]$ ip address show3)路由[CentOS6]$ route -n$ route -A inet6 -n[CentOS7]$ ip route show$ ip -6 route show(14)重启关闭1)关闭[CentOS6]$ shutdown -h now [CentOS7]$ poweroff$ systemctl poweroff2)重启[CentOS6]$ reboot$ shutdown -r now[CentOS7]$ reboot$ systemctl reboot3)单用户模式[CentOS6]$ init S[CentOS7]$ systemctl rescue4)启动模式[CentOS6][GUICUI]$ vim /etc/inittabid:3:initdefault:[CUIGUI]$ startx[CentOS7][GUICUI]$ systemctl isolate multi-user.target[CUIGUI]$systemctl isolate graphical.target默认$ systemctl set-default graphical.target$ systemctl set-default multi-user.target当前$ systemctl get-default
㈨ 为什么centos的内核版本那么低
和其他发行版无异—–CentOS是Linux的一个发行版。特点:===1、可以把CentOS理解为Red Hat AS系列!它完全就是对Red Hat AS进行改进后发布的!各种操作、使用和RED HAT没有区别!2、CentOS完全免费,不存在RED HAT AS4需要序列号的问题。3、CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED HAT那样需要花钱购买支持服务!4、CentOS修正了许多RED HAT AS的BUG!附:1、CentOS版本说明:CentOS3.1 等同于 RED HAT AS3 Update1CentOS3.4 等同于 RED HAT AS3 Update4CentOS4.0 等同于 RED HAT AS4
㈩ 如何查询centos查看系统内核版本,系统版本,32位还是64位
内核版本:uname -a系统版本:cat /etc/issue 多少位:uname -a 是64的会有个字段是写着64,不是的就是386 686之类的,那就是32位了系统内核版本