-
- 相关知识
- 接口
- 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数据库
- 程序包名称和版本,依赖关系,校检码。功能说明
- 1程序清单
- 程序包获取
- 软件官网
- 第三方组织:Fedora-EPEL
- 搜索引型
- 接口
- centosrpm命令管理程序
- 安装,卸载。升级。查询;校检,数据库维护
- 安装 –root=/ 可以指定安装在那个根系统
- rpm -i -v和vv都是显示过程的 h显示进度的
- –test测试安装 –nodeps忽略依赖关系(在依赖关系循环时) –replacepkgs重新安装
- –nosignature不检查包的来源合法性 –nodigest不检查完整性
- –noscripts不执行 程序包安装脚本 %pre安装前脚本 %post安装后脚本%preun卸载前脚本%postun卸载后脚本
- rpm2cpio 包文件 | cpio “*.conf” 释放包文件
- rpm -i -v和vv都是显示过程的 h显示进度的
- 升级
- -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重建
- 安装 –root=/ 可以指定安装在那个根系统
- 安装,卸载。升级。查询;校检,数据库维护
- 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
- 第一步 configure 安装帮助文档INSTALL README
- .configure
- 开发工具
- autoconf:生成configure脚本
- automake:生成makefile。in
- 编译前提:
- 开发工具:make gcc等 开发环境:开发库及头文件等等
- 编译过程
- 相关知识
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96870