Linux应用程序管理(rpm yum 源码安装)

一.Linux应用程序基础

当我们主机安装Linux操作系统时候,也会同时安装一些软件或网络服务等等,但是随着系统一起安装的软件包毕竟他是少数的,能够实现的功能也是有限的,如果需要实现更丰富的功能,那就需要安装应用程序。

1.应用程序和系统命令的关系

两者的用途区别:

系统命令:命令文件一般在安装操作系统一起安装,用于辅助操作系统本身的管理。

应用程序:应用程序一般需要在操作系统之外另行安装,提供相对独立操作系统的功能,有时候等同于“软件“的概念。

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

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

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

二.rpm包管理工具

1.rpm概述

Red-Hat Package Manager

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

建立统一的数据库文件

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

自动分析软件包依赖关系

rpm软件包格式

使用RPM机制封装的软件包文件拥有约定俗称的命名格式:

一般命令格式:bash-4.12-15.el6_4.x86_64.rpm

2.rpm命令格式

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

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

rpm命令功能:

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

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

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

3.查询rpm软件包的信息

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

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

常用子选项

选项功能
rpm  -q对已安装的软件进行查询
rpm  -ql  软件名查看某软件的所有安装目录
rpm  -qc  软件名查看软件的配置文件     
rpm  -q  软件名查看软件是否安装
rpm  -qa(all)

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

rpm  -qi  软件名

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

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

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

rpm  -qF  软件名查询已安装的指定软件属于哪个安装包
3.2查询未安装的rpm软件的文件中的信息

格式:rpm -qp  [子选项]  rpm包文件名(绝对路径的软件包名)

选项说明
rpm  -qpd查询未安装指定软件包的文档位置
rpm   -qpi查询未安装指定软件包的完整名称详细信息
rpm   -qpl查询未安装指定软件包的文件列表
rpm  -qpc查询未安装指定软件包的配置文件位置

4.安装、升级、卸载rpm软件包

格式:rpm  [选项]  rpm包文件

常用选项

选项功能
-i安装一个新的rpm软件包
-v显示软件安装过程中的详细信息
-h在安装或升级软件过程中,以“#”号显示安装进度
-e卸载指定名称的软件包
-U升级某个软件包,若未安装过,则进行安装
-F升级某个软件包,若未安装过,则放弃安装
–force强制安装某个软件包,比如要安装版本更久的软件包
–nodeps在安装或升级、卸载一个软件包时,不检查与其它软件包的依赖关系(会导致软件无法使用)

5.维护rpm数据库

 重建RPM数据库,当RPM数据库发生损坏,可通过重建RPM数据修复

基本格式:

rpm --rebuilddb 或rpm --initdb

导入验证公钥,在没有导入用于数字签名的公钥文件之前,安装光盘中的一部分rpm软件包时会报错,需要向rpm数据库中导入位于光盘跟目录下的公钥文件。

基本格式:

mount  /dev/sr0  /mnt/   #先挂载

rpm --import /mnt/RPM-GPG-KEY-CentOS-7 #导入公钥

6.解决软件包依赖关系的方法

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

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

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

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

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

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

③忽略依赖关系

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

三.yum安装

1.什么是yum

yum(Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的shell前段软件包管理器。

基于rpm包管理,能够从制定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,不需要频繁地一次次下载安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁又好记。

2.如何实现安装服务

元信息是一个文件 里面记录了安装包的路径  安装包的依赖关系

  1. 客户端根据配置文件找到服务端
  2. 客户端将元信息下载到本地仓库(元信息:安装包的位置,以及安装的依赖关系)
  3. 根据元信息去下载对应的安装包到本地后,然后安装
  4. 安装完成后再删除安装包

3.配置本地yum源仓库

1.先挂载

2.切换到指定目录 ,新建一个文件夹,将自带的仓库移走,目的是减少网络源的干扰

3.新建yum仓库

4.删除yum缓存并更新(至此,yum本地源已创建完成)

5. 检验是否安装成功

4.yum常用命令使用

指令用途
yum  -y  install 软件名安装升级软件包
yum  -y  remove  软件名卸载软件包,可自动解决其依赖关系
yum  -y  update  软件名 升级软件包  

“ -y ” 选项表示自动确定

指令用途
yum   list查询软件包列表
yum  list   installed查询系统中已安装的软件包
yum  list  available查询仓库中尚未安装的软件包
yum  list  updates查询可以升级版本的软件包

指令用途
yum  info  软件名查询软件包的描述信息
yum  search  all(关键字)  软件名根据某个关键字来查找相关的软件包
yum  whatprovides  命令查询命令属于哪个软件包

四.源代码编译安装

1.源代码编译概述

使用源代码优点

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

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

应用场合举例

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

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

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

2.编译安装的基本过程

源码编译安装

./configure

安装准备工作

1.选择装在哪里

2.检查编译环境

3.选择安装模块,默认安装,额外的一些软件功能

./configure  --help  看到可以安装的模块

make   make  -j 2 代表使用两核cpu编辑

将所有的源代码翻译成二进制,会形成一个绿色的可执行的文件

make install

将执行的文件,及相关的一些依赖文件拷贝到之前的指定的目录中

关闭防火墙和防护

实操下载nginx

1.创建并切换到data下,下载nginx安装包

2.解压源码包

3.切换目录到他下面

4.安装编译环境需要的包

5.配置安装路径

6.编译和安装

7.简化操作,关闭防火墙和防护

8.开启服务,然后检测服务是否开启

9.测试

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue2 el-table 行按钮过多,按钮超出指定个数,显示为下拉菜单(简单的自定义组件)01

vue2 el-table 行按钮过多&#xff0c;按钮超出指定个数&#xff0c;显示为下拉菜单&#xff08;简单的自定义组件01&#xff09; 上图 优化前 按钮太多不美观 优化后 默认展示三个按钮 超出显示下拉菜单 上代码 封装按钮组件 OperateBtn.vue // OperateBtn.vue<templ…

【Linux】归档和备份

简介 计算机系统管理员的一个主要任务就是保护系统的数据安全&#xff0c;其中一种方法是通过时时备份系 统文件&#xff0c;来保护数据。即使你不是一名系统管理员&#xff0c;也经常会处理大量文件&#xff0c;在这里我们看看常见的管理文件集合命令。 压缩命令&#xff1a…

2016年第五届数学建模国际赛小美赛A题臭氧消耗预测解题全过程文档及程序

2016年第五届数学建模国际赛小美赛 A题 臭氧消耗预测 原题再现&#xff1a; 臭氧消耗包括自1970年代后期以来观察到的若干现象&#xff1a;地球平流层&#xff08;臭氧层&#xff09;臭氧总量稳步下降&#xff0c;以及地球极地附近平流层臭氧&#xff08;称为臭氧空洞&#x…

十.MySQL数据类型精讲(二)

MySQL数据类型精讲 6.日期与时间类型6.1YEAR类型6.2DATE类型6.3TIME类型6.4DATETIME类型6.5TIMESTAMP类型6.6开发经验 7.文本字符串类型7.1CHAR与VARCHAR类型7.2TEXT类型 8.ENUM类型9.SET类型10.二进制字符串类型11.JSON类型12.空间类型13.小结及选择建议 6.日期与时间类型 日…

Gartner2023数据库魔力象限发布 阿里云依旧领导者 腾讯退出 EDB/Yugabyte进入

这是一个跨越数年的系列&#xff0c;历史文章参考&#xff1a; * 数据库魔力象限2022&#xff1a;阿里领先、腾讯再次进入 * 2021 藏在魔力象限中的数据库江湖 * Gartner云计算魔力象限2018 概述 Gartner云数据库魔力象限&#xff08;后简称“象限”或“MQ”&#xff09;一…

【数据结构之单链表】

数据结构学习笔记---003 数据结构之单链表1、什么是单链表?1.1、概念及结构 2、单链表接口的实现2.1、单链表的SList.h2.1.1、定义单链表的结点存储结构2.1.2、声明单链表各个接口的函数 2.2、单链表的SList.c2.2.1、遍历打印链表2.2.2、销毁单链表2.2.3、打印单链表元素2.2.4…

图数据库NebulaGraph学习

1.图空间(Space)操作 1.1创建图空间&#xff0c;指定vid_type为整形 CREATE SPACE play_space (partition_num 10, replica_factor 1, vid_type INT64) COMMENT "运动员库表空间"; 1.2创建图空间&#xff0c;指定vid_type为字符串 CREATE SPACE play_space (…

YOLOv8改进 | 主干篇 | 利用MobileNetV3替换Backbone(轻量化网络结构)

一、本文介绍 本文给大家带来的改进机制是MobileNetV3&#xff0c;其主要改进思想集中在结合硬件感知的网络架构搜索&#xff08;NAS&#xff09;和NetAdapt算法&#xff0c;以优化移动设备CPU上的性能。它采用了新颖的架构设计&#xff0c;包括反转残差结构和线性瓶颈层&…

Java小案例-聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别

前言 什么是SPI&#xff1f; 什么是SPI SPI全称为Service Provider Interface&#xff0c;是一种动态替换发现的机制&#xff0c;一种解耦非常优秀的思想&#xff0c;SPI可以很灵活的让接口和实现分离&#xff0c;让api提供者只提供接口&#xff0c;第三方来实现&#xff0c…

软件工程中关键的图-----知识点总结

目录 1.数据流图 2.变换型设计和事务型设计 3.程序流程图 4.NS图和PAD图&#xff1a; 5.UML图 1.用例图 2.类图 3.顺序图 4.协作图 本文为个人复习资料&#xff0c;包含个人复习思路&#xff0c;多引用&#xff0c;也想和大家分享一下&#xff0c;希望大家不要介意~ …

CVE-2023-49898 Apache incubator-streampark 远程命令执行漏洞

项目介绍 Apache Flink 和 Apache Spark 被广泛用作下一代大数据流计算引擎。基于大量优秀经验结合最佳实践&#xff0c;我们将任务部署和运行时参数提取到配置文件中。这样&#xff0c;带有开箱即用连接器的易于使用的 RuntimeContext 将带来更轻松、更高效的任务开发体验。它…

【LeetCode刷题笔记】贪心

135.分发糖果 解题思路: 两个数组 + 两次遍历 ,取 最大峰值 ,准备两个数组 L 和 R ,默认填充 1 , 先 从左往右 扫描一遍, 更新 L 数组,如果 右边

评论回复功能数据库设计

1. 评论的场景 类似csdn博客评论 2. 建表sql CREATE TABLE comment (id varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT id,parent_id varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 父级评论id&#xff08;…

初识大数据,一文掌握大数据必备知识文集(3)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

State of PostgreSQL 2023 报告解读

基于 PostgreSQL 内核的时序数据库厂商 Timescale 发布了一年一度的 State of Postgres 2023 报告。 Timescale 介绍 简单先介绍一下 Timescale 这家公司的历史。它最早是提供了一个 PG 的插件&#xff0c;引入了 Hypertable 这个概念&#xff0c;来高效地处理时序数据&…

Flappy Bird游戏python完整源码

通过pygame实现当年风靡一时的flappy bird小游戏。 当前只设定了同样长度的管道&#xff0c;图片和声音文件自行导入。 效果如下&#xff1a; # -*- coding:utf-8 -*- """ 通过pygame实现曾风靡一时的flappybird游戏。 小鸟x坐标不变&#xff0c;画布左移实现…

mac上使用 Downie 下载网页视频

在今天的数字时代&#xff0c;视频内容在互联网上的传播变得更加普遍和便捷。然而&#xff0c;有时我们可能希望将网页上的视频保存在本地&#xff0c;以便离线观看或与他人分享。Downie 是一款强大而简便的工具&#xff0c;专门设计用于下载网页上的视频内容。本文将介绍 Down…

阿里巴巴虚拟试衣间:在模特身上尝试任何服装 | 开源日报 No.122

HumanAIGC/OutfitAnyone Stars: 1.8k License: NOASSERTION Outfit Anyone 由阿里巴巴集团的智能计算研究院开发。它提供了超高质量的虚拟试衣功能&#xff0c;用户可以在模特身上尝试任何服装&#xff0c;并且保证安全和隐私。主要功能包括&#xff1a; 提供超高质量的虚拟试…

Qt通用属性工具:随心定义,随时可见(一)

一、开胃菜&#xff0c;没图我说个DIAO 先不BB&#xff0c;给大家上个效果图展示下&#xff1a; 上图我们也没干啥&#xff0c;几行代码&#xff1a; #include "widget.h" #include <QApplication> #include <QObject> #include "QtPropertyEdit…

基于单片机设计的指纹锁(读取、录入、验证指纹)

一、前言 指纹识别技术是一种常见的生物识别技术&#xff0c;利用每个人指纹的唯一性进行身份认证。相比于传统的密码锁或者钥匙锁&#xff0c;指纹锁具有更高的安全性和便利性&#xff0c;以及防止钥匙丢失或密码泄露的优势。 基于单片机设计的指纹锁项目是利用STC89C52作为…