linux 命令:Debian、ubuntu系统的离线软件包管理工具dkpg详解

news2024/9/9 1:09:24

目录

一、背景

二、工作原理

1、基本原理

2、与apt工具的对比

2.1优势

2.1.1直接为底层操作,可操控性好

2.1.2安装卸载和配置都可实现

2.2劣势

2.2.1依赖关系处理不足

2.2.2无法从软件仓库获取软件包

2.2.3用户界面不友好

2.3 总结

三、语法和使用

1、基本语法

2、获取帮助

四、详细使用

1、dpkg安装软件包

2、用dpkg删除软件包

3、dpkg查询软件包信息

3.1 查询特定软件包

3.2 查询包含的文件和目录

4、其他用法


一、背景

    在某些特定的环境下,服务器无法访问互联网,因此要安装软件时,只能使用离线安装的模式。在Debian系统及其衍生系统(如ubuntu)中,一般使用dpkg来在离线环境管理软件包。

二、工作原理

1、基本原理

        dpkg允许用户以命令行方式安装、删除、查询、更新软件包,以及处理软件包的依赖关系。它直接与Debian的软件包格式(.deb文件)交互,提供了对软件包内容的底层访问,功能与centos中的rpm相似。

2、与apt工具的对比

        如下与apt的区别与优劣做一个对比。

2.1优势

2.1.1直接为底层操作,可操控性好

        dpkg是Debian包管理系统的底层工具,直接操作.deb软件包文件。这使得它在处理软件包时具有更高的灵活性和控制力。

2.1.2安装卸载和配置都可实现

        dpkg提供了安装、卸载、配置和构建Debian软件包的基本功能。这些功能对于需要直接操作软件包文件的用户来说非常有用。

2.2劣势

2.2.1依赖关系处理不足

        dpkg不会自动解决软件包的依赖关系,这可能导致在安装软件包时遇到依赖性问题。用户需要手动解决这些依赖关系,这可能会增加安装的复杂性和出错的可能性。

2.2.2无法从软件仓库获取软件包

        dpkg不能从镜像站或软件仓库获取软件包,它只能处理已经下载到本地的.deb文件。这限制了dpkg在自动更新和安装软件包方面的能力。

2.2.3用户界面不友好

        与apt等高级包管理工具相比,dpkg的命令行界面可能不太友好,对于不熟悉Linux命令行的用户来说可能难以使用。

2.3 总结

        dpkg本身是一个底层的工具。而apt是建立在dpkg之上的更高级的工具,它提供了更友好的用户界面和更复杂的操作,如自动解决依赖关系、从远程仓库获取软件包等。在正常的环境中,使用apt来进行软件包的管理更加的方便。但在无法访问互联网的环境中,使用dpkg来管理软件包是一个不错的选择。

三、语法和使用

1、基本语法

        dpkg命令的基本语法为:

        dpkg [<option>...] <command>

        其中,option表示dpkg命令的选项,command表示dpkg执行的具体操作(例如安装、卸载、查询等)。

2、获取帮助

        具体用法可以使用:

        dpkg –help

        或

        man dpkg

        来获取帮助信息。

        具体操作参考如下:

四、详细使用

1、dpkg安装软件包

        dpkg -i <deb_file_name>

        下面以安装net-tools为例进行详细介绍。

①获取net-tools的deb包,并放在本地服务器中

查看本地没有安装过net-tools软件包

使用dpkg离线安装net-tools软件包

dpkg -i net-tools_2.10-0.1_amd64.deb

        可以看到,安装完成后,软件包中的命令ifconfig 可以正常使用。

2、用dpkg删除软件包

        dpkg -r <package>命令删除软件包,但保留其配置信息。

        dpkg -P <package>命令删除软件包及其所有配置文件。

        命令如下:

        dpkg -P net-tools

        可以看出,net-tools被顺利删除。

3、dpkg查询软件包信息

3.1 查询特定软件包

        当软件包成功安装时,使用命令:

        dpkg -s <package-name>

        查询特定软件包的详细信息。

3.2 查询包含的文件和目录

        使用命令:

        dpkg -L <package-name>

        列出软件包中包含的文件和目录。如下所示:

4、其他用法

        其他用法包括如下:

        dpkg -R命令用于安装一个目录下面所有的软件包。

        dpkg --unpack命令用于释放软件包,但不进行配置。

        dpkg --configure命令用于重新配置和释放软件包。

        dpkg --purge命令用于删除软件包及其所有配置文件。

        dpkg --list 命令用于列出所有已安装的软件包。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1917429.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

演唱会售票系统(Springboot+MySQL+Mybatis+BootStrap)

本演唱会售票系统结合了多个流行的技术栈&#xff0c;提供了全面的功能模块&#xff0c;包括用户和管理员两个角色。前端采用Bootstrap框架设计响应式界面&#xff0c;后端采用Spring Boot和MyBatis Plus实现业务逻辑和数据库操作&#xff0c;Sa-Token确保系统的安全性。通过这…

TikTok短视频矩阵管理系统源码

在数字化浪潮汹涌的今天&#xff0c;短视频已成为人们生活中不可或缺的一部分。TikTok作为短视频领域的佼佼者&#xff0c;其用户基数庞大&#xff0c;影响力深远。然而&#xff0c;对于众多内容创作者和营销人员来说&#xff0c;如何高效管理多个TikTok账号&#xff0c;实现批…

【AI大模型新型智算中心技术建设白皮书 2024】

文末有福利&#xff01; 一、新算效——重塑计算架构 1.1 下一代 AI 芯片设计思路 以 GPU 为 代 表 的 高 性 能 并 行 计 算 芯 片 架 构 和 以 针 对 AI 领 域 专 用 加 速&#xff08;DSA, Domain Specific Architecture&#xff0c;DSA&#xff09;为代表的芯片架构是目…

从头开始搭建一套Elasticsearch集群

前言 刚开始使用ES接触的就是rpm或者是云上提供的ES服务&#xff0c;基本上开箱即用。特别是云上的ES服务&#xff0c;开局就是集群版本&#xff0c;提供的是优化后的参数配置、开箱即匹配访问鉴权及常用插件&#xff0c;如无特殊需要基本上屏蔽了所有细节&#xff0c;直接可投…

视频压缩电脑软件,视频压缩电脑怎么操作

在数字媒体时代&#xff0c;视频文件的大小往往让人头疼。如何在不损失画质的情况下压缩视频&#xff0c;成为了许多创作者和普通用户的需求。本文将为你详细介绍电脑压缩软件&#xff0c;让你轻松应对视频压缩任务。 1.下载并安装视频压缩软件。 2.打开软件&#xff0c;选择视…

HTML集成优雅的实时输入清除功能

引言 你好呀&#xff0c;我是小邹。 点击访问 我的个人博客 在现代网页设计中&#xff0c;用户体验是至关重要的。一个流畅、直观且反应迅速的界面能够显著提升用户满意度。本文将介绍如何在网页表单中集成实时输入清除功能&#xff0c;即在输入框中显示一个“x”图标&#…

华为手机联系人不见了怎么恢复?3个解决方案

华为手机联系人列表就像是我们精心编织的社交网络之网。然而&#xff0c;有时&#xff0c;这张网可能会因为各种原因而意外破损&#xff0c;联系人信息消失得无影无踪&#xff0c;让我们陷入“人脉孤岛”的困境。华为手机联系人不见了怎么恢复&#xff1f;别担心&#xff0c;我…

3.js - 灯光与阴影 - 聚光灯

// ts-nocheckimport * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入hdr加载器 import { RGBELoader } from three/examples/jsm/loaders/RGBELoader.js // 导入lil.gui import { GUI } from thre…

关于 Qt在国产麒麟系统上设置的setFixedSize、setMinimumFixed、setMaxmumFixed设置无效 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140242881 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

万物皆可嵌入--embedding在GPU中的实现

摘要 Embedding技术自从谷歌推出word2vec的工作后得到迅速的应用&#xff0c;典型应用之一是在广告推荐场景中&#xff0c;从word2vec演进到item2vec&#xff0c;embedding技术的出现也使深度学习进入广告推荐的场景成为可能。广告推荐模型动辄几十GB甚至TB的模型大小&#xf…

MVC 控制器 中Action 不能同名,参数不一样,路由器寻找不到对应的,要加特性

//1 方法不可能完全相同&#xff0c;参数不同//2 那还需要特性吗&#xff1f;需要的&#xff0c;因为MVC选择方法时&#xff0c;不是按参数选择&#xff1a;http请求发送很多数据&#xff0c;其实没法识别&#xff0c;//因为mvc找方法是通过反射来的&#xff0c;GetMethods(nam…

C#(asp.net)房屋租赁管理系统-计算机毕业设计源码64421

目 录 摘要 1 绪论 1.1 研究背景与意义 1.2开发现状 1.3论文结构与章节安排 2 房屋租赁管理系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 …

vue3+springboot+mybatis+mysql项目实践--简单登录注册功能实现

这里是一次对vue3springbootmybatismysql的项目实现&#xff0c;简单实现前后端分离的登录注册功能&#xff0c;主要工具&#xff1a;idea,navicat 目录 一、创建vue3项目并初始配置 创建vue3项目 2.修改项目结构 1&#xff09;原始目录结构 2&#xff09;修改后目录结构 …

5G RedCap调查报告

一、5G RedCap技术背景 5G RedCap(Reduced Capability缩写,轻量化5G),是3GPP标准化组织定义下的5G裁剪版本,是5G面向中高速率连接场景的物联网技术,它的能力介于5G NR(含eMBB和uRLLC)和LPWA(如LTE-M和NR-IoT)之间,如图1所示,是5G-A(5G Advanced)的关键技术之一。…

用网络编程完成windows和linux跨平台之间的通信(服务器)

服务器代码逻辑&#xff1a; 服务器功能 创建 Socket&#xff1a; 服务器首先创建一个 Socket 对象&#xff0c;用于进行网络通信。通常使用 socket() 函数创建。 绑定&#xff08;Bind&#xff09;&#xff1a; 服务器将 Socket 绑定到一个特定的 IP 地址和端口号上。这是通过…

51单片机STC89C52RC——16.1 五线四相步进电机

目录 目的/效果 一&#xff0c;STC单片机模块 二&#xff0c;步进电机 2.2 什么是步进电机&#xff1f; 2.2.1 步进电机驱动板 静态参数 动态参数 2.2.2 五线四相 单相激励步进 双相激励步进 混合激励驱动 2.3 细分驱动 2.4 通过数字信号控制旋转位置和转速。 2…

JavaScript-map方法

map可以遍历数组处理数据&#xff0c;并返回新的数组 语法&#xff1a; ​const arr[元素1&#xff0c;元素2&#xff0c;元素3] const newarrarr.map(function(数组的元素,数组的索引)){return 新元素 } const arr[blue,red,green]const newarrarr.map(function(ele,index){co…

物业系统自主研发接口测试框架

1、自主研发框架整体设计 1.1、什么是测试框架? 在了解什么是自动化测试框架之前&#xff0c;先了解一下什么叫框架?框架是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交互的方法;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架…

【小白也能看的懂】想要玩转AI大模型,这4招你得知道

前言 对于大部分人来说&#xff0c;能够灵活使用AI工具&#xff0c;并对自己每个常用的AI工具优劣势很清楚&#xff0c;就已经足够了。不过&#xff0c;毕竟AI发展实在太快&#xff0c;多了解一些相关的知识点&#xff0c;以全局的视角去看AI&#xff0c;可以避免管中窥豹&…

用SmartEDA点亮电路教学:传统课堂的革新之道

在数字化浪潮的推动下&#xff0c;教育领域也迎来了前所未有的变革。特别是在电路教学这一专业领域&#xff0c;传统的黑板加课本的教学模式已难以满足现代学生的需求。今天&#xff0c;我们就来探讨一下&#xff0c;如何利用SmartEDA电路仿真软件来补充传统教学&#xff0c;为…