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…...
华为云购买弹性云服务器(教程)
配置弹性云服务器 基础配置 实例 操作系统...
Python异常检测- 单类支持向量机(One-Class SVM)
系列文章目录 Python异常检测- Isolation Forest(孤立森林) python异常检测 - 随机离群选择Stochastic Outlier Selection (SOS) python异常检测-局部异常因子(LOF)算法 Python异常检测- DBSCAN 文章目录 系列文章目录前言一、On…...
基于SpringBoot+Vue+uniapp微信小程序的婚庆摄影小程序的详细设计和实现(源码+lw+部署文档+讲解等)
项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...
NGAC访问控制系列三:低代码产品NGAC运用与算法运用
目录 一、基于NGAC的低代码模型权限管理方案 二、多策略访问控制系统限制内部访问的线性时间算法 1、概述 2、权限控制图遍历算法 一、基于NGAC的低代码模型权限管理方案 NGAC在低代码平台的权限决策模型:功能权限数据权限 案例:对于七巧低代码开发平台&…...
Unity3D 面试题收录
Unity3D 客户端面试题收录(持续更新~) 面试题收录 本文收录一些对于 Unity3D 客户端可能遇到的面试题(持续更新~),答案仅出于个人理解,如有偏差,希望指正。 Unity3D MonoBehaviour 生命周期…...
Jrebel热部署不生效解决
打开setting找到build底下的complier勾选 build project automatically 设置自动构建项目 打开setting找到Advanced Setting勾选Complier中的第一项 Jrebel panel中勾选需要热部署的项目模块 项目配置信息:Edit Configuration中进行编辑,配置如下图…...
软件测试学习笔记丨Selenium键盘鼠标事件ActionChains
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22515 本文为霍格沃兹测试开发学社的学习经历分享,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 说明:本篇博客基于sel…...
CI/CD(持续集成与持续交付)流水线
集成 Jenkins、GitLab Webhook、Nexus 和 RabbitMQ 可以形成一个全面的 CI/CD(持续集成与持续交付)流水线,结合消息队列可以创建事件驱动的工作流。以下是配置这四个工具以实现一个基本的 CI/CD 流程的详细步骤。 前置条件 Jenkins、GitLab、…...
分布式光伏发电有什么优劣势
分布式光伏发电是指在离电力消费地点较近的地方,通过安装光伏发电系统来发电。这种系统通常用于屋顶、地面或其他建筑物上,相比于集中式光伏发电系统,它有一些独特的优势和劣势: 优势: 地理适应性: 分布式…...
Spring Boot框架中的IO
1. 文件资源的访问与管理 在 Spring Boot 中,资源文件的访问与管理是常见的操作需求,比如加载配置文件、读取静态文件或从外部文件系统读取文件。Spring 提供了多种方式来处理资源文件访问,包括通过 ResourceLoader、Value 注解以及 Applica…...
DBeaver连接Hive教程
hive shell:通过hive shell来操作hive,但是至多只能存在一个hive shell,启动第二个会被阻塞,也就是说hive shell不支持并发操作。 基于JDBC等协议:启动hiveserver2,通过jdbc协议可以访问hive,hi…...
网站添加微信支付功能/最近新闻热点大事件
安全共享对象策略1.线程限制 : 一个被线程限制的对象,由线程独占,并且只能被占有它的线程修改2.共享只读 : 一个共享只读的对象,在没有额外同步的情况下,可以被多个线程并发访问,但是任何线程都不能修改它3.线程安全对…...
如何做网站接口/网络营销教程
前不久路过南京, 拜会了本科同学. 刚好他要见个青年才俊谈些事情, 于是就神神秘秘地把我拉了过去. 一路高谈阔论, 指点江山, 忆往昔峥嵘岁月之后, 此次"拜访"的目的也渐渐清晰起来. 我们所要见的人是位年轻的创业者, 他有些移动互联网的点子, 想和我们分享下, 并尝试…...
东莞电商网站建设/怎么注册个人网站
学习“CC***”<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />Jack zhai什么是CC***?网上有一个定义:***者借助代理服务器生成指向受害主机的合法请求,实现拒绝服务***的***方式称为CC(Challe…...
网站运营专员月薪多少/比较靠谱的推广平台
由于芯片产能过剩、芯片行业进入下行阶段,业界忽然发现成熟工艺产能再度得到重视,而中国则有望在成熟工艺产能方面居于全球第一,而且低成本和芯片堆叠技术有助于增强中国成熟工艺产能的竞争力。据统计数据显示,自2019年以来全球规…...
万网主机服务/徐州seo代理计费
文章目录快速排序1.排序规则2.代码实现3.测试结果4.复杂度分析快速排序 1.排序规则 划分的规则: 第一次排序以第一个数据作为基数 从右向左找比基准值小的(相等) 从左向右找比基准值大的 向下划分:至少这个组里有两个数据&#…...
58同城网站招聘怎么做/微商刚起步怎么找客源
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET[foo],$_POST[foo],$_SESSION[foo]来得到 当然也可以修改自动全局变量为开(php.ini改为register_globals On);考虑到…...