ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

安装及管理程序

2021-08-04 21:06:43  阅读:205  来源: 互联网

标签:管理程序 安装 RPM 应用程序 软件包 软件 rpm


前言:

      主机安装linux操作系统后,就具备了一些简单的功能,随操作系统一起安装的软件包,实现的

功能比较有限,当我们需要为主机提供更多功能时,安装新的应用程序就必须是我们要考虑的问题

了。这里就让我们了解入何在linux中安装应用程序、管理应用程序。

一、 Linux应用程序基础

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

   Linux系统中,一直以来命令和应用程序并没有特别明确的区别,从长期使用习惯来看,可以有

一下区别:

角色

系统命令

应用程序

文件位置

一般在/bin和/sbin目录中,或为

shell内部指令

通常在/usr/bin和/usr/sbin以及/usr/local/bin

和/usr/local/sbin目录中

主要用途

完成对系统的基本管理工作,例如IP配置工具

完成相对独立的其他辅助任务,例如网页浏览器

适用环境

一般只在字符操作界面中运行

根据实际需要,有些程序可在图形界面中运行

运行格式

一般包括命令字、命令选项和命令参数

通常没有固定的执行格式,程序开发者自行定义的

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

     安装完一个软件包后,可能会向系统中复制大量的数据文件,并进行相关设置。Linux系统中,

典型的应用程序由以下部分组成:

文件类型

保存目录

普通的可执行程序文件(普通用户即可执行)

/usr/bin

服务器执行程序和管理程序文件

/usr/sbin

应用程序配置文件

/etc

日志文件

/var/log

关于应用程序参考文档文件等数据

/usr/share/doc

执行文件及配置文件的man手册

/usr/local/share/man

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

     对于各种应用程序的软件包,在封装时可以采用、各种不同的类型,不同类型的软件包其安装

方法也各不相同。常见的发软件包封装类型如下:

文件类型

备注

RPM软件包

扩展名为“.rpm

DEB软件包

扩展名为“.deb”

源代码软件包

一般被制作成“.tar.gz”,”.tar.bz2”等格式的压缩包文件,因多适应tar命令打包而成,所以经常被称为“TarBall”。这种软件包是程序员开发完成的原始代码。

绿色免安装的软件包(附带安装程序的软件包)

这种软件包的扩展名不一,但仍以TarBall格式的居多。软件压缩包会提供用于安装的可执行程序或脚本文件。解开压缩包后的文件即可直接使用。

二 、RPM软件包管理工具     

1 、RPM简介

       RPM软件包管理机制是Linux发行版中公认的软件包管理标准。RPM包管理器通过建立统一的

文件数据库,对在Linux系统中安装、卸载、升级的各种.rmp软件包进行详细的记录,并能自动分

析软件包之间的依赖关系,保持各应用程序在一个协调,有序的整体环境中运行。

       使用RPM机制封装的软件包文件的命名格式:

三、使用RPM包管理命令

1 、rpm命令的格式

       rpm命令能够实现几乎所有对RPM软件包的管路功能,执行“man rpm”命令可以获得关于rpm

命令的详细帮助信息。  

2、 rpm命令主要功能

       ①,查询,验证RPM软件包的相关信息

       ②,安装,升级,卸载RPM软件包

       ③,维护RPM数据库信息等综合管理操作

3、 查询RPM软件包信息

       ⑴,查询已安装的RPM软件包信息

 

        查询功能主要通过 “ -q ” 实现,主要针对当前系统中已安装的软件包。常用选项如下:-qa,

-qi,-ql,-qf,-qc,-qd等。

       ①,-q

rpm -q 软件名   :不带子选项单独使用时可以查询指定软件(已知名称的软件包)是否安装。需要

使用准确的软件名作为参数(可以有多个)。

       ②,-qa

rpm -qa 软件名  :显示当前系统中以RPM方式安装的所有软件列表。注:直接执行“rpm -qa”命

令,将列出当前系统中以RPM方式安装的所有软件包清单。  

       ③,-qi

rpm -qi 软件名  :显示已安装的指定软件的详细信息。查看指定软件包的名称,版本,许可协议

,用途描述等详细信息。(--info)。如果软件未安装,则会提示未安装。

       ④,-ql

rpm -ql 软件名  :显示已安装的指定软件的文件列表。显示指定的软件包在当前系统中安装的所有

目录,文件列表。(--list)

       ⑤,-qf

rpm -qf 软件名  :查看指定的文件或目录是由哪个软件包所安装的。(--file)

⑥,-qF

rpm -qF 文件或目录 :查询已安装的指定软件属于哪个安装包。注意与-qf的区别。

       ⑦,-qc

rpm -qc 软件名  :列出已安装的指定软件的配置文件。即/etc/目录下面的所有文件。

       ⑧,-qd

rpm -qd 软件名  :列出已安装的指定软件的软件包应用程序参考文档所在的位置。即在/usr/share/

目录下面的所有文档,包含man手册。

       ⑨,-qR

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

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

 

         通过 “-qp” 选项可以针对尚未安装的RPM包文件进行查询它里面的内容。使用时必须以RPM

包文件的路径作为参数(可以有多个),而不是软件包名称。常用选项有:-qpi,-qpl,-qpc,

-qpd。

       ①,-qpi

rpm -qpi RPM包文件名路径 :查询指定未安装软件包的名称,版本,许可协议,用途描述等详细

信息。

       ②,-qpl

rpm -qpl RPM包文件名路径 :查询指定软件包的文件列表。

       ③,-qpc

rpm -qpc RPM包文件名路径 :查询指定软件包的配置文件。/etc/

       ④,-qpd

rpm -qpd RPM包文件名路径 :查询指定软件包的软件包文档位置。/usr/share/

⑶,安装、升级和卸载RPM软件包

       应用程序管理工作中,安装、升级和卸载软件包是最基本的工作内容,使用rpm命令实现这些

操作时,其基本的命令选项如下:

  1. -i:在当前系统中安装一个新的RPM软件包。
  2. -e:卸载指定名称的软件包。
  3. -U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项。
  4. -F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装。

辅助选项(辅助安装、卸载软件包) 

  1. --force:强制安装某个软件包,当需要替换现已安装好的软件包及文件,或者安装一个比当
  2. 前使用的软件版本更旧的软件时,可以使用此选项。
  3. --nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。
  4. -h:在安装或升级软件包的过程中,以“#”号显示安装进度。
  5. -v:显示软件安装过程中的详细信息。

       ①,安装或升级RPM软件

       使用rpm命令安装软件包时,需要指定完整的包文件名作为参数(可以有多个)。若要同时安

装多个RPM包,可以使用通配符 “*”。在安装一个新软件包时,通常使用“ivh”的组合选项,这样便

于了解软件安装的过程信息,及时跟踪安装进度。使用如下:

安装软件包:rpm -ivh 【包文件】

使用新版本替换旧版本可用:rpm -Uvh 【新版本软件包】 (升级软件包)

       ②,卸载软件包

       主要使用“-e”选项,格式如:rpm -e 【软件名】

       ⑷,维护RPM数据库

       用于记录在linux系统中安装、卸载、升级应用程序的相关信息。由RPM包管理系统自动完成

维护,一般不需要用户干预。当rpm数据库发生损坏(误删文件、非法关机、病毒破坏等导致),

且linux系统无法自动完成修复时,将导致无法使用rpm命令正常的安装、卸载及查询软件包。这时

通过使用rpm命令的“--rebuilddb”或者“--initdb”功能对RPM数据库进行重建。

格式:rpm --rebuilddb         或者             rpm –initdb

总结

       应用程序由执行程序、配置文件、帮助文件等部分组成。软件包封装类型包括RPM包、DEB

包、源代码包、带安装程序的包。通过使用rpm命令可以完成对RPM软件包的查询、安装、升级、

卸载等管理操作。

 

标签:管理程序,安装,RPM,应用程序,软件包,软件,rpm
来源: https://blog.csdn.net/qq_59562051/article/details/119392656

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有