1.软件管理器
linux中比较常用的软件管理器分别为RPM和dpkg。dpkg最早是由Debian社区开发出来的,通过dpkg的机制,Debian提供的软件能够快速的安装起来,同时提供安装后的信息。派生于Debian的其他linux版本都可以使用该机制,如ubuntu,B2D。RPM是由红帽公司开发的,使用该机制的如centos等。
为了解决软件属性依赖的问题,linux版本的发行商通过使用“在线升级”机制来处理。具体来讲就是,发行商将依赖属性的数据做成列表,等到实际软件安装时,若发生依赖的情况,只要存在网络,依据软件安装列表就可以将发行商提供的任何软件进行安装。其中红帽公司的在线升级命令是yum,而Debian发行商的在线升级命令为apt-get。
2.软件管理程序rpm
基本工作:软件的安装、查询、卸载、升级、校验、数据库的重建、验证数据包等工作
rpm命令: rpm rpmbuild
数据库: /var/lib/rpm
rpm的默认安装路径:/usr/bin :一些可执行文件
/usr/lib : 一些程序使用的动态链接库
/usr/share/doc :一些基本的软件使用手册与帮助文档
/usr/share/man:一些man page文件
顺便讲述下文件系统的一些内容:
根目录包含的文件夹:
/usr/share/man
/bin /sbin /etc /lib:系统启动就需要的程序,这些目录不能挂载额外的分区,必须在根目录下。
/usr/bin、 /usr/sbin、/usr/lib :这些目录存放的是操作系统的核心功能区,可以单独分区
/usr/local bin、sbin、lib、etc、man :第三方软件存放位置
/opt
/proc、/sys 内核虚拟目录,默认为空,不能单独分区
/dev:设备文件,不能单独分区 /udev
/root不能单独分区
/var:存放一些变量、临时文件,建议单独分区
/boot:内核文件initrd
3.软件管理程序rpm命令
rpm命名:
包的组成部分:主包 bind-9.7.1-1.el5.i586.rpm
子包 bind-libs-9.7.1-1.el5.i586.rpm
bind-utils-9.7.1-1.el5.i586.rpm
包名格式: name-version-release.arch.rpm(发行号、平台架构)
版本名称 版本信息 发布版本次数 适合平台 扩展名
bind-major.minor.release-release.arch.rpm
主版本号:重大改进
子版本号:某个子功能发生重大变化
发行号:修正了部分bug,调整了一点功能。
1.安装
rpm -ivh package_name
i:install; v:查看详细信息; h:以安装信息栏显示安装信息
--nodeps: 忽略依赖关系;
--replacepkgs: 重新安装,替换原有安装;
--force: 强行安装,可以实现重装或降级;
2.查询
rpm -q 仅查询,后面接的软件名称是否安装
rpm -qa 查询已经安装的所有包
rpm -qi package_name :查询指定包的说明信息
rpm -ql package_name : 查询指定包安装后生成的文件列表;
rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;
rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;
如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
3、升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
--oldpackage: 降级
4.卸载
rpm -e PACKAGE_NAME --nodeps
5、校验
rpm -V PACKAGE_NAME
6、重建数据库
rpm
--rebuilddb: 重建数据库,一定会重新建立;
--initdb:初始化数据库,没有才建立,有就不用建立;
7、检验来源合法性,及软件包完整性;
加密类型:
对称:加密解密使用同一个密钥
公钥:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;
单向:
# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-redhat-release
rpm -K /PAPT/TO/PACKAGE_FILE
dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项
sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件
4.yum在线升级机制
根据各软件的相关性做出属性依赖时的解决方案,然后可以自动处理软件的依赖属性关系,从而解决软件安装与删除与升级的问题。
1.利用yum进行查询、安装、升级与删除功能
查询功能:
yum [options] [查询项目工作目录] [相关参数]
-y :等待用户输入yes时,可以自动提供yes; --installroot=/some/path:安装到其他目录中,不使用特殊目录
search: 搜索某个软件名称或者是描述的重要关键字
list : 列出目前yum所管理的所有的软件名称与版本,类似于rpm -qa
info:类似于rpm -qai
provides:从文件夹中搜索软件,类似于rpm -qf
升级/安装 yum[install/update]
删除 yum [remove]