热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

22、rpm安装及管理程序

1.安装及管理程序:​当我们主机安装linux操作系统时候,也会同时安装一些软件或网络服务等等,



1.安装及管理程序:

​ 当我们主机安装linux操作系统 时候,也会同时安装一些软件或网络服务等等,但是呢随着系统一起安装的软件包毕竟他是少数的,能够实现的功能也是有限的,那么我们相拥为主机提供更多更丰富的功能的时候, 就需要安装新的程序了,
​ 那我们在学习linux操作系统下安装应用程序方法之前先来了解下应用的基础知识,首先我们来应用程序与系统管理关系
linux系统命令和应用程序没有明确的区别


2.应用程序与系统命令的关系

在这里插入图片描述

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

​ 文件位置系统命令:应用程序命令的执行文件大多比较小,通常放置在/bin和/sbin目录中。对于内部命令,常集成在 Bash 程序内,而不是独立地执行文件;

​ 应用程序:应用程序的执行文件通常放在/usr/bin、/usr/sbin 和/usr/local/bin、/usr/local/sbin 等目录中

​ 主要用途系统命令:命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理
​ 应用程序:应用程序一般需要在操作系统之外另行安装,提供相对独立于操作系统的功能,有时候等同于“软件”的概念

​ 适用环境系统命令:命令只在字符操作界面中运行。
​ 应用程序:应用程序可能会用到图形界面,形式多样

​ 运行格式系统命令:命令行大多适用于“命令字选项参数”形式的一般格式;
应用程序:应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义


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

在这里插入图片描述
linux操作系统应用程序主要是7个文件组成他们跟别放在对应的目录下
安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。

在 Linux 操作系统中,典型的应用程序通常由以下几部分组成。

普通的可执行程序文件:一般保存在/usr/bin 目录中,普通用户即可执行。

服务器程序、管理程序文件:一般保存在/usr/sbin 目录中,只有管理员能执行
应用配置文件:一般保存在/etc 目录中,配置文件较多时会建立相应的子目录。
日志文件:一般保存在/var/log 目录中。
关于应用程序的参考文档等数据:一般保存在/usr/share/doc/目录中。(主要存放软件的说明文档)
执行文件及配置文件的 man 手册页:一般保存在/usr/share/man/目录中。

可说
下面以 CentOS 中已经安装的 postfix 软件包(一款邮件服务器程序)为例,展示服务 器应用程序的文件组成。
执行“rpm -ql postfix”命令,可以查看 postfix 软件包在系统中安装 的目录和文件清单(关于 rpm 命令的详细用法将在下节详细讲解),具体操作如下:
rpm -ql postfix


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

在这里插入图片描述

​ 对于各种应用程序的软件包,在封装时可以采用各种不同的类型,不同类型的软件包其 安装方法也各不相同。常见的软件包封装类型如下所述。

RPM 软件包:这种软件包文件的扩展名为“.rpm”,只能在使用 RPM(RPM Package Manager,RPM 软件包管理器)机制的 Linux 操作系统中安装,如 RHEL、Fedora、 CentOS 等。
RPM 软件包一般针对特定版本的操作系统量身定制,因此依赖性较 强。安装 RPM 软件包需要使用操作系统中的 rpm 命令。

EB 软件包:这种软件包文件的扩展名为“.deb”,只能在使用 DPKG(Debian Package,Debian 包管理器)机制的 Linux 操作系统中进行安装,
如 Debian、Ubuntu 等。安装 DEB 软件包需要使用操作系统中的 dpkg 命令

​ 源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成**“.tar.gz” 或“.tar.bz2”**等格式的压缩包文件,因多数使用 tar 命令打包而成,所以经常被称为 “TarBall”。安装源代码软件包需要使用相应的编译工具,如 Linux 中的 C 语言编译 器 gcc。因此,在安装操作系统的时候尽量勾选“开发工具”一项来安装基本的编译

​ 附带安装程序的软件包:这种软件包的扩展名不一,但仍以 TarBall 格式的居多。 软件包中会提供用于安装的可执行程序或脚本文件,如 install.sh、setup 等,有时 候会以“.bin”格式的单个安装文件形式出现。安装时只需运行安装文件就可以根据 向导程序的提示完成安装操作。 开放源代码的自由软件绝大多数选择以 TarBall 的形式发布,而 RPM 软件包、DEB 软件包等则使用了二进制的文件格式,代码相对比较封闭。


5.RPM包管理工具

在这里插入图片描述使用RPM软件包管理工具RPM软件包是各种 Linux 发行版本中应用较广泛的软件包之一。
RPM 软件包以其强大的功能得到多数 Linux发行版本的支持和广大 Linux使用者的拥护。在本节中将学习 RPM 软件包的常用管理操作。
/run/media/root/CentOS\7\x86_64/Packages/目录下。

在这里插入图片描述
查询和安装是重点


5.2 RPM 概述

RPM 软件包管理机制最早由 Red Hat 公司提出,后来随着版本的升级逐渐融入更多的 优 秀 特 性 , 成 为 众 多 Linux 发 行 版 中 公 认 的 软 件 包 管 理 标 准 。 在 其 官 方 站 点 http://www.rpm.org 中,可以了解到关于 RPM 包管理机制的详细资料。

RPM 软件包管理器通过建立统一的文件数据库,
对在 Linux 操作系统中安装、卸载、 升级的各种.rpm 软件包进行详细的记录,
并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调、有序的整体环境中运行。


5.3 rpm软件包

使用 RPM 机制封装的软件包文件拥有约定俗成的命名格式,
一般使用“软件名-软件版 本 - 发 布 次 数 . 操 作 系 统 类 型 . 硬 件 架 构 类 型 .rpm” 的 文 件 名 形 式 , 如 “bash-4.2.46-20.el7_2.x86_64.rpm”。

其中硬件平台通常为“i386”或“i686”等,表示适用于 Intel 公司的处理器,“x86_64”表示适用于 64 位的系统,如果是“noarch”表示不区分硬件架 构(支持不同硬件体系的处理器)。
CentOS 的 DVD 安装光盘携带的大部分软件包都在 Packages 目录中,通过该目录中 的文件可以熟悉 RPM 软件包的一般命名格式。例如,以下操作用于查看 DVD 光盘设备中 携带的 bash 和 fontconfig-devel 软件包(分别是 Shell 解释器、字体配置和定制库)。一般 情 况 下 , CentOS 启 动 后 安 装 光 盘 会 自 动 挂 载 到 系 统 的 /run/media/root/CentOS\7\x86_64/Packages/目录下。


5.4 查询已安装的rpm软件信息

rpm -q 软件名 #查询指定软件是否已安装
rpm -q elinks lynx
rpm -qi 软件名 #显示已安装的指定软件的详细信息
rpm -qi samba-client
rpm -ql 软件名 #显示已安装的指定软件的文件列表
rpm -ql wget
rpm -qc 软件名 #列出已安装的指定软件的配置文件
rpm -qc httpd
rpm -qd 软件名 #列出已安装的指定软件的软件包文档所在位置
rpm -qd httpd
rpm -qR 软件名 #列出已安装的指定软件的依赖的软件包及文件
rpm -qR wget
rpm -qF 文件或目录 #查询已安装的指定软件属于哪个安装包
rpm -qF yum
rpm -qa #显示当前系统中以 rpm方式安装的所有软件列表
rpm -qa | grep -i postfix #查询软件postfix是否已安装
rpm -qf /usr/bin/passwd #查看指定的文件或目录是哪个软件包所安装的

备注:wget http://www.baidu.com/ 下载命令

​ lib 动态库 依赖包

​ df -h 查看磁盘

​ mount /dev/sr0 /mnt 空文件 挂载 Linux中一切皆文件

在这里插入图片描述


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

rpm -qpi RPM包文件名 #查询指定软件包的详细信息
rpm -qpi /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm

ls /mnt/packages 所有安装包所在文件

在这里插入图片描述
-qpi 查询指定软件包的详细信息
在这里插入图片描述

rpm -qpl RPM包文件名 #查询指定软件包的文件列表
rpm -qpl /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm

-qpl #查询指定软件包的文件列表

在这里插入图片描述
rpm -qpc RPM包文件名 #查询指定软件包的配置文件
rpm -qpc /mnt/Packages/elinks-0.12-0.37.pre6.el7.0.1.x86_64.rpm

-qpc #查询指定软件包的配置文件

rpm -qpd RPM包文件名 #查询指定软件包的软件包文档的位置
rpm -qpd /mnt/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm

-qpd #查询指定软件包的软件包文档的位置


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

在这里插入图片描述

格式:
rpm [选项] RPM包文件
rpm -ivh RPM软件包
常用选项:
-i: 安装一个新的 RPM 软件包。
-U:升级某个软件包,若未安装过,则进行安装。
-F: 升级某个软件包,若未安装过,则放弃安装。
-h: 在安装或升级软件包的过程中,以“#”号显示安装进度。
-v:显示软件安装过程中的详细信息。

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

常用 rpm -ivh RPM软件包

-e:卸载指定名称的软件包。
–nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。

案列
rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm 生产常用 安装
rpm -e lynx 卸载
rpm -q lynx 查看 确认卸载

rpm -q curl curl 是文件传输工具

在这里插入图片描述
rpm -q tree

在这里插入图片描述

rpm -ivh --force /nodeps (不需要检查) 解决依赖包的问题 安装用不了

-e 卸载干净重新装才能使用建立好依赖关系

在这里插入图片描述


5.7 维护RPM数据库

在这里插入图片描述

公匙 生产用的不多

1.重建 RPM 数据库
当 RPM 数据库发生损坏,可通过 重建RPM数据库 修复
rpm --rebuilddb 或者 rpm --initdb

2.导入验证公钥
在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件
mount /dev/sr0 /mnt/ 挂载
rpm --import /mnt/RPM-GPG-KEY-CentOS-7

辅助选项
1.–nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了–nodeps你就能装上了。
2.–force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用–force强制安装
–force、–nodeps、-h、-v ivh 生产常用组合
先rpm -ivh /mnt/Packages/perl-URI-1.60-9.el7.noarch.rpm
rpm -ivh --nodeps /mnt/Packages/perl-URI-1.60-9.el7.noarch.rpm

httpd --nodeps


解决软件包的依赖关系

在这里插入图片描述
同时安装两个包

rpm -ivh lynx tree

在这里插入图片描述

安装时可同时多个安装 卸载可以一同卸载

rpm -ivh 安装包 安装包 -Uvh 升级安装

在这里插入图片描述

百度搜索界面

在这里插入图片描述

总结:学会 rpm 安装及管理程序


原文链接:https://www.cnblogs.com/wwp666/p/15977374.html



推荐阅读
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 春季职场跃迁指南:如何高效利用金三银四跳槽季
    随着每年的‘金三银四’跳槽高峰期的到来,许多职场人士都开始考虑是否应该寻找新的职业机会。本文将探讨如何制定有效的职业规划、撰写吸引人的简历以及掌握面试技巧,助您在这关键时期成功实现职场跃迁。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • MITM(中间人攻击)原理及防范初探(二)
    上一篇文章MITM(中间人攻击)原理及防范初探(一)给大家介绍了利用ettercap进行arp欺骗及劫持明文口令,后来我发现好友rootoorotor的文章介绍比我写的更透彻,所以基础利用大家可以参看 ... [详细]
  • 如何在Win10系统下通过VMware 14 Pro安装CentOS 7
    本文详细介绍了在Windows 10操作系统中使用VMware Workstation 14 Pro搭建CentOS 7虚拟环境的步骤,包括所需工具、安装过程及系统配置等。 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了在 Red Hat Linux 系统上安装 GCC 4.4.2 的步骤,包括必要的依赖库的安装及常见问题的解决方法。 ... [详细]
  • 本文详细介绍了 JavaScript 中 Split 方法的使用方式和一些实用技巧。通过示例,我们将探讨如何利用 Split 方法有效地分割字符串,并获取所需的数据。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • 本文详细介绍了Linux系统中信号量的相关函数,包括sem_init、sem_wait、sem_post和sem_destroy,解释了它们的功能和使用方法,并提供了示例代码。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
author-avatar
流年时光云
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有