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...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...