day7:软件包管理
一,软件包概述
软件包概述
软件包用于安装,升级,卸载一个软件
软件包类型
二进制包
源码经过了编译(而且成功了)后产生的包,二进制包是linux下默认的安装包
编译好的文件,直接使用,包.rpm
方便,但是古板,规定好了的,对计算机有一定的要求,就像官方英文翻译一样
源码包
源码包就是一大堆源代码程序,没有经过编译,所以使用的时候要先编译
没有编译的文件,要编译后才可以使用,包.tar.gz
不太方便,但是灵活,对任何计算机几乎都有效,就像你自己翻译英文一样
二,rpm安装
rpm概述
RPM(Red Hat Package Manager)是 Red Hat 开发的包管理工具,广泛应用于 RHEL(Red Hat Enterprise Linux)、CentOS、Fedora 等 Linux 发行版中。它用于安装、升级、卸载、查询和验证软件包。
获取rpm安装包的方式
- 官方仓库:通过 Linux 系统自带的官方仓库获取 RPM 包,使用
yum
或dnf
等包管理工具。- 第三方仓库:例如 EPEL(Extra Packages for Enterprise Linux)等提供额外的软件包。
- 下载 RPM 文件:从可信的第三方网站(如软件的官方网站)直接下载
.rpm
文件。- 自制 RPM 包:开发者可以根据软件的源码,打包生成自定义 RPM 包。
使用rpm安装(不常用,常用yum)
rpm 【选项】rpm包
-f
:表示根据文件查找包,即指定的文件属于哪个已安装的 RPM 包。和q一起使用-l
:列出指定包中的文件。和q一起使用- -q【a查看所有】, --query:查询一个包。
- -i, --install:安装一个包。
- -v:显示更详细的信息。
- -h:打印#,显示安装进度。
- -U, --update:升级一个包。
- -e, --erase:卸载一个包。
- -V, --verify:校验一个包。
依赖关系
在使用rpm命令进行包的安装、卸载或升级时,需要注意包之间的依赖关系。如果遇到依赖问题,可以使用yum或dnf命令来自动处理依赖关系
总结
总的来说,rpm命令是一个功能强大的工具,用于在Linux系统上管理软件包。通过掌握其基本语法和常用选项,用户可以高效地完成软件包的安装、卸载、升级和查询等操作。
三,yum安装
yum概述
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum源(国内)
### 阿里云镜像源
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 腾讯云镜像源
baseurl=https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 华为云镜像源
baseurl=https://repo.huaweicloud.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 清华大学 TUNA 源
baseurl=http://linux.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://linux.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 中科大镜像源
baseurl=http://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 网易(163)镜像源
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 搜狐镜像源
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
### 上海交大镜像源
baseurl=http://mirrors.sjtug.sjtu.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.sjtug.sjtu.edu.cn/centos/RPM-GPG-KEY-CentOS-7
enabled=1
yum仓库配置文件
位置:/etc/yum.repos.d/xxx.repo
这个文件以repo结尾,是yum的仓库配置文件,每次下东西系统都会进来,问问,在哪里下。
——————————————————————————————文件格式————————————————————————————————
[标识符]
#尽管每个文件都有名字,但是在使用时还是只认标识符
#是仓库的标识符,表示这是一个名为 "base" 的仓库。每个仓库都有一个唯一的标识符,以便 yum 能够区分不同的仓库。(当然也可以随便写,一般见名之意)没多大用,只有安装软件的时候显示,表示软件是从这个配置文件中的链接安装的
name=任意写
#仓库的名称,方便用户识别。就是解释这个仓库的,没什么用
baseurl=指定镜像服务器的地址列表或单个 http 地址。
#软件就是在这里面找的,其实就是个网址,换上我之前给的源就了
enabled=1
#enabled:是否启用该仓库,1 表示启用(默认),0 表示禁用。
#就像下游戏,可以在应用市场,也可以做taptap,仓库也是,可以同时有多个
-----------------------------下面的可以不用写-------------------
gpgcheck=1
#是否开启 GPG 验证,1 表示开启(默认),0 表示关闭
gpgkey=定义 GPG 密钥的地址。
#如果开启gpgcheck就会根据gpg密钥验证这个软件正不正规,建议关掉gpgcheck
failovermethod=roundrobin
#当有多个 baseurl 时选择镜像服务器的方式,priority 表示按顺序选择(不写默认),roundrobin 表示随机选择。
exclude=mysql* httpd*
#(用的很少)禁止某些软件包的安装和更新,可使用通配符,多个软件包之间用空格分隔。
注意:可以同时启用多个 yum 仓库(不建议)
- 如果安装了
yum-plugin-priorities
插件,可以在.repo
文件中通过priority=n
(其中 n 是一个整数)来设置仓库的优先级。数值越小,优先级越高。- 如果没有安装该插件,可以通过调整配置文件名的顺序来实现优先级,例如将优先级高的仓库配置文件命名为
01-base.repo
,优先级低的命名为99-epel.repo
。
本地yum源配置
所谓的本地,就是离线,既然是离线,就一定是本地保存好的,but,在哪里?自己下载?(可以,但是好麻烦)。我们安装虚拟机的时候,用了xxx.ios(这是linux的镜像盘,不是苹果),这个文件里有我们要的软件包,怎么操作?跟着我来吧
安装光盘
当你想要看好朋友的学习资料,大概不会用他的电脑吧,一定会拷贝下来,用u盘或者移动硬盘对吧?然后再放到自己电脑上。同样,使用系统光盘,是不是也要先安装呢?你也可以直接在原有的的设备上勾选“已连接”,不过无论如何都要重启,后面再说怎么不重启。
挂载光盘
ok,你现在插入了u盘,发现打不开?what???
别急,在linux上你要挂载,为什么,为了你计算机的安全,随意插入的新空间我不要,除非你告诉我,而且告诉我放哪里。
新命令mount挂载命令(以后会详细说,下载不用背)
mount 硬件(/dev/sr0) 挂载目录
一般在/mut中,建议在创建一个目录(chrom:可以是其他,这里这么做只是为了见名知意)放入创建的目录中。当然你可以放到任何地方,我就是这样想的
写配置文件
先看看包在哪里?
还记得怎么写配置文件吗?写个简单的,为了测试,我要然所有原有的配置都失效,与我打包所有并复制的其它文件夹备份,删除所有repo文件,写一个新的(测试完建议复制回来恢复)
[mydvd]
name=mydvd_yum
#注意地址不能有中文,所以我这个不可以,不够是这个原理,sorry
baseurl=file:///home/ly/桌面/a/Package
#baseurl:本地 RPM 包的目录。file://【绝对地址】 协议用于指向本地文件系统。
enbale=1
yum mackcache刷新一下
yum clean all把之前的老数据删除了
好了,完成:yum repolist 看看有哪些自己的yum配置文件吧
网络yum源配置
这还不简单,进入一repo文件,修改baseurl=xxxxx就可以了,就不练了,看看现成的。
yum命令
yum 【参数】【包名】
install :安装指定软件包
remove:卸载指定软件包
update:更新指定软件包,不指定就更新已安装软件包
list (availble/installed):查看可用/已安装软件包
search 【关键字】:按照关键字搜索软件包
info 【软件包】:显示软件包详细信息
clean all:清理所有yum缓存。
yum deplist 【软件包】:显示指定安装包依赖
yum group list:列出可用的软件包组。
yum group install [组名]:安装指定的软件包组。
yum group remove [组名]:删除指定的软件包组。
--version:显示yum的版本信息。
yum repolist 【all/库名】:显示启用的仓库列表,加all就显示所有仓库(包括禁用的),加的是库名,显示指定仓库的详细信息
四,源码安装
源码安装概述
源码包,是指哪些使用编译型语言编译的源文件(没有经过编译过的c文件),构成的一个压缩包。使用时要先解压,再编译,才可以使用。
好处在于,你可以自己编辑源文件代码,按照自己的需求写。在本机编译更加适配本机环境,删除时直接删除目录就可以了。
步骤编号 步骤描述 命令示例 说明 1 获取源码包 wget http://example.com/source-package.tar.gz
下载源码包文件(如 .tar.gz
,.zip
)2 解压源码包 tar -xzvf source-package.tar.gz
使用 tar
解压.tar.gz
文件tar -xjvf source-package.tar.bz2
使用 tar
解压.tar.bz2
文件unzip source-package.zip
使用 unzip
解压.zip
文件3 进入源码目录 cd 【解压后的源码包目录】
进入解压后的源码目录 4 查看安装说明 cat README
或cat INSTALL
查看 README
或INSTALL
文件5 配置编译环境 ./configure --prefix=/usr/local
(必要)生成 Makefile 文件,设置安装路径(或者说软件安装到哪个路径) ./configure --enable-feature
启用某些功能 6 编译源码 make
编译源码 make -j4【这是4核】
多核编译 7 安装编译好的程序 sudo make install
安装编译好的程序 8 验证安装 program_name --version
检查安装是否成功 9 清理编译文件(可选) make clean
清理中间文件 10 卸载软件 make uninstall (在软件的家目录中执行)
案例:nginx
获取包
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
解压
进入安装目录
查看安装说明(可选)
配置选项(一般软件都是安装在/usr/local下的,使用源码安装,先提前创建一个目录)
安装时报错:提示缺少pcre依赖,安装:sudo yum install pcre pcre-devel(具体看自己的)
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel make(我将所有的都提供了)
编译源码:make
安装软件:make install
查看是否安装
清理缓存或者make文件
使用nginx(在安装后的目录中找到sbin目录,执行nginx文件)
打开浏览器搜索网址:1270.0.1
关闭nginx服务
相关文章:

day7:软件包管理
一,软件包概述 软件包概述 软件包用于安装,升级,卸载一个软件 软件包类型 二进制包 源码经过了编译(而且成功了)后产生的包,二进制包是linux下默认的安装包 编译好的文件,直接使用ÿ…...

探索Konko AI:快速集成大语言模型的最佳实践
探索Konko AI:快速集成大语言模型的最佳实践 引言 随着大语言模型(LLM)的普及,如何快速方便地集成这些模型成为众多开发者关注的焦点。Konko AI 提供了一个全面管理的 API,使开发者能够选择合适的开源或专有大语言模…...
网络地址和本地网络地址
本地网络地址(Local Network Address,简称 LNA)是指在一个子网内用于标识特定主机的部分。在 IPv4 地址中,一个完整的 IP 地址由两部分组成:网络地址部分(Network Address)和本地网络地址部分&a…...

【closerAI ComfyUI】AI绘画界新技术RF Inversion图像编辑和风格迁移!能跟ipadapter争高低吗?
AI绘画界新技术RF Inversion图像编辑和风格迁移!能跟ipadapter争高低吗? 在人工智能绘画领域,技术的创新永不止步。closerAI ComfyUI最近推出了一项名为RF Inversion的新技术,它能够进行图像编辑和风格迁移,为艺术家和…...

【Spring篇】Spring的Aop详解
🧸安清h:个人主页 🎥个人专栏:【计算机网络】【Mybatis篇】【Spring篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎯初始Sprig AOP及…...
Spring与其他框架的比较
Spring 框架因其丰富的功能和灵活性,在 Java 领域内得到了广泛应用。然而,在不同的应用场景下,开发者可能会选择其他框架。下面将 Spring 框架与其他一些常见的 Java 框架进行比较,以便更好地理解它们各自的优缺点和适用场景。 1…...

论当前的云计算
随着技术的不断进步和数字化转型的加速,云计算已经成为当今信息技术领域的重要支柱。本文将探讨当前云计算的发展现状、市场趋势、技术革新以及面临的挑战与机遇。 云计算的发展现状 云计算,作为一种通过网络提供可伸缩的、按需分配的计算资源服务模式&a…...
Spring Boot 整合 RocketMQ 之消息消费手动提交 ACK 实战【案例分享】
前言: 上一篇我们分享了 RocketMQ 消息重试的一些基本原理,本篇我们基于 Spring Boot 整合 RocketMQ 来分享一下 RocketMQ 消息基于手动提交的案例,在分享手动进行消息 ACK 中也会分享消息重试的使用。 RocketMQ 系列文章传送门 RocketMQ …...
胃癌数据集(不定期更新)
恶性肿瘤其实就是癌症的一种,它是由一些不正常的细胞组成的,这些细胞会不停地生长和繁殖,而且它们还会侵犯周围的正常组织,甚至通过血液和淋巴系统跑到身体其他部位去。 恶性肿瘤有以下几个特点: 1、无限制生长&…...
zh/FAQ/CentOSStream-CentOS Stream 常见问题
CentOS Stream 是什么? CentOS Stream 是一个为开发者而设的发行版本,目的是要协助社群中的成员、Red Hat 伙伴及其它人在一个较稳定及可预测的 Linux 生态环境下充分利用创新的开源程序。 它的内容正是 Red Hat 有意收录于下个稳定版 RHEL 的软件。任何…...

多台西门子PLC与多台三菱PLC之间实时通讯的方案(PLC内不用编程)
PLC通讯智能网关IGT-DSER模块支持西门子、三菱、欧姆龙、罗克韦尔AB、GE等各种品牌的PLC之间通讯,同时也支持PLC与Modbus协议的变频器、智能仪表等设备通讯。网关有多个网口、串口,也可选择WIFI无线通讯。PLC内无需编程开发,在智能网关上配置…...

C++ [项目] 恶魔轮盘赌
现在才发现C游戏的支持率这么高,那就发几篇吧 零、前情提要 此篇是我与 同学的共创,他负责写人,我负责写机,简称人机, 不过有一点小插曲…… 一、基本介绍 支持Dev-C5.11版本(务必调为英文输入法),基本操作看游戏里的介绍,怎么做的……懒得说,能看懂就看注释,没有…...

微信小程序版本更新管理——实现自动更新
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
Python使用Selenium库实现CSDN自动化发帖
虽然CSDN上有很多优秀的作品,但也不乏很多很水的文章,我也不知道这种有什么意义。不过发这么水的文章多没意思,让浏览器自动化发帖就行了。以下程序能够实现CSDN自动化发帖,同时附自动给关注的人的文章点赞的程序。因为也有很多作…...
StringBulider和StringBuffer的底层源码剖析
要深入了解 StringBuffer 和 StringBuilder 的区别,从底层源码的角度来解析,包括它们的创建、扩容机制等,可以参考 JDK 1.8 的源码。 1. AbstractStringBuilder 类 StringBuffer 和 StringBuilder 都继承自 AbstractStringBuilder。…...
手机空号过滤接口-在线手机空号检测-手机空号过滤API
接口简介:在线检测手机号状态,与运营商平台联动大数据分析判断手机号状态。可划分出实号、空号、停机、流量卡、沉默号。 更新周期:两周 不支持号段:14、16、17、19号段 存在5%的误差,如需实时接口,可购买手…...
ubuntu 用ss-TPROXY实现透明代理,基于TPROXY的透明TCP/UDP代理,在 Linux 2.6.28 后进入官方内核。
TPROXY 是一个 Linux 内核模块,在 Linux 2.6.28 后进入官方内核。 1 安装 tproxy 相关依赖 参考ss-tproxy 的安装依赖。 bash ss-tproxy 使用了 bash 的一些语法特性,比如 shell 数组,因此必须用 bash 解释器执行。大多数发行版已经自带了…...
报错解决:opene3d draw_geometries(): incompatible function arguments.
1. 报错信息 o3d.visualization.draw_geometries(target_pcd) TypeError: draw_geometries(): incompatible function arguments. The following argument types are supported:1. (geometry_list: List[open3d.cpu.pybind.geometry.Geometry], window_name: str Open3D, wid…...

Clickhouse笔记(二) 集群搭建
0.集群规划 操作系统使用ubuntu2204server,8C8G100G。 节点分片部署192.168.50.5分片1副本1clickhouse-server/clickhouse-client/keeper192.168.50.6分片1副本2clickhouse-server/clickhouse-client/keeper192.168.60.7分片2副本1clickhouse-server/clickhouse-c…...

华为云购买弹性云服务器(教程)
配置弹性云服务器 基础配置 实例 操作系统...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...

【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...