Linux操作系统--软件包管理(保姆级教程)
RPM软件包的管理
大多数linux的发行版本都是某种打包系统。软件包可以用来发布应用软件,有时还可以发布配置文件。他们比传统结构的.tar和.gz存档文件有几个优势。如它们能让安装过程尽可能成为不可分割的原子操作。
软件包的安装程序会备份它们改动过的文件。如果发现新安装软件包破坏了系统上的什么地方,可以卸载它,恢复原本的状态。
RPM(RedHat package manger)由RH公司发行的打包方式
软件的打包方式有以下几种:
1、RPM方式
2、源代码压缩方式
3、二进制文件压缩包方式
查询RPM包
格式:rpm -q [其他选项] [软件名称]
其它选项:
a //表示显示当前系统中安装的所有RPM包
f 文件名(全路径) //表示查找指定文件所属的RPM包
i 软件包名称 //表现显示包的用途
l 软件包名称 //表示显示RPM包文件
如下实例:
rpm -q bind
我们通过命令查看bind包的详细信息,比如这个包的名字,以及相关的信息。
rpm -qa

这里会列出很多此操作系统以及安装了的RPM包。
rpm -qf /etc/name.conf

查找指定文件所属的RPM包
rpm -qi bind

这里会显示出这个RPM包的详细信息以及用途。
rpmm -pl bind

这里就显示出与RPM包相关的文件。
RPM包名称格式
软件名称-版本号-发行号.安装平台.rpm
举例

软件包名称为bind、版本号(9.11.4)、发行号为26、硬件平台(x86_64)。其安装简单之极,登录为根用户,然后在shell下执行下面相关命令即可。
RPM包的安装方式
很多时候,我们在linux操作系统中下载一个应用的时候,都是系统自己帮我们安装好。但是在有的时候,我们需要自己去拷贝或者下载一个安装包,这个时候就需要我们RPM包的安装方式了。
1、普通安装使用最多的安装方式,采用一般的安装参数。安装当前目录下的xplns-elm-3.3.1-1.i386.rpm
#rpm -ivh xplns-elm-3.3.1-1.i386.rpm
这里的参数中
-i 安装
-v 显示附件信息
-h 用#显示安装进度
2、测试安装用户对安装不很确定时可以先使用该种安装方式测试安装,不真正安装。若无错误信息显示在真正安装。
#rpm -i --test xplns-elm-3.3.1-1.i386.rpm
参数
-i 安装
–test 测试
3、强制安装强制安装软件,忽略软件包依赖性以及文件的冲突。若对软件包的依赖性很清楚,而且确实要忽视文件的冲突,可以选择强制安装。
#rpm -i --force xplns-elm-3.3.1-1.i386.rpm
参数
-i 安装
-v 显示附件信息
-h 用#显示安装进度
–test 表示强制的意思
当然我们在安装某些安装包的时候,还有其他详细选项。
除了我们刚才以及提到的test和force还有
–prefix //指定安装路径。
–nodeps //忽略包之间的依赖关系
升级软件包
格式:#rpm -Uvh [详细选项] 软件包名称
说明:-Uvh表示升级安装且显示安装进度(U一定要大写,Linux下严格区分大小写)
实例:rpm -Uvh bind-10.1-1.i386.rpm
可以使用-U来安装软件包
软件包的升级时执行卸载旧版本软件和安装新版本
软件两个过程。RPM会先备份老文件再安装新文件。
实例,我后面补上。
卸载软件包
格式:#rpm -e [详细选项] 软件名称
说明:-e表示卸载软件包
实例:
rpm -e bind
rpm -e nfs-utils

归档/压缩文件
很多时候,我们都有在Linux操作系统中做开发的时候,当我们写了很多代码很多程序的时候,这个时候我们需要将这些代码(程序)进行归档或者压缩的时候,这个时候就需要我们使用下面的命令进行完成任务。
tar(tape archiving program),最早是一个磁盘归档程序。
tar命令用于文件的打包,可以将若干文件和目录打包成一个文件,既利于文件管理,也方便压缩和文件的网络传输。
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件或者向档案加入新的文件。
tar命令格式
命令格式
tar 主选项 [辅助选项] 文件或目录
常用主选项
-A, --catenate, --concatenate:将若干个tar文件合成一个tar文件
-c, --create:创建一个新的tar文件
-d, --diff, --compare:比较tar文件或文件系统的不同之处。
–delete:从tar文件中删除文件,但不能把磁带文件删除
-r, --append:在tar文件尾部追加文件。
-t, --list:显示tar文件内容
-u, --extra, get:从tar文件中提出文件。
-Z:使用gzip压缩/解压文件
案例讲解
tar -cfv gone.tar./*
c创建tar
f指明创建文件
v显示处理详细过程
./*表示把当前目录下内容打包成gong.tar
tar -tf gone.tar
t表示显示gone.tar中包含哪些文件
tar -xvf gone.tar
x表示从tar文件中提取文件
tar -rf gone.tar myfile
在tar文件尾部追加文件
16
相关文章:
Linux操作系统--软件包管理(保姆级教程)
RPM软件包的管理 大多数linux的发行版本都是某种打包系统。软件包可以用来发布应用软件,有时还可以发布配置文件。他们比传统结构的.tar和.gz存档文件有几个优势。如它们能让安装过程尽可能成为不可分割的原子操作。 软件包的安装程序会备份它们改动过的文件。如果…...
【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE
HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE 问题描述 uniapp开发微信小程序,在HBuilderx中运行到微信开发者工具时报错Error: Fail to open IDE 解决方案 1. 查看微信开发者工具端服务端口是否开放 打开微信开发者工具选择࿱…...
Rust详解日志
详解日志 相比起监控,日志好理解的多:在某个时间点向指定的地方输出一条信息,里面记录着重要性、时间、地点和发生的事件,这就是日志。 注意,本文和 Rust 无关,我们争取从一个中立的角度去介绍何为日志 日…...
某麦网自动刷新抢票脚本——手机端(高级版)
某麦网自动刷新抢票脚本——电脑端 小白操作-抵制黄牛–需要更好用更高级关注获取 如何用Python自动抢大麦网演出票? 在数字化时代,购票已经成为我们生活的一部分,无论是音乐会、话剧、体育赛事还是各种展览,抢票几乎成了一项“…...
【MySQL】(基础篇十八) —— 触发器
触发器 本文学习什么是触发器,为什么要使用触发器以及如何使用触发器,还介绍创建和使用触发器的语法。 MySQL语句在需要时被执行,存储过程也是如此。但是,如果你想要某条语句(或某些语句)在事件发生自动执…...
[19] Opencv_CUDA应用之 基于形状的对象检测与跟踪
Opencv_CUDA应用之 基于形状的对象检测与跟踪 形状可以用作全局特征检测具有不同形状的物体,可以是直线、多边形、圆形或者任何其他不规则形状利用对象边界、边缘和轮廓可以检测具有特定形状的对象本文将使用Canny边缘检测算法和Hough变换来检测两个规则形状,即线和圆1. Cann…...
【Echarts】散点图 制作 气泡 类型图表
目录 需求主要代码效果展示注 需求 需参照设计图画出对应图表 主要代码 /**** 数据 ****/ this.dataList [...Array(8).keys()].map((item) > {return {ywlxmc: 业务类型 (item 1),sl: item > 4 ? 50 : 70} })/**** 气泡样式 ****/ const styleList [{offset: [56…...
深入理解Spring Boot的启动过程
深入理解Spring Boot的启动过程 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们一起深入探讨Spring Boot的启动过程。Spring Boot作为一…...
【深度学习】卷积神经网络CNN
李宏毅深度学习笔记 图像分类 图像可以描述为三维张量(张量可以想成维度大于 2 的矩阵)。一张图像是一个三维的张量,其中一维代表图像的宽,另外一维代表图像的高,还有一维代表图像的通道(channelÿ…...
游戏AI的创造思路-技术基础-深度学习(3)
继续填坑,本篇介绍深度学习中的长短期记忆网络~~~~ 目录 3.3. 长短期记忆网络(LSTM) 3.3.1. 什么是长短期记忆网络 3.3.2. 形成过程与运行原理 3.3.2.1. 细胞状态与门结构 3.3.2.2. 遗忘门 3.3.2.3. 输入门 3.3.2.4. 细胞状态更新 3.…...
贪心算法练习题(2024/6/24)
1K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最…...
大厂程序员上班猝死成常态?
大家好,我是瑶琴呀,拥有一头黑长直秀发的女程序员。 近日,连续看到大厂程序员猝死、低血糖晕倒的新闻,同为程序员感到很难受。互联网加班成常态这是既定事实,尤其在这个内卷严重、经济不景气的环境中,加班…...
深度学习 —— 1.单一神经元
深度学习初级课程 1.单一神经元2.深度神经网络3.随机梯度下降法4.过拟合和欠拟合5.剪枝、批量标准化6.二分类 前言 本套课程仍为 kaggle 课程《Intro to Deep Learning》,仍按之前《机器学习》系列课程模式进行。前一系列《Keras入门教程》内容,与本系列…...
Android 12.0 通知发送过程源码分析-Framework
以下NotificationManagerService简称 NMS 1. 通知的发送: NotificationManager.notify(int id, Notification notification) 开始. 源码路径: /frameworks/base/core/java/android/app/NotificationManager.java/***发布通知以显示在状态栏中。 如果通知带有* 相同的 ID 已被…...
提防远程攻击:了解正向 Shell 和反向 Shell 确保服务器安全
前言 在当今网络安全形势日益复杂的环境中,了解正向 Shell 和反向 Shell 的工作原理和使用场景,对于保护你的服务器免受远程攻击至关重要。本文不仅深入解析这两种常见的远程控制技术,还将提供有效的防护建议,帮助你提升服务器的…...
RabbitMQ中CorrelationData 与DeliveryTag的区别
在RabbitMQ中,CorrelationData是一个用于封装业务ID信息的类,它主要在消息确认机制中发挥作用。以下是关于CorrelationData在RabbitMQ中的详细作用: 封装业务ID信息: 当发送消息时,可以将业务ID信息封装在Correlation…...
数据恢复篇:如何在Android上恢复删除的短信
如果您不小心删除了Android设备上的短信并想要检索它们,则可以尝试以下方法: 如何在Android上恢复删除的短信 检查您的备份: 如果您之前备份了Android设备,则可以从备份中恢复已删除的短信。检查您设备的内部存储空间或 Google 云…...
花了大几万的踩坑经验!宠物空气净化器哪个牌子好:希喂、小米、有哈PK
我的闺蜜最近向我大吐苦水,自从家里养了猫之后,她发现家里的空气质量大不如前。宠物的浮毛和排泄物的气味在空气中飘散,让她非常怀念以前没有养猫时家里清新的呼吸环境。她觉得这些漂浮的毛发和异味大大降低了居家的舒适度。 还引起了身体上…...
查普曼大学团队使用惯性动捕系统制作动画短片
道奇电影和媒体艺术学院是查普曼大学的知名学院,同时也是美国首屈一指的电影学院之一,拥有一流电影制作工作室。 最近,道奇学院的一个学生制作团队接手了一个项目,该项目要求使用真人动作、视觉效果以及真人演员和CG角色之间的互动…...
vue 代理
一、常用的发送一个ajax请求: 1、xhr new XMLHttpRequest(),真正开发中不常用 2、jq,jq主要功能是获取dom,周边才是请求接口 3、axios(大名鼎鼎的) axios.get("url").then(response>{},error>{} )4、…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...
