linux src.rpm内核源码编译安装升级
- 格式:docx
- 大小:483.73 KB
- 文档页数:7
LinuxRPM包安装、卸载和升级(rpm命令)详解
本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装、卸载和升级操作。
我们以安装apache 程序为例。
因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。
RPM包默认安装路径
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。
是测试页,如图 2 所示。
图 2 apache测试页
-e 选项表示卸载,也就是 erase 的首字母。
RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。
在Linux终端中进行软件更新和升级的命令Linux是一种开源操作系统,具有高度的自由度和可定制性。
在使用Linux操作系统时,经常需要对软件进行更新和升级,以获取最新的功能和修复漏洞。
本文将介绍在Linux终端中进行软件更新和升级的命令,帮助读者轻松完成这一操作。
1. 更新软件包在Linux中,软件包是对软件的打包和安装形式。
要更新已安装的软件包,可以使用以下命令:```sudo apt update```该命令会更新可用软件包的清单,但不会安装最新版本。
2. 升级软件包要升级已安装的软件包到最新版本,可以使用以下命令:```sudo apt upgrade```该命令会检查可用的软件包和已安装的软件包之间的差异,并提示用户选择是否进行升级。
3. 强制升级软件包有时候,为了解决特定问题,需要强制升级软件包。
可以使用以下命令:```sudo apt dist-upgrade```该命令会在升级软件包时自动处理依赖关系,并删除不再需要的软件包。
4. 清理不再需要的软件包经常进行软件更新和升级后,系统可能会保留一些不再需要的软件包,占据硬盘空间。
可以使用以下命令清理不再需要的软件包:```sudo apt autoremove```该命令会自动移除已安装的软件包的依赖关系中不再需要的软件包。
5. 更新特定软件包有时候,只需要更新特定的软件包而不是全部更新。
可以使用以下命令:```sudo apt install package_name```将`package_name`替换为要更新的软件包的名称。
6. 更新系统内核系统内核是操作系统的核心部分,负责管理计算机硬件和软件的交互。
要更新系统内核,可以使用以下命令:```sudo apt install linux-image-generic```该命令会下载并安装最新版本的Linux内核。
7. 更新特定应用程序除了系统软件,还有许多其他应用程序也需要进行更新。
.tar.gz⽂件和.rpm⽂件的区别Linux软件的⼆进制分发是指事先已经编译好⼆进制形式的软件包的发布形式,其优点是安装使⽤容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执⾏。
1、*.rpm形式的⼆进制软件包安装:rpm -ivh *.rpm卸载:rpm -e packgename说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使⽤它可以很容易地对rpm形式的软件包进⾏安装、升级、卸载、验证、查询等操作,安装简单,⽽卸载时也可以将软件安装在多处⽬录中的⽂件删除⼲净,因此推荐初学者尽可能使⽤rpm形式的软件包。
rpm的参数中-i是安装,-v是校验,-h是⽤散列符显⽰安装进度,*.rpm是软件包的⽂件名(这⾥的*.rpm特指*.src.rpm以外的以rpm为后缀的⽂件);参数-e是删除软件包,packgename是软件包名,与软件包的⽂件名有所区别,它往往是⽂件名中位于版本号前⾯的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包⽂件名,它们的软件包名称分别是apache和apache-devel。
更多的rpm 参数请⾃⾏参看⼿册页:man rpm。
2、*.tar.gz/*.tgz、*.bz2形式的⼆进制软件包安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2卸载:⼿动删除说明:*.tar.gz/*.bz2形式的⼆进制软件包是⽤tar⼯具来打包、⽤gzip/bzip2压缩的,安装时直接解包即可。
对于解压后只有单⼀⽬录的软件,卸载时⽤命令“rm -rf 软件⽬录名”;如果解压后⽂件分散在多处⽬录中,则必须⼀⼀⼿动删除(稍⿇烦),想知道解压时向系统中安装了哪些⽂件,可以⽤命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。
序言由于开发环境需要在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系统中开始配置工作吧。
kernel5.10 编译方法-回复标题:编译Linux Kernel 5.10的详细步骤在Linux的世界中,编译Kernel是一项基础且重要的技能。
本文将详细介绍如何从源代码编译Linux Kernel 5.10。
以下是一步一步的详细教程。
一、准备工作1. 确保系统环境首先,你需要一个运行中的Linux系统。
本文以Ubuntu 20.04为例,但大部分Linux发行版的步骤应该是类似的。
2. 更新系统确保你的系统已经更新到最新版本,可以使用以下命令:sudo apt-get updatesudo apt-get upgrade3. 安装必要的工具编译Kernel需要一些基本的开发工具和库,可以通过以下命令安装:sudo apt-get install build-essential libncurses5-dev bc flex bison openssl libssl-dev dkms二、下载Kernel源代码1. 创建工作目录在你的主目录下创建一个名为kernel的工作目录:mkdir ~/kernelcd ~/kernel2. 下载Kernel源代码你可以从Kernel官网(5.10的源代码:wget3. 解压源代码使用以下命令解压下载的源代码:tar xvf linux-5.10.tar.xz这将在当前目录下创建一个名为linux-5.10的目录,这是Kernel的源代码目录。
三、配置和编译Kernel1. 进入源代码目录cd linux-5.102. 配置Kernel配置Kernel是编译过程中最重要的一步,你可以根据你的硬件和需求选择要编译的功能。
对于大多数用户,使用以下命令进行基本配置应该足够:make menuconfig这将打开一个基于文本的配置界面。
你可以使用方向键和回车键浏览和选择选项。
完成后,保存并退出。
3. 开始编译配置完成后,可以开始编译Kernel了。
这个过程可能需要一些时间,取决于你的计算机性能:make -j(nproc)这里的-j参数表示使用多少个进程进行编译,(nproc)会自动获取你的CPU 核心数。
sudo apt-get install linux-source 会自动安装当前版本内核的源代码到/usr/src升级内核源码:1.将下载过来linux源代码包(tar.bz2包)解压到/usr/src下。
如果你还不知道怎么解压,请google之~解压完毕后可以在/usr/src目录下看到一个linux-2.6.31.6的文件夹2.转移目录至linux-2.6.31.6用如下命令:cd /usr/src/linux-2.6.31.63.先配置Ubuntu内核:make menuconfig具体怎么配置我不清楚,不过这个基本上不用怎么配置的,直接选最后一项,save,exit 就OK了4.接着开始编译Ubuntu内核:make这是一个漫长的过程,慢慢等吧~~这个花了我将近一个半小时的时间5.加入模块:make modules_install6.生成可执行的Ubuntu内核引导文件:make bzImage (注意i字母要大写)7.将bzImage复制至/boot下:cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.31.6 //2.6.32Ubuntu内核的bzImage目录为arch/x86/boot/bzImage8.清除多余的创建文件:make clean //这一步最好还是留到最后来做(现在可以先不跳过这一步),这样的话,即使你后面操作失误也可以回到这里重做,而不需要重新编译9.将System.map复制至/boot下:cp System.map /boot/System.map-2.6.31.610.生成initrd.img 这个很重要,我开始弄错了这个,害的我白重启了一次。
命令:cd /lib/modules/2.6.31.6sudo mkinitramfs -o /boot/initrd.img-2.6.31.6 //2.6.32可以为sudo update-initramfs -c - k 2.6.3211.自动查找新Ubuntu内核,并添加至grub引导:sudo update-grub这个过程也可以手动完成,方法是更改/boot/grub目录下menu.lst文件。
Linux操作系统的编译和安装在正文规定的字数限制下,为了准确满足标题描述的内容需求,并确保内容排版整洁美观、语句通顺、全文表达流畅且无影响阅读体验的问题,本文将按照以下格式进行写作:一、简介Linux操作系统是一种开源的、自由的Unix-like操作系统,它广泛应用于各种领域,包括服务器、嵌入式设备等。
本文将重点介绍Linux 操作系统的编译和安装过程。
二、编译准备1. 下载源代码在编译Linux操作系统之前,首先需要从官方网站下载Linux内核的源代码包。
2. 安装必要的依赖软件在编译过程中,需要安装一些必要的软件和工具,如编译器、构建工具等。
三、编译步骤1. 解压源代码包使用解压命令将下载的源代码包解压到指定目录。
2. 配置编译选项进入源代码目录,并运行配置命令,根据需要选择不同的编译选项。
3. 执行编译命令运行编译命令开始编译操作系统内核,这个过程可能需要一段时间。
四、安装步骤1. 安装编译生成的内核镜像文件将编译生成的内核镜像文件复制到合适的位置,并修改相关配置文件以引导新编译的内核。
2. 安装相关系统文件运行安装命令,将其他必要的系统文件复制到适当的位置。
五、系统配置1. 修改引导加载程序根据系统的引导加载程序,如GRUB、LILO等,修改引导配置文件以支持新安装的内核。
2. 配置网络和驱动程序根据具体需求,配置网络设置和硬件驱动程序。
六、测试与验证1. 重新启动系统重新启动计算机,并选择新编译的内核进行引导。
2. 验证系统版本和功能运行相应的命令,验证新安装的Linux操作系统版本和功能是否正确。
七、常见问题解决1. 编译错误分析编译过程中出现的错误信息,根据错误提示进行逐步修复。
2. 硬件兼容性问题部分硬件设备可能需要额外的驱动程序或补丁文件才能正常运行,根据具体情况进行相应的处理。
八、总结通过本文的介绍,读者可以了解到Linux操作系统的编译和安装过程,同时了解到在实际操作中会遇到的一些常见问题及解决方法。
linux下RPM工具的使用:RPM安装查询查看卸载升级软件包•o一.关于软件包在linux中安装软件是需要安装包的,软件的安装包有各种类型:.zip,.rar,.rpm,.tar.gz,.tar。
软件包还可以分为源代码包和二进制包,源代码包是没有经过编译的包,需要经过GCC、C++编译器环境编译才能运行。
二进制包无需编译,可以直接安装使用。
区分是否为源代码包还是二进制包还得基于软件包里面的文件来判断,包含.h、.c、.cpp、.cc等结尾的源码文件,称之为源代码包,而软件包里面存在bin目录(bin目录里有可执行文件),称之为二进制包。
源码包高度可定制,可以自由选择自己需要的功能。
二.RPM软件包RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
RPM包是二进制包可以直接使用。
rpm包的获取方式:Centos系统镜像光盘;网站/;各种软件的官网下载。
三.RPM包通用的命名规则RPM包的一般命名规则为:name-version-arch.rpm或者name-version-arch.src.rpm。
• name就是软件包的名称• version是软件的版本号,版本号的格式通常为“主版本号.次版本号.修正号”,也有发布版本号,表示这个RPM包是第几次编译生成的• arch表示软件包适用的硬件平台,目前RPM支持的平台有:i386,i586,i686、sparc,alpha,x86_64等等• .rpm或.src.rpm,是RPM包类型的后缀,.rpm是编译好的二进制包,可用rpm命令直接安装;.src.rpm表示是源代码包,需要编译之后才可以使用• el* 表示这个软件包的发行商版本,el7表示这个软件包是在RHEL 7.x/CentOS 7.x下使用• devel:表示这个RPM包是软件的开发包• noarch:说明这样的软件包可以在任何平台上安装,不需要特定的硬件平台。
linux:linux软件安装命令[root@test /root]# md5sum [-bct] filename[root@test /root]# md5sum [--status|--warn] --check filename参数说明:-b :使用binary 的读档方式,预设为Windows/DOS 档案型态的读取方式;-c :检验md5sum 档案指纹;-t :以文字型态来读取md5sum 的档案指纹。
范例:[root@test /root]# md5sum grep-2.5.1-7.8.i386.rpm5a0c3fcfcd4c3f937644b8cd71a0cf89 grep-2.5.1-7.8.i386.rpm# 看!显示的编码是否与上面相同呢?!赶紧测试看看!tar.gz源代码包安装方式#1. 解压缩,并阅读一下ntp 底下的README 与INSTALL:[root@test root]# cd /usr/local/src[root@test src]# tar -zxvf /root/ntp-4.1.2.tar.gz# 这个步骤会让原始码解开成为/usr/local/src/ntp-4.1.2 这个目录# 2. 进入原始码所在目录,并且查阅如何安装的技巧:[root@test src]# cd ntp-4.1.2[****************.2]#viINSTALL(或vi README)# 3. 开始设定参数、编译与安装:[****************.2]#./configure--help|more# 上面这个动作可以察看一下可用的参数![****************.2]#./configure--prefix=/usr/local/ntp\> --enable-all-clocks --enable-parse-clockschecking for gcc... (cached) gccchecking whether we are using the GNU C compiler... (cached) yeschecking whether gcc accepts -g... (cached) yes.....(略)....configure: creating ./config.statusconfig.status: creating Makefile# 一般来说configure 设定参数较重要的就是那个--prefix=/path 了,# --prefix 后面接的路径就是『这个软件未来要安装到那个目录去?』# 如果您没有指定--prefix=/path 这个参数,通常预设参数就是/usr/local# 至于其它的参数意义就得要参考./configure --help 了!# 这个动作完成之后会产生makefile 或Makefile 这个档案# 当然啦,这个侦测检查的过程会显示在屏幕上,特别留意关于gcc 的检查,# 还有最重要的是最后需要成功的建立起Makefile 才行!(上面最后一行)[****************.2]#makeclean;make[****************.2]#makecheck[****************.2]#makeinstall# 将数据给他安装在/usr/local/ntp 底下[****************.2]#makeuninstall# 卸载软件.有些软件包的源代码编译安装后可以用make uninstall命令卸载。
编译Linux内核实验目的学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。
实验内容重新编译内核是一件比你想像的还要简单的事情,它甚至不需要你对内核有任何的了解,只要你具备一些基本的Linux操作系统的知识就可以进行。
本次实验,要求你在RedHat Fedora Core 5的Linux系统里,下载并重新编译其内核源代码(版本号KERNEL-2.6.15-1.2054);然后,配置GNU的启动引导工具grub,成功运行你刚刚编译成功的Linux内核。
实验提示Linux是当今流行的操作系统之一。
由于其源码的开放性,现代操作系统设计的思想和技术能够不断运用于它的新版本中。
因此,读懂并修改Linux内核源代码无疑是学习操作系统设计技术的有效方法。
本实验首先介绍Linux内核的特点、源码结构和重新编译内核的方法,讲述如何通过Linux系统所提供的/proc虚拟文件系统了解操作系统运行状况的方法。
最后,对Linux编程环境中的常用工具也有简单介绍。
1.1查找并且下载一份内核源代码我们知道,Linux受GNU通用公共许可证(GPL)保护,其内核源代码是完全开放的。
现在很多Linux的网站都提供内核代码的下载。
推荐你使用Linux的官方网站: ,如图1-1。
在这里你可以找到所有的内核版本。
图1-1 Linux的官方网站由于作者安装的Fedora Core 5并不附带内核源代码,第一步首先想办法获取合适版本的Linux内核代码。
通过命令# uname –r2.6.15-1.2054_FC5这就是说,RedHat Fedora Core 5采用的内核版本是2.6.15-1.2054_FC5。
但是,官方网站/pub/linux/kernel/找不到对应版本。
请别着急,既然它是RedHat发布的,RedHat的官方网站总有吧。
浏览/pub/fedora/linux/core/5/source/SRPMS,我们发现果然有文件kernel-2.6.15-1.2054_FC5.src.rpm,这个rpm文件就是2.6.15-1.2054_FC5版的内核源代码了。
src.rpm包安装⽅法有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进⾏编译。
这类软件包有多种安装⽅法,以redhat为例说明如下:注意:如果没有rpmbuild可以从系统安装光盘的Package中找到 rpm-build-version-packTimes.os.arch.rpm包安装rpm -ivh rpm-build-version-packTimes.os.arch.rpm⽅法⼀:1. 执⾏rpm -i your-package.src.rpm2. cd /usr/src/redhat/SPECS3. rpmbuild -bp your-package.specs ⼀个和你的软件包同名的specs⽂件4. cd /usr/src/redhat/BUILD/your-package/ ⼀个和你的软件包同名的⽬录5. ./configure 这⼀步和编译普通的源码软件⼀样,可以加上参数6. make7. make install⽅法⼆:1. 执⾏rpm -i you-package.src.rpm2. cd /usr/src/redhat/SPECS (前两步和⽅法⼀相同)3. rpmbuild -bb your-package.specs ⼀个和你的软件包同名的specs⽂件这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个⽬录下,有⼀个新的rpm包,这个是编译好的⼆进制⽂件。
执⾏:rpm -i new-package.rpm即可安装完成。
rpm安装⽅式:rpm -ivh *.rmp有时候在尝试了上⾯两种⽅法后发现未能⽣成/usr/src/redhat/SPECS中的对应⽂件,可以再尝试第三种⽅法。
⽅法三:直接解包成源码:1.把packName.src.rpm解包,会⽣成⼀个.tar.gz或者.tar.bz2的压缩包,那个就是源码rpm2cpio packName.src.rpm | cpio -id2. 解压缩源码包 tar -jxvf packName.tar.bz(2)3. cd packName5. ./configure 这⼀步和编译普通的源码软件⼀样,可以加上参数6. make7. make install。
1.如何安装rpm软件包rmp软件包的安装可以使用程序rpm来完成。
执行下面的命令rpm -i your-package.rpm其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
安装过程中可能出现下面的警告或者提示:... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i 强制安装即可... is needed by ...... is not installed ... 此包需要的一些软件你没有安装可以用rpm --nodeps -i 来忽略此信息也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能2.如何安装.src.rpm软件包有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。
这类软件包有两种安装方法,方法一:1.执行rpm -i your-package.src.rpm2. cd /usr/src/redhat/SPECS3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录5. ./configure 这一步和编译普通的源码软件一样,可以加上参数6. make7. make install方法二:1.执行rpm -i you-package.src.rpm2. cd /usr/src/redhat/SPECS前两步和方法一相同3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件 ,这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) ,在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
linux内核源码编译加制作rpm包本章主要讲解实际操作步骤,具体理论知识可以⾃⾏百度linux内核官⽹下载:(如图)根据官⽹发布的信息分析,⽬前最新的是2020-12-27出的5.11版本,但不是稳定版本,稳点版本是5.10.3和5.9.16;根据图上可以看出,5.9.16已经不⽀持了(停⽌更新了),⽬前最新并且稳定的只有5.10.3。
本章-博主将下载linux-4.19.163进⾏操作编译(不建议直接使⽤最新的,稳定且应⽤⼴泛的应该是最适合的)这⾥我使⽤的是腾讯云服务器:Centos7.6(也可以使⽤VM开⼀台虚拟机,磁盘最好是40G以上空间 [ 0.0内核越来越⾼,空间占⽐也越来越重 ! ] )进⼊系统后,先下载4.19.163的源码包#wget下载完毕后,将包解压到/usr/src/下(这⾥解压到哪⾥都⾏,个⼈习惯解压到此位置)#tar xvf linux-4.19.163.tar.xz -C /usr/src/cd到解压⽬录下,进⼊解压出的⽬录⾥#cd /usr/src/linux-4.19.163图形化界⾯查看编译内容,可调试# make menuconfig这些都是内核中的模块,我们随便选⼀项进⾏解析:选Device Drivers(设备驱动)会看到图上带*号的⾏,是选中的意识,也就是,我们将把这个驱动模块编译到内核中去带M号的意识是,它将以⼀个模块⽅式存在为空[ ]的,意识是没有使⽤此功能(实际在⼀些做嵌⼊式系统⼯作中,会根据需要,选择很少的功能,选的越少,启动越快,也会相对稳定)这⾥我们不做改动,默认即可,退出后,在当前⽬录下,开始编译#make && make bzImage (时间较长可以,根据⾃⼰系统配置情况可以选⽤ # make -j4) #编译安装#make modules_install #加载模块#make install #最后⼀步安装kernel这⾥完成后,会⾃动帮我们修改好grub⽂件信息,不⽤⾃⼰再做修改了#reboot重启机器即可================================================================如需制作RPM内核安装包,就不需要运⾏以上Make步骤,解压后进⼊⽬录# make rpm(时间较长)完成后,rpm包⽣成位置(⼀般会在/root/下):# cd /root/rpmbuild/不是本章内容,回忆补充:⼯作中需要快速部署,并且做成rpm包,使⽤fpm 来做成rpm 包## fpm -s dir -t rpm -n 包名 -v 1.16.1 -d '部署需要的依赖包,以“,”号隔开添⼊' -f --post-install 配置脚本启动脚本。
Linux命令之安装RPM包或者源码包⼀、RPM⼯具 (1)安装RPM包的命令如下 -i:表⽰安装 -v:表⽰可视化 -h:表⽰显⽰安装进度 - -force:表⽰强制安装,即使覆盖属于其他包的⽂件也要安装 - -nodeps:信任安装 (2)升级RPM包 升级RPM包的命令为rpm -Uvh filename,其中U表⽰升级 (3)卸载RPM包 卸载RPM包的命令rpm -e libjpeg-turbo-devel (4)查询⼀个包是否安装 rpm -qa 包名 查询所有rpm -qa (5)得到⼀个已安装的RPM包的相关信息 rpm -qi 包名 (6)列出⼀个RPM包的安装⽂件 rpm -ql 包名 (7)列出某个⽂件属于哪个RPM包 rpm -qf 包名⼆、yum⼯具 (1)列出所有可⽤的rpm包 yum list (2)搜索RPM包 yum search 相关关键词 (3)安装RPM包 yum install [-y] 包名 (4)卸载RPM包 yum remove [-y] RPM包名 (5)升级RPM包 yum update [-y] RPM包 (6)使⽤本地光盘制作yum源 Ⅰ.挂载光盘 Ⅱ. 删除/etc/yum.repos.d⽬录下的所有的repo⽂件(删除前最好做个备份) Ⅲ.创建新⽂件dvd.repo Ⅳ.刷新repos⽣成缓存 然后就可以安装你想安装的软件包了 (7)利⽤yum⼯具下载RPM包 在此之前需要做 有时我们需要下载RPM包但不安装,⽽仅仅是复制给其他机器使⽤。
前⾯也介绍过使⽤yumT⼯具 安装RPM包时,⾸先得下载这个RPM包,然后再去安装,所以使⽤yuniT⼯具完全可以做到只下载⽽不安装 下载RPM包⽽不安装的命令 #yum install 包名 -y --downloadonly 下载到指定⽬录的命令 #yum install 包名 -y --downloadonly --downloadir=/user/local/src 其实这⾥有⼀个问题,那就是如果包已经安装过了, 那么使⽤yum install --downloadonly就不起作⽤了,它会提⽰这个包已经安装过,根本就下载不下来,此时应该怎么办呢? 现在就是想下载RPM包,总不能先卸载再安装吧?三、安装源码包 安装源码包通常需要以下3个步骤。
linux内核编译过程解释
Linux内核是操作系统的核心部分,它控制着系统的资源管理、任务调度、驱动程序等重要功能。
编译Linux内核是一项非常重要的任务,因为它决定了系统的性能、稳定性和可靠性。
下面我们来了解一下Linux内核的编译过程。
1. 下载内核源代码:首先,我们需要从官方网站上下载Linux
内核的源代码。
这里我们可以选择下载最新的稳定版本或者是开发版,具体取决于我们的需求。
2. 配置内核选项:下载完源代码后,我们需要对内核进行配置。
这一步通常需要使用make menuconfig命令来完成。
在配置过程中,我们需要选择系统所需的各种驱动程序和功能选项,以及定制化内核参数等。
3. 编译内核:配置完成后,我们可以使用make命令开始编译内核。
编译过程中会生成一些中间文件和可执行文件,同时也会编译各种驱动程序和功能选项。
4. 安装内核:编译完成后,我们可以使用make install命令将内核安装到系统中。
这一步通常需要将内核文件复制到/boot目录下,并更新系统的引导程序以便正确加载新内核。
5. 重启系统:安装完成后,我们需要重启系统以使新内核生效。
如果新内核配置正确,系统应该能顺利地启动并正常工作。
总的来说,Linux内核的编译过程是一个相对复杂的过程,需要一定的技术和操作经验。
但是,通过了解和掌握相关的编译技巧和命
令,我们可以轻松地完成内核编译工作,并为系统的性能和稳定性做出贡献。
Linux操作系统rpm包安装方式详细步骤Linux操作系统rpm包安装方式详细步骤安装包(Install pack),即软件安装包,是可自行解压缩文件的集合,其中包括软件安装的所有文件。
运行这个安装包(可执行文件),可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。
安装包文件多为exe格式。
以下是店铺帮大家整理的Linux操作系统rpm包安装方式详细步骤,仅供参考,大家一起来看看吧。
Linux操作系统rpm包安装方式详细步骤篇1在Windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下。
所以你要学会如何在linux 下安装一个软件。
在前面的内容中多次提到的yum,这个yum是RedHat所特有的安装RPM程序包的工具,使用起来相当方便。
因为使用RPM安装某一个程序包有可能会因为该程序包依赖另一个程序包而无法安装。
而使用yum工具就可以连同依赖的程序包一起安装。
当然CentOS同样可以使用yum工具,而且在CentOS中你可以免费使用yum,但Redhat中只有当你付费后才能使用yum,默认是无法使用yum的。
在介绍yum之前先说一说RPM相关的东西。
【RPM工具】RPM是”Redhat Package Manager”的缩写,根据名字也能猜到这是Redhat公司开发出来的。
RPM 是以一种数据库记录的方式来将你所需要的套件安装到你的Linux 主机的一套管理程序。
也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。
RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。
但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
Linux强制安装rpm包的解决⽅法
Linux 正常安装 rpm 的命令是:
rpm -ivh xxx.rpm
重复安装时需加属性:
软件包重复安装将会失败,若仍需要安装必须加 --replacepkgs 属性
软件包的某个⽂件已在安装其他软件包时安装过,则安装将会失败,若仍需要安装必须加 --replacefiles 属性
解决依赖问题:
加上 --nodeps 属性,不考虑依赖关系
强制安装:
加上 --force 属性,强制进⾏安装
但⼀般不建议这样操作,因为可能引起其它问题,建议配置成 yum 安装。
总结
以上所述是⼩编给⼤家介绍的Linux 强制安装 rpm 包的解决⽅法,希望对⼤家有所帮助如果⼤家有任何疑问欢迎给我留⾔⼩编会及时回复⼤家的!。
Linux下RPM软件包的安装、更新及卸载⽅法在 Linux 操作系统下,⼏乎所有的软件均通过RPM 进⾏安装、卸载及管理等操作。
RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,⽤于管理Linux 下软件包的软件。
Linux 安装时,除了⼏个核⼼模块以外,其余⼏乎所有的模块均通过RPM 完成安装。
RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。
RPM 安装操作命令:rpm -i 需要安装的包⽂件名举例如下:rpm -i example.rpm 安装 example.rpm 包;rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显⽰正在安装的⽂件信息;rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显⽰正在安装的⽂件信息及安装进度;RPM 查询操作命令:rpm -q …附加查询命令:a 查询所有已经安装的包以下两个附加命令⽤于查询安装包的信息;i 显⽰安装包的信息;l 显⽰安装包中的所有⽂件被安装到哪些⽬录下;s 显⽰安装版中的所有⽂件状态及被安装到哪些⽬录下;以下两个附加命令⽤于指定需要查询的是安装包还是已安装后的⽂件;p 查询的是安装包的信息;f 查询的是已安装的某⽂件信息;举例如下:rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;rpm -qip example.rpm 查看 example.rpm 安装包的信息;rpm -qif /bin/df 查看/bin/df ⽂件所在安装包的信息;rpm -qlf /bin/df 查看/bin/df ⽂件所在安装包中的各个⽂件分别被安装到哪个⽬录下;RPM 卸载操作命令:rpm -e需要卸载的安装包在卸载之前,通常需要使⽤rpm -q …命令查出需要卸载的安装包名称。
举例如下:rpm -e tomcat4卸载 tomcat4 软件包RPM 升级操作命令:rpm -U 需要升级的包举例如下:rpm -Uvh example.rpm升级 example.rpm 软件包RPM 验证操作命令:rpm -V 需要验证的包举例如下:rpm -Vf /etc/tomcat4/tomcat4.conf输出信息类似如下:S.5....T c /etc/tomcat4/tomcat4.conf其中,S 表⽰⽂件⼤⼩修改过,T 表⽰⽂件⽇期修改过。
如何升级 Linux 内核版本Linux 是一种非常强大的操作系统,它为用户提供了众多的选择和自由度。
其中最基本的就是内核。
内核是 Linux 系统的核心部分,它控制着整个系统的运行。
为了让 Linux 系统性能更好,我们可以通过升级内核来提高系统的运行速度和稳定性。
本文将介绍如何升级 Linux 内核版本。
一、为什么要升级 Linux 内核版本在使用 Linux 系统时,你会发现不同版本的内核会对系统性能产生很大的影响。
升级一个更高版本的内核,可以使系统运行更流畅、网络连接更稳定、设备驱动更完善、安全性更好,还可以提高系统稳定性和性能。
二、如何查找当前内核版本号在升级 Linux 内核版本之前,我们需要先查看当前内核的版本号。
可以运行以下命令:uname -a该命令将会显示当前的内核名称、版本号和日期等信息。
三、升级 Linux 内核版本的具体步骤1. 下载新版本内核源代码可以从官方网站或者其他网站获取最新版本的内核。
下载完成后,将其解压缩到任意的目录下。
2. 配置新内核进入到新内核的目录下,执行以下命令:make menuconfig该命令将会进入到新内核的配置界面。
在界面中,您可以根据自己的需要选择所需要的模块、设备驱动、选项等。
完成后,保存配置并退出。
3. 编译新内核执行以下命令,开始编译新内核:make该命令将会花费一些时间来编译新内核。
建议在命令后面添加一个-j参数,以加快编译速度:make -j44. 安装新内核在完成新内核的编译后,执行以下命令安装新内核:make modules_install install5. 重启系统在完成新内核的安装后,您需要重启系统以使其生效:reboot6. 检查新内核系统重新启动后,您可以通过以下命令检查新内核是否已经生效:uname -a如果新内核的版本和您刚刚安装的版本相同,则说明新内核已经生效。
四、如何降级内核版本在升级内核版本前,建议备份当前的内核版本。
如何编译内核及制作RPM包编译内核及制作RPM包编译步骤第一步:# cd /home# wget /pub/linux/kernel/v2.6/linux-2.6.32.5.tar.gz# tar -zxvf linux-2.6.32.5.tar.gz -C /usr/src# cd /usr/src# ln -s linux-2.6.32.5 linux# cd linux第二步:# make mrproper (初次编译内核这步也可以省略,方便第二次编译初始用。
)# make menuconfig# make bzImage && make modules && make modules_install(需30~40分钟,具体看服务器配置)# make install如需制作RPM内核安装包,运行以下命令,相当于第二步的操作,但不编译本机内核。
# make rpm生成位置:/usr/src/redhat/RPMS/x86_64/kernel-2.6.32.6-2.x86_64.rpm /usr/src/redhat/SRPMS/kernel-2.6.32.6-2.src.rpm安装步骤1、二进制rpm包安装步骤# rpm -ivh kernel-2.6.32.6-1.x86_64.rpm# vi /boot/grub/menu.lst添加以下并修改default项。
title CentOS (2.6.32.6)root (hd0,0)kernel /vmlinuz-2.6.32.6 ro root=LABEL=/initrd /initrd-2.6.32.6.img# cd /lib/modules && mkinitrd /boot/initrd-2.6.32.6.img 2.6.32.6/2、RPM源码包安装步骤,好处便是在原有基础上再进行编译,更灵活。
下载的内核源码包拷贝到/usr/src
执行rpm -ivh your-package.src.rpm
warning: user brewbuilder does not exist - using root
warning: group brewbuilder does not exist - using root
# useraddbrewbuilder
# groupaddbrewbuilder
# cd /usr/src/redhat/SPECS
[root@localhost SPECS]# ls
kernel-2.6.spec
rpmbuild -bp --target=i686 your-package.specs一个和你的软件包同名的specs文件
4.cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
调整linux核心,让系统能够支持多于256 个legacy tty设备(pty, tty pair)
在linux核心配置里有一个选项'CONFIG_LEGACY_PTY_COUNT' 是用来控制系统内建多少个legacy tty设备;
如果想让系统能够支持很多legacy tty设备,需要修改此配置项的值,然后重新编译内核。
对于2.6.39内核
在使用交互的config方式,如menuconfig之前;注意先修改内核目录下/drivers/tty/Kconfig(/drivers/char/Kconfig)文件
cd /usr/src/redhat/BUILD/your-package/ 一个的软件包同名的目录/drivers/tty/Kconfig(/drivers/char/Kconfig)
修改之前:
config LEGACY_PTY_COUNT
int "Maximum number of legacy PTY in use"
depends on LEGACY_PTYS
range 0 256
default "256"
修改之后:
config LEGACY_PTY_COUNT
int "Maximum number of legacy PTY in use"
depends on LEGACY_PTYS
range 1 2048
default "2048"
然后重新编译内核,安装编译好的内核
cd /usr/src/redhat/BUILD/your-package/一个的软件包同名的目录
为了保证内核升级的准确性,要在原有Linux系统配置的基础上进行升级,首先,进入新内核文件目录,将原LINUX系统配置文件复制到新内核文件目录中,并命名为“.config”,然后,执行内核参数配置命令“make menuconfig”命令,如下图:
在开始新内核参数配置,需要先载入源内核,按照操作说明使用“+”、“-”或者“↑”“↓”键,移动光标至“Load an Alternate Configuration File”选项,如图:
“Enter”键确认,提示画面如图:
确认返回,开始内核新参数配置;由于Linux内核支持文件系统的变化,对IBM X3650 M3 Server配置内核参数时需要添加SYSFS 支持,选择“General setup”项,增加“ enable deprecated sysfs features to support old userspace tools”模块;操作如图:
选择“Device Drivers”→“Character Drivers”→“Legacy (BSD) PTY support”,增加Legacy (BSD) PTY support模块,修改Maximum number of legacy PTY in use(NEW)的值操作如图:
其他有用的功能,如网络功能定义、Windows文件系统支持、硬件驱动等,可根据需要自行选择;保存参数配置,退出配置画面,
也可以选择直接退出配置画面,按照提示确认保存参数,如图:
检查必要参数配置
例如:Legacy (BSD) PTY support模块检查:
# cat .config|grep PTY
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
lvm2文件系统模块检查:
# cat .config|grepDEPRECATED_V2
CONFIG_SYSFS_DEPRECATED_V2=y
等等。
编译内核:
#make–jn #** n代表同时编译的进程数,可以加快
编译速度,n由你的配置决定,这里用15-25 #make modules
#makemodules_install
#make install
在看一下etc/grub.conf
重新启动,检查启动是否正常,完成升级。