Linux操作系统第九章软件包管理PPT课件
Linux系统下软件包管理

提要:在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础;只有我们学会软件包的管理才能谈得上其它的应用;软件包的安装、更新、查询,以及几个常用的软件包管理工具,比如system-cofig-packages 、yum 、apt 等一、软件包管理的基础;1、什么是RPM,RPM有何用?初次为Fedora /Redhat 安装软件,我们应该学会RPM的安装和使用,也应该知道RPM是做什么用的;RPM 是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe 文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件;一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的,Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows的系统原理是差不多的;软件安装流程图:说明:1、RPM管理的软件的,对通过file.tar.gz 或file.tar.bz2源码包用make ;make install 安装的软件无效;2、安装软件时,最好用各自发行版所提供的系统软件包管理工具;1)Fedora 系统管理软件包工具system-config-package s,方便的添加和移除系统安装盘提供的软件包;2)Redhat 系统管理软件包工具,新一点的系统应该是redhat-config-packages,用法system-config-packages一样;3)apt + synaptic 软件包在线安装、移除、升级工具;4)yum 软件包在线安装、升级、移除工具;目前apt和yum 已经极为成熟了,建议我们安装软件时,采用apt或者yum ;如果安装系统盘提供的软件包,可以用system-config-packages 或redhat-config-packages ;一、RPM包管理的用途;1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;3、可以在查询系统中的软件包是否安装以及其版本;4、作为开发者可以把自己的程序打包为RPM 包发布;5、软件包签名GPG和MD5的导入、验证和签名发布6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;二、RPM 的使用权限;RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;三、rpm 的一点简单用法;我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;一)初始化rpm 数据库;通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库;[root@localhost]# rpm --initdb[root@localhost]# rpm --rebuilddb 注:这个要花好长时间;注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;二)RPM软件包管理的查询功能:命令格式rpm {-q|--query} [select-options] [query-options]RPM的查询功能是极为强大,是极为重要的功能之一;1、对系统中已安装软件的查询;1)查询系统已安装的软件;语法:rpm -q 软件名举例:[root@localhost]# rpm -q gaimgaim-1.3.0-1.fc4-q就是--query ,中文意思是“问”,此命令表示的是,是不是系统安装了gaim ;如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息;查看系统中所有已经安装的包,要加-a 参数;[root@localhost RPMS]# rpm -qa如果分页查看,再加一个管道|和more命令;[root@localhost RPMS]# rpm -qa |more在所有已经安装的软件包中查找某个软件,比如说gaim ;可以用grep 抽取出来;[root@localhost RPMS]# rpm -qa |grep gaim2)查询一个已经安装的文件属于哪个软件包;语法 rpm -qf 文件名注:文件名所在的绝对路径要指出举例:[root@localhost RPMS]# rpm -qf /usr/lib/libacl-devel-2.2.23-83)查询已安装软件包都安装到何处;语法:rpm -ql 软件名或 rpm rpmquery -ql 软件名举例:[root@localhost RPMS]# rpm -ql lynx[root@localhost RPMS]# rpmquery -ql lynx4)查询一个已安装软件包的信息语法格式: rpm -qi 软件名举例:[root@localhost RPMS]# rpm -qi lynx5)查看一下已安装软件的配置文件;语法格式:rpm -qc 软件名举例:[root@localhost RPMS]# rpm -qc lynx6)查看一个已经安装软件的文档安装位置:语法格式: rpm -qd 软件名举例:[root@localhost RPMS]# rpm -qd lynx7)查看一下已安装软件所依赖的软件包及文件;语法格式: rpm -qR 软件名举例:[root@localhost]# rpm -qR rpm-python查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如rpm -qil ;比如:[root@localhost RPMS]# rpm -qil lynx2、对于未安装的软件包的查看:查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等;1)查看一个软件包的用途、版本等信息;语法: rpm -qpi file.rpm举例:[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm2)查看一件软件包所包含的文件;语法: rpm -qpl file.rpm举例:[root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm3)查看软件包的文档所在的位置;语法: rpm -qpd file.rpm举例:[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm5)查看一个软件包的配置文件;语法: rpm -qpc file.rpm举例:[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm6)查看一个软件包的依赖关系语法: rpm -qpR file.rpm举例:[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm/bin/bash/usr/bin/pythonconfig(yumex) = 0.42-3.0.fc4pygtk2pygtk2-libgladerpmlib(CompressedFileNames) <= 3.0.4-1rpmlib(PayloadFilesHavePrefix) <= 4.0-1usermodeyum >= 2.3.2三)软件包的安装、升级、删除等;1、安装和升级一个rpm 包;[root@localhost]#rpm -vih file.rpm 注:这个是用来安装一个新的rpm 包;[root@localhost]#rpm -Uvh file.rpm 注:这是用来升级一个rpm 包;如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;语法结构:[root@localhost]# rpm -ivh file.rpm --nodeps --force[root@localhost]# rpm -Uvh file.rpm --nodeps --force更多的参数,请查看man rpm举例应用:[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%][root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%]注:--replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要;测试安装参数--test ,用来检查依赖关系;并不是真正的安装;[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]由新版本降级为旧版本,要加--oldpackage 参数;[root@localhost RPMS]# rpm -qa gaimgaim-1.5.0-1.fc4[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]1:gaim ########################################### [100%][root@localhost RPMS]# rpm -qa gaimgaim-1.3.0-1.fc4为软件包指定安装目录:要加-relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在/opt/gaim 目录中;[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%]1:gaim ########################################### [100%][root@localhost RPMS]# ls /opt/gaim为软件包指定安装目录:要加-relocate 参数;下面的举例是把lynx-2.8.5-23.i386.rpm 指定安装在/opt/lynx 目录中;[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%]1:lynx ########################################### [100%]我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;如果有错误输出,就做相应的链接,用ln -s ;2、删除一个rpm 包;首先您要学会查询rpm 包;[root@localhost]#rpm -e 软件包名举例:我想移除lynx 包,完整的操作应该是:[root@localhost RPMS]# rpm -e lynx如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。
《linux教程》课件

目录
Linux简介Linux系统基础Linux系统管理Linux网络配置Linux编程与开发Linux安全与防护
01
CHAPTER
Li善,已经成为一个非常稳定的操作系统,广泛应用于服务器、云计算等领域。
稳定性
Linux系统具有强大的安全机制,如用户权限管理、防火墙等,可以有效防止病毒和黑客攻击。
Linux安全与防护
1
2
3
防火墙是用于阻止非法访问的一种安全措施,可以防止外部网络对内部网络的攻击。
防火墙基本概念
在Linux系统中,可以通过iptables命令来配置防火墙规则,包括允许或拒绝特定IP地址、端口和协议的访问。
防火墙配置
防火墙配置完成后,需要定期检查和更新规则,以确保系统的安全性。
目录结构
Linux系统中常见的目录结构包括“/bin”、“/etc”、“/home”等,每个目录都有其特定的用途。
文件类型
Linux文件类型包括普通文件、目录、链接文件、设备文件等,每种文件类型都有其特殊的标识符。
Linux系统中有很多常用的命令,如“ls”、“cd”、“pwd”、“cp”等,这些命令可以帮助用户进行文件和目录的操作和管理。
系统日志
介绍Linux中的系统日志文件,以及如何查看和分析这些日志文件。
磁盘管理
讲解如何管理磁盘分区、挂载点、文件系统等,以及如何进行磁盘检查和修复。
包管理器概述
讲解如何使用包管理器安装软件包及其依赖项。
安装软件包
卸载软件包
更新软件包
01
02
04
03
讲解如何更新系统中的软件包到最新版本。
介绍常见的Linux包管理器,如APT、YUM、DNF等。
Linux操作系统介绍PPT课件

7
2、RedHat Linux
RedHat Linux是由RedHat公司发行的目前应用最 广泛的Linux套件。从4.0版起便同时支持Intel、Alpha、 Sparc三种硬件平台。其所有的软件包都是以RPM (Redhat Package Manager)方式包装的,用户可以轻 松地进行软件升级,彻底卸除应用软件和系统部件。 RedHat提供一套X Window下的系统管理软件,让用户 可以在图形方式下进行增加/删除用户、改变系统设置、 安装新软件、安装打印机等系统管理方面的工作,非 常直观和方便。RedHat收集的软件包非常完整和精美, 不仅包括大量的GNU和自由软件,还包括了一些优秀 的ShareWare软
S.u.S.E. 是一个德国系统,是在欧洲大陆上使用最 广泛的Linux套件,其特点是易于安装使用,并且包含 有一些其它发行套件不具有的一些软件,例如S.u.S.E. Xserver,比Xfree86支持更多显示卡,例如最新的SIS、 MedoaGX、NeoMagic、SaX,并且S.u.S.E.是采用新软 件最多的一种发行套件,例如他们的窗口管理器就是 最新的KDE 1.0,另外在标准的S.u.S.E. 5CD的版本中 还包括850个最新的软件,随CD还有400页的使用说明 书。
3
(一)什么是Linux
简单地说,Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基于Intel X86系列CPU的计 算机上。这个系统是由全世界各地的成千上万的程序员 设计和实现的。其目的是建立不受任何商品化软件的版 权制约的、全世界都能自由使用的Unix兼容产品。
Linux的出现,最早开始于一位名叫Linus Torvalds的 计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。 他的目的是想设计一个代替Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系统示 教程序)的操作系统,这个操作系统可用于386、486或 奔腾处理器的个人计算机上,并且具有 Unix操作系统的 全部功能,因而开始了Linux雏形的设计。
Linux 软件包管理(ppt文档)

用gzip解压缩文件:
gzip –dv *
显示压缩文件的内容信息
gzip –l *
在tar命令中嵌入压缩命令
tar cvfz gong.tar.gz ./* 将当前目录下的所有文件打包并压缩为gong.tar.gz文件
5.3 TAR包管理 包管理
Tar命令是Linux最常用的文件打包工具,可以 将若干文件或者若干目录下打包成一个文件。 Tar命令语法及参数选项
格式:tar [主选项+辅选项] 文件或者目录 主选项及其功能
-A:将若干个tar文件合并成一个tar文件 -c:创建一个新的tar文件。 -d:比较tar文件或者文件系统的不同之处。 --delete:从tar文件中删除文件。
5.1.3 Linux中的添加 删除应用程 中的添加/删除应用程 中的添加 序
可以利用“启动程序/系统设置/添加/删除应用 程序”菜单项,打开Linux的软件包管理器, 添加或者删除软件包。
5.2 RPM软件包的密钥管理 软件包的密钥管理
数字签名是一种身份验证技术。软件包增加数 字签名后,其他用户可以通过校验其签名判断 真伪。 RPM使用了数字签名为PGP,是公钥加密程 序,产生一对密钥对,一个为公钥(对外公 开),一个为私密密钥(自己保存)。 私密密钥加密的文件,用公钥可以解密;公开 密钥加密的文件只有持有私密密钥的人才能解 密。
下载和安装PGP:
文件可以从 /products/pgp/versions/freewar e/unix/网站下载PGPcmdln_6.5.8.Lnx_FW.rpm.tar 用tar命令解包
Tar xvzf PGPcmdln_6.5.8.Lnx_FW.rpm.tar
计算机操作系统第九章

从信号发送到信号处理函数的执行完毕,一个完整的信号生命周期可由四个重要事件来刻画:
l 信号的诞生。指的是触发信号的事件发生,如检测到硬件异常、定时器超时及调用信号发送函数kill( )。
l 信号在进程中的注销。在目标进程执行过程中,会检测是否有信号等待处理。如果存在待处理信号且该信号没有被进程阻塞,则在运行相应的信号处理函数前,要把信号在进程中注销。
管道通信的实现方式是由内核通过共享数据页来完成的
无名管道的特点是: (1)管道是半双工的,数据只能向一个方向流动。管道只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)的通信。 (2)单独构成一种独立的文件系统。对于管道两端的进程而言,管道就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并只存在于内存中。 (3)数据的读出和写入在管道的两端进行,一个进程向管道的一端写入的内容被管道另一端的进程读出。 有名管道的特点是: 不同于管道之处在于它提供一个路径名与之关联。这样,即使不存在亲缘关系的进程,也可以使用访问路径,通过有名管道相互通信。
Linux系统的PCB包括很多参数,每个PCB约占1KB多的内存空间。用于表示PCB的task_struct结构简要描述如下:
struct task_struct { … unsigned short uid; int pid; int processor; … volatile long state; long priority; unsigned long rt_priority; long counter; unsigned long flags; unsigned long policy; … struct task_struct *next_task, *prev_task ; struct task_struct *next_run, *prev_run ; struct task_struct *p_opptr, *p_pptr, *p_cptr, *p_ysptr, *p_ptr ; … };
《Linux网络操作系统》课件——项目九--使用gcc和make-调试程序

16
2.进行程序的编译与链接(Link)
(1)开始将源码编译成为可执行的 binary file。[root@RHEL7-2 ~]# gcc -c thanks.c thanks_2.c[root@RHEL7-2 ~]# ll thanks*-rw-r--r--. 1 root root 76 Jul 15 21:27 thanks_2.c-rw-r--r--. 1 root root 1504 Jul 15 21:27 thanks_2.o <==编译生成的目标文件!-rw-r--r--. 1 root root 91 Jul 15 21:25 thanks.c-rw-r--r--. 1 root root 1560 Jul 15 21:27 thanks.o <==编译生成的目标文件![root@RHEL7-2 ~]# gcc -o thanks thanks.o thanks_2.o[root@RHEL7-2 ~]# ll thanks*-rwxr-xr-x. 1 root root 8584 Jul 15 21:28 thanks <==最终结果会生成可执行文件(2)执行可执行文件。[root@RHEL7-2 ~]# ./thanksHello WorldThank you!
7
2.安装GCC
(1)检查是否安装GCC。[root@RHEL7-2 ~]# rpm -qa|grep gcccompat-libgcc-296-2.96-138libgcc-4.1.2-46.el5gcc-4.1.2-46.el5gcc-c++-4.1.2-46.el5上述结果表示已经安装了GCC。(2)如果系统还没有安装GCC软件包,我们可以使用yum命令安装所需软件包。① 挂载ISO安装镜像://挂载光盘到 /iso下,前面项目3已建立/iso文件夹,并且yum源已经配置好 [root@RHEL7-2 ~]# mount /dev/cdrom /iso② 制作用于安装的yum源文件(后面不再赘述):
Linux操作系统应用与安全第9章 Linux系统的安全管理

-C或-zero -h
应用与安全
3)[链]:表示要进行操作的链的名字。 4)[匹配选项]:该参数为命令选项的补充参数,可以用来定义 网络协议和IP地址等。该参数的具体内容如表9.3所示。
选项
作用 指定数据包匹配的协议,可以使tcp、udp、icmp和all,前缀“!”表示除该协议外的所有协议。 指定数据包匹配的源地址或者地址范围。 指定数据包匹配的源端口号或者端口号范围,可以用端口号也可以用“/etc/services”文件中名字。 指定数据包匹配的目的地址或者地址范围。 指定数据包匹配的目的端口号或者端口号范围,可以用端口号也可以用“/etc/services”文件中名 字。 指定匹配规则的ICMP信息类型(可以使用“iptables –p icmp -h”查看有效的ICMP类型名)。 匹配单独或某种类型的接口,此选项忽略时默认为所有接口。指定一个目前不存在的接口也是合 法的,规则直到接口工作时才起作用。“+”表示匹配所有此类型接口。该选项只针对 INPUT、FORWARD和POSTROUTING链是合法的。
-p [!]protocol -s [!]address[/mask] --sport [!]port[:port] -d [!]address[/mask] --dport [!]port[:port] -icmp-type [!]typename -i [!]interface name[+]
-o [!]interface name[+] [!]--syn
选项
作用 在所选链尾部加入一条或多条规则。 在所选链尾部删除一条或多条规则。 在所选链中替换一条匹配规则。 以给出的规则号在所选链中插入一条或多条规则。如果规则 号为1,即在链的头部。 列出指定链中的所有规则,如果没有指定链,将列出所有链 中的规则。
Linux系统管理.ppt

groupname
组的名字
Passwd
组的加密口令
GID
系统区分不同组的ID,在/etc/passwd域中的
GID域是用这个数来指定用户的缺省组。
Userlist 是用“,”分开的用户名,列出的是这个组的成
员。
4. 用户组口令文件——gshadow
gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root
Account
使用者在系统中的名字,它不能包含大写字母。
Password
用户口令,出于安全考虑,现在不使用该字段保存口令,
而用字母“x”来填充该字段,真正的密码保存在shadow文件。
UID
用户 ID 号,惟一表示某用户的数字。
GID
用户所属的私有组号,该数字对应group文件中的GID。
GECOS
作该账号的私有组。
useradd –g 组名 用户名
-D 用于显示或设置useradd命roup][-b base][-s shell][-f inactive][-e expire]
2. 修改用户账号——usermod
usermod命令可用来修改用户主目录、私有组、登录、shell等内容。 命令格式如下: usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>] [-G <群组>][-l <帐号名称>][-s ][-u ] 用户帐号
passwd [用户名]
只有超级用户可以使用“passwd 用户名”修改其他 用户的口令,普通用户只能用不带参数的passwd命令 修改自己的口令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RPM由RPM社区负责维护,可以登录到RPM的官 方站点()查询最新的信息。
为什么需要rpm?
在一个操作系统下,需要安装实现各种功能的软件 包。这些软件包一般都有各自的程序,但是同时也 有错综复杂的依赖关系。同时还需要解决软件包的 版本,以及安装,配置,卸载的自动化问题。
9.2.1. RPM软件包的安装与卸载
1.安装软件包 • 格式:# rpm -i <包文件名> • 举例: # rpm -i cvs-1.11.2-10.i386.rpm
在安装时添加v和h的参数,可以使我们对安 装与卸除的过程了解更加详细。前者会说明执 行步骤,后者会显示一个百分比的进度条。
# rpm -ivh rp-pppoe-3.1-5.i386.rpm Preparing... ######### [100%] 1:rppppoe ######### [100%]
为了解决这些问题,RedHat针对自己的系统提出 了一个较好的办法来管理成千上百的软件。这就是 RPM管理系统。在系统中安装了rpm管理系统以后, 只要是符合rpm文件标准的打包的程序都可以方便 的安装,升级,卸载。
9.1 RPM概述
RPM的优点
• 易于安装、升级便利 • 丰富的软件包查询功能 • 软件包内容校验功能 • 支持多种硬件平台
• rpm(src.rpm)为文件扩展名
9.1 RPM概述
从何处获得RPM软件包
• 从发行套件的CD中查找 • 从软件的主站点查找下载 • 从查找下载 • 从查找下载
RPM 预设安装的路径
一般来说,由于 RPM 有数据库来记录包相关的信 息,所以 RPM 类型的包所拥有的文件都放置在系 统预设放置的目录底下:
如果要安装两个以上的包时,可以这样: # rpm -ivh a.i386.rpm b.i386.rpm *.rpm # 后面可以接多个包!
也可以直接由网络上面安装,例如:
# rpm -ivh
安装过程中可能出现下面的警告或者提示: ... conflict with ... 可能是要安装的包里有一些文 件可能会覆盖现有的文件,缺省时这种情况下是无法 正确安装的,可以用rpm --force -i 强制安装。
2.升级软件包 无论系统是否有安装过某rpm包或其旧版
本,安装或更新指定的rpm包。
• 格式:# rpm -Uvh <包文件名> • 举例:
# rpm -Uvh cvs-1.12.2-10.i386.rpm
3.更新软件包 仅在系统已安装某rpm包的旧版本rpm包
时,更新rpm包,否则不安装。
• 查询指定的软件包中所包含的文件列表 $ rpm -ql <包名>
查询软件包举例
• 查询cvs软件包在系统中是否安装
$ rpm –q cvs
• 查询系统中已安装的cvs软件包的描述信息
$ rpm –qi cvs
• 查询系统中已安装的cvs软件包里所包含的文件
$ rpm –ql cvs
• 查询系统中文件/etc/passwd所属的软件包
包含版本号等信息,但是不可以有后缀.rpm。
9.2.2 查询软件包
1. 查询已安装的软件包 • 查询系统中安装的所有RPM软件包 $ rpm –qa • 查询指定的软件包在系统中是否安装 $ r一个包所有 $ rpm –qf <文件名>
• 查询系统中已安装指定的软件包的描述信息 $ rpm -qi <包名>
9.1 RPM概述
RPM的五大功能
• 安装——将软件从包中解出来,并且安装到硬盘。 • 卸载——将软件从硬盘清除。 • 升级——替换软件的旧版本。 • 查询——查询软件包的信息。 • 验证——检验系统中的软件与包中软件的区别。
9.1 RPM概述
RPM包的名称格式:
name-version-release.type.rpm 如:bind-9.2.1-16.i386.rpm
• /etc 一些设定文件放置的目录,例如/etc/crontab • /usr/bin 一些可执行档案 • /usr/lib 一些程序使用的动态函数库 • /usr/share/doc 一些基本的软件使用手册与说明文件 • /usr/share/man 一些 man page 文件
9.2 RPM的使用
第九章 软件包管理
主要内容
RPM概述 RPM的使用 RPM的使用技巧 Red Hat 软件包管理器
学习目标
掌握rpm命令的使用方法
9.1 RPM概述
RPM最早是由Red Hat 公司提出的软件包管理标 准, 后来随着版本的升级又融入了许多其他的优秀 特性, 成为了Linux中公认的软件包管理标准。
• 格式:# rpm -F <包文件名> • 举例:
# rpm -F cvs-1.11.2-10.i386.rpm
4.卸载软件包 • 格式:# rpm -e <包名> • 举例:# rpm -e cvs
问题:我用rpm -e **.rpm无法删除rpm包。 解答:包名不要包括rpm,rpm -e 包名,可以
• name为软件的名称 • version为软件的版本号 • release为软件的修正版本号 • type为包的类型
i[3456]86:表示在Intel x86计算机平台上编译的 sparc:表示在sparc计算机平台上编译的 alpha:表示在alpha计算机平台上编译的 src:表示软件源代码
$ rpm –qf /etc/passwd
2. 查询未安装的软件包 rpm –qip <包文件名> 假设发现了一个新的koules RPM,但不知
... is needed by ... ... is not installed ... 此包需要的一些软件你没 有安装可以用rpm --nodeps -i 来忽略此信息。
也就是说,rpm -i --force --nodeps 可以忽略所 有依赖关系和文件问题,什么包都能安装上,但这种 强制安装的软件包不能保证完全发挥功能。