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

(1)
阿飞阿飞
上一篇 2018-04-22 20:40
下一篇 2018-04-22 20:59

相关推荐

  • Linux 第一週作業 (6.18–6.24)

    计算机的组成及其功能
    罗列Linux的发行版
    Linux的哲学思想
    一些簡單命令
    如何在Linux系统上获取命令的帮助信息
    Linux发行版的基础目录名称命名法则及功用规定

    Linux笔记 2018-06-23
  • mysql练习题

    导入hellodb.sql生成数据库(1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄MariaDB [hellodb]> select Name,Age from students where Age>25 and Gender=’M’;(2) 以ClassID为分组依据,显示每组的平均…

    Linux笔记 2018-06-09
  • Docker容器技术之Docker Image

    镜像是Docker容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。

    2018-08-02
  • MYSQL数据库基本使用

    MYSQL数据库基本使用

    2018-06-08
  • 如何在Linux系统上获取命令的帮助信息

    (1)首先用type命令,来判断需要获取帮助的命令是内部命令,还是外部命令。 内部命令:help空格command   按q键退出 (2) 外部命令: 命令自带简要格式的使用帮助 Command –help例如ls –help ①NAME 命令的功能性简要说明 ②SYNOPSIS 简要使用语法格式 【】:可选内容。 <>:…

    2018-06-27