如何在Linux中安装软件

文章目录

  • 一、Linux应用程序基础
    • 1.Linux软件安装包分类
    • 2.应用程序和系统命令的关系
    • 3.常见的软件包的封装类型
  • 二、安装软件的方式
    • 1.RPM包管理工具
    • 2.yum安装
    • 3.编译


一、Linux应用程序基础

1.Linux软件安装包分类

Linux源码包:
实际上,源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。
Linux二进制包:
二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快,且安装过程报错几率大大减小。

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

因素区别
位置命令的存储位置和应用程序储存的位置不一样
用途命令主要用于处理系统的基本操作;应用程序可以完成独立的任务,如浏览器访问网页
使用环境命令用于字符界面 ;应用程序用于字符和桌面
格式命令有固定的格式和命令参数;应用程序无固定格式

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

文件类型保存目录
RPM软件包扩展名为“.rpm”
DEB软件包扩展名为“.deb”
源代码软件包一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 包含程序的原始代码

二、安装软件的方式

1.RPM包管理工具

这个工具由Red Hat公司提出,被众多Linux发行版所采用,该工具会建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,自动分析软件包依赖关系。
在这里插入图片描述
安装软件包时,会自动分析软件包的依赖关系,但不会自动解决,需要人工手动解决,比较麻烦。一般不建议采用此类方法安装软件,通常我们是用该工具去查询系统中安装的软件和软件状态。

RPM软件命令

选项效果
rpm -qa(all)显示当前系统中以 RPM 方式安装的所有软件列表
rpm -q 软件名查询指定软件是否已安装
rpm -qi 软件名查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm -ql(list) 软件名显示指定的软件包在当前系统中安装的所有目录、文件列表
rpm -qc (configfiles) 软件名列出已安装的指定软件的配置文

在这里插入图片描述
RPM安装命令

选项效果
iinstall 安装
v显示过程
h人性化显示 ##########进度条
e+软件名卸载软件
- -nodeps在安装或升级、卸载一个软件包时,不检查与其他包的依赖关系
- -force强制安装某个软件包

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

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

2.yum安装

yum安装的优缺点:
优点:1.简单
2.自动解决依赖关系
缺点:1.需要有服务端
2.yum只会将最常用的功能编译进去,可能会导致功能不全
3.版本过旧,更新速度慢

rpm是单机安装,而yum是需要依靠网络,想要安装需要保证你的网络要通畅才行。
1.如何去寻找yum安装包?
yum安装,数据包不在本地,网络上有yum服务器,我们要让客户端知道怎么去服务端。
通过书写客户端配置文件,来让客户端去往服务端。
客户端配置文件要求:
1.必须在 /etc/yum.repos.d/这个目录下
2.配置文件必须以*.repo结尾
配置文件内容:

配置文件的内容(默写)
[base] #仓库的描述(可以用字符自定义)
name= #仓库的名字,不要重复,可以自定义(字母)
baseurl= 网址 #指明服务器的位置,去服务器端下载软件包(百度查找地址)
enabled=1 #是否开启仓库 为0即不开启 默认选项为1 (可以不写)
gpgcheck=1 #开启包的验证 如果是0代表关闭包的验证(一般不启用包的验证)
gpgkey= #密钥的位置
在这里插入图片描述
在这里插入图片描述

gpgcheck的作用:检验包的安全性,完整性
防止别有用心的人再包中加入病毒,密钥对比,如果和红帽的密钥不一致就会不安装。
服务器端:
1.提供安装包
2.元信息(即类似目录 理解为数据库:安装包的路径、安装包的依赖关系)
安装过程简图
在这里插入图片描述
单机yum仓库
在没有网络的情况下使用,自己既是服务端,又是客户端。将带有软件安装包的光驱挂载到一个文件夹。
客户端:写配置文件
本地yum仓库过程
mount /dev/sr0 /mnt #挂载提供安装包和原信息
cd /etc/yum.repos.d #切换到指定目录,写配置文件
mkdir bak #建立子文件夹
mv *.repo bak #移走网络源
vim local.repo #建立本地配置文件

[local]
name=local
baseurl=file:///mnt
gpgcheck =0
wq

yum clean all #清除以前的缓存
yum makecache #下载原信息

yum install tree-y#安装tree
yum remove tree -y #卸载tree
yum install epel-release.noarch -y#安装额外源

yum命令

命令效果
yum list显示所有安装包
yum install +软件包安装软件
yum remove 软件包卸载软件 (单独卸载这个包,不会卸载依赖关系的软件包)
yum provides +关键字找到安装包

在这里插入图片描述

3.编译

编译安装的优缺点
优点:1.功能自定义
2.版本可以安装最新的版本
缺点:安装复杂

编译安装前准备:
1.先安装编译软件 编译软件也有依赖关系需要手动解决
2.下载安装包
3.解压安装包

3步安装
./configure 脚本文件,源码包中自带
功能:
1.检测安装环境
2.可以选择安装软件的功能并生成一个文件make.file,按照这个文件的配置进行编译安装
3.指定安装路径 --prefix =路径 路径可以不存在,会自动建立
默认在/usr/local/nginx
make #将源代码编译成二进制可执行的文件 在objs下
make install #将软件安装进系统指定路径

示例:编译安装ngnix网站软件
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre apr*#安装依赖环境
mkdir /bianyi
cd /bianyi
wget http://nginx.org/download/nginx-1.18.0.tar.gz#下载源码包
tar xf nginx-1.18.0.tar.gz#解压
cd nginx-1.18.0
./configure --prefix=/apps/nginx检测环境,指定安装目录
make -j2#两个核心编译
make install#将软件复制到前面规定的路径
ln -s /apps/nginx/sbin/nginx /usr/local/sbin/#软链接,目的是可以补全。
测试:关闭防火墙,查询虚拟机,用IP地址访问
在这里插入图片描述
出现该界面即可。

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

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

相关文章

目标检测YOLO实战应用案例100讲-基于多特征融合的SSD目标检测

目录 前言 目标检测的国内外研究现状 传统的目标检测方法 深度学习的目标检测方法

Vue2 —— 学习(二)

目录 一、事件处理 (一)基本语法 (二)点击事件语法 1.事件绑定 2.回调函数 3.参数 event 注意: (三)事件修饰符 1.阻止默认事件 常用 2.阻止事件冒泡 常用 3.事件只触发一次 常用 …

深入理解GO语言——GC垃圾回收二

文章目录 前言一、Go V1.5的三色并发标记法总结 前言 书接上回,无论怎么优化,Go V1.3都面临这个一个重要问题,就是mark-and-sweep 算法会暂停整个程序 。 Go是如何面对并这个问题的呢?接下来G V1.5版本 就用 三色并发标记法 来优…

WPS快速将插入Excle数据插入Word

前置条件: 一张有标题、数据的excle表格word中的表格与excle表格标题对应或包含电脑已经安装WPS软件 第一步、根据word模板设计excle模板,标头对应 第二步、word上面选【引用】--【邮件】,选打开数据源,找到excle文件,…

论文笔记:Detecting Pretraining Data from Large Language Models

iclr 2024 reviewer评分 5688 1 intro 论文考虑的问题:给定一段文本和对一个黑盒语言模型的访问权限,在不知道其预训练数据的情况下,能否判断该模型是否在这段文本上进行了预训练 这个问题是成员推断攻击(Membership Inference Attacks&…

天星数科聚势赋能,精准服务实体企业的产业金融需求

近年来,供应链金融行业受到国家层面的多项政策鼓励,是我国融资结构改革、金融服务实体经济、服务中小企业的重要抓手。2021年3月政府工作报告中首次提及“创新供应链金融服务模式”,这不仅意味着供应链金融已上升为国家战略,更意味…

npm 命令及其详细解释

npm init 用途&#xff1a;用于初始化一个新的 Node.js 项目&#xff0c;并生成 package.json 文件。详解&#xff1a;该命令会引导您填写项目的基本信息&#xff0c;如项目名称、版本、描述等&#xff0c;并创建 package.json 文件以保存这些信息。 npm install <package&g…

HarmonyOS实战开发-如何实现分布式帐号相关的功能。

介绍 本示例主要展示了分布式帐号相关的功能&#xff0c;使用ohos.account.distributedAccount、ohos.account.osAccount等接口&#xff0c;实现了绑定分布式帐号、解绑分布式帐号、更新分布式帐号信息和管理分布式帐号的功能&#xff1b; 效果预览 使用说明 1.首次进入应用会…

Java整合ElasticSearch8.13

1、引入Jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> 2、配置ES连接信息 spring:elasticsearch:# 地址uris: http://xxx:9200# 用户…

软件设计师26--关系代数

软件设计师26--关系代数 考点1&#xff1a;关系模式相关概念例题&#xff1a; 考点1&#xff1a;关系模式相关概念 并∪&#xff1a;结果是两张表所有记录的合并&#xff0c;相同记录只显示一次。 交∩&#xff1a;结果是两张表中相同的记录。 差-&#xff1a;S1-S2&#xff0…

Python程序设计 字符类型及其操作

1. 提取身份证号性别 通过身份证的第17位也就是倒数第二位的数字可以辨别该身份证所属人的性别,奇数为男性,偶数为女性。 输入身份证号&#xff0c;第17位若是偶数&#xff0c;输出性别女&#xff0c;否则输出性别男 1.通过input()函数接收用户输入的身份证号&#xff0c;将其…

使用 Selenium 和 OpenCV 识别验证码(使用 Java)

验证码的自动识别对于爬虫来说是一个常见的挑战。在这篇文章中&#xff0c;我们将展示如何使用 Selenium 和 OpenCV&#xff0c;结合 Java&#xff0c;来自动化识别网站上的验证码。 配置 Maven 依赖 首先&#xff0c;我们需要在 Maven 项目中添加 Selenium 和 OpenCV 的依赖。…

代码随想录 day25

文章目录 回溯216.组合总和 |||思路代码 17.电话号码的字母组合思路代码 回溯 216.组合总和 ||| 216.组合总和 ||| 思路 和组合相同,稍微改变了恢复现场和判断结束的方法 代码 class Solution { private:vector<vector<int>> ans;vector<int> temp;int…

MySQL EXISTS 语句和IN语句有啥区别

在 MySQL 中&#xff0c;EXISTS 和 IN 是用于子查询的两种不同方式&#xff0c;它们有一些区别&#xff1a; 1. **IN 语句**&#xff1a; - IN 子句用于在 WHERE 子句中指定多个值&#xff0c;并检查主查询中的某个列是否在子查询返回的结果集中。 - IN 子句适用于子查询…

npm发布包至私有仓库

前提&#xff1a;使用verdaccio在服务器搭建好了私有仓库 1、登录至私服 npm adduser --registryhttp://xxx.xxx.x.xx:48732、发布npm包到私有仓库 修改package.json中的相关信息后 #cd 项目目录 npm publish --registryhttp://xxx.xxx.x.xx:4873登录至私服查看 3、在项目中…

性能分析-CPU知识

目录 CPU知识 cpu组成 查看cpu信息&#xff1a; top命令中 cpu相关&#xff1a; top命令看到系统负载&#xff1a; CPU负载 IO负载 上下文&#xff1a; CPU的寄存器和程序计数器----在cpu的控制器中 实战演示分析 top命令分析 arthas工具 进程上下文切换高的问题分析…

《MATLAB科研绘图与学术图表绘制从入门到精通》

解锁MATLAB科研绘图魅力&#xff0c;让数据可视化成为你的科研利器&#xff01; 1.零基础快速入门&#xff1a;软件操作实战案例图文、代码结合讲解&#xff0c;从入门到精通快速高效。 2.多种科研绘图方法&#xff1a;科研绘图基础变量图形极坐标图形3D图形地理信息可视化等&a…

redis和ElasticSearch和MongoDB应用场景,如何选择

Redis、Elasticsearch和MongoDB是三种不同类型的数据库&#xff0c;它们有各自的应用场景和特点。在选择时&#xff0c;需要考虑以下几个方面&#xff1a; 数据读写模式&#xff1a;Redis是基于内存的键值存储数据库&#xff0c;适用于高速读写场景&#xff0c;如缓存、计数器等…

pdf操作器(图片转文字、PDF转word、PDF拆分、图片jpg、png互转)

pdf操作器&#xff08;不用联网图片转文字、PDF转word、PDF拆分、图片jpg、png互转&#xff09;介绍目前该软件实现了以下功能 pdf转wordpdf拆分图片&#xff0c;图片导出在桌面的一个文件夹里图片合并为pdf压缩、转换图片格式&#xff08;jpg和png&#xff09;OCR图片转文字&…

【计算机网络经典面试题】简述 TCP 三次握手和四次挥手的过程

TCP链接 1.三次挥手2.四次挥手3.拓展说说 TCP 2次握手行不行&#xff1f;为什么要3次 1.三次挥手 1&#xff09;第一次握手&#xff1a;建立连接时&#xff0c;客户端向服务器发送SYN包&#xff08;seqx&#xff09;&#xff0c;请求建立连接&#xff0c;等待确认 2&#xff09…