Linux应用程序基础与RPM安装管理包以及源代码编译安装

Linux应用程序基础与RPM软件包管理工具以及源代码编译安装

一,应用程序与系统命令的关系:

角色系统命令应用程序
文件位置一般在/bin和/sbin目录中,或为Shell内部命令通常在/usr/bin和/usr/sbin目录中
主要用途完成对系统的基本管理工作,例如ip配置工具完成相对独立的其他辅助任务,录入可浏览网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字,命令选项和命令参数通常没有固定的执行格式

二,典型应用程序的目录结构

文件类型保存目录
普通执行程序文件/usr/bin
服务器执行程序文件和管理程序文件/usr/sbin
应用程序配置文件/etc
日志文件/var/log
应用程序参考文档文件/usr/share/doc
应用程序手册页文件/usr/share/man

三,常见的软件包封装类型:

文件类型保存目录
RPM软件包扩展名为:“.rpm”
DEB软件包扩展名为“.deb”
源代码软件包一般为“tar.gz”,“tar.bz2”等格式的压缩包
绿色免安装的软件包软件包的扩展名不一,以TarBall格式的居多在压缩包内提供以编译好的执行程序文件 解开压缩包后的文件即可直接使用

四,RPM包管理工具

Red-Hat Package Manager
  • 由Red Hat 公司提出,被众多LINUX发行版本采用
  • 建立统一的数据库文件
  • 详细记录软件安装包,卸载等变化信息
  • 自动分析软件包依赖关系
RPM软件包
  • 软件素材参考:http://www.rpm.org
  • 一般命名格式:bash-4.1.2-15.el6_4.X86_64.rpm
rpm命令的格式
  • rpm命令能够实现几乎所有对RPM软件包的管理功能
  • 执行 “man rpm" 命令可以获取得关于rpm命令的详细帮助信息
rpm命令功能
  • 查询,验证RPM软件包的相关信息
  • 安装,升级,卸载RPM软件包
  • 维护rpm数据库信息等综合管理操作
查询RPM软件包信息
  • 查询已安装的RPM的软件信息
  • 格式:rpm -q [子选项] [软件名}
    • 常用选项
      • -qa -qi -ql -qf -qc -qd
  • 查询未安装的RPM软件包中文信息
    • 格式 rpm -qp[子选项] RPM包文件
      • 常用选项
        • -qpi -qpl -qpc -qpd

下表为软件包命令查询选项具体作用:

命令作用
rpm -qa显示所有已安装的程序名
rpm -qi +程序名显示已安装的程序的详细信息
rpm -ql +程序名显示已安装的的程序的文件列表
rpm -qf +程序名查询已安装的程序属于哪个安装包
rpm -qc +程序名列出已安装程序的配置文件
rpm-qd +程序名列出已安装程序的软件包文档所在位置
rpm -qR+程序名列出已安装程序的依赖的软件包及文件
rpm -qpi +程序名显示未安装的程序的详细信息
rpm-qpl +程序名显示未安装的程序的文件列表
rpm -qpf +程序名显示未安装的程序属于哪个程序
rpm -qpc +程序名显示未安装的程序的配置文件
rpm -qpd +程序名显示未安装的程序的软件包文档的位置
字符功能
-q使用询问模式,当遇到任何问题时,rpm指令会先询问用户
-R显示套件的关联性信息
- S显示文件庄涛,本参数需配合“-1”参数使用
-U<套件档> 或–upgrade,<套件档>:升级指定的套建档
-v显示指令执行过程
-vv详细显示指令执行过程,便于排错
查询rpm软件包信息的命令选项及含义:
命令选项作用
rpm-q +程序名查询软件包是否安装
rpm-qa查询xxx是否被安装过
rpm-i安装
rpm-e卸载
rpm-U升级(不管程序是否安装过,都给它升级)
rpm–force强制
rpm–nodeps不检查与其他软件包的依赖关系
rpm-v显示过程信息
rpm-h在安装或升级过程中以#显示进度
如何安装无签名认证的rpm包

rpm的签名机制是为了验证rpm包来源的有效性和正当性,通过这个认证可以防止rpm包被恶意更改和确认包的来源,更加安全可靠
下面一条命令就是解决本地安装rpm包,yum解决依赖关系但不是官方rpm包,缺乏签名认证时的一种方法
yum --nogpgcheck .rpm (安装.rpm包)

编译安装的基本过程

1,tar 解包

tar zvxf/jxvf xxx.tar.gz/xxx.tar.bz2 -C 目标路径
2,配置
./configure --prefix=目标路径(此软件安装到哪里去)
3,编译
make

维护RPM数据库

  • 重建RPM数据库 rpm --rebuilddb 或 rpm --initdb
    -导入验证公钥 rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7(在官网上下载相应密钥)

解决软件包依赖关系方法

  • 安装有依赖关系的多个软件时
    - 被依赖的软件包需要先安装
    - 可同时指定多个.rpm包文件进行安装
  • 卸载有依赖关系的多个软件时
    • 依赖其他程序的软件包需要先卸载
    • 可同时指定多个软件名进行卸载
  • 忽略依赖关系
    • 结合 “–nodeps”选项,但可能导致软件异常

五 ,源代码编译概述

使用源代码安装软件的优点
- 获得最新软件版本,及时修复bug
- 根据用户需要,灵活定制软件功能
应用场合举例
- 安装较新版本的应用程序时
- 当前安装的程序无法满足需要时
- 需要为应用程序添加新的功能时
Tarball封包
    - .tar.gz和.tar.bz2格式据多
    - 软件素材参考:http://sourceforge.net
完整性校验
- md5sum校验工具
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200819093146453.png#pic_center)
  • 需安装支持C/C++程序语言编译器
  • gcc, gcc-c++, make, …
    在这里插入图片描述
tar解包
- 习惯上将软件包释放到/usr/src/目录
- 接报后的源代码文件位置: /usr/src/软件名-版本号/
示例
./configure配置
  • 使用源代码目录中的configure 脚本

  • 执行 “./configure --help”可查看帮助

  • 典型的配置选项
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GNI5gEs4-1597676644220)(en-resource://database/555:1)]

  • 示例
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9GfxuA7-1597676644222)(en-resource://database/557:1)]

make 编译与安装
  • 编译 :执行 make命令
  • 安装 :执行make install命令
    也可同时编译与安装:make && make install
    -例如:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hSgGot7t-1597676644223)(en-resource://database/563:1)]
测试,应用,维护软件
  • 使用前
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-542MkORt-1597676644224)(en-resource://database/559:1)]

  • 启动Apache
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dOcasJ3B-1597676644224)(en-resource://database/561:1)]

  • 运行lynx 127.0.0.1查看本机Apache运行状态(lynx默认是未安装,如果安装有问题应该是yum源安装有问题,此时可采用rpm安装)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值