当前位置: 首页 > news >正文

Debian 包管理工具apt使用

apt基本用法

apt(Advanced Package Tool)是Debian及其衍生发行版(如Ubuntu、Linux Mint等)中非常强大的软件包管理系统。它允许用户从远程仓库安装、更新、升级、配置和卸载软件包。除了我们已经讨论过的卸载软件包的功能外,apt还提供了许多其他有用的功能,以下是一些主要的:

  1. apt update:
    更新本地的软件包列表,以便获取最新的软件包信息和可用更新。

    示例命令:

    sudo apt update
  2. apt upgrade:
    根据最新的软件包列表升级所有已安装的软件包到最新版本。

    示例命令:

    sudo apt upgrade
  3. apt full-upgrade:
    执行全面升级,这不仅会升级软件包,还会尝试解决依赖关系问题,可能会导致某些软件包的降级或移除。

    示例命令:

    sudo apt full-upgrade
  4. apt install:
    安装新的软件包或重新安装已存在的软件包。

    示例命令:

    sudo apt install <package-name>
  5. apt search:
    搜索可用的软件包,支持模糊搜索。

    示例命令:

    sudo apt search <keyword>
  6. apt show:
    显示软件包的详细信息,包括版本、描述、依赖项等。

    示例命令:

    sudo apt show <package-name>
  7. apt policy:
    查看软件包的安装状态和版本信息。

    示例命令:

    sudo apt policy <package-name>
  8. apt source:
    下载软件包的源代码。

    示例命令:

    sudo apt source <package-name>
  9. apt list:
    列出系统上已安装的软件包或可用的软件包。

    示例命令:

    sudo apt list --installed
    sudo apt list <package-name>
  10. apt cache:
    提供对APT缓存的访问,可以查询软件包的各种信息。

    示例命令:

    sudo apt cache show <package-name>
  11. apt edit-sources:
    编辑软件源列表,允许添加、删除或更改软件仓库。

    示例命令:

    sudo apt edit-sources
  12. apt stats:
    显示APT统计信息,比如下载的软件包数量、大小等。

  13. apt config:
    配置APT的行为,比如设置代理、镜像服务器等。

  14. apt build-dep:
    安装构建某个软件包所需的依赖。

    示例命令:

    sudo apt build-dep <package-name>
  15. apt check:
    检查系统中是否有损坏的依赖关系。

    示例命令:

    sudo apt check
  16. apt rdepends:
    显示哪些软件包依赖于给定的软件包。

    示例命令:

    sudo apt rdepends <package-name>

以上只是apt的一部分功能,通过组合使用这些命令,用户可以有效地管理Linux系统上的软件包。在使用apt命令时,通常需要管理员权限(通过sudo),特别是当涉及到安装、升级或卸载软件包时。

apt 卸载软件

在 Debian 及其衍生系统(如 Ubuntu)中,使用 apt 命令可以方便地管理软件包。当你需要卸载软件时,apt 提供了几种不同的方式来满足不同的需求。以下是使用 apt 卸载软件的几种常见方法:

  1. apt remove:
    使用 remove 命令可以卸载软件包,但保留配置文件。这意味着,即使软件包被卸载,与之关联的配置文件仍会保留在系统中,这样如果以后重新安装该软件包,可以保留之前的设置。

    示例命令:

    sudo apt remove <package-name>
  2. apt purge:
    使用 purge 命令不仅可以卸载软件包,还会删除与该软件包相关的所有配置文件。这通常用于彻底清除软件包的所有痕迹。

    示例命令:

    sudo apt purge <package-name>
  3. apt autoremove:
    autoremove 命令用于清理那些不再被任何已安装软件包依赖的软件包。这通常发生在你卸载了一个软件包,而其他软件包依赖于这个软件包的某些组件。autoremove 会自动检测并卸载这些不再需要的组件。

    示例命令:

    sudo apt autoremove
  4. apt cleanapt autoclean:
    这两个命令不是用于卸载软件包,而是用于清理 APT 的缓存。clean 命令会删除所有下载过的软件包的缓存文件,而 autoclean 命令则只会删除那些不再存在于软件包索引中的旧的缓存文件。

    示例命令:

    sudo apt clean
    sudo apt autoclean
  5. apt autoremove 结合 apt clean:
    经常使用 autoremovecleanautoclean 的组合,可以保持系统的整洁,释放磁盘空间,以及避免潜在的软件包依赖问题。

    示例命令:

    sudo apt autoremove && sudo apt clean

在执行任何卸载操作之前,确保你不再需要这些软件包,并且了解卸载它们可能带来的后果。如果需要,你也可以先备份重要的配置文件,以防万一。

apt和apt-get有什么区别

aptapt-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

aptapt-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 更易于使用,因为它整合了一些额外的命令,如 searchfull-upgrade,并且在命令行提示中提供了更丰富的信息反馈。然而,apt-get 仍然被广泛使用,特别是在脚本和自动化环境中,因为它的命令集更小,输出更一致,更易于解析。

在日常使用中,除非你有特殊的需求(如编写脚本或自动化任务),否则 apt 应该能满足大部分包管理的需求。

相关文章:

Debian 包管理工具apt使用

apt基本用法 apt&#xff08;Advanced Package Tool&#xff09;是Debian及其衍生发行版&#xff08;如Ubuntu、Linux Mint等&#xff09;中非常强大的软件包管理系统。它允许用户从远程仓库安装、更新、升级、配置和卸载软件包。除了我们已经讨论过的卸载软件包的功能外&…...

如何模拟一个小程序项目打包的流程

一、Uni-app 执行 yarn run dev:mp-weixin后会发生什么 &#xff08;一&#xff09;准备工作 克隆项目&#xff1a;创建以 typescript 开发的工程&#xff08;如命令行创建失败&#xff0c;请直接访问 https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts.z…...

设计模式七大原则详解

设计模式七大原则详解 设计模式中的“七大原则”是面向对象编程&#xff08;OOP&#xff09;中的一组指导原则&#xff0c;这些原则帮助开发者编写灵活、可维护、可扩展的代码。这些原则并不直接等同于设计模式&#xff0c;但它们是设计模式的基础。下面是这七大原则&#xff…...

Navicat On-Prem Server 2.0 | MySQL与MariaDB基础管理功能正式上云

近日&#xff0c;Navicat 发布了 Navicat On-Prem Server 2.0 的重大版本更新。这标志着这款自2021年首发的私有云团队协作解决方案迈入了一个崭新的阶段。此次2.0版本的飞跃性升级&#xff0c;核心聚焦于MySQL与MariaDB基础管理功能的全面革新与强化&#xff0c;赋予了用户的操…...

汽车车门的美观与功能:矫平工艺的精细修复

汽车车门的美观与功能&#xff1a;矫平工艺的精细修复 在汽车制造的精细工艺中&#xff0c;车门不仅是车辆外观的重要组成部分&#xff0c;更是功能性的关键载体。车门的平整度直接影响到车辆的密封性、噪音控制以及整体的美观度。面对生产过程中可能出现的车门变形问题&#…...

【Python】05.Python 中的列表与元组

一、列表与元组的概念 列表是一种在代码中批量表示/保存数据的方式 元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整 二、列表的创建 创建列表主要有两种方式. [ ] 表示一个空的列表。如果需要往…...

【Go】十五、分布式系统、Consul服务注册发现、Nacos配置中心搭建

分布式 传统开发方式的痛点&#xff1a; 我们的服务分为很多种&#xff1a;用户服务、商品服务、订单服务等&#xff0c;若我们一个成熟的体系内&#xff0c;新添加一个服务&#xff0c;会变得十分的繁琐与困难 当我们的负载较大时&#xff0c;如果选择添加机器的方式来减轻…...

[Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列

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

Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决

文章目录 问题简述解决方法 问题简述 使用Mac mini外接2K 显示器时&#xff0c;默认分辨率是25601440&#xff0c;字体较小&#xff0c;如果切换成19201080&#xff0c;字体又变大模糊。 解决方法 使用HiDP I&#xff08;一种显示技术&#xff0c;使用多个物理像素显示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 有时候还是没启动起来的原因&#xff0c;不知道为什么&#xff0c;手动点点 mysql-8.0.30-winx64_mysql8.0.30-CSDN博客...

MySQL优化策略(大数据量)

一、 前提&#xff1a; 1.数据规模 : 明确数据量级是上亿级&#xff0c;这需要特殊的处理&#xff0c;比如分区、索引等策略。 2.数据增长率 : 了解数据的增加速度&#xff0c;有助于预估未来存储和性能需求&#xff0c;从而提前规划扩展策略。 3.访问模式 : 分析是读多写少…...

在Excel里制作简单游戏界面

生成随机激活码 找工具箱 插入按钮 建宏 方法一&#xff1a;新建按钮的时候创建宏 方法二&#xff1a;右键->指定宏 VBA VBA代码界面 调整字体 VBA代码 Public str As String 存储激活码显示的字符 Public st As String 中间变量&#xff0c;用来替代随机数 Public ot…...

火语言RPA流程组件介绍--鼠标拖拽元素

&#x1f6a9;【组件功能】&#xff1a;在开始位置上按下鼠标&#xff0c;拖动到结束坐标或指定元素上放下鼠标&#xff0c;实现目标元素的拖拽 配置预览 配置说明 丨拖动元素 支持T或# 默认FLOW输入项 开始拖动的元素,并从当前元素开始按下鼠标 丨拖动到 目标元素/目标位…...

计算机三级网络技术总结 第十一章网络管理技术

能正常接受来自路由的通知&#xff0c;说明路由上已设置SNMP代理并具有发出通知的功能。UDP端口号缺省为162攻击者使用无效的IP地址&#xff0c;利用TCP连接的三次握手过程&#xff0c;使得受害主机处于开放会话的请求中&#xff0c;直至连接超时。在此期间&#xff0c;受害主机…...

「豆包 Marscode 体验官」AI 加持的云端 IDE——三种方法高效开发前后端聊天交互功能

以下是「豆包 MarsCode 体验官」优秀文章&#xff0c;作者努力的小雨。 豆包 MarsCode 豆包MarsCode 编程助手支持的 IDE: 支持 Visual Studio Code 1.67.0 及以上版本&#xff0c;以及 JetBrains 系列 IDE&#xff0c;如 IntelliJ IDEA、Pycharm 等&#xff0c;版本要求为 22…...

基于Linux文件编程实现处理Excel表格的数据

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

make 程序规定的 makefile 文件的书写语法(2)

&#xff08;13&#xff09;接着开始一个更复杂的例子&#xff0c;课程的素材 2 &#xff0c;先给出书写 makefile 的框架 &#xff1a; &#xff08;14&#xff09; &#xff08;15&#xff09; 谢谢...

容器化安装jenkins稳定版长期维护版本LTS

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

如何让人工智能训练更快

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

网络六边形受到攻击

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

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

相机从app启动流程

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

现代密码学 | 椭圆曲线密码学—附py代码

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

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日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

(一)单例模式

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