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、计算设备数量等。下面是一个基本的公式来说明这些参数之间的关系(注意,这只是一个基本的说明公式&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
