|
程序包管理
包括: 内核管理,进程管理,内存管理,网络协议,驱动程序包管理
包管理器:打包,包管理(安装,升级,卸载,查询及校验)
两种包管理 deb ,rpm redhat package manager 包管理
1.1 程序包的组成部分:
二进制程序:/bin,/sbin/,/usr/bin,/usr/sbin
库文件:/lib64,/usr/lib64
配置文件:/etc/
帮组文档:manual,info
1.2 包管理器
打包:一个单一的归档文件
安装,卸载,升级
校验:两个管理,来源的合法性,完整性。
rpm 包的命令机制
包名+主版本号.次版本号.备份版本 base-4.3.4.tar.gz 4.3.2.
每一个rpm包的名称都由 - 和 . 分成了若干部分。就拿 “abrt-cli-2.0.8-15.el6.centos.i686.rpm” 这个包来解释一下, “abrt-cli” 为包名, “2.0.8” 则为版本信息, “15.el6.centos” 为发布版本号, “i686” 为运行平台。其中运行平台常见的有i386, i586, i686, x86_64 ,需要你注意的是cpu目前是分32位和64位的,i386,i586和i686都为32位平台,x86_64则代表为64位的平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。
1.3 rpm工具
rpm是redhat package manager 的缩写。 rpm是一种数据库记录的方式来将你所需要的套件安装到你的linux主机的一套管理程序。也是说,在你的linux中存在一种数据库的存储机制记录着包与包的依赖关系。安装的时候会很快捷。也有缺点:rpm的预先编译包的环境必须跟安装时的包的编译环境是一致的;卸载包时必须先卸载掉所依赖的包;如果依赖的包是系统所需要的就不能卸载。否则造成系统崩溃。rpm 数据库存放路径:/var/lib/rpm.
1.4 如何获取rpm包:
1:发行版提供的程序包。
2:Fedora-EPEL 高质量软件源。
3:项目的官方站点。
4:搜索引擎:http://rpmfind.net
http://rpm.pbone.net
http://pkgs.org
centos 识别光盘的设备文件: /dev/cdrom ,
1.5 基于rpm命令实现程序包管理 :
安装:
rpm {i|--install}[install -options] package_file...
-i
-v:显示安装的详细过程。
-h:显示安装的进度。
--nodeps:忽略依赖关系。
--replacepkgs:重装程序包。
--force:强制安装。
由于把光盘文件挂载到了/mnt/目录下 挂载命令是 mount /dev/cdrom /mnt/
升级:
rpm {-U| --upgrade}[install - options] package..
-Uvh:如果有旧的程序包,则升级;如果没有则安装。
-Fvh:如果有旧的程序包,则升级;如果没有就不安装。
-nodeps:忽略依赖关系。
--oldpackage:降级,降为旧版本。
卸载:
rpm {-e |--erase}[--nodeps][--noscripts][--notriggers][--test] package_name
查询:rpm {-q|--query}[select-options][query-options]
查询选项
-qa:查询本系统已经安装的所有程序包;
-qf:/path/to/somefile 查询此处生成的文件由那个程序包文件安装生成;
-qc:查询指定程序包安装生成的配置文件。
-qd:查询指定的程序包安装生成的文档;
-qi:查询指定的程序包的先关信息;
-ql:查询程序安装生成的所有文件的列表;
-q --scripts:查询程序包的相关的脚本;
preinstall:安装前的脚本
postinstall:安装后的脚本
preuninstall:卸载前的脚本;
postuninstall:卸载后的脚本;
-p:查询针对是未安装的程序包文件;
包校验
rpm {-V|--verify}[select--options][verfy--options]
来源的合法性验证:非对称加密;完整性验证:单向加密;导入秘钥:rpm --import /path/key_file
YUM工具管理包 yellow updateer modified
yum repositories
文件服务器:ftp://hostname/path/repo(ftp仓库)
http://hostname/path/repo(网上仓库)
file:///path/repo (本地仓库)
yum配置文件:
/etc/yum.conf:定义全局配置,对所有仓库都适用。
/etc/yum.repos.d/*.repo:一个文件通常用于一个或者一组功能相近或相关的仓库
定义一个仓库的指向:
[repo_id]
name=
baseurl=
#mirrorlist=scheme://hostname/path/....mirror
enabled={1|0}
gpgkey=
cost=
定义仓库指向可用的变量:
$releaserver:引用当前系统的主版本号;
$basearch:当前系统的基本架构;
i386,i486,i586, i686
http://mirrors.magedu.com/CentOS/$releasever/os/$basearch
[base]:代表的是仓库名,name:代表仓库的备注吧。mirrorlist:列出可用使用镜像站点。
baseurl:仓库指向的镜像网站。enable=1:代表仓库启动,0关闭;gpgcheck=1:是否查阅rpm文件内的数字证书;gpgkey:数字证书公钥所在
|
|