Debian 包管理工具apt使用
apt基本用法
apt
(Advanced Package Tool)是Debian及其衍生发行版(如Ubuntu、Linux Mint等)中非常强大的软件包管理系统。它允许用户从远程仓库安装、更新、升级、配置和卸载软件包。除了我们已经讨论过的卸载软件包的功能外,apt
还提供了许多其他有用的功能,以下是一些主要的:
-
apt update
:
更新本地的软件包列表,以便获取最新的软件包信息和可用更新。示例命令:
sudo apt update
-
apt upgrade
:
根据最新的软件包列表升级所有已安装的软件包到最新版本。示例命令:
sudo apt upgrade
-
apt full-upgrade
:
执行全面升级,这不仅会升级软件包,还会尝试解决依赖关系问题,可能会导致某些软件包的降级或移除。示例命令:
sudo apt full-upgrade
-
apt install
:
安装新的软件包或重新安装已存在的软件包。示例命令:
sudo apt install <package-name>
-
apt search
:
搜索可用的软件包,支持模糊搜索。示例命令:
sudo apt search <keyword>
-
apt show
:
显示软件包的详细信息,包括版本、描述、依赖项等。示例命令:
sudo apt show <package-name>
-
apt policy
:
查看软件包的安装状态和版本信息。示例命令:
sudo apt policy <package-name>
-
apt source
:
下载软件包的源代码。示例命令:
sudo apt source <package-name>
-
apt list
:
列出系统上已安装的软件包或可用的软件包。示例命令:
sudo apt list --installed sudo apt list <package-name>
-
apt cache
:
提供对APT缓存的访问,可以查询软件包的各种信息。示例命令:
sudo apt cache show <package-name>
-
apt edit-sources
:
编辑软件源列表,允许添加、删除或更改软件仓库。示例命令:
sudo apt edit-sources
-
apt stats
:
显示APT统计信息,比如下载的软件包数量、大小等。 -
apt config
:
配置APT的行为,比如设置代理、镜像服务器等。 -
apt build-dep
:
安装构建某个软件包所需的依赖。示例命令:
sudo apt build-dep <package-name>
-
apt check
:
检查系统中是否有损坏的依赖关系。示例命令:
sudo apt check
-
apt rdepends
:
显示哪些软件包依赖于给定的软件包。示例命令:
sudo apt rdepends <package-name>
以上只是apt
的一部分功能,通过组合使用这些命令,用户可以有效地管理Linux系统上的软件包。在使用apt
命令时,通常需要管理员权限(通过sudo
),特别是当涉及到安装、升级或卸载软件包时。
apt 卸载软件
在 Debian 及其衍生系统(如 Ubuntu)中,使用 apt
命令可以方便地管理软件包。当你需要卸载软件时,apt
提供了几种不同的方式来满足不同的需求。以下是使用 apt
卸载软件的几种常见方法:
-
apt remove
:
使用remove
命令可以卸载软件包,但保留配置文件。这意味着,即使软件包被卸载,与之关联的配置文件仍会保留在系统中,这样如果以后重新安装该软件包,可以保留之前的设置。示例命令:
sudo apt remove <package-name>
-
apt purge
:
使用purge
命令不仅可以卸载软件包,还会删除与该软件包相关的所有配置文件。这通常用于彻底清除软件包的所有痕迹。示例命令:
sudo apt purge <package-name>
-
apt autoremove
:autoremove
命令用于清理那些不再被任何已安装软件包依赖的软件包。这通常发生在你卸载了一个软件包,而其他软件包依赖于这个软件包的某些组件。autoremove
会自动检测并卸载这些不再需要的组件。示例命令:
sudo apt autoremove
-
apt clean
和apt autoclean
:
这两个命令不是用于卸载软件包,而是用于清理 APT 的缓存。clean
命令会删除所有下载过的软件包的缓存文件,而autoclean
命令则只会删除那些不再存在于软件包索引中的旧的缓存文件。示例命令:
sudo apt clean sudo apt autoclean
-
apt autoremove
结合apt clean
:
经常使用autoremove
和clean
或autoclean
的组合,可以保持系统的整洁,释放磁盘空间,以及避免潜在的软件包依赖问题。示例命令:
sudo apt autoremove && sudo apt clean
在执行任何卸载操作之前,确保你不再需要这些软件包,并且了解卸载它们可能带来的后果。如果需要,你也可以先备份重要的配置文件,以防万一。
apt和apt-get有什么区别
apt
和 apt-get
都是 Debian 和基于 Debian 的 Linux 发行版(如 Ubuntu)中用于包管理的工具。尽管它们在很多方面相似,但也有一些关键的区别。
apt-get
apt-get
是一个较老的工具,主要用于处理软件包的安装、更新、卸载等操作。它的命令行接口较为简洁,但功能全面,几乎涵盖了所有包管理的需求。apt-get
的命令结构通常如下:
apt-get update
:更新本地包索引。apt-get upgrade
:升级所有已安装的软件包。apt-get install <package>
:安装软件包。apt-get remove <package>
:卸载软件包,但保留配置文件。apt-get purge <package>
:卸载软件包及其配置文件。
apt
apt
是 apt-get
的一个更高层的前端,旨在提供一个更友好的用户界面和一些额外的功能。apt
的设计目标是简化包管理,使其更加直观。apt
的命令结构类似于 apt-get
,但有一些命令名称上的变化和新增功能:
apt update
:等同于apt-get update
。apt upgrade
:等同于apt-get upgrade
。apt full-upgrade
:除了升级软件包外,还会自动解决依赖关系问题,可能会重新安装或卸载软件包。apt install <package>
:等同于apt-get install
。apt remove <package>
:等同于apt-get remove
。apt purge <package>
:等同于apt-get purge
。apt autoremove
:移除不再需要的软件包,例如,那些仅因依赖关系被安装的软件包。apt search <keyword>
:搜索软件包仓库中的软件包。
总结
apt
通常被认为比 apt-get
更易于使用,因为它整合了一些额外的命令,如 search
和 full-upgrade
,并且在命令行提示中提供了更丰富的信息反馈。然而,apt-get
仍然被广泛使用,特别是在脚本和自动化环境中,因为它的命令集更小,输出更一致,更易于解析。
在日常使用中,除非你有特殊的需求(如编写脚本或自动化任务),否则 apt
应该能满足大部分包管理的需求。
相关文章:
Debian 包管理工具apt使用
apt基本用法 apt(Advanced Package Tool)是Debian及其衍生发行版(如Ubuntu、Linux Mint等)中非常强大的软件包管理系统。它允许用户从远程仓库安装、更新、升级、配置和卸载软件包。除了我们已经讨论过的卸载软件包的功能外&…...

如何模拟一个小程序项目打包的流程
一、Uni-app 执行 yarn run dev:mp-weixin后会发生什么 (一)准备工作 克隆项目:创建以 typescript 开发的工程(如命令行创建失败,请直接访问 https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts.z…...
设计模式七大原则详解
设计模式七大原则详解 设计模式中的“七大原则”是面向对象编程(OOP)中的一组指导原则,这些原则帮助开发者编写灵活、可维护、可扩展的代码。这些原则并不直接等同于设计模式,但它们是设计模式的基础。下面是这七大原则ÿ…...

Navicat On-Prem Server 2.0 | MySQL与MariaDB基础管理功能正式上云
近日,Navicat 发布了 Navicat On-Prem Server 2.0 的重大版本更新。这标志着这款自2021年首发的私有云团队协作解决方案迈入了一个崭新的阶段。此次2.0版本的飞跃性升级,核心聚焦于MySQL与MariaDB基础管理功能的全面革新与强化,赋予了用户的操…...
汽车车门的美观与功能:矫平工艺的精细修复
汽车车门的美观与功能:矫平工艺的精细修复 在汽车制造的精细工艺中,车门不仅是车辆外观的重要组成部分,更是功能性的关键载体。车门的平整度直接影响到车辆的密封性、噪音控制以及整体的美观度。面对生产过程中可能出现的车门变形问题&#…...
【Python】05.Python 中的列表与元组
一、列表与元组的概念 列表是一种在代码中批量表示/保存数据的方式 元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整 二、列表的创建 创建列表主要有两种方式. [ ] 表示一个空的列表。如果需要往…...
【Go】十五、分布式系统、Consul服务注册发现、Nacos配置中心搭建
分布式 传统开发方式的痛点: 我们的服务分为很多种:用户服务、商品服务、订单服务等,若我们一个成熟的体系内,新添加一个服务,会变得十分的繁琐与困难 当我们的负载较大时,如果选择添加机器的方式来减轻…...

[Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列
目录 1.网络 1.0 令牌环网(了解) 1.1 IP 地址 1.3 网络通信的基本脉络 IPv4地址解释 2.Socket 编程预备 2.1 端口号 2.2 传输层协议 2.3 网络字节序列 库函数定义 函数说明 1.网络 1.0 令牌环网(了解) 相同令牌时&am…...

Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决
文章目录 问题简述解决方法 问题简述 使用Mac mini外接2K 显示器时,默认分辨率是25601440,字体较小,如果切换成19201080,字体又变大模糊。 解决方法 使用HiDP I(一种显示技术,使用多个物理像素显示1个像…...
Python-pptx:如何在幻灯片中轻松插入与填充表格
哈喽,大家好,我是木头左! 安装和设置Python-PPTX 确保你的系统中已经安装了Python。然后,使用pip安装python-pptx库: pip install python-pptx安装完成后,你就可以开始编写脚本来操作PowerPoint文件了。 创建表格的基础步骤 使用python-pptx创建表格涉及几个关键步骤…...

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)
ERROR 2003 (HY000): Cant connect to MySQL server on localhost:3306 (10061) mysql-8.0.30-winx64 有时候还是没启动起来的原因,不知道为什么,手动点点 mysql-8.0.30-winx64_mysql8.0.30-CSDN博客...
MySQL优化策略(大数据量)
一、 前提: 1.数据规模 : 明确数据量级是上亿级,这需要特殊的处理,比如分区、索引等策略。 2.数据增长率 : 了解数据的增加速度,有助于预估未来存储和性能需求,从而提前规划扩展策略。 3.访问模式 : 分析是读多写少…...

在Excel里制作简单游戏界面
生成随机激活码 找工具箱 插入按钮 建宏 方法一:新建按钮的时候创建宏 方法二:右键->指定宏 VBA VBA代码界面 调整字体 VBA代码 Public str As String 存储激活码显示的字符 Public st As String 中间变量,用来替代随机数 Public ot…...

火语言RPA流程组件介绍--鼠标拖拽元素
🚩【组件功能】:在开始位置上按下鼠标,拖动到结束坐标或指定元素上放下鼠标,实现目标元素的拖拽 配置预览 配置说明 丨拖动元素 支持T或# 默认FLOW输入项 开始拖动的元素,并从当前元素开始按下鼠标 丨拖动到 目标元素/目标位…...
计算机三级网络技术总结 第十一章网络管理技术
能正常接受来自路由的通知,说明路由上已设置SNMP代理并具有发出通知的功能。UDP端口号缺省为162攻击者使用无效的IP地址,利用TCP连接的三次握手过程,使得受害主机处于开放会话的请求中,直至连接超时。在此期间,受害主机…...

「豆包 Marscode 体验官」AI 加持的云端 IDE——三种方法高效开发前后端聊天交互功能
以下是「豆包 MarsCode 体验官」优秀文章,作者努力的小雨。 豆包 MarsCode 豆包MarsCode 编程助手支持的 IDE: 支持 Visual Studio Code 1.67.0 及以上版本,以及 JetBrains 系列 IDE,如 IntelliJ IDEA、Pycharm 等,版本要求为 22…...

基于Linux文件编程实现处理Excel表格的数据
目录 前言 整体的代码框架 如何读取数据文件的数据 read_line 如何处理读取到的数据 process_data 运行结果 总结 前言 本文是基于Linux文件编程的一个小实验,用文件IO来读取Excel表格的数据,处理后写入另一个文件,本文只是对文件IO的…...

make 程序规定的 makefile 文件的书写语法(2)
(13)接着开始一个更复杂的例子,课程的素材 2 ,先给出书写 makefile 的框架 : (14) (15) 谢谢...

容器化安装jenkins稳定版长期维护版本LTS
前提已有 docker-compose和docker-ce环境,这里安装稳定的Lts版本即可。 选择稳定版本 这里选择LTS 稳定长期维护的版本 在docker镜像找到LTS稳定版本 部署jenkins服务 创建持久化数据目录 jenkinsdata]# pwd /data/jenkinsdata编写docker-compose文件 jenkins_…...

如何让人工智能训练更快
影响人工智能训练时间的因素 在深度学习训练中,训练时间的计算涉及到多个因素,包括 epoch 数、全局 batch size、微 batch size、计算设备数量等。下面是一个基本的公式来说明这些参数之间的关系(注意,这只是一个基本的说明公式&…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...