前言
RPM包管理(二进制软件包管理)(RPM、YUM)
源代码包安装
脚本安装(Shell或Java脚本)
Debian系Linux软件包管理简介
补:centos下,除了yum,rpm,Tarball也可以提供安装软件。
RPM包与源码包的区别
RPM包安装位置 安装在默认位置中
/etc/ 配资文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置
源码包安装位置:
安装在指定位置当中,一般是/usr/local/软件名/
安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理
eg:rpm包安装的apache的启动方法是:/etc/rc.d/init.d/httpd start
或者 service httpd start
源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理
eg:/usr/local/apache2/bin/apachectl start
RPM包管理
二进制包的优点:
1,包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载
2,安装速度比源码包安装快
缺点:
1,经过编译,不再可以看到源代码
2,功能选择不如源码包灵活
3,依赖性
RPM包依赖性:
树形依赖:a->b->c
环形依赖:a->b->c->d
模块依赖:可查询网站www.rpmfind.net
RPM软件包的一个例子:
sudo-1.7.2p1-5.el5.i386.rpm
其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5),和硬件平台(i386),rpm包扩展名(rpm)。
abrt-cli-2.0.8-15.el6.centos.x86_64.rpm
e16.centos 适合的linux平台
包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。适用场景:安装,升级
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库。适用场景:查询,卸载
(1)安装
# rpm -ivh 包全名
-i(install) 安装; -v(verbose) 显示详细信息; -h(hash) 显示进度; --nodeps 不检测依赖性
挂载光盘:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
查询:
rpm -q sudo
rpm -qa | grep samba
其他安装选项:
--excludedocs
不安装软件包中的文档文件
--prefix PATH
将软件包安装到由PATH指定的路径下
--test
只对安装进行测试,并不实际安装
A. 软件包已被安装
# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
package sudo-1.7.2p1-5.el5.i386 is already installed
如果覆盖安装该软件包,可以在命令行上使用–replacepkgs 选项。
B. 文件冲突
如果要安装的软件包中有一个文件已在安装其它软
件包时安装,会出现以下错误信息: