Linux(rpm,yum安装及管理程序)

目录

1.应用程序与系统命令

 2.RPM

2.1rpm软件包管理工具

 2.2 rpm命令的形式

2.3查询rpm软件包

​2.4安装、升级、卸载rpm软件包

 2.5维护数据库

 3.yum

3.1 配置本地yum源仓库

3.2 yum常用操作命令

 3.3 源码编译安装软件


1.应用程序与系统命令

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

 典型应用程序的目录结构

 常见的软件包封装类型

 2.RPM

2.1rpm软件包管理工具

RPM软件包管理器(Red-Hat Package Manager

*由Red Hat公司提出,被众多Linux发行版所采用

*建立统一的文件数据库

*详细记录软件包安装、卸载、升级等变化信息

*自动分析软件包依赖关系

RPM包命名规则

 2.2 rpm命令的形式

rpm命令能够实现几乎所有RPM软件包的管理功能

执行“man rpm”命令可以获得关于rpm命令的详细帮助信息

rpm命令功能: 

*查询、验证RPM软件包的相关信息

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

*维护重建RPM数据库信息等综合管理操作

2.3查询rpm软件包

查询已安装的rpm软件信息

rpm -q 【子选项】 【软件名】

常用选项

-qa、-qi、-ql、-gf、-qc、-qd

查询RPM软件包文件中的信息

rpm -qp[子选项] rpm包文件

常用选项

-qpi、-qpl、-qpc、-qpd

* 使用"-q"选项时,实际上调用了==”/usr/bin/rpmquery"==程序完成查询工作

* 软件包查询主要包括两种情况:

(1)查询系统中已经安装的软件包信息;

(2)查询尚未安装的RPM包文件的信息;

* 对于"-qa "查询选项,命令参数(即软件包名)是非必须的;

* 一般查询时,软件名不需要指定版本号.

[root@localhost ~]# rpm -q rpm #查询rpm包是否已经安装
rpm-4.11.3-48.el7_9.x86_64
[root@localhost ~]# rpm -q yum #查询yum软件包是否已经安装
yum-3.4.3-168.el7.centos.noarch
[root@localhost ~]# systemctl status nfs #查看nfs服务的状态
● nfs-server.service - NFS server and servicesLoaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)Active: inactive (dead)
[root@localhost ~]# rpm -q nfs-utils #查询nfs-utils软件包是否已经安装
nfs-utils-1.3.0-0.68.el7.2.x86_64
[root@localhost ~]# 

rpm -qa命令 

[root@localhost ~]# rpm -qa |wc -l #统计当前系统中,以rpm方式安装的软件包有多少个1489

 rpm -qi命令

[root@localhost ~]# rpm -qi yum #显示已安装的yum软件包的详细信息
Name        : yum
Version     : 3.4.3
Release     : 168.el7.centos
Architecture: noarch
Install Date: 2024年04月02日 星期二 22时29分36秒
Group       : System Environment/Base
Size        : 5829237
License     : GPLv2+
Signature   : RSA/SHA256, 2020年10月15日 星期四 03时21分12秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : yum-3.4.3-168.el7.centos.src.rpm
Build Date  : 2020年10月02日 星期五 01时03分49秒
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://yum.baseurl.org/
Summary     : RPM package installer/updater/manager
Description :
Yum is a utility that can check for and automatically download and
install updated RPM packages. Dependencies are obtained and downloaded
automatically, prompting the user for permission as necessary.
[root@localhost ~]# 

rpm -ql命令

[root@localhost ~]# rpm -ql yum #显示已安装的指定软件yum的文件列表
/etc/logrotate.d/yum
/etc/yum
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/fssnap.d
/etc/yum/pluginconf.d
/etc/yum/protected.d
/etc/yum/vars
/etc/yum/version-groups.conf
/usr/bin/yum
/usr/lib/python2.7/site-packages/rpmUtils

rpm -qc命令 

root@localhost ~]# rpm -qc yum #列出已安装的指定软件yum的配置文件
/etc/logrotate.d/yum
/etc/yum.conf
/etc/yum/version-groups.conf
[root@localhost ~]# rpm -qd yum
/usr/share/doc/yum-3.4.3/AUTHORS
/usr/share/doc/yum-3.4.3/COPYING
/usr/share/doc/yum-3.4.3/ChangeLog
/usr/share/doc/yum-3.4.3/INSTALL
/usr/share/doc/yum-3.4.3/PLUGINS
/usr/share/doc/yum-3.4.3/README
/usr/share/doc/yum-3.4.3/TODO
/usr/share/doc/yum-3.4.3/comps.rng
/usr/share/man/man5/yum.conf.5
/usr/share/man/man8/yum-shell.8
/usr/share/man/man8/yum.8

 

[root@localhost ~]# rpm -qd yum #列出已安装的指定软件yum的软件包文档所在位置
/usr/share/doc/yum-3.4.3/AUTHORS
/usr/share/doc/yum-3.4.3/COPYING
/usr/share/doc/yum-3.4.3/ChangeLog
/usr/share/doc/yum-3.4.3/INSTALL
/usr/share/doc/yum-3.4.3/PLUGINS
/usr/share/doc/yum-3.4.3/README
/usr/share/doc/yum-3.4.3/TODO
/usr/share/doc/yum-3.4.3/comps.rng
/usr/share/man/man5/yum.conf.5
/usr/share/man/man8/yum-shell.8
/usr/share/man/man8/yum.8
[root@localhost ~]# rpm -qR yum #列出已安装的指定软件yum依赖的软件包及文件
/usr/bin/python
config(yum) = 3.4.3-168.el7.centos
cpio
diffutils
pygpgme
pyliblzma
python >= 2.4
python(abi) = 2.7
python-iniparse
python-sqlite
python-urlgrabber >= 3.10-8
pyxattr
rpm >= 0:4.11.3-22
rpm-python
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
yum-metadata-parser >= 1.1.0
yum-plugin-fastestmirror
rpmlib(PayloadIsXz) <= 5.2-1

rpm -qf命令 

[root@localhost ~]# rpm -qf /etc/yum.conf #查询已安装的指定软件yum,
属于哪个安装包(-qf命令参数是文件名或目录名)
yum-3.4.3-168.el7.centos.noarch

 rpm -qpi命令

[root@localhost /mnt/Packages]# rpm -qpi zip-3.0-11.el7.x86_64.rpm   #查看指定软件包的详细信息
警告:zip-3.0-11.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
Name        : zip
Version     : 3.0
Release     : 11.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/Archiving
Size        : 815173
License     : BSD
Signature   : RSA/SHA256, 2016年11月21日 星期一 05时04分58秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : zip-3.0-11.el7.src.rpm

2.4 安装、升级、卸载rpm软件包

安装或升级rpm软件

rpm [选项] rpm包文件…

常用选项

 -i 、-u 、-f

卸载指定的rpm软件

rpm -e 软件名

辅助选项

–force、–nodeps、-h、-v

 2.5维护数据库

 

* RPM数据库:用于记录在Linux系统中安装、卸载、升级应用程序的相关信息,由RPM包管理系统自动完成维护,一般不需要用户干预.

* 当RPM数据库发生损坏,且Llinux系统无法自动完成修复时,将导致无法使用rpm命令正常地安装、卸载及查询软件包,这时可以使用–rebuildbd或–initdb重建rpm数据库.

* 在Linux/Unix应用领域,相当一部分软件厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性。对于用户来说。可以利用软件官方提供的公钥文件,自动对下裁的软件包进行验证,如果在安装软件时,出现验证失败的提示,则表示该软件包可能已经被非法篡改。

 注:有的软件没有秘钥也可以安装,有的软件必须要有秘钥才能安装,如果说没有密钥则会安装报错,此时就需要向RPM数据库中导入位于光盘根目录下的公钥文件。

 3.yum

3.1 配置本地yum源仓库

 配置本地yum源仓库步骤如下所示:

(1)挂载光盘镜像到指定位置/mnt;

(2)进入yum仓库配置目录,备份之前的*.repo原文件;

(3)创建本地yum源配置文件

vim local.repo

(4)删除yum缓存并更新 

(5)测试yum源安装是否成功

yum install -y ####软件名

3.2 yum常用操作命令

yum info命令

[root@localhost yum.repos.d]# yum install -y htpd
已安装的软件包
名称    :httpd
架构    :x86_64
版本    :2.4.6
发布    :97.el7.centos.5
大小    :9.4 M
源    :installed
来自源:local
简介    : Apache HTTP Server
网址    :http://httpd.apache.org/
协议    : ASL 2.0
描述    : The Apache HTTP Server is a powerful, efficient, and extensible: web server.

yum list命令

[root@localhost ~]# yum list available
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

yum search命令

[root@localhost ~]# yum search all httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
===================================== 匹配:httpd =====================================
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
httpd.x86_64 : Apache HTTP Server

 yum whatprovides命令

[root@localhost yum.repos.d]#  yum whatprovides ifconfig #查询ifconfig命令属于哪个软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
源    :@anaconda
匹配来源:
文件名    :/usr/sbin/ifconfig

 3.3 源码编译安装软件

步骤 

(1)安装软件依赖包yum install -y gcc gcc-c++ make zlib-devel.x86_64 #(用于压缩文件)pcre-devel.x86_64 #(用于正则表达式)(2)下载,tar解压软件包70  cd /opt71  rz -E72  ls73  tar xf nginx-1.22.0.tar.gz 74  ls(3)配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)86  cd /opt87  ls88  cd nginx-1.22.0/89  ./configure --prefix=/usr/local/nginx
#configure是配置模块的目录,这是更改的安装路径位置/usr/local/nginx(4)编译,将源码转换为可执行的二进制文件90  make (-j2)#默认是单核编译,-j2代表2个cpu编译(5)安装92  make install

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

银河麒麟安装OpenJDK

# 更新软件包列表&#xff08;根据系统的实际情况&#xff0c;可能不需要这一步&#xff09; sudo apt-get update # 安装OpenJDK sudo apt-get install openjdk-8-jdk

圣若热城堡、贝伦塔、热罗尼莫斯修道院 BIBM 2024在里斯本等你

会议之眼 快讯 2024年BIBM&#xff08;IEEE International Conference on Bioinformatics and Biomedicine&#xff09;即IEEE生物信息学与生物医学国际会议将于 2024年 12月3日-6日在葡萄牙里斯本举行&#xff01;这个会议由IEEE&#xff08;电气和电子工程师协会&#xff09…

linux将一个文件移动或复制到另一个目录下(超详细)

问题&#xff1a;需要在linux中将一个文件移动或复制到另一个目录下 下面提到的目录&#xff0c;可以直观理解为window中的文件夹 1、mv命令 mv是"move"的缩写&#xff0c;用于移动文件或目录到另一个位置。 将 文件 a.txt 移动到 目录home下 mv a.txt home将 目录…

Spark 中的分桶分化

Spark 中的分桶分化 Bucketing是 Spark 和 Hive 中用于优化任务性能的一种技术。在分桶桶&#xff08;集群列&#xff09;中确定数据分区并防止数据混洗。根据一个或多个分桶列的值&#xff0c;将数据分配给预定义数量的桶。 分桶有两个主要好处&#xff1a; 改进的查询性能&…

小游戏贪吃蛇的实现之C语言版

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;C语言 目录 游戏前期准备&#xff1a; 设置控制台相关的信息 GetStdHandle GetConsoleCursorInfo SetConsoleCursorInfo SetConsoleCu…

单机三pxc节点集群,+docker-haproxy2.0负载均衡实现

一.下载 https://www.haproxy.org/download/2.0/src/haproxy-2.0.5.tar.gz 或者在这里下载&#xff08;下面需要的各个配置文件都有&#xff09;&#xff1a; https://download.csdn.net/download/cyw8998/89170129 二.编写文件&#xff0c;制作docker镜像 1.Dockerfile&a…

四款一键智能改写工具,为你轻松改出爆款文章

四款一键智能改写工具&#xff0c;为你轻松改出爆款文章&#xff01;当今&#xff0c;虽然内容创作变得非常重要。但是&#xff0c;有时候创作灵感可能枯竭&#xff0c;或者需要对已有内容进行改写以增加独特性。这时候&#xff0c;一键智能改写工具成为了创作中的一种强大的辅…

LeetCode 课程表二(拓扑排序+Python)

使用桶排序算法中的kahn&#xff08;卡恩&#xff09;算法&#xff0c;也可以使用dfs。 这里使用卡恩算法&#xff0c;主要维护一个列表cnt&#xff0c;cnt【i】表示能到达节点i的边&#xff0c;比如说&#xff1a;a到c有一条边&#xff0c;b到c有一条边&#xff0c;那么cnt【…

信息流广告大行其是,微博回望“原生”的初心

摘要&#xff1a;有流量的地方&#xff0c;就当有原生信息流广告 信息流广告&#xff0c;自2006年Facebook推出后就迅速火遍全球数字营销界&#xff0c;被誉为实现了广告主、用户、媒体平台三赢。特别是随着OCPM/OCPX大放异彩&#xff0c;信息流广告几乎成为广告主的必选项&…

Print Conductor 文档批量打印工具 v9.0.2312

网盘下载 Print Conductor 是 Windows 上一款功能强大的文档批量打印工具&#xff0c;通过该软件可以快速的帮用户批量处理打印PDF文件、协议、文档、图纸、演示文稿、文本文件等&#xff0c;完美的支持PDF、DOC、JPG、PNG、SNP、PSD、MSG、WRI、WPS、RTF、TXT、XLS、PPT、PPS、…

在Linux系统中,禁止有线以太网使用NTP服务器进行时间校准的几种方法

目录标题 方法 1&#xff1a;修改NTP配置以禁止所有同步方法 2&#xff1a;通过网络配置禁用NTP同步方法 3&#xff1a;禁用NTP服务 在Linux系统中&#xff0c;如果想要禁止有线以太网使用NTP服务器进行时间校准&#xff0c;可以通过以下几种方法之一来实现&#xff1a; 方法 …

Java中的对象

什么是类和对象 在Java中类是物以类聚&#xff0c;分类的思维模式&#xff0c;思考问题首先会解决问题需要哪些分类&#xff0c;然后对这些类进行单独思考&#xff0c;最后才是对某分类下的细节进行单独思考 面向对象适合处理复杂问题适合处理需要多人协作的问题 在Java中面向…

【状态机dp 动态规划】100290. 使矩阵满足条件的最少操作次数

本文涉及知识点 动态规划汇总 状态机dp LeetCode100290. 使矩阵满足条件的最少操作次数 给你一个大小为 m x n 的二维矩形 grid 。每次 操作 中&#xff0c;你可以将 任一 格子的值修改为 任意 非负整数。完成所有操作后&#xff0c;你需要确保每个格子 grid[i][j] 的值满足…

【Qt 学习笔记】Qt常用控件 | 显示类控件 | Label的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 显示类控件 | Label的使用及说明 文章编号&#xff1a;Q…

Opencv Python图像处理笔记一:图像、窗口基本操作

文章目录 前言一、输入输出1.1 图片读取显示保存1.2 视频读取保存1.3 文件读取保存 二、GUI2.1 窗口2.2 轨迹条2.3 画图2.4 鼠标回调 三、图像入门操作3.1 颜色空间转化3.2 通道分离合并3.3 添加边框3.4 算数操作 四、二值化4.1 普通4.2 自适应4.3 Otsu 参考 前言 随着人工智能…

mysql基础3——创建和修改数据表

创建数据表 创建一个表&#xff08;importtype有默认值1&#xff09;并插入一条数据&#xff08;importtype字段没有指定值&#xff09; 约束 默认约束&#xff08;把设置的默认值自动赋值给字段&#xff09; create table demo.importhead(listnum int,supplied int,stock…

C++进修——C++基础入门

初识C 书写HelloWorld #include <iostream> using namespace std;int main() {cout << "HelloWorldd" << endl;system("pause");return 0; }注释 作用&#xff1a;在代码中加一些说明和解释&#xff0c;方便自己或其他程序员阅读代码…

docker打包部署自己的应用

docker部署应用 当谈及使用 Docker 进行容器化部署应用时&#xff0c;可以想象它是一个能够将整个应用程序及其所有依赖项打包成一个独立、可移植的容器的工具。这个容器不仅包含了应用代码&#xff0c;还包括了操作系统、运行时环境以及所有依赖的库和组件。这样一来&#xf…

双工结构(duplex construction)

参考文献&#xff1a; [BDPV11] Bertoni G, Daemen J, Peeters M, et al. Duplexing the sponge: single-pass authenticated encryption and other applications[C]//Selected Areas in Cryptography: 18th International Workshop, SAC 2011, Toronto, ON, Canada, August 1…

mybatis创建入门流程体验

mysql数据库中建表 drop table if exists tb_user;create table tb_user(id int primary key auto_increment,username varchar(20),password varchar(20),gender char(1),addr varchar(30) );INSERT INTO tb_user VALUES (1, zhangsan, 123, 男, 北京); INSERT INTO tb_user …