Linux学习之程序包管理
1、包管理器就是对应用程序打包和包管理的应用软件,包管理包括安装、升级、卸载、查询和校验管理。
最早出现的包管理器是debian的deb,
随后reahat才推出了其包管理器rpm:RedHat package manager,之后就不断完善成为现在RedHat衍生版以及suse的包管理器;所以rpm的定义随之成为:RPM is package manager。
程序包是由以下四个部分组成:
1、二进制程序:/bin,/sbin,/usr/bin,/usr/sbin
2、库文件:/lib_64,/usr/lib_64
3、配置文件:/etc
4、帮助文档:manual,info
包管理器作用详解:
打包:将不同部分的文件归档组织存放的过程
安装:将包中的二进制文件、库文件、配置文件以及帮助文件存放至相应的目录,最后设置该程序的环境变量使程序能在系统中正常运行使用;
卸载:删除该程序的所有文件以及环境变量
升级:将新版的程序文件覆盖至就版本的程序文件上
查询:查看应用软件安装文件以及这些文件的信息
校验:核对包文件来源的合法性和完整性
2、rpm包:
分包机制:
PackageName-VERSION.tar.gz
其分包机制是将常用打包归档成为一个包,其他不常用的功能单独打包归档或以组合的方式打包归档;如:
核心包:PackageName-VERSION
支包:PackageName-Part1-VERSION
VERSION:版本包
版本号是由:主版本号(major)+次版本号(minor)+修正号(release)三部分组成的
主版本号:major的更改是软件的重要功能的加减引起的
次版本号:minor是一些小功能的增减引起的
修正好:release是弥补以前的bug
bash-4.2.4.tar.gz
rpm包的命名机制:
PackageName-VERSION-RELEASE.ARCH.rpm
VERSION:是软件包的版本号:
RELEASE:是rpm软件的修正号
ARCH:是表示该软件包使用的架构,如i386,x86_64等
如:
如何获取rpm包
a、发行版提供的程序包;这是安全级别最高的一种方式
b、Fedora-EPEL项目
c、项目的官方站点
d、搜索引擎 如:
http://rpmfind.net
http://rpm.pbone.net
http://pkgs.org
3、基于rpm命令实现程序包管理:
安装:
rpm {-i|--install} [install-options] PACKAGE_FILE
-i:安装
-v:显示过程,-vv,-vvv更加详细的显示安装过程
-h:以#表示安装进度
--nodeps:忽略依赖关系安装
升级:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE
rpm {-F|--freshen} [install-option