Linux系统及操作 (04)
Linux系统及操作 (03)
RPM 软件包
- 网络下载对应软件包
- 光盘镜像文件,具备软件包
Windows 系统软件包的管理
- 可以指定安装位置
- 安装是集中安装到一个目录
- Linux 系统 与 Windows 系统相反。
常见的软件包(生态)类型
- 电脑入侵99%都是通过软件包的漏洞进行的。
- window 生态
- Android 生态
- ios 生态
- rpm软件包 :扩展名为 .rpm,适用于 RedHat 系统。
- deb软件包 : 扩展名为 .deb 适用于 Debian 系统
- 源代码软件包 :通常以 .tar.gz , .tar.bz2 格式的压缩包提供包含程序的原始代码文件
- 其他 :提供 instal.sh , setup , *.bin , *.pl 等文件。
- 其他 : 绿色免安装,提供已编译好的程序及相关文件
RPM的含义
-
RedHat Package Manager : 红帽公司提供,RedHat,SUSE等系统采用
-
集中数据库,记录软件包的安装卸载等变化
- http://rpmfind.net/
- http://www.centos.org/
-
RPM包软件名特征
-
[ 软件名 ] - [ 版本信息 ] . [ 操作系统版本 ] . [ 硬件构造 ] . rpm
{ firefox - 91.9.0-1 . el8_5 . x86_64 . rpm }
-
软件名 :firefox。 ( 软件名和软件包名需要区分 )
-
版本信息 :91.9.0-1 ( 数字越大版本越新 )
-
操作系统版本 : el8_5 ( 大版本为 8 )
-
硬件构造 : x86_64 ( 64位系统 )
-
-
Linux软件包的安装是没有下一步,指定默认安装位置,分散的,不集中。
-
优点 : 简单。
-
缺点 : 不够灵活。
-
Linux系统 安装的软件名 与 所产生的众文件名 不对应不一样的情况较多。
-
Linux 系统安装程序软件的路径是 :带 /bin 的路径 。
- 普通执行程序 : [ /usr/bin/ ] [ /bin/ ]
- 服务区程序,管理工具 : [ /usr/sbin ] [ /sbin/ ]
-
配置文件 :决定和修改软件的功能。(配置服务) [ /etc/ ] [ /etc/软件名/ ]
-
日志文件 :每个软件都会记录其运行轨迹。 [ /var/log/ ] [ /var/log/软件名/ ]
-
程序文档,man手册页 : [ /usr/share/doc/ ] [ /usr/share/man/ ]
-
rpm 命令 : 查询系统软件信息
格式 :rpm -q[子选项] [ 软件名称 ]
- [ rpm -q firefox ] 查看软件 firefox 是否安装。(查询软件)
- [ rpm -q httpd ] 查看软件 httpd构造Web服务器软件。(查询软件)
- [ rpm -q vsftpd ] 查看软件包 vsftpd 是否安装。
子选项:
-
[ -a ] : 列出已安装所有软件包
- [ rpm -qa ] 列出所有已安装包。
- [ rpm -qa | grep firefox ] 查看所有已安装的 firefox 软件。
- [ rpm -qa | wc -l ] 查看已安装所有软件的个数。
-
[ -i ] : 查看指定已安装软件的详细信息(软件说明)
-
[ rpm -qi firefox ]
查 firefox 的文件信息。
-
-
**[ -l ] : 查看指定已安装软件的文件安装清单 **(列出安装清单)
-
[ rpm -ql firefox ]
查 firefox 都产生了什么 。
-
[ rpm -qf /etc/shadow ]
查是哪个软件包的安装产生了 /etc/shadow 文件。
原软件包已删也可以查出来。
-
-
[ -qpl ] : 查看未安装的软件包的安装路径和安装清单 。
- [ rpm -qpl httpd ]
- 查看软件包的时候要使用绝对路径
-
[ -qpi ] : 产量未安装的软件包的软件信息 。
- [ rpm -qpi httpd ]
- 查看软件包的时候要使用绝对路径
-
为了软件包的绿色安全,Linux 会检测软件包有没有红帽签名(商标) ,没有签名的包会现实警告。有红帽签名是Linux官方的安全无害的软件包。无商标不一定不好用,危险。
-
红帽签名信息是加密的。 /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
-
Linux 系统不认识,不识别红帽签名时也会显示警告。
-
导入红帽签名识别信息
[ rpm --import /etc/pki/rpm-gpg/rockyofficial ]
-
软件的安装/卸载
依赖关系
-
Linux 操作系统中,一个软件包在运行时所需的其他软件包或库文件。
-
解决依赖关系 :
- 先安装/卸载要求的包。
- 如果RPM包齐全,但比较多。
-
忽略依赖关系 :
- 可能会导致软件运行异常
- 辅助选项 [ -nodeps ]
rpm安装
-
rpm安装 :无法解决依赖关系。
-
格式 :[ rpm -i RPM包文件… ]
-
辅助选项:
- [ -v ] : 显示细节信息
- [ -h ] :以 # 号显示安装进度
- [ rpm -ivh RPM包文件绝对路径 ] :安装软件
-
卸载RPM软件
- 格式 :[ rpm -e 软件名… ]
Yum 软件安装
Yum软件安装 :自动解决软件的依赖关系。
- YUM : Yellowdog Updater Modified
- 基于RPM包构建的软件更新机制
- 自动解决软件的依赖关系
- 所有软件包由集中的YUM软件仓库提供
- 使用前提 构建软件仓库
- 是一种基于“C/S”结构的RPM软件更新机制,所有的软件包由集中的软件仓库提供,能够自动分析并解决软件包之间的依赖关系。
构建软件仓库
-
任意目录即可 (仓库地址)
-
拥有众多软件(解决依赖关系)
-
软件清单文件 (仓库内软件的信息汇总文件)
- /AppStream/ (完美的软件仓库)下 Package 是众多软件 ,repodata 是软件清单文件(软件数据文件)。
-
RPM软件包来源
- Red Hat发布的RPM包集合(系统光盘内容)
-
yum程序(命令)不知道软件仓库路径。
-
需要指明仓库文件的位置给yum命令 , 写一个仓库配置文件(手写)
- yum命令 ==> 仓库配置文件 ==> 软件仓库
-
手写并背诵仓库配置文件
- 位置固定 :[ /etc/yum.repos.d/ ] (存在多种仓库)
- 命名为 :*[ .repo ]
- 错误文件会影响正确文件。保持所有仓库文件正确。(yum不会递归读)
- /yum.repos.d/ 下建立新的目录 ,把干扰文件mv。清除其他配置文件的影响。
-
仓库配置文件**[ .repo ]* 内容 :
**[ appstream ] -----自定义名称,具有唯一性****name=appstream -----本软件源的描述字符串****baseurl=file:///mnt/AppStream -----指定YUM服务端的URL地址(仓库的位置)***[file://] 代表本机路径(本地yum仓库) [http://] 代表网络服务路径***enabled=1 -----是否启用此频道**[ 1 ] 仓库提供服务 [ 0 ] 仓库不提供服务**gpgcheck=1 -----是否验证待安装的RPM包**[ 1 ] 检测红帽签名是否存在 [ 0 ] 不检测红帽签名信息**gpgkey=0 -----用于RPM软件包验证的密匙文件**[ gpgcheck=1 ]时 ,需要输入密匙
-
[ yum repoinfo ] 查看本机识别的软件仓库,列出仓库信息。
-
除了 [ /mnt/AppStream] 还有 [ /mnt/BaseOS ] 有仓库的情况(多包)
**[ appstream ] -----自定义名称,具有唯一性****name=appstream -----本软件源的描述字符串****baseurl=file:///mnt/AppStream -----指定仓库位置的绝对地址****enabled=1 -----是否启用此频道****gpgcheck=1 -----是否验证待安装的RPM包****gpgkey=0 -----用于RPM软件包验证的密匙文件****[ baseos ]** **name=baseos** **baseurl=file:///mnt/BaseOS** **enabled=1** **gpgcheck=1** **gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial**
-
Yum判断配置文件个数只认 [ ] 中的自定义名称个数。
安装/卸载软件包
- 软件包基本操作,安装软件包测试
- 格式 : yum [ -y ] [ 指令 ] [ 软件名 ] …
- [ -y ] : 安装
- 常用指令 :
- [ install ] : 安装指定软件包, 类似 [ rpm -i ]
[ yum -y install 软件包 ] - [ remove ] : 卸载指定软件包, 类似 [ rpm -e ]
[ yum remove 软件包 ] ---------卸载并询问是否操作
[ yum -y remove 软件包 ] ---------卸载并不询问是否操作
- [ install ] : 安装指定软件包, 类似 [ rpm -i ]
查询软件信息
-
[ yum info 软件名 ] 查询对应软件的具体信息。
-
[ yum list 需要软件名 ] 查询仓库是否有该软件 ,精准文字符串。
-
**[ yum search 软件名的关键词 ] ** 查询仓库是否有该软件或功能类似的文件,模糊文字符串。
-
[ yum provides 文档路径 ] 查看哪些软件能够提供对应文件。
- [ rpm -qf xxxx ] 只能检测已安装的软件。
- [ rpm provides xxxx ] 可以检测尚未安装的软件。
-
[ yum -y reinstall xxxx ] 修复/覆盖重新安装软件
-
[ yum clean all ] 清空Yum的缓存
-
[ yum repoinfo ] 列出仓库信息
总结 :本地Yum仓库构建方法
- 显示光盘的内容,挂载光驱设备[ mount /dev/cdrom /mnt ]
- 书写仓库配置文件,指定仓库位置[ /etc/yum.repos.d/.repo ]*
- 检查配置文件,[ yum repoinfo ]
- 安装软件 , [ yum -y install 软件名]
- 检查是否安装成功 ,[ rpm -q 软件名 ]
命令补充
获得命令帮助
实用技巧
[ date ]
-
查看/调整系统时间
-
[ date ] 显示现在时间
-
[ date -s ‘yyyy-mm-dd hh:mm:ss’ ] 修改时间为 yyyy-mm-dd hh:mm:ss
-
[ +%Y ] 显示年 ; [ +%m ] 显示月 ; [ +%d ] 显示日期 ; [ +%F ]显示年-月-日 ;
[ +%H ] 显示时 ; [ +%M ] 显示分 ; [ +%S ] 显示妙 ; [ +%T ]显示时:分:秒 ;
-
[ history ]
- 管理/调用曾经执行过的命令,记录1000条命令。
- [ history ] : 查看历史命令列表。
- [ history -c ] : 清空历史命令。
- [ history -w ] : 记录历史命令为空的状态。
- [ !n ] : n 代表任意数字,把历史记录中编号为 n 的命令再执行一遍。
- [ !str ] : str 代表文字符或文字串,把历史记录中最近一次以 str 开头的历史命令。
[ du ]
-
统计目录占用硬盘空间。
-
[ -s ] : 只统计每个参数所占用的总空间大小。
-
[ -h ] : 提供易读容量单位(K,M等)。
[ du -sh /root ]
[ du -sh /etc ]
-
制作快捷方式(链接文件/符号链接)
软链接
- 若原始文件或目录被删除,则链接失效。
- 改快捷方式相当于改原文件/目录
- 可存在于不同的分区/文件系统。
- [ ln -s 原始文件/目录 链接文件 ]
- 红色快捷方式表示bug。正确的快捷方式是天青色。
硬链接
- 若原始文件或目录被删除,链接依然可用。
- 只能针对文件制作快捷方式,不支持支持跨分区。
- [ ln 原始文件/目录 链接文件 ]
相关文章:
Linux系统及操作 (04)
Linux系统及操作 (03) RPM 软件包 网络下载对应软件包光盘镜像文件,具备软件包 Windows 系统软件包的管理 可以指定安装位置安装是集中安装到一个目录Linux 系统 与 Windows 系统相反。 常见的软件包(生态)类型 电脑入侵99%都是通过软件…...
粒子群算法 - 目标函数最优解计算
粒子群算法概念 粒子群算法 (particle swarm optimization,PSO) 由 Kennedy 和 Eberhart 在 1995 年提出,该算法模拟鸟群觅食的方法进行寻找最优解。基本思想:人们发现,鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物…...

关于MySQL数据库的学习3
目录 前言: 1.DQL(数据查询语言): 1..1基本查询: 1.2条件查询: 1.3排序查询: 1.3.1使用ORDER BY子句对查询结果进行排序。 1.3.2可以按一个或多个列进行排序,并指定排序方向(升序ASC或降序DESC&#…...
笔试题——得物春招实习
开幕式排练 题目描述 导演在组织进行大运会开幕式的排练,其中一个环节是需要参演人员围成一个环形。演出人员站成了一圈,出于美观度的考虑,导演不希望某一个演员身边的其他人比他低太多或者高太多。 现在给出n个参演人员的身高,问…...

动手做简易版俄罗斯方块
导读:让我们了解如何处理形状的旋转、行的消除以及游戏结束条件等控制因素。 目录 准备工作 游戏设计概述 构建游戏窗口 游戏方块设计 游戏板面设计 游戏控制与逻辑 行消除和计分 判断游戏结束 界面美化和增强体验 看看游戏效果 准备工作 在开始编码之前…...

【极简无废话】open3d可视化torch、numpy点云
建议直接看文档,很多都代码老了,注意把代码版本调整到你使用的open3d的版本: https://www.open3d.org/docs/release/tutorial/visualization/visualization.html 请注意open3d应该已经不支持centos了! 从其他格式转换成open3d…...

C语言经典算法-6
文章目录 其他经典例题跳转链接31.数字拆解32.得分排行33.选择、插入、气泡排序34.Shell 排序法 - 改良的插入排序35.Shaker 排序法 - 改良的气泡排序 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠走迷官(一&…...

【计算机考研】杭电 vs 浙工大 怎么选?
想求稳上岸的话,其他几所学校也可以考虑,以留在本地工作的角度考虑,这几所学校都能满足你的需求。 如果之后想谋求一份好工作,肯定优先杭电是比较稳的,当然复习的时候也得加把劲。 这个也可以酌情考虑,报…...
激活函数
优秀的激活函数: 非线性:激活函数非线性时,多层神经网络可逼近所有函数 可微性:梯度下降更新参数 单调性:当激活函数是单调的,能保证单层网络的损失函数是凸函数 近似恒等性:当参数初始化为…...
使用Jackson进行 JSON 序列化和反序列化
在Spring应用程序中,您可以通过Maven添加Jackson依赖,并创建一个工具类来封装对象的序列化和反序列化方法。以下是详细步骤: 1. 引入 Jackson 依赖 如果使用 Maven,您可以在 pom.xml 文件中添加以下依赖: <depend…...
Linux/Uinx 系统编程:定时器以及时钟同步
本章讨论了定时器和定时器服务;介绍了硬件定时器的原理和基于Intel x86 的PC中的硬件定时器;讲解了CPU操作和中断处理;描述了Linux中与定时器相关的系统调用、库函数和定时器服务命令;探讨了进程间隔定时器、定时器生成的信号,并通过示例演示了进程间隔定时器。编程…...

(Ubuntu中调用相机花屏)Astra plus深度相机--rgb彩色图像花屏解决方法之一
在调试深度相机的过程中只能能调出深度图像和红外图像 在rviz的image的topic中选择彩色图像的话题不显示图像 1、查看相机的usb序列号 lsusb如上图所示,此相机的USB序列号是2bc5:050f,2bc5:060f 其中050f是显示彩色图像的 在这里可通过拔插相机来确定序列号是哪几…...
iPaaS平台能帮助企业解决什么问题?
随着数字化转型的推进,越来越多的企业开始关注如何提高业务效率和灵活性。iPaaS作为一种新型集成平台,它能够帮助企业解决许多与应用程序和数据集成相关的问题。 它能给企业解决什么问题? 以下是 iPaaS 平台通常能够帮助企业解决的一些问题…...

数学建模(灰色关联度 python代码 案例)
目录 介绍: 模板: 案例:哪些原因影响结婚率 数据标准化: 灰色关联度系数: 完整代码: 结果: 介绍: 灰色关联度是一种多指标综合评价方法,用于分析和评价不同指标之…...
【DP】第十四届蓝桥杯省赛C++ B组《接龙数列》(C++)
【题目描述】 对于一个长度为 K 的整数数列:A1,A2,...,AK,我们称之为接龙数列当且仅当 的首位数字恰好等于 的末位数字 (2≤i≤K)。 例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 3…...

文件包含漏洞(input、filter、zip)
一、PHP://INPUT php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。从而导致任意代码…...
使用iconv解决Linux/Ubuntu/Debian中gb2312中文文档乱码问题
你可以使用 iconv 命令行工具将文件中的文本从 GB2312 转换为 UTF-8。 你可以这样做: iconv -f GB2312 -t UTF-8 input.txt > output.txt将 input.txt 替换为以 GB2312 编码的输入文件的名称,将 output.txt 替换为你想要的 UTF-8 格式转换文件的名称。…...

图论中的最小生成树:Kruskal与Prim算法深入解析
🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:アンビバレント—Uru 0:24━━━━━━️💟──────── 4:02 🔄 ◀️ ⏸ ▶️ ☰ …...
uniapp 之 实现商品详情的锚点跳转(类似京东商品详情-点击顶部按钮跳转的对应的页面的内容区域)
类似京东商品详情-点击顶部详情跳转到页面对应的详情区域,点击评价跳转到页面对应的评价区域等。 照例,先封装方法: 封装方法 util.js /*** 锚点跳转(如:商品详情页面跳转)* param {string} targetId 目…...

PPT好看配色
放几个链接!画图时候可以参考!转自知乎 Color Hunt ColorDrop 中国色 Flat UI Colors Coolors...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...