Lniux 安装及管理程序

  • Linux应用程序基础
  • RPM软件包管理工具
  • 源代码编译安装(yum)

 

Linux应用程序基础

  • 应用程序与系统命令的关系

通过yum 和 rpm 安装的 ,系统会自动放入 /usr/bin 或者 /usr/sbin
通过源码编辑安装的,一般手动会放到 /usr/local/bin 或者/usr/local/sbin 中
  • 典型应用程序的目录结构
  •  常见的软件包封装类型

 

 二、RPM 包管理工具

  • RPM 软件包管理器Red-Hat Package Manager
    • 由Red Hat公司提出,被众多Linux发行版所采用
    • 建立统一的文件数据库
    • 详细记录软件包安装、卸载、升级等变化信息
    • 自动分析软件包依赖关系
  •  RPM 软件包

软件素材参考: http://www.rpm.org

一般命名格式::

                     bash-4.2.46-28.el7.x86_64.rpm

注释:

  • bash :软件名称
  • 4.2.46 : 版本号
  • 28  :发布次数
  • el7 :表示用于centos 7系统
  • x86_64  应用平台
  • .rpm :扩展名

rpm命令的格式

  • rpm命令能够实现几乎所有对RPM软件包的管理功能
  • 执行"man rpm"命令可以获得关于rpm命令的详细帮助信息
  • rpm命令功能
    • 查询、验证RPM软件包的相关信息
    • 安装、升级、卸载RPM软件包
    • 维护重建RPM数据库信息等综合管理操作

 

查询RPM软件包信息

  • 查询已安装的RPM软件信息

格式:rpm -q[子选项]  [软件名]

  • 常用选项

rpm -q软件名——查询指定软件是否已安装

rpm -qi 软件名——显示已安装的指定软件的详细信息

rpm -ql 软件名——显示已安装的指定软件的文件列表的位置

rpm -qc 软件名——列出已安装的指定软件的配置文件的位置

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

rpm-qR 软件名——列出已安装的指定软件的依赖的软件包及文件

rpm -qf 文件或目录——查询已安装的指定软件属于哪个安装包

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

示例:rpm -qa I grep -i postfix——查询软件postfix是否已安装

 

  • 查询未安装的RPM软件包文件中的信息

格式:rpm -q[子选项] RPM包文件

  • 常用选项

rpm -qpi RPM包文件名——查询指定软件包的详细信息  

rpm -qpl RPM包文件名——查询指定软件包的文件列表

rpm -qpc RPM包文件名——查询指定软件包的配置文件

rpm -qpd RPM包文件名——查询指定软件包的软件包文档的位置

 

安装、升级、卸载 RPM 软件包

格式∶rpm [选项] RPM包文件 ...

  • 常用选项∶

-i∶安装一个新的 RPM 软件包。

-U∶升级某个软件包,若未安装过,则进行安装。

-F∶升级某个软件包,若未安装过,则放弃安装。

-h∶ 在安装或升级软件包的过程中,以"#"号显示安装进度。

-v∶ 显示软件安装过程中的详细信息。

--force∶ 强制安装某个软件包, 比如要安装版本更旧的软件包

卸载指定的RPM软件

rpm -e软件名

-e∶ 卸载指定名称的软件包。

--nodeps∶ 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系

安装软件包常用 rpm -ivh  +软件包
卸载软件包常用 rpm -evh +软件包
 
重建RPM数据库

(1) [root@localhost ~]#rpm --rebuilddb

或[root@localhost ~]#rpm --initdb

(2)导入验证公钥

[root@localhost ~]#rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7

 

 三、源代码编译安装

搭建本地yum 源仓库

yum 使用前,要先搭建yum源仓库,配置yum源。yum源可以是本地yum 源,也可以使用网络yum源
yum 源仓库一般是放在 /etc/yum.repos.d/ 目录下,以 .repo  结尾的文件。 
若 /etc/yum.repos.d 目录下,有多个.repo 结尾的文件,则拥有多个yum源仓库,但每个yum源仓库都必须配置正确
 
操作:
1. 先挂载yum 源光盘(一般挂载在/mnt ) 目录下
mount /dev/cdrom /mnt ---------------------    将 cd光盘 挂载到/mnt 目录下
df -h   ----------------------------------------------    查看挂载

2.  cd /etc/yum.repos.d  

3.创建 repos.bak 文件, 将/etc/yum.repos.d/ 下的多余文件移走

 

4.编辑 local.repo文件 

[local]                        #仓库类别
name=local              #仓库名
baseurl=file:///mnt     #指定URL,访问路径为光盘挂载目录
enabled=1                #开启此yum 源。此为默认项,默认值为1(开启)
gpgcheck=0            #是否检查软件包签名(0为不检查)

 5.删除yum 缓存,并且更新   

yum clean all && yum makecache 

 

 

yum 一些常用的命令

yum -y install 软件名              #安装,升级软件包,可以自动解决依赖关系(也可以更新软件)

yum  -y remove  软件名         #卸载软件包,可以自动解决依赖关系

yum -y update     软件名        #升级软件包

yum  list                                #查询软件包列表

yum list installed                   #查询系统中已经安装的软件包

yum list available                  #查询仓库中尚未安装的软件包

yum list updates                   #查询可以升级版本的软件包           

 

解决软件包依赖关系方法:

安装有依赖关系的多个软件时

被依赖的软件包需要先安装

可同时指定多个.rpm 包文件进行安装

卸载有依赖关系的多个软件时

依赖其他程序的软件包需要先卸载

可同时指定多个软件名进行卸载

忽略依赖关系

结合"-nodeps"选项,但可能导致软件异常

源代码编译概述

使用源代码安装软件的优点:

获得最新的软件版本,及时修复bug

根据用户需要,灵活定制软件功能

应用场合举例

安装较新版本的应用程序时

当前安装的程序无法满足需要时

需要为应用程序添加新的功能时

编译安装过程:

下载源代码安装包文件

步骤1:tar解包

用途:解压并是释放源代码包到指定的目录

步骤2:./configure配置

用途:设置安装目录、安装模块等选项

步骤3:make编译

用途:生成可执行的二进制文件

步骤4:make install安装

用途:复制二进制文件到系统,配置应用坏境

测试及应用、维护软件

tar解包:

习惯上将软件包释放到/usr/src目录

解包后的源代码文件位置

格式:/usr/src/软件名-版本号/

示例:[root@localhost ~]#tar zxf httpd-2.4.25.tar.gz -C/usr/src/

posted @ 2021-06-25 00:34  DoYouWantMore  阅读(100)  评论(0编辑  收藏  举报