rpm包管理

    • 相关知识
      • 接口
        • API:二进制接口
        • ABI:应用层接口,
      • 包的组成:
        • 二进制文件;库文件;配置文件;帮助文档
      • 程序包管理器
        • debian: deb,dpt apt-agt包管理前段工具
        • rehat:rpm;rpm yum包管理前段工具
        • fedora dnf包管理前段工具
      • 安装过的rpm包数据库
        • /var/lib/rpm/*
      • 管理查看二进制程序依赖的库文件
        • ldd /path/filename
      • 管理查看本机装载库文件
        • ldconfig -p 显示本机缓存库文件及路径
        • 配置文件 、etc/ld.so.conf ; etc/ld.so.conf.d/*.conf
        • 缓存:etc/ld.so.cache
      • 程序包组成:
        • 1程序清单
          • 文件清单 安装卸载的脚本
        • 2数据库
          • 程序包名称和版本,依赖关系,校检码。功能说明
      • 程序包获取
    • centosrpm命令管理程序
      • 安装,卸载。升级。查询;校检,数据库维护
        • 安装 –root=/ 可以指定安装在那个根系统
          • rpm -i -v和vv都是显示过程的 h显示进度的
            • –test测试安装 –nodeps忽略依赖关系(在依赖关系循环时) –replacepkgs重新安装
            • –nosignature不检查包的来源合法性 –nodigest不检查完整性
            • –noscripts不执行 程序包安装脚本 %pre安装前脚本 %post安装后脚本%preun卸载前脚本%postun卸载后脚本
          • rpm2cpio 包文件 | cpio “*.conf” 释放包文件
        • 升级
          • -U有旧包则升级,没有则安装 -F有旧包则升级,没有不安装 –oldpackage降级
        • 查询
          • 查询包
            • -a所有安装的包 -f查看指定文件由那个安装包安装
            • –whatprovides ca 查询指定的能力由那个包提供–whatrequires ca 查询指定的包被谁依赖
          • 查询包信息
            • –changelog查看rpm包的编译日志 -c查询配置文件 -d查询查询文档 -i包信息 -l查看生产文件 –scripts脚本信息 -p查看没有安装的包 -R查询指定包依赖的能力 –provides列出包提供的能力
        • 卸载 -e
        • 校检
          • 文件是否有变动 -V -K
          • 包来源性及完整性
            • 完整性:SHA256 来源合法:RSA
            • 使用私匙加密
          • 导入所需要公匙 rpm –import RPM-GPG-KEY-CentOS-7
        • 数据库
          • 数据库重建:–initdb不存在就安装,存在就不安装 rebuilddb重建
    • yum
      • 工作流程
        • 本地向yum仓库发出请求,yum仓库发回软件包及元数据(首次使用),本地缓存这些返回信息,安装后删除安装包,保留元数据,再次安装时只发回元数据的校检码和安装包
      • yum repository:yum repo
        • 存储众多rpm包,以及包相关的元数据放在特定目录下repodate
      • yum客户端配置
        • /etc/yum.conf;可为所有仓库提供公共配置
        • /etc/yum.repos.d/*repo为仓库提供配置
      • yum配置文件
        • 【base】仓库ID
        • name=centos 7 仓库名字 ,不指定会报错
        • baseurl=url://path/to/repository仓库路径 file:///date/http://172.20.77.1/pub/
        • enabled={0|1}开机是否启动默认启动 0关闭
        • gpgcheck={1|0}检查报的完整性
        • gpgkey=url 检查包的来源合法性
        • cost=1000 开销默认1000.
      • yum配置的变量
        • $releasever 系统主版本号 $arch平台 $basearch基础平台
      • 建立本地仓库 createrrepo path
      • yum命令
        • 命令选项
          • -y自动回答yes -q静默安装 –nogpgcheck禁止gpg chk
          • –disablerepo=repo 临时禁用仓库 -enablerepo=repo 临时启用 –noplugins禁用所有有插件
        • 显示仓库
          • repolist 查看启用仓库 加上all显示全部
        • 安装 install
        • 显示程序包
          • yum list {available |install| updates} 显示可用的包,可以安装的,可以升级的
        • 升级 update 检查升级 check-update 降级 downgrade
        • 卸载 remove
        • 查看安装包信息 indo
        • 查看程序特性 provides
        • 清理缓存 clean all 构建缓存 makecache
        • 搜索 search
        • 查看依赖关系 deplist
        • 本地包安装 localinstall
        • yum事务管理 history
        • 包组管理 groupinstall安装包组 grouplist列出包组 groupinfo查看信息 groupremove移除包组
    • 编译安装
      • 编译过程
        • 源代码–预处理–编译–汇编–链接–执行 每个过程都需要一个程序来处理
      • 源码组织格式
        • 多文件:文件中代码可能会跨文件依赖
          • c;c++: make项目管理 (configure配置–makefile. in 生成配置文件的模板,调用那个编译器汇编器等等–makefile)
          • jave maven
      • 编译三部曲 ./configure -h查看启用特性 yum list 查找特定包
        • .configure
          • 通过选项参数启用指定特性,生成配置文件
        • make 根据配置文件;构建应用程序
        • make install 生成相关文件和信息
        • 编译步骤
          • 第一步 configure 安装帮助文档INSTALL README
            • 指定安装位置和启用特性
              • .configure –prefix=/usr/local/apache2 –sysconfdir=/etc/httpd2
              • 选择路径 –prefix=/ 可以指定默认位置 所有文件会分好类,可以选择其他路径会安装在一起编译后要指定
              • system types 跨平台编译
              • –disable –enable 关闭或开启指定特性
              • –with安装包 –without不安装包
          • 第二步:make -j 4 指定用cpu核数
          • 第三步 make install
          • 编译后配置
            • 导出二进制程序目录到PATH变量
            • 导出库文件路径 /etc/ld.so.conf/*.conf 刷新缓存ldconfig -V
            • 导出头文件 基于连接 ln -sv
            • 导出帮助文档
          • curl 地址 |bash
      • 开发工具
        • autoconf:生成configure脚本
        • automake:生成makefile。in
      • 编译前提:
        • 开发工具:make gcc等 开发环境:开发库及头文件等等

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96870

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班