linux内核2.6升级到3.11.4

本文详细介绍如何在CentOS系统上手动升级内核版本,包括安装必要的编译工具、下载内核源码、编译安装新内核以及更新grub配置等步骤。

检查当前版本

[Long80A@VM-196~]$ uname -r

2.6.32-279.el6.x86_64

查看当前的/boot/grub/grub.conf内容:

 

下面使用root用户操作:

[root@VM-196~]# cat /boot/grub/grub.conf

#grub.conf generated by anaconda

#

#Note that you do not have to rerun grub after making changes to this file

#NOTICE:  You do not have a /bootpartition.  This means that

#          all kernel and initrd paths arerelative to /, eg.

#          root (hd0,0)

#          kernel /boot/vmlinuz-version roroot=/dev/sda1

#          initrd/boot/initrd-[generic-]version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

hiddenmenu

titleCentOS (2.6.32-279.el6.x86_64)

        root (hd0,0)

        kernel /boot/vmlinuz-2.6.32-279.el6.x86_64ro root=UUID=41262435-0821-4978-a349-5edf0b1caf32 rd_NO_LUKS rd_NO_LVMLANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgbquiet

        initrd/boot/initramfs-2.6.32-279.el6.x86_64.img

[root@VM-196~]#

 

安装所需要的工具:

 

[root@VM-196~]# yum install wget gcc gc bc gd make perl ncursec-devel xz –y

 

 

如果此处,执行时遇到问题,比如:

Loaded plugins: fastestmirror, security
Determining fastest mirrors
Setting up Install Process
No package gc available.
No package ncursec-devel available.
Nothing to do

【这是由于没有配置正确yum的源导致,可通过ll /etc/yum.repos.d/来检查,看看是否是存在CentOS-Base.repo,

以及内容:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】

下载内核文件:

 

cd /usr/src  

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.11.4.tar.xz# 内核文件

 

xz  -d linux-3.11.4.tar.xz # 解压.xz

tar  -xvf linux-3.11.4.tar # 解压.tar

cd linux-3.11.4

清理系统内的环境变量及依赖

make mrproper #清除环境变量

 

cp  /boot/config-* /usr/src/kernels/ #为了方便编译配置,将/boot下的配置文件复制到当前目录下的/usr/src/kernels/文件中

 make   menuconfig出现General setup菜单,根据自己的需要对Kernel进行增、减。

 make  clean

make bzImage    #生成内核文件

make  modules    #编译模块(注:此处需要很长时间,请耐心等待,给我的环境轻松一个半小时+)

make  modules_install  #安装模块

make  install    #安装,此处报了一个vmware的错【ERROR: modinfo: could not find module vmware_balloon】,是因为在VM中运行导致的,但不影响升级

 

下面修改/boot/grub/grub.conf文件,把default=1改为0

[root@VM-196linux-3.11.4]# vi  /boot/grub/grub.conf

#grub.conf generated by anaconda

#

#Note that you do not have to rerun grub after making changes to this file

#NOTICE:  You do not have a /bootpartition.  This means that

#          all kernel and initrd paths arerelative to /, eg.

#          root (hd0,0)

#          kernel /boot/vmlinuz-version roroot=/dev/sda1

#          initrd/boot/initrd-[generic-]version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

hiddenmenu

titleCentOS (3.11.4)

        root (hd0,0)

        kernel /boot/vmlinuz-3.11.4 roroot=UUID=41262435-0821-4978-a349-5edf0b1caf32 rd_NO_LUKS rd_NO_LVMLANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgbquiet

        initrd /boot/initramfs-3.11.4.img

titleCentOS (2.6.32-279.el6.x86_64)

        root (hd0,0)

        kernel/boot/vmlinuz-2.6.32-279.el6.x86_64 roroot=UUID=41262435-0821-4978-a349-5edf0b1caf32 rd_NO_LUKS rd_NO_LVMLANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgbquiet

        initrd/boot/initramfs-2.6.32-279.el6.x86_64.img

 

重启之后看看版本号:

reboot

uname -r

[Long80A@VM-196 ~]$ uname -r

3.11.4

此时升级完成。

 

 

 

<think>好的,用户想在Linux系统上安装Python 3.11.4版本。我需要根据提供的引用内容来整理步骤。首先,引用3提到在CentOS7上源码编译安装Python 3.11.4,步骤包括下载源码包、解压、配置依赖、编译安装等。引用2提到使用update-alternatives设置默认版本,这可能对用户有用。用户可能在安装过程中遇到依赖问题,需要安装开发工具和必要的库,比如libffi-devel、zlib-devel等。还要注意,安装完成后可能需要配置环境变量,如source /etc/profile。另外,用户可能需要将新安装的Python设为默认版本,这时候引用2中的命令就派上用场了。需要确保步骤清晰,避免遗漏关键环节,比如解决依赖和SSL模块的问题。最后,提醒用户验证安装是否成功,使用python3.11 --version检查版本。整个过程需要分步骤详细说明,确保用户能顺利操作。</think>### 在Linux上安装Python 3.11.4的步骤 #### 1. 安装依赖库 在编译Python源码前,需确保系统已安装必要的开发工具和依赖库: ```bash sudo apt-get update # Ubuntu/Debian sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev ``` 如果是CentOS/RHEL系统: ```bash sudo yum groupinstall "Development Tools" sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel ``` (依赖安装是编译源码的基础步骤[^3]) #### 2. 下载Python源码包 通过`wget`下载官方源码包并解压: ```bash wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz tar -xvf Python-3.11.4.tgz -C /usr/local/src cd /usr/local/src/Python-3.11.4 ``` (源码包解压路径参考了引用[3]的实践) #### 3. 配置编译选项 启用SSL和优化编译: ```bash ./configure --enable-optimizations --with-openssl=/usr # 确保SSL模块正常支持 ``` 若需自定义安装路径(如`/opt/python3.11`),可添加`--prefix=/opt/python3.11` #### 4. 编译与安装 使用多线程加速编译: ```bash make -j$(nproc) # 根据CPU核心数调整线程 sudo make altinstall # 使用altinstall避免覆盖系统默认Python ``` (`altinstall`可保留系统原有Python版本) #### 5. 验证安装 检查版本及模块支持: ```bash python3.11 --version # 应输出Python 3.11.4 python3.11 -c "import ssl; print(ssl.OPENSSL_VERSION)" # 确认SSL支持正常 ``` #### 6. 设置为默认Python版本(可选) 若需替换系统默认的`python3`命令: ```bash sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 1 sudo update-alternatives --config python3 # 交互式选择版本 ``` (引用[2]中提供了`update-alternatives`的配置方法) #### 7. 环境变量配置(可选) 若安装路径未加入系统PATH,可手动添加: ```bash echo &#39;export PATH="/opt/python3.11/bin:$PATH"&#39; >> ~/.bashrc source ~/.bashrc ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值