首页 > 代码库 > 软件包管理

软件包管理

应用程序  程序:Architecture

c语言:源代码-->(编译)二进制格式 脚本:解释器(二进制程序)

源代码-->编译--连接-->运行

程序:  库  静态库  动态库   共享库 配置信息 dir=/path/to/somewhere

程序组成部分  二进制程序  库  配置文件  帮助文件

glibc: gnu的c库

/boot /etc /usr /var 可以单独分区 /dev /lib /tmp /bin /sbin /proc /sys /mnt /media /home账号用户数据,单独分区 /root不能单独分区 /misc /opt /srv不能单独分区

新安装程序的库会放在 /lib,/usr/lib的中

/usr/share/man

/etc,/bin,/sbin,/lib 系统启动需要用到的程序,这些目路不能挂载到额外的分区上,必须在/上 (根目录下)

/usr/  bin  sbin  lib  操作系统的核心功能 ,可以单独分区

/usr/local  bin  sbin  lib  etc  man   /opt 第三方软件

/proc /sys  不能单独分区,默认为空

/dev:设备,不能单独分区:  udev内核根据驱动,自动创建设备文件

/root:不能单独分区 /var:建议单独分区 /boot:内核,initrd(initramfs) 操作系统启动过程  内核:  一般要单独分区,做成基本分区

POST-->BIOS(HD)-->(MBR)bootloader(文件系统结构,ext2,txt3,xfs)-->加载内核

程序:指令+数据

指令:芯片  CPU:普通指令,特权指令  指令集

c语言:  powerpc:二进制格式  x86:

软件包管理器: 打包成一文件:二进制程序,库文件,配置文件,帮助文件 生成数据库,追踪所安装的每一个文件

软件包管理器的核心功能: 1,制作软件包 2,安装,卸载,升级,查询,校验

Redhat,SUSE:RPM  Redhat Package Manager  RPM is Package Manager

Debian:dpt

依赖关系:  x-->y-->z

前端工具:yum,apt-get 后端工具:RPM,dpt

yum:Yellowdog Update Modifier

rpm命令:  rpm:   数据库文件: /var/lib/rpm  rpmbuild

安装、查询、卸载、升级、校验、数据库的重建、验证数据包等工作

rpm命名: 包:组成部分  主包:bind-9.7.1-1.i586.el5.rpm  子包:bind-libs_9.7.1-1.i586.el5.rpm

包名格式: name-version-release.arch.rpm bind-major.minor.release

主版本号:重大改进 次版本号:某个子功能发生重大变化 发行号:修正bug,调整一点功能

bind-9.7.1.tar.gz

rpm包: 二进制格式  rpm包作者下载源程序,编译配置完成后,制作成rpm包  bind-9.7.1-1.el5.rpm el5代表红帽企业版5  bind-9.7.1.noarch.rpm noarch代表无平台相关性

源码格式

rpm 1、安装 rpm -i /path/to/package_file  -h:以#显示进度,每个#标识2%  -v:显示详细过程  -vv:更详细的过程

rpm -ivh 文件     --nodeps:忽略依赖关系  --replacepkgs:重新安装,替换原有安装  --force:强行安装,可以实现重装或降级

2、查询 rpm -q package_name 查询指定表是否已经安装 rpm -qa 查询已经安装的所有包

rpm -qi package_name:查询某软件包的说明信息 rpm -ql package_name 查询指定软件包安装后生成的文件列表 rpm -qc package_name 查询指定安装包的配置文件 rpm -qd package_name 查询指定包的帮助文件 rpm -q --script pacage_name:查询指定安装中包含的脚本

rpm -qf /path/to/somefile 查询指定的文件是由哪个rpm安装包生成的

3、升级 rpm -Uvh /path/to/new_package_file:如果装有老版本,则升级;否则,则安装 rpm -Fvh /path/to/new_package_file:如果装有老版本,则升级;否则,退出

4,卸载 rpm -e package_name     --nodeps 强行卸载

5,校验 rpm -V package_name

6、重建数据库

 rpm   --rebuilddb  重建数据库,一定会重新建立   --initdb  初始化数据库,没有才建立,有就不用建立

7、校验来源合法性,及软件完整性 加密类型:  对称:加密解密使用同一密钥  公钥:一对密钥,公钥,私钥:公钥隐含余私钥中,可以提取出来,并公开出去  

软件包管理