安装及管理程序

结构

  • 查询RPM安装包信息
  • 安装,升级,卸载,RPM安装包
  • Linux应用程序基础
  • 源代码编译安装 [用源代码写出来的,没有被安装过的 。二进制]

查询RPM安装包信息

RPM概述

RPM包是各种Linux发行版本中应用最广泛的软件包之一。RPM包以其强大的功能和广泛的兼容性而得到多数Linux发行版本的支持和广大Linux使用者的拥护。在本节中将学习RPM包的常用管理操作。

RPM包管理工具

 RPM Package Manager
       由Red Hat 公司提出,被众多Linux发行版所采用
       建立统一的数据库文件
       详细记录软件包安装,卸载等变化信息
       自动分享软件包依赖关系
       自动分析软件包依赖关系
  RPM软件包
      软件素材参考:http://www.rpm.org
       一般命令格式:
           bash-4.1.2-15.el6_4.x86_64.rpm
bash :软件包的名称 

使用RPM包管理命令——RPM

1.rpm命令的格式

使用rpm命令能够实现几乎所有对RPM软件包的管理功能,执行“man rpm”命令可以查看获得关于rpm命令的详细帮助信息。

(下面还有很多,可自行查看)

rpm具有相当复杂的命令格式,结合不同的命令选项及子选项主要可以实现以下三类:

  • 查询,验证RPM软件包的相关信息。
  • 安装,升级,卸载RPM软件包
  • 维护RPM数据库信息等综合管理操作


 

2.查询RPM软件包信息

建立一个软件仓库:
   mount /dev/cdrom  /mnt/  挂载光盘
   rpm  -qa 查看系统中已安装的软件包列表
   rpm -qa | grep  network  

  查询已安装的RPM软件信息
        rpm  -q[子选项] [软件名]
       常用选项
           -qa   -qi  -ql  -qf   -qc   -qd
 rpm -qa 软件包名称  查看该软件包安装是所有软件列表
 rpm -qi(infomation 信息)  软件包的名称   查看软件包的详细信息
 rpm -ql(list 列表)  软件包名称   查看指定软件包的要安装软件列表
 rpm -qf(file) 文件名称  查看指定文件属于哪个软件包
 rpm -q  软件名  查看该软件由哪个软件包安装的
 rpm -qc 软件包名称 查看指定软件包的要安装的配置文件(.conf)
 rpm -qd 软件包名称 查看指定软件包中的压缩文件


 

 查询未安装的RPM软件包文件中信息
         rpm  -qp [子选项] RPM包文件
       常用选项
          -qpi   -qpl   -qpc  -qpd
  

安装,升级,卸载,RPM安装包 

  
安装或升级RPM软件 
            rpm[选项] RPM软件
           常用选项
             -i  -U -F
   -i(install)  安装
   -U  升级 
   -F  更新
   -h 显示安装进度
    -v  安装信息
 rpm  -ivh  XX 安装  (通常这样用)     
 rpm   -Uvh XX 升级安装
 rpm   -ivh  XX --force    强制安装一个软件包 
          卸指定的RPM软件
            rpm -e  软件名 
    rpm -e 软件包名称 --nodeps
       辅助选项
            --force强制安装   --nodeps忽略依赖关系卸载  -h  -v
 rpm  --rebuilddb/--initdb   重建数据库

 Linux应用程序基础

1.Linux命令与应用程序的关系

在Linux系统中,一直以来 命令和应用程序并没有特别明确的区别,从长期使用习惯来看,可以通过以下描述来对两者进行区别。

  • 文件位置:系统命令一般在/bin和/sbin目录中,或为Shell内部指令,而应
    用程序则通常在/usr/bin和/usr/sbin目录中。
  • 主要用途:系统命令是完成系统的基本管理工作,例如IP配置工具,而应用
    程序则是完成相对独立的其他辅助任务,例如网页浏览器。
  • 适用环境:  系统命令一般只在字符操作界面中运行,应用程序则是根据实际
    需要,有些程序可在图形界面中运行。

运行格式:  系统命令一般包括命令字、命令选项和命令参数,应用程序却没有固定的执行格式。

2. 典型应用程序的目录结构

安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。在Linux系统中,典型的应用程序通常由以下儿部分组成。

  • 普通的可执行程序文件。一般保存在“/usr/bin” 目录中,普通用户即可执行。
  • 服务器程序、管理程序文件。一般保存在“/usr/sbin”目录中,只有管理员能执行。
  • 配置文件。一般保存在 “/etc” 目录中,配置文件较多时会建立 相应的子目录
    日志文件。一般保存在 “/var/log” 目录中
  • 关于应用程序的参考文档等数据。般保存在 “/use/share/doc”目录中。
  • 执行文件及配置文件的man手册页。 般保存在“/usrshare/man/” 目录中。

3.常见的软件包封装类型

RPM安装包

DEB软件包

源代码软件包

附带安装程序的软件包(二进制)

源代码编译安装

Linux操作系统之所以能够在十余年的时间里发展壮大以至风靡全球,其开放源代码的特性是很重要的原因之一,即Linux操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。

现代的Linux发行版本通常使用包管理机制对软件进行打包安装,这样省去了软件的编译安装过程,大大简化了Linux 系统的安装和使用难度。但是在有些情况下,仍需要使用源代码编译的方式为系统安装新的应用程序,如下几种情况。

  •      安装较新版本的应用程序时:大多数的Linux发行版都提供了相当丰富的应用程序,而这些程序的版本往往滞后于该软件的最新源代码版本,因为大多数的开源软件总是以源代码的形式最先发布,之后才会逐渐出现.rpm、.deb等二进制封装的版本。下载应用程序的最新源代码包并编译安装,可以在程序功能、安全补丁等方面得到及时更新。
  •  当前安装的程序无法满足应用需求时:对于RPM格式封装的应用程序,一般只包含了该软件所能实现的一小部分功能,而难以由用户自行修改、定制。通过对程序的源代码进行重新配置并编译安装后,可以定制更灵活、更丰富的功能。许多Linux服务器程序都采用源代码编译的方式进行安装,以获得更适合于企业实际应用需求的服务。
  • 为应用程序添加新的功能时:当需要利用现有的程序源代码进行适当的修改,以便增加新的功能时,必须释放出该软件的源代码,修改后再重新编译安装。

例:

执行“md5sumhttpd-2.2.15.tar.gz”操作后可计算出httpd-2.2.15.tar.gz软件包文件的MD5效验和结果,将与官方软件提供的效验值作比较。不一致的尽量不要用,以免带来病毒,木马等不安全因素。

编译安装的基本过程

1解包 

tar xf 包名 -C 解压到的路径

2配置

配置工作通常由源代码目录中的“configure”脚本完成

3编译

make  

4安装

make install

通常编译安装可以一起执行  make && makeinstall

小总结 

  • 应用程序由执行程序、配置文件、帮助文件等部分组成。
  • 软件包封装类型包括RPM包、DEB包、源代码包、带安装程序的包。
  • 使用rpm命令可以完成对RPM软件包的查询、安装、升级、卸载等管理操作。在Linux系统中编译源代码需要使用gcc、make编译环境。
  • 从源代码包 安装应用程序的基本过程包括解包、配置、编译、安装这四个步骤。

猜你喜欢

转载自blog.csdn.net/weixin_42826753/article/details/86435544