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 包,使用 yumdnf 等包管理工具。
  • 第三方仓库:例如 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 READMEcat INSTALL查看 READMEINSTALL 文件
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服务

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

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

相关文章

音质最好的麦克风有哪些?领夹麦克风哪个品牌好?麦克风十大品牌

在当下自媒体行业蓬勃发展的背景下,无线领夹麦克风已成为众多内容创作者不可或缺的装备。市场上的无线领夹麦克风种类繁多,品质参差不齐,价格也相差悬殊,这使得选购一款合适的麦克风变得颇具挑战性。许多消费者在追求性价比的过程…

无人机避障——路径规划篇(一) JPS跳点搜索算法A*算法对比

JSP 跳点搜索算法与改进 A*算法对比 一、算法概述: 跳点搜索(Jump Point Search,JPS)算法:一种用于路径规划的启发式搜索算法。它主要用于在网格地图(如游戏地图、机器人运动规划地图等)中快速找到从起点到终点的最短路径。该算法在改进 A*算法的基础上进行了优化,通过跳过一…

自由学习记录(12)

综合实践 2D的Shape,Tilemap都要导包的,编辑器也要导包,。。和2d沾边的可能3d都要主动导包 应该综合的去运用,不见得Tilemap就很万能,如果要做什么顶方块的有交互反应的物体, 那直接拖Sprite会更方便一些…

大路灯护眼灯是智商税吗?五款口碑最好的落地灯品牌分享

大路灯护眼灯是智商税吗?在当前照明灯具中,护眼灯大路灯并不是智商税!护眼大路灯因其出色的灯光和舒适度效果而受到广泛欢迎。面对市场众多的护眼大路灯产品,选择一把优质的护眼大路灯显得尤为重要。低质量的护眼大路灯不仅性能不佳&#xf…

探索音频在线剪辑工具的奇妙世界

无论是专业的音频制作人,还是普通的音乐爱好者,都可能需要对音频进行剪辑和编辑。我比较建议从低成本的工具开始入手避免浪费,今天我推荐几款音频在线剪辑工具一起看看这些共苦如何打造作品吧。 1.福昕音频剪辑 教程链接:https:…

初学者如何学习网络安全,零基础入门到精通,收藏这一篇就够了

学习任何技术或知识前,需要培养好的学习习惯,投入时间和精力去进行钻研,培养兴趣和学习能力,并能通过搜索引擎解决问题。对于网络安全学习来说,要掌握学习方法,因为它的知识面广且复杂。 之前看到一张&quo…

初始JavaEE篇——多线程(2):join的用法、线程安全问题

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 目录 模拟实现线程中断 join的用法 线程的状态 NEW: RUNNABLE: TIMED_WAITING: TERMINATED…

苍穹外卖--开发记录day11

目录 苍穹外卖day11一:apache-Echarts简单了解二:营业额统计四:用户统计五:订单统计六:销量排名统计 总结 苍穹外卖day11 一:apache-Echarts简单了解 二:营业额统计 外链图片转存失败,源站可能…

深入解析C++游戏开发:从基础到高级应用

目录 深入解析C游戏开发:从基础到高级应用 目录 为何选择C进行游戏开发 高性能与高效率 强大的内存管理 广泛的库和框架支持 丰富的社区资源 C游戏开发基础 C基础知识 面向对象编程 常用设计模式 游戏开发流程 设计与规划 选择引擎和工具 架构设计 …

Data+AI━━隐私都没了,还不懂用户画像吗?

DataAI━━隐私都没了,还不懂用户画像吗? 前言用户画像是什么?用户画像的应用场景DataAI下如何构建用户画像 前言 数据驱动的时代,用户画像已经成为商业和技术领域的热门话题。无论你在电商、金融、广告还是社交媒体,…

从零开始学python必看,最强“Python编程三剑客(pdf)”

目录 三剑客PDF传送门:三剑客 第一本:《Python编程:从入门到实践》 1.1《Python编程:从入门到实践》第一部分:基础知识 1.2《Python编程:从入门到实践》第二部分:项目 第二本:《…

css模糊遮罩效果

原图&#xff1a; 模糊后的图片&#xff1a; html: <div class"bj"><div class"mengban"></div> </div> css: .bj {width: 750rpx;height: 643rpx;background-image:url(https://onlinekc.a.hlidc.cn/uploads/20241023/9e552fc…

大话网络协议:HTTPS协议和HTTP协议有何不同?为什么HTTPS更安全

大家现在访问网络,浏览网页,注意一下的话,网址前面基本上都是一个 https:// 的前缀,这里就是说明这个网址所采用的协议是 https 协议。那么具体应该怎么理解 https 呢? 本文我们就力争能清楚地解释明白这个我们目前应该最广的协议。 理解HTTP协议 要解释 https 协议,当…

FPGA采集adc,IP核用法,AD驱动(上半部分)

未完结&#xff0c;明天补全 IP核&#xff1a;集成的一个现有的模块 串口写好后基本不会再修改串口模块内部的一些逻辑&#xff0c;将串口.v文件添加进来&#xff0c;之后通过他的上层的接口去对他进行使用&#xff0c;所以我们打包IP&#xff0c;之后就不用去添加源文件了&a…

无人机和鸟数据集,无人机数据集+鸟数据集 yolo格式,可以直接用于模型的训练。7000张,图片自己打的标签 yolov5-yolov10通用

无人机和鸟数据集&#xff0c;无人机数据集鸟数据集 yolo格式&#xff0c;可以直接用于模型的训练。7000张&#xff0c;图片自己打的标签 yolov5-yolov10通用 无人机及鸟类目标检测数据集规模&#xff1a; 总图像数量&#xff1a;约7,000张类别&#xff1a;2类检测目标 Drone&…

从一个简单的计算问题,看国内几个大语言模型推理逻辑能力

引言 首先&#xff0c;来看问题&#xff1a; 123456*987654等于多少&#xff0c;给出你计算的过程。 从openai推出chatgpt以来&#xff0c;大模型发展的很快&#xff0c;笔者也经常使用免费的大语言模型辅助进行文档编写和编码工作。大模型推出时间也好久了&#xff0c;笔者想…

【独家:AI编程助手Cursor如何revolutionize Java设计模式学习】

【独家:AI编程助手Cursor如何revolutionize Java设计模式学习】 导语 在Java高级编程的世界里,设计模式是每个开发者必须掌握的利器。但是,如何快速理解并灵活运用这些模式呢?让我们一起探索如何借助AI编程助手Cursor,轻松掌握设计模式,提升Java编程技能! 正文 设计模式:J…

易控天地|易控天地标准版3.0(EconTNT STD3.0)安装记录

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 以前使用过的组态软件WinCC、杰控、MCGS、组态王、KingSCADA、KingFunsion等&#xff0c; 关于易控天地去年在现场见到过&#xff0c;接下来安装体验下易控天地&#xff1b; 以下为安装笔记。 01 解压缩 下载完安装…

【YOLO模型】(1)--YOLO是什么

一、什么是YOLO YOLO&#xff08;You Only Look Once&#xff09;是一种基于深度学习的目标检测算法&#xff0c;由Joseph Redmon等人于2016年提出。 1. 核心思想 它的核心思想是将目标检测问题转化为一个回归问题&#xff0c;通过一个神经网络直接预测目标的类别和位置。 …

[Linux] CentOS7替换yum源为阿里云并安装gcc详细过程(附下载链接)

前言 CentOS7替换yum源为阿里云 yum是CentOS中的一种软件管理器&#xff0c;通过yum安装软件&#xff0c;可以自动解决包依赖的问题&#xff0c;免去手工安装依赖包的麻烦。 yum使用了一个中心仓库来记录和管理软件的依赖关系&#xff0c;默认为mirrorlist.centos.org&#xf…