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

如何使用 Apt-Get 和 Apt-Cache 在 Ubuntu 和 Debian 中管理软件包

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

Apt 是 dpkg 打包系统的命令行前端,也是许多发行版中管理软件的首选方式。它是 Debian 及基于 Debian 的 Linux 发行版(如 Ubuntu)中的主要软件包管理系统。

虽然一个名为 “dpkg” 的工具构成了底层的打包层,但 aptapt-cache 提供了用户友好的界面并实现了依赖处理。这使用户能够轻松高效地管理大量软件。

在本指南中,我们将讨论 aptapt-cache 的基本用法以及它们如何管理您的软件。我们将在 Ubuntu 22.04 云服务器上进行操作,但相同的步骤和技术也适用于任何其他基于 Ubuntu 或 Debian 的发行版。

如何使用 Apt 更新软件包数据库

Apt 在已知的可用软件数据库上运行。它通过引用这个数据库执行安装、软件包搜索和许多其他操作。

因此,在使用 apt 进行任何打包操作之前,我们需要确保我们本地的数据库副本是最新的。

使用 apt update 更新本地数据库。大多数操作都需要管理员权限:

sudo apt update

您将看到我们正在从哪些服务器检索信息的列表。之后,您的数据库应该是最新的。

如何使用 Apt 升级已安装的软件包

您可以使用 apt upgrade 来升级系统上的软件包。您将被提示确认升级,并重新启动任何已更新的系统服务:

sudo apt upgrade

如何使用 Apt 安装新软件包

如果您知道要安装的软件包的名称,可以使用 apt install 来安装它:

sudo apt install package1 package2 …

您可以看到可以一次安装多个软件包,这对于一次性获取项目所需的所有必要软件非常有用。

Apt 不仅安装所请求的软件,还安装或运行它所需的任何软件。

您可以通过输入以下命令来安装一个名为 sl 的程序:

sudo apt install sl

之后,您就可以在命令行上运行 sl

如何使用 Apt 删除软件包

要从系统中删除软件包,请运行 apt remove

sudo apt remove package_name

此命令会删除软件包,但会保留任何配置文件,以防以后再次安装该软件包。这样,即使程序未安装,您的设置也将保持不变。

如果您需要清除配置文件以及程序,请使用 apt purge

sudo apt purge package_name

这将卸载软件包并删除与该软件包相关的任何配置文件。

要删除不再需要的自动安装以支持其他程序的软件包,请输入以下命令:

sudo apt autoremove

您还可以在 autoremove 命令后指定软件包名称,以卸载软件包及其依赖项。

常见的 Apt 选项标志

有许多额外选项可以通过标志指定。我们将介绍一些常见的选项。

要执行一个过程的“干跑”以了解操作将做什么,您可以传递 -s 标志以进行“模拟”:

sudo apt install -s htop
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:lm-sensors
The following NEW packages will be installed:htop
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Inst htop (3.0.5-7build2 Ubuntu:22.04/jammy [amd64])
Conf htop (3.0.5-7build2 Ubuntu:22.04/jammy [amd64])

在实际操作的位置,您可以看到一个 InstConf 部分,指定了如果去除“-s”,软件包将被安装和配置的位置。

如果您不想被提示确认您的选择,您还可以传递 -y 标志以自动假定对问题的“是”。

sudo apt remove -y htop

如果您想下载一个软件包,但不安装它,您可以发出以下命令:

sudo apt install -d packagename

文件将保留在 /var/cache/apt/archives 中。

如果您想抑制输出,您可以将 -qq 标志传递给命令:

sudo apt remove -qq packagename

如何使用 Apt-Cache 查找软件包

apt 打包工具实际上是一套相关的互补工具,用于管理系统软件。

虽然 apt 用于升级、安装和删除软件包,apt-cache 用于查询软件包数据库以获取软件包信息。

您可以使用 apt-cache search 来搜索适合您需求的软件包。请注意,apt-cache 通常不需要管理员权限:

apt-cache search what_you_are_looking_for

例如,要查找 htop,一个改进版的 top 系统监视器,您可以使用:

apt-cache search htop
htop - 交互式进程查看器
aha - ANSI 颜色转 HTML 转换器
bashtop - 显示使用情况和统计信息的资源监视器
bpytop - 显示使用情况和统计信息的资源监视器
btop - 现代且丰富多彩的命令行资源监视器,显示使用情况和统计信息
libauthen-oath-perl - 用于 OATH 一次性密码的 Perl 模块
pftools - 构建和搜索蛋白质和 DNA 的广义概要文件

您也可以搜索更通用的术语。在此示例中,我们将搜索 mp3 转换软件:

apt-cache search mp3 convert
abcde - 更好的 CD 编码器
cue2toc - 将 CUE 文件转换为 cdrdao 的 TOC 格式
dir2ogg - 音频文件转换为 ogg-vorbis 格式
easytag - 用于音频文件标签的 GTK+ 编辑器
ebook2cw - 将电子书转换为 Morse MP3s/OGGs
ebook2cwgui - ebook2cw 的 GUI
ffcvt - ffmpeg 转换包装器工具
. . .

如何使用 Apt-Cache 查看软件包信息

要查看有关软件包的信息,包括扩展描述,请使用以下语法:

apt-cache show package_name

这还将提供下载大小和软件包所需的依赖项。

要查看软件包是否已安装并检查它属于哪个存储库,可以使用 apt-cache policy

apt-cache policy package_name

结论

现在,您应该已经了解足够多关于 apt-get 和 apt-cache 来管理服务器上的大部分软件。

虽然有时需要超越这些工具和存储库中可用的软件,但大多数软件操作可以通过这些工具来管理。

接下来,您可以详细了解 Ubuntu 和 Debian 软件包管理。

相关文章:

如何使用 Apt-Get 和 Apt-Cache 在 Ubuntu 和 Debian 中管理软件包

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 Apt 是 dpkg 打包系统的命令行前端,也是许多发行版中管理软件的首选方式。它是 Debian 及基于 Debian 的 Linux 发行版…...

Linux系统创建新分区并挂载的方法

一、引言 本文以CentOS为例讲述Linux系统创建新分区并挂载的方法。如下图所示,用fdisk -l命令可以看到该CentOS系统下有一个磁盘/dev/vda,其容量为2199G,即2T。该磁盘有两个分区:vda1和vda2: 用lsblk命令可以查看到磁…...

反射第二弹:用注册器动态注册(用自定义的注解标注的)策略,实现策略模式的设计

目录 引言 设计思路: 代码实现: 标注注解:@StrategyClass 扫描注解:trategyScan 注册器抽象类: 动态策略注册类: AOP类: 总结: 引言 曾经有人问我,假如有一个业务或者数据处理逻辑,会根据甲方客户繁杂的业务需求,而动态变化,该怎么处理,具体怎么实现? 将…...

【Xcode Command Line Tools】安装指南

安装指令 xcode-select --install安装 完成安装 验证 $ xcode-select -p /Library/Developer/CommandLineTools...

springboot开发网站-使用redis数据库定时特征限制指定ip的访问次数

springboot开发网站-使用redis数据库定时特征限制指定ip的访问次数。近期网站经常有人恶意访问,提交了很多垃圾信息。为了屏蔽这类灌水帖,打算屏蔽ip地址,限制24小时内只能访问1次某个接口。下面是测试的案例代码内容。 1:首先&am…...

【大模型理论篇】大模型相关的周边技术分享-关于《NN and DL》的笔记

本文所要介绍的一本书《Neural Networks and Deep Learning》,该书作者Michael Nielsen,Y Combinator Research的研究员,是多年之前自己看的一本基础书籍,很适合入门了解一些关于深度学习的概念知识,当然也包含了一些小…...

CSS 圆形边框与阴影

目录 1. 圆角边框 1.1 正圆 1.2 圆角矩形 1.3 任意圆角 1.4 某个圆角 2. 盒子阴影 3. 文字阴影 1. 圆角边框 1.1 正圆 1.2 圆角矩形 1.3 任意圆角 1.4 某个圆角 2. 盒子阴影 3. 文字阴影...

Bianchi模型、python计算及ns3验证

由于项目与学习需要,最近学习了bianchi模型,并在python中进行了公式->代码的转化,仿真结果与ns3结果对比。 本文更多的是理解模型各个部分的含义、把各个简单的推导过程转化为python、ns3对比: 1 理论吞吐与传输概率、传输成功概率、包长、速率、排队时间、成功传输时…...

SQL常用语法

SQL(Structured Query Language)是一种用于存储、操作和检索数据库中数据的标准编程语言。以下是一些常用的 SQL 语法: 数据库操作 创建数据库:CREATE DATABASE database_name;删除数据库:DROP DATABASE database_name…...

计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

浏览器前端向后端提供服务

WEB后端向浏览器前端提供服务是最常见的场景,前端向后端的接口发起GET或者POST请求,后端收到请求后执行服务器端任务进行处理,完成后向前端发送响应。 那浏览器前端向后端提供服务是什么鬼? 说来话长,长话短说。我在人…...

文本到语音或视频的构想

₦X8s43Y1iIquVAeF₦ 在Python中,有几个库和模块可以用来实现文本到语音的转换,并且可以生成带有背景音乐的视频。以下是一些可用的库: 1. pyttsx3:这是一个离线文本到语音转换库,它支持多种语音引擎,不依…...

请解释一下数据库的分区和分片?请解释一下数据库的日志和日志的重要性?

请解释一下数据库的分区和分片? 数据库的分区和分片是两种用于提高数据库性能和可扩展性的技术,它们各自具有不同的特点和应用场景。以下是对这两种技术的详细解释: 一、数据库分区 定义: 数据库分区是将一个大型的数据库表或索…...

windows C++-创建数据流代理(二)

完整的数据流演示 下图显示了 dataflow_agent 类的完整数据流网络: 由于 run 方法是在一个单独的线程上调用的,因此在完全连接网络之前,其他线程可以将消息发送到网络。 _source 数据成员是一个 unbounded_buffer 对象,用于缓冲…...

大数据毕业设计选题推荐-个性化图书推荐系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇…...

【Redis入门到精通九】Redis中的主从复制

目录 主从复制 1.配置主从复制 2.主从复制中的拓扑结构 3.主从复制原理 4.主从复制总结 主从复制 在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他服务器,满⾜故障恢复和负载均衡等需求。Redis 也是如此,它为我们提…...

系统架构设计师论文《论企业应用系统的数据持久层架构设计》精选试读

论文真题 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提…...

策略模式和模板模式的区别

目录 一、实现方式 策略模式 模板模式 二、使用场景 三、优点 四、举例 一、实现方式 策略模式 定义策略接口 Strategy创建具体策略类 OperationAdd、OperationSubtract、OperationMultiply创建一个上下文类 Context,包含一个策略对象的引用,并通…...

【ubuntu】ubuntu20.04安装conda

1.下载 安装参考:https://blog.csdn.net/weixin_44119391/article/details/128577681 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 2.安装 sudo chmod 777 -R ./Anaconda3-5.3.1-Linux-x86_64.sh ./Anaconda3-5.3.1-Linux-x86_64.sh Enter键确认安装…...

使用 SAP ABAP Webdynpro 实现 ABAP Push Channel 的 Web Socket 客户端

本系列前三篇文章,笔者向大家介绍了基于 ABAP Push Channel(简称 APC)的 TCP Socket 服务器端和客户端的编程,以及 Web Socket 的服务器端实现。 使用 ABAP 实现 TCP Socket 编程 (1) - 客户端部分的实现使用 ABAP 实现 TCP Socket 编程 (2) - 服务器端部分的实现使用 ABAP 实…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...