linux软件包管理(linux中rpm命令的作用)

本文目录
- linux中rpm命令的作用
- linux系统中怎样卸载软件(linux系统软件安装和卸载的常见方法)
- Linux系统的软件包管理器在哪
- linux需要掌握哪些知识
- Linux入门系列——软件包管理
- Linux软件包管理
- linux如何装软件
linux中rpm命令的作用
RPM软件包:这种软件包的扩展名为 “.rpm” ,只能在使用RPM机制的Linux操作系统中安装,如RHEL、Fedora、centOS等。RPM软件包一般针对特定版本的操作系统量身定制,因此依赖性较强。
源代码安装包:这种软件包是程序员开发完成的原始代码,一般被制作成 “.tar.gz” 或 “.tar.bz2” 等格式的压缩包文件,因多数使用 tar 命令打包而成的,所以经常被称为 “tarball”。 《Linux就该这么学》一起学习更多知识。
使用RPM软件包管理命令——RPM
一、RPM命令具有非常强大的功能,结合不同的命令选项及子选项主要可以实现以下三类功能。
1、查询、验证RPM软件包的相关信息。
2、安装、升级、卸载RPM软件包。
3、维护RPM数据库信息等综合管理操作。
二、查询RPM软件包信息的各选项如下:
-q:查询已知名称的软件包是否已经安装;
-qp:针对尚未安装的RPM软件包文件进行查询;
-qa:显示当前系统中以RPM方式安装的所有软件列表;
-qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息(–info);
-ql:显示指定的软件包在当前系统中安装的所有目录、文件列表(–list);
-qf:查看指定的文件或目录是哪个软件包所安装的(–file);
-qpi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息;
-qpl:查看该软件包准备要安装的所有目标目录、文件列表;
三、安装、升级、卸载 rpm软件包
在日常系统管理工作中,安装、升级及卸载软件包是管理应用程序是最基本的工作内容。那么我们来看一下,使用 rpm 命令实现这些操作时,基本的命令选项:
-i:在当前系统中安装(install)一个新的RPM软件包;
-e:卸载指定名称的软件包;
-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i” 选项;
-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装;
-h:在安装或升级过程中,以 # 号显示安装进度;
-v:显示软件安装过程中的详细信息;
–force:强制安装某个软件包,当需要替换以安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项;
–nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。
四、维护RPM数据库
(1)重建rpm数据库
rpm数据库用于记录在Linux操作系统中安装、卸载、升级应用程序的相关信息,由rpm软件包管理系统自动完成维护、一般不需要我们用户干预。当RPM数据库发生损坏(可能是由于误删文件、非法关机、病毒破坏等导致),且操作系统无法自动修复时,将导致无法正常使用 rpm 命令,这时我们可以执行以下操作:
(2)导入验证公钥:
linux系统中怎样卸载软件(linux系统软件安装和卸载的常见方法)
第一篇:Linux下软件的安装与卸载
在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:
一、二进制分发软件包的安装与卸载
Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
1、*.rpm形式的二进制软件包
安装:rpm-ivh*.rpm
卸载:rpm-epackgename
说明:RPM(RedHatPackgeManager)是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参数请自行参看手册页:manrpm。
如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。
2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
安装:tarzxvf*.tar.gz或taryxvf*.bz2
卸载:手动删除
说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm-rf软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tarztvf*.tar.gz”/“tarytvf*.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:mantar。
如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。
3、提供安装程序的软件包
这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。
二、源代码分发软件包的安装与卸载
Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
1、*.src.rpm形式的源代码软件包
安装:rpm-rebuild*.src.rpm
cd/usr/src/dist/RPMS
rpm-ivh*.rpm
卸载:rpm-epackgename
说明:rpm--rebuild*.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
安装:tarzxvf*.tar.gz或taryxvf*.bz2先解压
然后进入解压后的目录:
./configure配置
make编译
makeinstall安装
卸载:makeuninstall或手动删除
说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用makeinstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure--prefix=目录名,这样可以使用“rm-rf软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。
关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里的文件清单,使用命令tarztvf*.tar.gz/tarytvf*.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C代码源文件*./*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。原来这么简单呀,还不快点自己试试!
linux下安装与删除软件
现在linuxx下的软件大都是rpm,deb、tar.gz和tar.bz2格式。
1.rpm格式的软件。
安装:rpm-ivh***.rpm,如出现软件包倚赖性问题,按照提示先安装那些被倚赖的软件包。
删除:rpm-e软件包名。
执行manrpm,可以获得更多有关rpm命令的信息。
在redhat8下,已经提供了图形化安装和删除软件的工具。从开始菜单----系统设置----软件包。
2.deb格式的软件。
这种格式是DebianGNU/Linux下软件常用的格式。
安装:dpkg-i***.deb
删除:dpkg-e软件包名
在Redhat8下安装deb格式的软件,可用alien软件将deb格式转变为rpm格式,然后再用rpm命令安装;或者安装dpkg软件包,使用dpkg命令(这个我没有试过).
3.tar.gz和tar.bz2格式的软件
这两种格式是以源代码发布的,先用tar将软件打包,再用gzip或bzip2压缩.
安装:a.先解开软件包,tarzxvf****.tar.gz或者tarjxvf****.tar.bz2
b.进入解开的目录里,执行./configure.(用./configure--help,可以获得编译配置的选项)
c.make
d.makeinstall.
删除:一般软件默认安装在/usr/local目录,可执行文件在bin或sbin目录,配置文件在etc目录,库文件在lib目录,数据文件在share目录,开发程序用的头文件在include,软件说明文件在man目录。删除时,只要删除以软件名命名的所有目录及其下的文件和bin、sbin目录里的可执行文件即可。如果编译时指定了安装目录(如./configure--prefix=/ussr/local/aaa),则只需要简单删除aaa目录即可。
总得来说,rpm和deb格式的软件安装简单,快速,易于管理;tar.gz和tar.bz2格式的软件安装时有更大的自由度,更灵活,但也更费时间(编译一个十几M的软件就要花我1个多小时).
Linux系统的软件包管理器在哪
为了编译软件包的管理,可以使用软件包管理器。【开始】→【设置】→【控制面板】→【软件包管理器】软件包管理器有三个标签,分别是用户软件包、系统软件包和其他工具。如果想查看安装Linux操作系统是,已经自动安装了哪些软件包,可以查看“系统软件包”。如图1。这里的软件包对系统运行很重要,除非特别清楚自己干什么,否则不要随便卸载它们。如果想安装或卸载应用软件包,可以使用“用户软件包”标签。如图2,列出了已经安装的一些应用软件包。选中某软件包,点“卸载软件包”按钮,就可以进行卸载操作了。其效果等效于带-e
参数的rpm命令。
linux需要掌握哪些知识
要在Linux系统上进行有效的操作和管理,以下是一些基本的知识和技能需要掌握:
Linux基础知识:了解Linux操作系统的基本概念、架构和特点,熟悉Linux的文件系统、文件权限和目录结构。
Linux系统界面
命令行操作:掌握常用的Linux命令行操作,如文件和目录管理、文本、进程管理、用户和权限管理等。熟悉命令行参数和管道操作等高级技巧。
Shell脚本编程:学习Shell脚本编程,可以编写自动化脚本和批处理任务,提高工作效率。
网络配置和管理:了解Linux网络配置和管理,包括IP地址设置、网络接口配置、路由设置、防火墙配置等。
软件包管理:熟悉Linux系统中的软件包管理工具,如apt、yum、dpkg等,能够安装、更新和卸载软件包。
系统性能监测和故障排除:了解常见的系统性能监测工具和故障排除方法,可以定位和解决系统性能问题和故障。
安全管理:学习Linux系统的安全管理知识,包括用户认证和授权、文件权限设置、防火墙配置、日志监控等,保障系统的安全性。
网络服务配置和管理:了解常见的网络服务配置和管理,如Web服务器(如Apache、Nginx)、数据库服务器(如MySQL、PostgreSQL)、邮件服务器等。
虚拟化和容器化技术:了解虚拟化和容器化技术,如VMware、Docker等,可以实现资源的有效管理和应用的快速部署。
常用工具和应用:熟悉常用的Linux工具和应用,如文本器(如vi、nano)、文件压缩解压工具(如tar、gzip)、版本控制系统(如Git)等。
常用的Linux工具
以上只是一些基本的知识点,随着对Linux系统的深入学习和实践,你可以逐渐掌握更多的高级知识和技能,提高在Linux环境下的工作效率和技术能力。
Linux入门系列——软件包管理
RedHat 系统中使用的是: rpm (redhat package manager) 现在称:RPM is Package Manager
Debian : dpt
Ubuntu : apt
在安装软件的时候,有可能出现软件包的相互依赖关系;所以红帽公司推出了:yum(Yellowdog update modifier)
包的组成部分:
主包:
bind-9.7.1-1..e15.i586.rpm
子包:
bind-libs-9.7.1-1..e15.i586.rpm
bind-utils-9.7.1-1..e15.i586.rpm
包名:
PackageName-Version-Release.Arch.rpm
bind-major-minor-releases-release.arch.rpm
包名-主版本号-次版本号-发行号-rpm包的制作者的发行号.硬件平台.rpm
主版本号:重大改进;
次版本号:某个子功能发生重大变化;
发行号:修改BUG,调整了一点功能;
bind-9.7.1-1.noarch.rpm 这里的noarch表示不区分硬件平台,32和64都可以使用;如果是ppc则是在PowerPc上使用的包;
# rpm -ivh /path/to/Package_Name
-i,--install 表示安装
-v 表示显示安装过程的信息
-h 表示以#显示安装的进程,总数为50个;
-vv 显示更详细的过程;
--nodeps 安装的时候忽略依赖关系;
--force 无论之前是否安装过,都强制安装,可以实现重装、降级;
--replacepkgs 重新安装,替换原有的安装;
--oldpackage 对软件包进行降级;
--test Do not install the package, simply check for and report potential conflicts. 不进行安装,只测试看在安装的时候有没有依赖包要装;
rpm -q soft_name
***隐藏网址***
rpm -qa 查询当前系统中已经安装的rpm软件包;
# rpm -qa |grep ‘ssh*’
rpm -qi soft_name 查询软件包的安装信息:
# rpm -qi zlib-devel
Name : zlib-devel Relocations: /usr
Version : 1.2.3 Vendor: CentOS
Release : 4.el5 Build Date: 2011年05月11日 星期三 18时57分15秒
Install Date: 2013年07月21日 星期日 17时02分41秒 Build Host: builder10.centos.org
Group : Development/Libraries Source RPM: zlib-1.2.3-4.el5.src.rpm
Size : 269981 License: BSD
Signature : DSA/SHA1, 2011年09月04日 星期日 03时24分25秒, Key ID a8a447dce8562897
***隐藏网址***
Summary : Zlib 开发的头文件和库。
Description :
zlib-devel 软件包包括开发使用 zlib 压缩和解缩库的程序
所需的头文件和库。
#
rpm -ql soft_name 查看该软件包在系统中存放了哪些文件;
rpm -qf /path/to/file_name 查看该文件是由哪个rpm包生成的。
rpm -qc soft_name 查看指定rpm包安装的配置文件的位置;
rpm -qd soft_name 查看指定rpm包安装的帮助文件的位置;
rpm -q --scripts soft_name 查看指定rpm包在安装、卸载、更新的前后,所要执行的shell脚本;
rpm -qp 即要加上一个“p”选项;
rpm -Uvh /path/to/package_name
如果安装的指定的软件包已经安装过,则进行升级操作,如果没有安装过,则就使用指定的这个软件包进行安装;
rpm -Fvh /path/to/package_name
如果安装过,则升级,否则不进行任何操作;
rpm -Fvh --oldpackage package_name 通常用这个来降级一个rpm包;
rpm -e package_name
--nodeps 强制卸载
rpm -V package_name 也可以使用--verify
通常用来检查安装后的文件是不是被修改过;
加密算法:
对称加密: 加密和解密使用同一个key
非对称加密:有一对密钥(公钥和私钥),公钥大家都可以知道,私钥只有持有人知道;公钥加密私钥解,私钥加密公钥也可以解。不能由公钥摧出私钥,也不能由私钥摧出公钥;私钥还用来做签名,因为只有私钥持有人自己才有;
单向加密:使用这种加密算法加密后,是不可以再还原的。通常用它来做数据完整性的验证,也就是验证数据在传输的过程中有没有被别人修改过。
在红帽的系统中,/etc/pki/rpm-gpg/目录下面存放了红帽公司的gpg-key(相当于公钥),所以只需要把这个gpgkey导入到系统中就可以验证了。导入方法如下:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
接下来就可以对将要安装的rpm包进行验证了:
# rpm -K /path/to/package_file
dsa,gpg验证来源的合法性,也就是验证签名。但是可以使用--nosignature 来跳过签名验证;
sha1,md5验证软件包的完整性,可以使用--nodigest 来跳过完整性验证;
rpm --rebuilddb 重建数据库
--initdb 初始化数据库
yum install -y pack1 pack2 安装指定的软件包
yum remove pack1 pack2 -y 删除指定的软件包
yum update pack1 pack2 更新指定的软件包
yum list installed 列出所有已经安装的软件包
yum update 更新源
yum search string 搜索包含string的软件包
yum install package_name 获取软件包信息
# tar zxf nginx-1.4.7.tar.gz -C /usr/src
# configure --prefix=/usr/local/nginx --conf-path=/etc
# make
# make install
由于使用的是源码包安装在非正常路径下。所以还要做以下的调整:
修改/etc/profile文件。或是在/etc/profile.d/下创建一个以.sh结尾的文件;再把二进制程序的路径export出来就行了;
在/etc/ld.so.conf.d/中创建一个以.conf文件结尾的文件,而后把要增添的路径直接写入此文件中就行了;
这样系统就会在下次启动的时候,自动加载这些新增加的库;如果想让系统马上可以找到这些新增加的库,就必须执行下面的命令:
# ldconfig 通知系统重新搜索库文件,还可以加上-v选项,表示显示过程;
默认的头文件搜索路径是:/usr/include/
要添加新的头文件搜索路径,可以使用链接的方式:
ln -s /usr/local/nginx/include/* /usr/include/
或
ln -s /usr/local/nginx/include /usr/include/nginx
这时可以修改/etc/man.conf文件,在里面添加以下内容:
MANPATH /usr/local/nginx/man
还有一种方式就是临时使用:
# man -M /usr/local/nginx/man nginx 这样就可以查看nginx的man手册了;
Linux软件包管理
Linux系统如果需要安装软件怎么办?如何安装,大概有以下几种方式
1.二级制软件包管理(RPM 、YUM)
2.源代码包安装
3.脚本安装(Shell或Java脚本)
4.Debian系
RPM名称软件包: sudo-1.7.2pl-5.el5.i386.rpm
解释:
实例:
查询nginx包信息
md5校验软件,正常无任何提示,如果做过更改就会有提示。
Yum是由Duke University团队修改Yellow Dog Linux的Yellow Dog Updater开发而成,是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。被Yellow Dog Linux本身,以及Fedora、Red Hat Enterprise Linux采用。
yum应用的好处
1.自动解决软件包依赖关系
2.方便软件包升级
源代码包的好处
1.适应于大多数unix操作系统。
2.源代码包安装灵活,可定制。
3.卸载方便:先关闭进程,删除文件夹。
大致分为四步
1.下载所需要的软件版本。2.解压。 3.配置指定安装目录。 4.编译。 5.安装。
Debian系(乌班图系统 ubuntu )
APT:是Debian及其派生的Linux软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。
dpkg:最初由Debian使用,现在由Ubuntu使用。使用.deb格式,是第一个拥有广为人知的依赖性解决工具APT。
linux如何装软件
linux下源码的安装由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
其中配置语句“./configure --prefix=/usr/local/test”提示“没有那个文件或目录”,是因为配置指定路径“/usr/local/test”时,没有这样的文件或目录存在。
只需在“./configure --prefix=”语句中放入一个存在的目录路径,重新编译安装即可解决。
以安装hdf5软件为例,具体操作步骤如下:
1、首先从官网下载hdf5,根据自己的要求下载对应的版本:hdf5-1.8.3.tar.gz。
2、然后上传到服务器某个目录下,比如/opt目录。
3、接着解压安装包,输入命令:tar -xvf hdf5-1.8.3.tar.gz。
4、解压后会生成一个目录:hdf5-1.8.3。
5、再输入:cd hdf5-1.8.3/,切换目录到hdf5-1.8.3。
6、最后依次输入以下命令:./configure --prefix=/usr/local/hdf5;make;make check ;make install,等待安装信息输出结束后,即可在Linux中安装成功。

更多文章:
电脑重启死循环进不去(电脑出现无限自动重启的死循环如何解决)
2026年11月3日 17:00
tif用什么打开(tif文件用什么打开Win10打开tif文件的详细步骤)
2026年11月3日 16:20
海外短视频跨境电商平台是真的吗(TikTok短视频带货到底值不值得做海外抖音赚钱靠谱吗)
2026年11月3日 15:40
笔记本no bootable device(今天开机发现笔记本显示no bootable device,求助)
2026年11月3日 13:20






