如何在Linux中安装软件

news2024/12/27 14:52:50

文章目录

  • 一、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.coloradmin.cn/o/1571066.html

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

相关文章

Spring/SpringBoot/SpringCloud Mybatis 执行流程

在后续分析Mybatis 流程中代码的可能会用到IDEA debug 技巧: 条件断点 代码断点,右键 勾选弹窗 Condition : 写入表达式 回到上一步: Java动态代理实现 InvocationHandler接口: package com.lvyuanj.core.test;…

MAX7219驱动数码管学习记录(有源码)

一、7219datasheet阅读 1.引脚定义: 重点介绍5个引脚 1.DIN: 串行数据总线输入引脚,每个时钟的上升沿将数据移入至芯片内部的移位寄存器中 2.DIG0-DIG7: 共阴极管的GND连接的便是DIG0-7,该引脚起作用时,便输出低电平&#xff0c…

SSM学习——Spring JDBC

Spring JDBC 概念 Spring的JDBC模块负责数据库资源管理和错误处理,简化了开发人员对数据库的操作。 Spring JDBC通过配置数据源和JDBC模板来配置。 针对数据库操作,Spring框架提供了JdbcTemplate类,它是Spring框架数据抽象层的基础&#…

【学习】渗透测试有哪些重要性

随着信息技术的迅猛发展,网络安全问题日益凸显。渗透测试作为网络安全防御的重要手段之一,旨在模拟黑客攻击,发现并修复潜在的安全漏洞,提高网络系统的安全性。本文将介绍渗透测试的概念、重要性、实施步骤及实践案例,…

echarts快速入门

文章目录 一、echarts下载1.1、下载说明1.2、使用说明 二、绘制一个简单图表 一、echarts下载 echarts是百度研发团队开发的一款报表视图JS插件,功能十分强大,可在echart官网下载源码(一个echarts.min.js文件)进行使用。 1.1、…

Star GAN论文解析

论文地址:https://arxiv.org/pdf/1912.01865v1.pdf https://openaccess.thecvf.com/content_cvpr_2018/papers/Choi_StarGAN_Unified_Generative_CVPR_2018_paper.pdf 源码:stargan项目实战及源码解读-CSDN博客 1. 概述 在传统方法中&#x…

R语言技能 | 不同数据类型的转换

原文链接:R语言技能 | 不同数据类型的转换 本期教程 写在前面 今天是4月份的第一天,再过2天后再一次迎来清明小假期。木鸡大家是否正常放假呢? 我们在使用R语言做数据分析时,会一直对数据进行不同类型的转换,有时候…

揭秘视觉Transformer之谜,TokenTM新法,全面提升模型解释性能

引言:揭示视觉Transformer的解释挑战 在计算机视觉应用中,Transformer模型的流行度迅速上升,但对其内部机制的后置解释仍然是一个未探索的领域。视觉Transformers通过将图像区域表示为转换后的tokens,并通过注意力权重将它们整合起…

一篇文章带你掌握二叉树(附带二叉树基本操作完整代码演示,和两种思路)

【本长内容】 1. 掌握树的基本概念 2. 掌握二叉树概念及特性 3. 掌握二叉树的基本操作 4. 完成二叉树相关的面试题练习 1. 树形结构 1.1 概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是…

RK3568平台 Uart驱动框架

一.TTY子系统 在Linux kernel中,tty驱动不像于spi,iic等那么架构简单,它是一个庞大的系统,它的框架大体如下图一。我们作为普通的驱动开发移植人员,不会从零写tty驱动,一般都是厂家根据现有的tty驱动和自家…

SpringBoot整合MyBatis四种常用的分页方式

目录 方式1 一、准备工作 1. 创建表结构 2. 导入表数据 3. 导入pom.xml依赖 4. 配置application.yml文件 5. 创建公用的实体类 项目结构 2. 创建controller层 3. 创建service层 4. 创建mapper层 5. 创建xml文件 6. 使用postman进行测试,测试结果如下…

基于JAVA+SpringBoot+Vue的前后端分离的大学健康档案管理系统

一、项目背景介绍: 随着社会的发展和科技的进步,人们越来越重视健康问题。大学作为培养人才的摇篮,学生的健康状况直接影响到国家的未来。然而,传统的大学健康档案管理方式存在诸多问题,如信息不透明、数据分散、更新不…

从零开始为香橙派orangepi zero 3移植主线linux——2.kernel + rootfs

从零开始为香橙派orangepi zero 3移植主线linux——2.kernel rootfs 参考文章:一、linux kernel移植二、根文件系统2.1 buildroot构建1.修改toolchain下的交叉编译链2.修改系统配置3.去除内置kernel和uboot编译4.添加rootfs.tar格式的输出 2.2 ubuntu-base移植 三、…

WebAuthn:更好地保护线上敏感信息

1. 引言 2023年知乎博客 WebAuthn: 真正的无密码身份认证 总结得很赞。 在数字时代,密码已成为人们日常生活和在线活动中不可或缺的一部分。尽管互联网已经发展了 20 多年,许多方面都有了巨大的改进,但只有密码,还是 20 年前的用…

【数据结构】--- 探索栈和队列的奥秘

关注小庄 顿顿解馋૮(˶ᵔ ᵕ ᵔ˶)ა 💡个人主页:9ilk 💡专栏:数据结构之旅 上回我们学习了顺序表和链表,今天博主来讲解两个新的数据结构 — 栈和队列 , 请放心食用 文章目录 🏠 栈&#x1…

牛客 2024春招冲刺题单 ONT102 牛牛的果实排序【simpe 要知道如何判断是否是质数 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/975a263e2ae34a669354e0bd64db9e2a 核心 需要牢牢记住下面的代码//判断是否为质数public boolean isPrime(int n){if(n1) return false;if(n2 || n3) return true;if(n%6!1 && n%6!5) return false; /…

C++(语法以及易错点2)

1.内联函数 1.1 概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率。 ​int ADD(int a,int b) {return ab; }​ 1.2 特性 1. inline是一种以空间换时间…

spring security6重写登陆验证

spring security的认证流程 2. 从文档上可以看出来,UsernamePasswordAuthenticationFilter和AuthenticationManager是认证的关键步骤,/login传过来的username和password由UsernamePasswordAuthenticationFilter接收处理成UsernamePasswordAuthenticatio…

设计模式总结-组合模式

组合设计模式 模式动机模式定义模式结构组合模式实例与解析实例一:水果盘实例二:文件浏览 更复杂的组合总结 模式动机 对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构&#x…

基于SSM的品牌银饰售卖平台(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的品牌银饰售卖平台(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring …