Linux安装及管理软件程序

目录

一、Linux安装程序的几种方式

1.源码编译安装(二进制安装)

2.rpm安装

3.yum软件仓库

4.下载安装包 

 二、安装管理软件程序

1.rpm包管理工具

(1)一般命名格式 

(2)拆包后分类

(3)包管理器相关文件

(4) 查询安装包信息命令

(5)rpm安装管理软件

 2.源码编译安装

(1)源码:

(2)程序包编译安装:

(3)步骤:

(4)源码编译安装实操: 

3.yum安装管理软件

(1)c/s架构

(2)安装过程

(3)配置本地yum源

(4)yum安装软件实操


一、Linux安装程序的几种方式

1.源码编译安装(二进制安装)

        实际上,源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。源码包经过成功编译之后产生二进制包,最后安装写入硬盘。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快(同 Windows下安装软件速度相当),且安装过程 错几率大大减小。

优点:

  • 开源。如果你有足够的能力,则可以修改源代码。
  • 可以自由选择所需的功能。
  • 因为软件是编译安装的,所以更加适合自己的系统,更加稳定,效率也更高。
  • 卸载方便。

不足:

  • 安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。
  • 编译时间较长,所以安装时间比二进制安装要长。
  • 因为软件是编译安装的,所以在安装过程中一旦 错,新手很难解决

2.rpm安装

        由Red Hat公司提出,被众多Linux发行版所采用建立统一的数据库文件(一张对应表将信息写入)详细记录软件包安装、卸载等变化信息自动分析软件包依赖关系。

优点:

  •  统一的安装包格式
  • 已经帮你编译完成
  • 使用简单

不足:

  •  因为软件存在依赖关系,需要先手动下载各依赖包(过于繁琐,安装软件时基本不用)

3.yum软件仓库

        解决rpm包依赖关系而诞生

优点:

  •  安装简单
  • 自动解决依赖关系

4.下载安装包 

 二、安装管理软件程序

获取软件包的几种方式

  • 红帽官方
  • 第三方组织提供
  • 软件项目官方站点
  • 自己制作

以下实操演示通过挂载镜像文件,获取其中的rpm安装包来安装软件程序

挂载 :

        linux当中一切皆文件,无论硬件软件都要当成文件来使用,硬件不能直接当成文件来使用,再加硬盘只能在根分区下进行操作。

        挂载是将硬件和根分区下某一文件夹做关联,相当于这个文件夹是进入硬盘的一个入口

1.rpm包管理工具

(1)一般命名格式 

bash-4.1.2-15.el6_4.x86_64.rpm

bash——shell环境  4.1.2——版本信息 15——发布次数   x86_64——系统架构

(2)拆包后分类

[root@localhost Packages]# ll httpd*
-rw-rw-r–. 2 root root 2835196 8月  11 2017 httpd-2.4.6-67.el7.centos.x86_64.rpm
-rw-rw-r–. 2 root root  197360 8月  11 2017 httpd-devel-2.4.6-67.el7.centos.x86_64.rpm
-rw-rw-r–. 2 root root 1402824 8月  11 2017 httpd-manual-2.4.6-67.el7.centos.noarch.rpm
-rw-rw-r–. 2 root root   89284 8月  11 2017 httpd-tools-2.4.6-67.el7.centos.x86_64.rpm
// 主包   开发包   手册包   工具包 

(3)包管理器相关文件

– 包文件组成 (每个包独有)

  • 包内的文件

  • 元数据,如:包的名称,版本,依赖性,描述等

  • 可能会有包安装或卸载时运行的脚本

– 数据库(公共):/var/lib/rpm (安装好后会将一些公共的数据放入数据库中)

  • 程序包名称及版本

  • 依赖关系

  • 功能说明

  • 包安装后生成的各文件路径及校验码信息

(4) 查询安装包信息命令

 查询指定软件是否安装

rpm -q 软件名       

查询已安装软件的信息 

       -qa       //显示当前系统中以 RPM 方式安装的所有软件列表

       -ql        //显示指定的软件包在当前系统中安装的所有目录、文件列表         

       -qi        //查看指定软件包的名称、版本、许可协议、用途描述等详细信息

       -qc       //列出已安装的指定软件的配置文件

       -qd       //列出已安装的指定软件的软件包文档所在位置

       -qf        //查看指定的文件或目录是由哪个软件包所安装的

查询已安装软件包的信息 

       -qpl        //显示指定的软件包在当前系统中安装的所有目录、文件列表         

       -qpi        //查看指定软件包的名称、版本、许可协议、用途描述等详细信息

       -qpc       //列出已安装的指定软件的配置文件

       -qpd       //列出已安装的指定软件的软件包文档所在位置

(5)rpm安装管理软件

[root@localhost Packages]# rpm -i 软件名      //rpm安装软件

                                                     -v                 //显示过程

                                                     -h                 //显示进度条####   

                                                     -e                 //卸载软件

                                                     -U                //升级软件(需要升级包)

 2.源码编译安装

(1)源码:

大部分是c语言开发的,更方便的使用

  1. 软件版本比较新,新功能,修复bug
  2. 可以自行定义配置文件的路径
  3. 源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50

(2)程序包编译安装:

源代码 –> 预处理 –> 编译 –> 汇编 –> 链接 –> 执行

多文件:文件中的代码之间,很可能存在跨文件依赖关系虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具可以大大减少编译过程的复杂度

(3)步骤:

  • 可以更改你的安装路径,
  • 选择你要安装软件的功能
  • 检测你的安装环境

第二步:make      将源代码编译成二进制语言

        常见的编译软件  gcc   gcc-c++

第三步:make install  将二进制 数据写入硬盘,安装进系统

(4)源码编译安装实操: 

3.yum安装管理软件

        yum是一个基于RPM包构建的软件更新机制,能够自动解决软件包之间的依赖关系,解决了日常工作中的大量查找安装依赖包的时间。

[root@localhost Packages]# yum [选项] 操作 软件包

                                                       -y      install      //安装过程提示选择全部yes

                                                       -q      install      //不显示安装过程

                                                                info          //显示安装包信息

                                                                list       //不加包名显示所有已安装和可安装的包信息

                                                                deplist     //查看包依赖情况

                                                                remove    //卸载软件

                                                                clean       //清理缓存目录下的软件包

(1)c/s架构

需要服务器来提供服务

成为服务器一定要有以下两个文件夹 Packages 和 repodata

  •  Packages——安装包(Packages不固定,但是统一叫Packages)
  • repodata——元数据(安装包路径,依赖关系,元数据等)

客户端

  • 客户端需要配置一个文件指明服务器的路径
  • 客户端的配置文件固定位置在 /etc/yum.repos.d/ (客户端配置文件必须以.repo结尾)

(2)安装过程

  • 客户端第一次连接服务端会将元数据文件保存下来;
  • 再根据元数据中的依赖关系和包路径,将所需要的安装包全部下载下来,放到缓存目录;
  • 安装结束后,将缓存目录中的安装包全部删除。

(3)配置本地yum源

        一般来说,默认的仓库路径会需要访问互联 ,当我们不能访问互联 时,就需要我们搭建本地yum仓库。这样客户端就可以通过本地yum仓库安装软件等。

搭建一个本地yum仓库需要:

服务端

  • 安装包 Packges:通过挂载、复制等
  • 元数据 repodata:通过自行生成、复制等

客户端

  • 手写配置文件(以.repo结尾)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月26日
下一篇 2022年7月26日

相关推荐