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、计算设备数量等。下面是一个基本的公式来说明这些参数之间的关系(注意,这只是一个基本的说明公式&…...

linux/ubuntu国内镜像安装gitleaks敏感信息扫描工具教程及避坑点
1、背景 利用gitleaks扫描git仓库或者文件 GitHub上有比较详细的教程,但是由于每个人的安装环境不同,坑很多,网上能查到的有效信息也比较少。这里就以我坑很多的环境为例,捋一下步骤。 GitHub - gitleaks/gitleaks: Protect an…...

JavaScript高级程序设计基础(二)
二、语言基础 2.1语法 (简单的语法基础将在文章省略) 2.1.1严格模式 严格模式是一种不同的 JavaScript 解析和执行模型,不规范写法在这种模式下会被处理 只需在脚本开头加上"use strict" 也可以单独指定一个函数在严格模式下执…...

使用Spring Boot开发自习室预定系统
开发一个自习室预定系统涉及到用户管理、自习室管理、预定管理等功能。以下是使用Spring Boot开发自习室预定系统的步骤和关键点: 1. 需求分析 确定系统的基本需求,例如: 用户注册和登录管理员管理自习室信息用户浏览可用自习室用户预定自…...

最近读书总结
1《More Joel on Software》读后感【2024年8月29日】 1.1 本书概要 本书讲解了如何发现优秀的IT人才,并把他们招聘进来;如何对智力密集型的IT企业(软件企业)进行管理,即最好采用情感认同法;对计算机大学生…...

python列表判断是否为空的三种方式
#列表是否为空判断 a[]一: if a:print(not null) else:print(null)二: b len(a) if b 0:print(null) else:print(not null)三: if not a:print(null) else:print(not null)运行结果:...

二十三种模式之原型模式(类比制作陶器更好理解一些)
1. 设计模式的分类 创建型模式(五种):工厂方法模式、单例模式、抽象工厂模式、原型模式、建造者模式。 结构型模式(七种):适配器模式、代理模式、装饰器模式、桥接模式、外观模式、享元模式、组合模式。 行为型模式(十一种):状态模式、模板方…...

9.9日记录
1.常见排序算法的复杂度 1.快速排序 1.1快速排序为什么快 从名称上就能看出,快速排序在效率方面应该具有一定的优势。尽管快速排序的平均时间复杂度与“归并排序”和“堆排序”相同,但通常快速排序的效率更高,主要有以下原因。 出现最差情况…...

鸿蒙交互事件开发04——手势事件
1 概 述 手势事件是移动应用开发中最常见的事件之一,鸿蒙提供了一些方法来绑定手势事件。通过给各个组件绑定不同的手势事件,并设计事件的响应方式,当手势识别成功时,ArkUI框架将通过事件回调通知组件手势识别的结果。 …...

研1日记9
1.理解conv1d和conv2d a. 1和2处理的数据不同,1维数据和图像 b. 例如x输入形状为(32,19,512)时,卷积公式是针对512的,而19应该变换为参数中指定的输出通道。 2.“SE块”(Squeeze-and-Excitation Block)它可以帮助模…...

HAL库学习目录查询表
日期内容2024.09.11基于STM32C8T6的CubeMX:HAL库点亮LED2024.09.11STMCuBeMX新建项目的两种匪夷所思的问题2024.09.11STMCubeMX文件下载后会出现其他项目无法下载的问题...