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=0
yum 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)的基本构造块和生命周期模型中的聚合。本讲将重点讨论如何将这些构造块和代码组织起来,探讨分层架构和六边形模型,以及如何组织代码结构。 二、工厂和资…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...