如何在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地址访问
在这里插入图片描述
出现该界面即可。

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

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

相关文章

基于JAVAEE技术校园车辆管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本校园车辆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

python_web1(前端开发之HTML、CSS、Bootstap、Javascript、JQuery)

文章目录 一、Flask网页开发1.1创建一个名为web1.py的python文件1.2 templates目录创建文件index.html 二、html标签2.1 编码2.2title < head >2.3 标题< h>2.4 div和span2.5超链接1.在index.xml文件中补充。2.修改web1.py文件3.添加get_self.html4.效果 2.6图片1.…

Python常用算法思想--回溯算法思想详解【附源码】

通过回溯算法解决“组合”问题、“排序”问题、“搜索”之八皇后问题、“子集和”之0-1背包问题、字符串匹配等六个经典案例进行介绍: 一、解决“组合”问题 从给定的一组元素中找到所有可能的组合,这段代码中的 backtrack_combinations 函数使用了回溯思想,调用 backtrack…

【论文精读】Detecting Out-of-Distribution Examples with Gram Matrices 使用Gram矩阵检测分布外实例

文章目录 一、文章概览&#xff08;一&#xff09;Gram矩阵1、Gram&#xff08;格朗姆&#xff09;矩阵的定义2、Gram矩阵计算特征表示3、风格迁移中的Gram矩阵 &#xff08;二&#xff09;ood检测&#xff08;三&#xff09;核心思路&#xff1a;扩展 Gram 矩阵以进行分布外检…

DHCP工作过程以及抓包分析

从PC1的e0/0/1接口进行抓包 客户端基于UDP、源端口68、目标端口67进行广播请求&#xff0c;源IP0.0.0.0&#xff0c;&#xff08;无效地址&#xff0c;代表本地无地址&#xff09;目标IP255.255.255.255&#xff1b; 从下面截图可以看出&#xff1a; 源mac为电脑mac&#xff…

steam和epic的使用

steam和epic的使用 介绍 这俩都是游戏平台。 登录注册 steam 使用网吧uu加速器打开steam 点击启动游戏&#xff1a;&#xff08;网吧实例&#xff0c;接着点启动&#xff09; 两种方法&#xff1a; 1.直接点内个“创建免费账户”。然后直接注册就行&#xff08;我在网…

论文笔记:UNDERSTANDING PROMPT ENGINEERINGMAY NOT REQUIRE RETHINKING GENERALIZATION

ICLR 2024 reviewer评分 6888 1 intro zero-shot prompt 在视觉-语言模型中&#xff0c;已经取得了令人印象深刻的表现 这一成功呈现出一个看似令人惊讶的观察&#xff1a;这些方法相对不太受过拟合的影响 即当一个提示被手动工程化以在给定训练集上达到低错误率时&#xff0…

【测开求职】校招生在面测开前需要了解的信息

博主在2021年拿到了字节测开实习的offer&#xff0c;实习时长4个月&#xff0c;并于2023年秋招拿到了字节测开的校招offer&#xff0c;仅以本专栏记录对该岗位的所思所想。 目录 1. 测试开发需要做什么工作2. 为什么选择测试开发3. 测试开发不如开发吗4. 如何准备测试开发 1. …

如何使用 Viggle AI 生成模特动作视频

Viggle AI 是一款基于骨骼动画的 AI 工具&#xff0c;可以将图片转换为流畅且一致的角色动画。 这意味着您可以上传一张模特全身照&#xff0c;然后指定该模特要执行的动作&#xff0c;Viggle AI 会自动生成一段由该模特执行该动作的视频。 步骤 1&#xff1a;准备工作 首先&…

【mysql 第3-10条记录怎么查】

mysql 第3-10条记录怎么查 在MySQL中&#xff0c;如果你想要查询第3到第10条记录&#xff0c;你通常会使用LIMIT和OFFSET子句。但是&#xff0c;需要注意的是&#xff0c;LIMIT和OFFSET是基于结果集的行数来工作的&#xff0c;而不是基于记录的物理位置。这意味着它们通常与某种…

栈、队列-栈的概念及结构/栈的实现/栈的顺序存储结构-队列的概念及结构、队列的实现(链式存储结构))

一、栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO (Last In First Out)的原则。 压栈&#xff1a;栈的插入操作…

数学建模----MATLAB----forwhile循环(进阶)

目录 1.for循环的运用 &#xff08;1&#xff09;求和计算 &#xff08;2&#xff09;闰年的判断 &#xff08;3&#xff09;斐波那契数列的计算 &#xff08;4&#xff09;一列数的5个数据一样&#xff0c;删除&#xff0c;5个数据不一样&#xff0c;就保留下来&#xff1…

深入解析:如何使用Xcode上传苹果IPA安装包至App Store?

目录 引言 摘要 第二步&#xff1a;打开appuploader工具 第二步&#xff1a;打开appuploader工具&#xff0c;第二步&#xff1a;打开appuploader工具 第五步&#xff1a;交付应用程序&#xff0c;在iTunes Connect中查看应用程序 总结 引言 在将应用程序上架到苹果应用商…

【Spring篇】Spring IoC DI

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Spring系列】 本专栏旨在分享学习Spring MVC的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 前言一、IoC二、…

用html写一个爱心

<!DOCTYPE html> <html lang"zh-CN"><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /><title>爱您</title><style>* {padding: 0;margin: 0;}body {background-color: pin…

智慧公厕:提升城市管理效率,改善居民生活体验

智慧公厕作为城市基础设施的重要组成部分&#xff0c;正逐渐成为改善城市品质和提升居民生活体验的一项关键措施。通过智能化管理、数字化使用和信息化运行&#xff0c;智慧公厕不仅可以为城市居民带来更舒适便利的使用体验&#xff0c;而且对于城市的高质量发展、宜居性和包容…

Java快速入门系列-5(Java进阶特性)

第五章:Java进阶特性 5.1 多线程与并发编程5.1.1 多线程基础5.1.2 线程同步与锁5.1.3 线程间通信与协作5.1.4 线程池5.2 Java I/O流5.2.1 字节流与字符流5.2.2 缓冲流5.2.3 对象序列化与反序列化5.3 网络编程基础5.3.1 Socket编程5.3.2 NIO编程5.4 Java反射机制反射的基本用法…

使用 ChatGPT 创建在线课程:一步一步指南与提示模板

原文&#xff1a;Creating Online Courses with ChatGPT 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 谢谢 作为对你支持的感谢&#xff0c;随意定制本书中列出的任何提示&#xff0c;并将其作为你自己的重新销售。是的&#xff0c;对你免费。 它们都结构良好且用…

深入探索力扣第12题:整数转罗马数字的算法之旅

力扣&#xff08;LeetCode&#xff09;第12题“整数转罗马数字”提供了一个绝佳的学习机会&#xff0c;不仅让我们深入古罗马的数字系统&#xff0c;也锻炼了我们的编程技巧。一起看看其背后的逻辑。 罗马数字基础 罗马数字是一种古老的数字表示方法&#xff0c;广泛用于古罗…

linux安装和使用Rancher

linux安装和使用Rancher Rancher介绍请看如下博客 arm架构安装Rancher并导入k8s集群解决Error: no objects passed to apply 华为云arm架构安装k8s(kubernetes) linux下安装Rancher Rancher部署监控k8s集群状态等,比Dashboard插件强大 提前安装好K8S 在master上执行#如果…