Linux——包源管理工具
一、概要
Linux下的包/源管理命令:主要任务就是完成在Linux环境下的安装/卸载/维护软件。
1.rpm 是最基础的rpm包的安装命令,需要提前下载相关安装包和依赖包。
2.yum/dnf (最好用)是基于rpm包的自动安装命令,可以自动在仓库中匹配安装软件和依赖包。
以上是安装指令,以下是安装源。
3光盘源是指的 安装系统时候的操作系统光盘,它里面有很多自带的常用软件安装包,定位于当前
4.局域网源是指本地局域网不便连接互联网,而且客户机都在局域网内,定位于网内自建仓库局部
5.互联网源是指当前主机可以直接外接互联网,通过外网提供的的仓库完成在线安装软件。
6.源码安装是指从互联网下载相关软件的源代码,在本机上进行配置,编译,安装的过程。
二、离线管理rpm命令
rpm命令来自英文词组redhat package manager的缩写,中文译为“红帽软件包管理器”,
其功能是在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作,
常见的主流系统(如RHEL、Cent0s、Fedora等)都采用这种软件包管理器,
推荐用固定搭配“rpm -ivh 软件包名"安装软件
而卸载软件则用固定搭配“rpm -evh 软件包名”

语法格式:
rpm 参数 软件包名
使用实例:
rpm -ivh cockpit-185-2.el8.x86_64.rpm #正常安装软件包,需要提前下载rpm文件
rpm -evh cockpit-185-2.el8.x86_64.rpm #卸载
-i 安装软件包
-v 显示执行过程信息
-h 安装软件包时显示标记信息
rpm -ivh gthumb-3.12.4-1.1.x86 64.rpm #安装需要依赖
rpm -evh --nodeps(--force强制卸h) gthumb-3.12.4-1.1.x86 64.rpm #卸载忽略依赖
三、本地源管理yum命令
该命令自动解决文件依赖关系,一次性安装所需全部软件,从指定的服务器自动下载、更新、删除软件包。

语法格式: yum 参数 动作 软件包
常用参数:
| install | 安装软件包 | clean | 清理过期缓存 |
| update | 更新软件包 | shell | 设置使用shell提示符 |
| remove | 删除软件包 | localinstall | 安装本地软件包 |
| list | 显示软件包的信息 | localupdate | 更新本地软件包 |
| check-update | 检查有无可用的更新软件包 | rerolvedep | 显示软件包的依赖关系 |
| search | 搜索指定软件包 | deplist | 显示软件包的依赖关系 |
| info | 显示指定软件包的信息 |
参考示例:(无仓库时不能使用)
yum clean all #清理原有仓库信息
yum makecache #建立最新的软件仓库信息缓存
默认源:/etc/yum.repos.d/redhat.repo
yum (-y不提示) install httpd #安装指定的服务及相关安装包
以上为命令,若没有搭建本地源,以上所有代码均无法使用。
四、本地光盘仓库搭建过程
1.虚拟机加载并连接系统安装光盘

2.挂在光盘到本地临时目录:
mount /dev/sr0 /mnt/ #挂在光盘到本地临时目录
mount——挂载命令,可以将指定文件挂在到另一个位置
sr0是dev目录下的光盘文件
若成功,则/mnt/目录中为:
如果挂在失败,要主动断开 unmount /mnt
3.如果有文件就备份本地原有配置
cd /etc/yum.repo.d/ #进入本地配置目录
mkdir bak #创建一个备份目录
mv *.repo ./bak/ #将原来的repo资源拷贝到当前bak目录中
4.创建新的本地配置文件
注:要使用root用户 su root
vim local.repo #创建本地配置文件
写入:
本地源配置信息
[RHEL9-BaseOS]
name=RHEL9-BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0[RHEL9-AppStream]
name=RHEL9-AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
5.刷新缓存
yum clean all
yum makcache
以上yum本地光盘元仓库创建成功
6.测试安装软件
yum install httpd
五、局域网源架设过程
局域网yum源配置:建设一个本地网络仓库给本地局域网用户提供下载安装。
互联网yum源配置:在线获取最新安装文件的通道。
1.环境搭建:
两台虚拟机:192.168.68.99 client
192.168.68.129 server
2.配置服务器端:提供yum安装服务
192.168.68.129 server
操作流程
su root #切换为管理员身份
yum install -y httpd #安装并启动httpd
setenforce 0 #关闭SELinux
getenforce #查看当前情况 Permissive#关闭状态 Enforcing#开启状态
systemctl stop firewalld #临时关闭防火墙
systemctl status firewalld #查看防火墙状态,空圈为关闭,绿点为打开
q按键退出查看状态命令
httpd服务的目录在 var/www/html中
cd var/www/html #进入该目录
mkdir rhiso #创建httpd的工作目录
mount /dev/sr0 var/www/html/rhiso #将光盘挂载到rhiso
systemctl restart httpd.service # 重启httpd
systemctl status httpd #查看状态
在本地浏览器中输入本机ip/rhiso http://192.168.68.129/rhiso/
或http://127.0.0.1/rhiso/ #本机回环地址
出现下面页面表示服务器端配置完成:
中文乱码解决方法:在/etc/httpd/conf/httpd.conf
配置文件中加入 IndexOptions Charset=UTF-8
3.配置客户端:访问服务端的yum源
192.168.68.99 client
当在上一台机器已经配置好httpd后,我们选择同一网段内的其他机器配置yum源去访问此台服务器
测试一下客户机与服务端的联通情况 ping 192.168.68.129
su root #切换管理员
cd /etc/yum.repos.d/
vim network.repo 加入如下内容:
#本地局域网配置:vim network.repo文件中的内容 [RHEL9-BaseOS] name=RHEL9-BaseOS baseurl=http://192.169.68.129/rhiso/BaseOS gpgcheck=0[RHEL9-AppStream] name=RHEL9-AppStream baseurl=http://192.168.68.129/rhiso/AppStream gpgcheck=0其中ip地址为服务端的IP地址
4.测试(客户端在服务器端下载)
yum clean all #清理就缓存
yum makcache #建立新缓存
yum repolist #查看仓库列表
yum install telnet #在服务器端下载telnet
注意:用户端一定不能有本地源
五、建立第三方互联网络源
CSDN上收集的各个版本的REHL的镜像地址:
Redhat系列系统在线镜像源-CSDN博客
操作流程:
su root
cd /etc/yum.repo.d/
vim aliyun.repo #阿里云
写入以下内容:
#互联网源配置 [BaseOS] name=BaseOS baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/ gpgcheck=0[AppStream] name=AppStream baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/ gpgcheck=0yum makcache #创建新缓存
验证能否安装:
yum install gcc -y #下载c语言编译器
gcc hello.c #编译事先准备好的c语言程序,编译完成后会生成一个可执行文件a.out
./a.out #执行程序
yum install gthumb #安装失败没有资源
#下载扩展源
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
再次下载就可以安装了
gthumb test.png #测试提前准备的图片
成功
yum install -y sl #有趣的玩具,ls写成sl时会跑出个小火车
yum install tmux #多终端
yum install git #管理控制
git clone https://github.com/dustinkirkland/hollywood.git #克隆github上的文件
收尾:
cd /etc/yum.repos.d
mkdir ./bak
mv local.repo ./bak
mv network.repo ./bak
mv redhat.repo ./bak

六、源码管理命令
源码安装三部曲:
第一步:./configure(定制组件)
指定安装路径,例如:--prefiix=/opt/nginx-1.12
启用或禁用某项功能,例如L:--enable--ssl
和其它软件关联,例如:-with-pcre
检查安装环境,例如是否由编译器gcc,是否满足软件的依赖需求
检查通过后生成Makefile文件
第二步:make(生成程序)
执行make命令进行编译,可以使用-j指定CPU核心数进行编译
按Makefile文件进行编译,编译成可执行的二进制文件
生成各类模块和主程序
第三步:make install
按照Makefile定义好的路径拷贝至安装目录中
举例练习源码包编译:(nginx)
0、先停止httpd服务(httpd与nginx都用的时80端口会有冲突)
systemctl stop httpd.services
1、基础环境准备:
编辑器:yum -y install gcc gcc-c++ make wget
依赖包:yum -y install zlib zlib-devel openssl pcre pcre-devel
2.下载安装包
cd /usr/src
wget http://nginx.org/download/nginx-1.12.2.tar.gz
3.解压源码包并进入相应的目录
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
4.配置相关选项,并生成Makefile
./configure --prefiix=/opt/nginx-1.12
5.编译并安装
make #开始编译源码
make install
6.建立软连接
ln -s /usr/src/nginx-1.12.2 /opt/nginx
7.测试效果
cd objs
./nginx
打开浏览器,输入127.0.0.1
成功
相关文章:
Linux——包源管理工具
一、概要 Linux下的包/源管理命令:主要任务就是完成在Linux环境下的安装/卸载/维护软件。 1.rpm 是最基础的rpm包的安装命令,需要提前下载相关安装包和依赖包。 2.yum/dnf (最好用)是基于rpm包的自动安装命令,可以自动…...
C++解决走迷宫问题:DFS、BFS算法应用
文章目录 思路:DFSBFSBFS和DFS的特点BFS 与 DFS 的区别BFS 的优点BFS 时间复杂度深度优先搜索(DFS)的优点深度优先搜索(DFS)的时间复杂度解释:空间复杂度总结:例如下面的迷宫: // 迷宫的表示:0表示可以走,1表示障碍 vector<vector<int>> maze = {{0, 0,…...
机器学习09-Pytorch功能拆解
机器学习09-Pytorch功能拆解 我个人是Java程序员,关于Python代码的使用过程中的相关代码事项,在此进行记录 文章目录 机器学习09-Pytorch功能拆解1-核心逻辑脉络2-个人备注3-Pytorch软件包拆解1-Python有参和无参构造构造方法的基本语法示例解释注意事项…...
BLE透传方案,IoT短距无线通信的“中坚力量”
在物联网(IoT)短距无线通信生态系统中,低功耗蓝牙(BLE)数据透传是一种无需任何网络或基础设施即可完成双向通信的技术。其主要通过简单操作串口的方式进行无线数据传输,最高能满足2Mbps的数据传输速率&…...
Linux 中的poll、select和epoll有什么区别?
poll 和 select 是Linux 系统中用于多路复用 I/O 的系统调用,它们允许一个程序同时监视多个文件描述符,以便在任何一个文件描述符准备好进行 I/O 操作时得到通知。 一、select select 是一种较早的 I/O 多路复用机制,具有以下特点ÿ…...
单片机-STM32 WIFI模块--ESP8266 (十二)
1.WIFI模块--ESP8266 名字由来: Wi-Fi这个术语被人们普遍误以为是指无线保真(Wireless Fidelity),并且即便是Wi-Fi联盟本身也经常在新闻稿和文件中使用“Wireless Fidelity”这个词,Wi-Fi还出现在ITAA的一个论文中。…...
linux日志排查相关命令
实时查看日志 tail -f -n 100 文件名 -f:实时查看 -n:查看多少行 直接查看日志文件 .log文件 cat 文件名 .gz文件 zgcat 文件名 在日志文件搜索指定内容 .log文件 grep -A 3 “呀1” 文件名 -A:向后查看 3:向后查看行数 “呀1”:搜…...
每日一题-二叉搜索树与双向链表
将二叉搜索树转化为排序双向链表 问题描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表,要求空间复杂度为 O(1),时间复杂度为 O(n),并且不能创建新的结点,只能调整树中结点的指针指向。 数据范围 …...
【多视图学习】Self-Weighted Contrastive Fusion for Deep Multi-View Clustering
Self-Weighted Contrastive Fusion for Deep Multi-View Clustering 用于深度多视图聚类的自加权对比融合 TMM 2024 代码链接 论文链接 0.摘要 多视图聚类可以从多个视图中探索共识信息,在过去二十年中越来越受到关注。然而,现有的工作面临两个主要挑…...
ASK-HAR:多尺度特征提取的深度学习模型
一、探索多尺度特征提取方法 在近年来,随着智能家居智能系统和传感技术的快速发展,人类活动识别(HAR)技术已经成为一个备受瞩目的研究领域。HAR技术的核心在于通过各种跟踪设备和测量手段,如传感器和摄像头࿰…...
C语言:数据的存储
本文重点: 1. 数据类型详细介绍 2. 整形在内存中的存储:原码、反码、补码 3. 大小端字节序介绍及判断 4. 浮点型在内存中的存储解析 数据类型结构的介绍: 类型的基本归类: 整型家族 浮点家族 构造类型: 指针类型&…...
深入理解动态规划(dp)--(提前要对dfs有了解)
前言:对于动态规划:该算法思维是在dfs基础上演化发展来的,所以我不想讲的是看到一个题怎样直接用动态规划来解决,而是说先用dfs搜索,一步步优化,这个过程叫做动态规划。(该文章教你怎样一步步的…...
单片机基础模块学习——数码管(二)
一、数码管模块代码 这部分包括将数码管想要显示的字符转换成对应段码的函数,另外还包括数码管显示函数 值得注意的是对于小数点和不显示部分的处理方式 由于小数点没有单独占一位,所以这里用到了两个变量i,j用于跳过小数点导致的占据其他字符显示在数…...
【大数据】机器学习----------强化学习机器学习阶段尾声
一、强化学习的基本概念 注: 圈图与折线图引用知乎博主斜杠青年 1. 任务与奖赏 任务:强化学习的目标是让智能体(agent)在一个环境(environment)中采取一系列行动(actions)以完成一个…...
flink写parquet解决timestamp时间格式字段问题
背景 Apache Parquet 是一种开源的列式数据文件格式,旨在实现高效的数据存储和检索。它提供高性能压缩和编码方案(encoding schemes)来批量处理复杂数据,并且受到许多编程语言和分析工具的支持。 在我们通过flink写入parquet文件的时候,会遇到timestamp时间格式写入的问题。…...
redis实现lamp架构缓存
redis服务器环境下mysql实现lamp架构缓存 ip角色环境192.168.242.49缓存服务器Redis2.2.7192.168.242.50mysql服务器mysql192.168.242.51web端php ***默认已安装好redis,mysql 三台服务器时间同步(非常重要) # 下载ntpdate yum -y install…...
正则表达式中常见的贪婪词
1. * 含义:匹配前面的元素零次或者多次。示例:对于正则表达式 a*,在字符串 "aaaa" 中,它会匹配整个 "aaaa",因为它会尽可能多地匹配 a 字符。代码示例(Python):…...
CF 339A.Helpful Maths(Java实现)
题目分析 输入一串式子,输出从小到大排列的式子 思路分析 如上所说核心思路,但是我要使用笨方法,输入一串式子用split分割开,但是此时需要用到转义字符,即函数内参数不能直接使用“”,而是“\\”。分割开后…...
SQL 指南
SQL 指南 引言 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库系统的标准计算机语言。自1970年代问世以来,SQL已经成为了数据库管理和数据操作的事实标准。本文旨在为初学者和有经验的数据库用户提供一个全面的SQL指南,涵盖SQL的基础知识、高级…...
DDD架构实战第七讲总结:分层模型和代码组织
云架构师系列课程之DDD架构实战第七讲总结:分层模型和代码组织 一、引言 在前几讲中,我们介绍了领域驱动设计(DDD)的基本构造块和生命周期模型中的聚合。本讲将重点讨论如何将这些构造块和代码组织起来,探讨分层架构和六边形模型,以及如何组织代码结构。 二、工厂和资…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
webpack面试题
面试题:webpack介绍和简单使用 一、webpack(模块化打包工具)1. webpack是把项目当作一个整体,通过给定的一个主文件,webpack将从这个主文件开始找到你项目当中的所有依赖文件,使用loaders来处理它们&#x…...
Redis上篇--知识点总结
Redis上篇–解析 本文大部分知识整理自网上,在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库,Redis 的键值对中的 key 就是字符串对象,而 val…...
简单介绍C++中 string与wstring
在C中,string和wstring是两种用于处理不同字符编码的字符串类型,分别基于char和wchar_t字符类型。以下是它们的详细说明和对比: 1. 基础定义 string 类型:std::string 字符类型:char(通常为8位)…...










