apt 与 dpkg 命令详解

news2024/11/19 9:35:31

一. apt & dpkg 异同点

1. apt 与 dpkg 均为 ubuntu 下面的包管理工具。
2. dpkg 仅用于安装本地的软件包,安装时不会安装依赖包,不解决依赖问题。

sudo dpkg -i <package_name>.deb

3. apt 默认会从远程仓库搜索包的名字,下载并安装,安装时会自动安装依赖包,并解决依赖问题。

sudo apt install <package_name>

  如果需要使用apt 从本地安装,需要在包名前指定路径,否则只从远程仓库查找。

sudo apt install <path>/<package_name>.deb

二. dpkg 常用命令

1. 概念

dpkg是一个debian包管理工具。能够对包进行安装、卸载、获取信息等操作。 

2. 用法
查看指定包的版本,架构和描述信息

dpkg -l <package_name>

dpkg --list <package_name>

列出所有已安装的包,和其版本,架构和描述信息

dpkg -l
dpkg --list

相当于

apt list --installed

查看包的安装路径

dpkg -L <package_name>

查看包是否安装

dpkg -s <package_name>

dpkg --status <package_name>

查找指定文件所属的包名,即这个文件是由哪个包安装产生的

dpkg -S <file_name>

dpkg --search <file_name>

安装

dpkg -i package_file
dpkg --install package_file

解包(该命令仅对“package_file“进行解包操作,不会执行包配置工作)

dpkg --unpack package_file

 配置包: 

dpkg --configure package

卸载包:

dpkg -r package
dpkg --remove package
该命令删除包,但保留配置文件。


dpkg -P package
dpkg --purge package
该命令删除包,且删除配置文件。

获取、设置、清除包的选择状态

dpkg --get-selections [package]
输出到标准输出,可以使用管道或重定向。


dpkg --set-selections
从标准输入获取,可以使用管道或重定向。


dpkg --clear-selections 
将所有包都标记为卸载。

其他选项: 

-B
--auto-deconfigure
卸载包时,自动把依赖于被卸载的包的所有包也卸载掉。

 --no-act
--dry-run
--simulate
仅用于测试,得到输出,不对系统进行任何修改。

还有一些选项指定的任务实际上是交给 dpkg-deb、dpkg-query完成的: 

dpkg-deb:
       -b | --build
       -c | --contents
       -e | --control
       -x | -extract
       -f | --field
       -I | --info
       -X | --vextract

dpkg-query
       -l | --list
       -s | --status
       -L | --listfiles
       -S | --search
       -p | --print-avail    

三. apt 常用命令 

1. 命令

  apt update

更新软件源中的所有软件列表。因为更新数据库等操作需要管理员的权限,所以在apt命令前要加上sudo命令取得权限。

运行apt update命令会返回三种状态:一是命中,一是获取,一是忽略。

命中表示连接上网站,包的信息没有改变。

获取表示有更新并且下载。

忽略表示无更新或更新无关紧要无需更新。

在命令显示的最后,会提示你有多少软件包可以升级,你可以根据自身的需求立即或稍后进行升级。

  apt list

apt list --upgradeable:显示可升级的软件包。

apt list --installed:显示已安装的软件包。

  apt upgrade

 执行完update命令后,就可以使用apt upgrade来升级软件包了。执行命令后系统会提示有几个软件需要升级。在得到你的同意后,系统即开始自动下载安装软件包。

  apt install <软件包名>

安装指定软件。此命令需管理员权限。如果你对名字并不十分清楚,你可以输入软件名的一部分,系统会给出名字相近的软件包名的提示。在老版本中安装程序需要使用 sudo apt-get install <软件包名>,现在新版本中已建议直接使用apt替代apt-get命令。
sudo apt install -f
使用此命令可修复依赖关系,假如有软件因依赖关系不满足而无法安装,就可以运行此命令自动修复安装程序包所依赖的包。特别是在使用dpkg命令安装deb软件包时出现依赖问题常需要此命令来修复。

  apt remove <软件包名>和apt autoremove

apt remove <软件包名>用来卸载指定软件。
apt autoremove用来自动清理不再使用的依赖和库文件。

  apt show <软件包名>

显示软件包具体信息。例如:版本号,安装大小,依赖关系,bug报告等等。

2. 附件

 

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

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

相关文章

多元线性回归——自相关(二)

自相关问题 文章目录 自相关问题(R)[toc]1 什么是自相关2 自相关产生的原因3 自相关的后果4 自相关检验5 自相关补救6 R语言操作 1 什么是自相关 经典普通最小二乘法估计的假设之一是扰动项不存在自相关&#xff0c;即对于 ∀ i ≠ j \forall i\ne j ∀ij,都有 C o v ( μ …

Kali-linux测试网络范围

测试网络范围内的IP地址或域名也是渗透测试的一个重要部分。通过测试网络范围内的IP地址或域名&#xff0c;确定是否有人入侵自己的网络中并损害系统。不少单位选择仅对局部IP基础架构进行渗透测试&#xff0c;但从现在的安全形势来看&#xff0c;只有对整个IT基础架构进行测试…

5G+工业物联网——解密“智能矿山”背后的黑科技

当前&#xff0c;以5G为代表的新一代信息技术正在飞速发展并加快应用&#xff0c;以工业物联网为代表的新型基础设施建设则推动着传统制造业数字化转型发展。依托我国5G全球最大的规模网络以及国家出台的一系列政策&#xff0c;“5G工业物联网”变成应用创新最活跃的行业之一。…

【Linux】认识高级IO 5种IO模型

文章目录 高级IOIO的基本概念什么是IOOS如何得知外设当中有数据可读取OS如何处理从网卡中读取到的数据包IO的步骤 五种IO模型钓鱼的例子对应的模型如何区分同步IO和异步IO 阻塞IO非阻塞IO信号驱动IOIO多路转接异步IO 高级IO的概念同步通信 VS 异步通信阻塞 VS 非阻塞 阻塞IO非阻…

基于springboot的家政服务平台的设计与实现

背景 现代社会&#xff0c;由于经济不断发展&#xff0c;家政服务的数量也在不断的增加&#xff0c;随着家政服务的数量增多&#xff0c;人们对家政服务信息的需求也越来越高。 以往的家政服务管理平台的管理&#xff0c;一般都是纸质文件来管理家政服务信息&#xff0c;传统…

Python基本数据类型 — 列表

一、列表基本操作 1、创建列表 &#xff08;1&#xff09;使用 [] 创建列表 创建一个空列表&#xff0c;可以使用以下代码&#xff1a; my_list []创建一个包含元素的列表&#xff0c;可以在方括号中使用逗号分隔值&#xff0c;如下所示&#xff1a; my_list [1, 2, 3, …

Qt编写视频监控系统72-通过onvif增删改查OSD

一、前言 之前监控系统中原创的onvif协议解析机制&#xff0c;已经能够满足绝大部分用户的需要&#xff0c;比如搜索设备、获取视频流地址并播放、云台控制、预置位管理、图片亮度色彩饱和度等参数设置等&#xff0c;近期又多了一个需求&#xff0c;那就是通过onvif国际标准协…

平台使用篇 | RflySim平台飞控固件上传教程

导读 本教程共介绍了4种飞控固件的上传方式&#xff0c;重点介绍了Simulink模型生成自定义固件上传的两种方法&#xff0c;其中固件上传步骤主要分为三步&#xff1a;下载源码、编译生成固件及最后上传固件。 01 PX4官方上传方式 详见PX4官方固件烧录教程&#xff1a;https:…

基于spring boot + maven + opencv 实现的图像深度学习

写在前面的话 这是一个基于spring boot maven opencv 实现的Demo教程项目贯穿样本处理、模型训练、图像处理、对象检测、对象识别等技术点以学习交流为目的&#xff0c;代码注释超多&#xff0c;文档也在逐步完善java语言的深度学习项目&#xff0c;在整个开源社区来说都相对…

RflySim平台使用篇 | Rflysim3D软件使用系列教程(二)

导读: RflySim3D&#xff08;支持体验版&#xff09;和RflySimUE5&#xff08;支持完整版&#xff09;为本平台核心三维显示软件&#xff0c; 分别基于UE4 和UE5 引擎开发&#xff0c;具备高逼真虚拟现实显示效果。本视频主要讲解了如何将自定义的三维场景如何加载到RflySim3D…

Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译加载流程测试

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/130542981 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

将远程服务器linux上的jupyter notebook映射到本地浏览器中

前提&#xff1a;mobaXterm可以连接远程服务器了 &#xff01;&#xff01;&#xff01;注意端口变化&#xff01;&#xff01;&#xff01; * 用从cmd中ssh -L 。。。去链接&#xff0c;报错perssion denied&#xff0c;所以还是选择mobaXterm方便。 1、mobaXterm的SSHTunnel配…

一般纳税人如何解决增值税、企业所得税高等问题?

业务是流程&#xff0c;财税是结果&#xff0c;税收问题千千万&#xff0c;关注《税算盘》来帮你找答案。 一般纳税人需要缴纳的增值税比小规模纳税人相比&#xff0c;需要缴纳更多。增值税作为我国第一大税种&#xff0c;能够筹划的空间并没有企业所得税那么多。 但是也是有…

软考A计划-真题-分类精讲汇总-第二章(操作系统)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

最近大火的ChatGpt,到底给我们带来了哪些改变?

我相信最近大家都有听说这个ChatGpt了吧&#xff01; 即使没有听说过也没有关系&#xff0c;我来给大家掰扯掰扯。 OpenAI公司推出了一款名为ChatGPT的人工智能聊天机器人&#xff0c;该技术通过利用大量训练数据&#xff0c;实现了人类般的自然语言处理能力&#xff0c;并能…

堆的实现,画图和代码分析建堆,堆排序,时间复杂度以及TOP-K问题

堆的实现 堆的概念及结构堆的实现初始化销毁返回堆顶元素判空有效数据个数堆的插入&#xff08;向上调整算法&#xff09;删除堆顶元素&#xff0c;仍然保持堆的形态&#xff08;向下调整算法&#xff09; 堆的创建向上调整法建堆向下调整建堆两种建堆方法时间复杂度向下调整法…

Go并发情况下debug调试无法进入所需调试goroutine,附带并发测试代码

大部分情况 问题&#xff1a; 在使用go语法的时候&#xff0c;由于并发情况&#xff0c;只能调试一个goroutine&#xff0c;但存在随机性&#xff0c;难指定 找到你所需的线程直接切换即可跳转。没有找到同时调试多个的办法&#xff0c;理论上是不行的&#xff0c;不然就不叫并…

美颜sdk的商业价值分析:如何利用美颜技术赢得市场?

当下&#xff0c;从自拍软件到直播平台&#xff0c;从手机相机到电商平台&#xff0c;美颜技术都有着广泛的应用。而美颜sdk作为美颜技术的重要组成部分&#xff0c;其商业价值也越来越受到关注。 一、美颜sdk有哪些商业价值&#xff1f; 随着美颜技术的不断发展&#xff0c…

历年系统架构师下午真题详解

请点击↑关注、收藏&#xff0c;本博客免费为你获取精彩知识分享&#xff01;有惊喜哟&#xff01;&#xff01; 试题一是必答题 阅读以下关于软件架构设计与评估的叙述&#xff0c;在答题纸上回答问题1和问题2。 【说明】 某电子商务公司拟升级其会员与促销管理系统&#…

LinkedList 的作者:我写了 LinkedList,但我自己都不用

Joshua Bloch&#xff1a;我写了 LinkedList&#xff0c;但我自己都不用&#xff01; 对&#xff0c;Joshua Bloch 就是 LinkedList 的作者&#xff01; 如果你真信了作者的话&#xff0c;那就真的大错特错了&#xff0c;LinkedList 虽然用的没有 ArrayList 多&#xff0c;但使…