使用

Ubuntu 包搜索器

apt 命令 功能
apt install 安装软件包
apt remove 移除软件包
apt purge 移除软件包及配置文件
apt update 刷新存储库索引
apt upgrade 升级所有可升级的软件包
apt autoremove 自动删除不需要的包
apt full-upgrade 在升级软件包时自动处理依赖关系
apt search 搜索应用程序
apt show 显示安装细节

whereis <package>: 查找已安装的二进制包的位置

换源

关于 APT 源配置文件的格式可以参见:Ubuntu APT sources.list 文件格式解释 | 博客园

旧版 Ubuntu(22.04 及以下)APT 的源配置文件位于 /etc/apt/sources.list,新版 Ubuntu(24.04 及之后)APT 的源配置文件迁移到了 /etc/apt/sources.list.d/ubuntu.sources。下面的命令默认使用旧版的位置,如果你是新版记得手动修改。

在换源之前,你可以先备份你的原始文件:

sudo cp /etc/apt/sources.list{,.bak}  # 文件备份到 sources.list.bak

使用配置文件换源(推荐)

首先下载 APT 源配置文件 sources.list

  • 你可以直接使用现成的 sources.list 文件掉覆盖原来旧文件来换源。中科大镜像站给出了 Ubuntu 各个版本号的 sources.list 文件:repository file generator

    选择你的 Ubuntu 版本,复制配置文件,并粘贴到 /etc/apt/sources.list

  • 你也可以使用自动检测工具 netselect-apt 来查找最快的源:

    sudo apt install netselect-apt  # 安装 netselect-apt 工具
    sudo netselect-apt # 检测并下载最快源配置

    netselect-apt 工具会将 sources.list 文件下载到当前目录。用该文件替换 /etc/apt/sources.list

    sudo mv sources.list /etc/apt/sources.list

最后不要忘了更新索引:

sudo apt update  # 更新索引

对于 ubuntu-ports 镜像,你只需将配置文件中的 https://mirrors.xxxx.xxx/ubuntu/ 改为 https://mirrors.xxxx.xxx/ubuntu-ports/ 即可。

使用命令换源

使用命令换源更加方便快捷,但是有时由于系统配置了错误的 APT 源,导致命令换源无法正常使用,因此仅推荐熟悉 APT 源的用户使用。

Ubuntu 源

该源仅适用于配置 x86 架构下的 Ubuntu系统,如果你的系统为 ARM,PowerPC 等其他架构,请使用 Ubuntu Ports 源进行配置。

sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list  # 使用中科大源

# 因镜像站同步有延迟,可能会导致生产环境系统不能及时检查、安装上最新的安全更新,不建议替换 security 源:
sudo sed -i -r 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list # 替换 security 源(可选)

然后更新 APT 索引:

sudo apt update  # 更新索引

可用的镜像站:

Ubuntu Ports

如果你使用 ARM,PowerPC 等架构的 Ubuntu 系统,请使用 Ubuntu Ports 源进行配置:

sudo sed -i -r 's/ports.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list  # 使用中科大的 Ubuntu Ports 源

然后更新索引:

sudo apt update  # 更新索引

可用的镜像站:

Old Releases

对于 EOL 发行版,需要使用 old-releases.ubuntu.com

EOL: End Of Life,是那些过于古早的发行版,已经不再维护。

使用官方 old-releases 源(非镜像):

sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
sudo sed -i -r 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

使用中科大镜像:

sudo sed -i 's@//.*archive.ubuntu.com/ubuntu@//mirrors.ustc.edu.cn/ubuntu-old-releases@g' /etc/apt/sources.list
sudo sed -i -r 's@security.ubuntu.com/ubuntu@mirrors.ustc.edu.cn/ubuntu-old-releases@g' /etc/apt/sources.list

然后更新 APT 索引:

sudo apt update  # 更新索引

可用的镜像站:

参见:

Troubleshooting

apt-get 出现 Err 404 Not Found 的解决办法

APT 使用的更多相关文章

  1. Ubuntu apt 常用命令

     APT(the Advanced Packaging Tool)是Ubuntu 软件包管理系统的高级界面,Ubuntu 是基于Debian的,APT由几个名字以“apt-”打头的程序组成.apt-g ...

  2. Ubuntu16.04 LTS下apt安装WireShark

    Ubuntu16.04 LTS下apt安装WireShark 安装与配置 首先通过apt安装WireShark: $ sudo apt install wireshark 会同时安装许多的依赖包,其中 ...

  3. pip apt source images

    ~/.pip/pip.conf [global] index-url = https://pypi.douban.com/simple download_cache = ~/.cache/pip [i ...

  4. Ubuntu——apt && dpkg参考

    一.apt apt-cache search # ------(package 搜索包) apt-cache show #------(package 获取包的相关信息,如说明.大小.版本等) sud ...

  5. apt 根据注解,编译时生成代码

    apt: @Retention后面的值,设置的为CLASS,说明就是编译时动态处理的.一般这类注解会在编译的时候,根据注解标识,动态生成一些类或者生成一些xml都可以,在运行时期,这类注解是没有的~~ ...

  6. debian下Apache和tomcat整合(使用apt工具)

    最近部署web系统,需要使用tomcat处理和Apache整合使用,tomcat处理JSP,Apache处理静态资源.开始不知道怎么操作,在网上查阅资料走了很多弯路.完成时候,发现其实很简单,现将配置 ...

  7. ubuntu 解决 “E: Problem with MergeList /var/lib/apt/lists/”错误

    这种错误的意思:无法解析或打开软件包的列表或是状态文件. 出现的原因:无法解析或打开软件包列表多数情况是安装的软件与本身系统有一些冲突之类的问题,或者曾在更新软件源或下载软件的时候意外中断造成的. 解 ...

  8. PostgreSQL Apt Repository

    PostgreSQL Apt Repository If the version included in your version of Ubuntu is not the one you want, ...

  9. Ubuntu菜鸟入门(二)—— apt认知,且完善语言安装包

    一  语言安装包安装 1  原因 虽然安装的中文版,但是由于安装包很小,所以汉化的不够完全,所以要安装后,再下载语言包进行安装 2  方法 二  apt--软件包管理器 1   软件源 (1) 介绍 ...

  10. 水坑式攻击-APT攻击常见手段

    所谓“水坑攻击”,是指黑客通过分析被攻击者的网络活动规律,寻找被攻击者经常访问的网站的弱点,先攻下该网站并植入攻击代码,等待被攻击者来访时实施攻击. 水坑攻击属于APT攻击的一种,与钓鱼攻击相比,黑客 ...

随机推荐

  1. yb课堂 实战之Mybatis打通Mysql数据库 《二》

    配置mybatis连接Mysql数据库 server.port=8081 # ========================数据库相关配置===================== spring.d ...

  2. 【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)

    介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET 8:https://github.com/LuBu0505/redis-copy- ...

  3. 【java深入学习第1章】深入探究 MyBatis-Spring 中 SqlSession 的原理与应用

    前言 在使用 MyBatis 进行持久层开发时,通常会与 Spring 框架集成,以便更好地管理事务和依赖注入.在 MyBatis-Spring 集成中,SqlSession 是一个非常重要的概念.本 ...

  4. 网易数帆实时数据湖 Arctic 的探索和实践

    作者 | 蔡芳芳 采访嘉宾 | 马进 网易数帆平台开发专家 数据中台也要从离线为主走向实时化,湖仓一体是第一步. 数据从离线到实时是当前一个很大的趋势,但要建设实时数据.应用实时数据还面临两个难题.首 ...

  5. oeasy教您玩转vim - 87 - # 内容查找grep命令

    ​ 内容查找 grep 回忆 上次我们尝试了一下各种在vi中执行外部程序 可以排序 可以改大小写 还可以用管道 直接对于缓冲buffer文件进行操作 还是很方便的 其实还有一个外部命令很重要 根据内容 ...

  6. 如何通过minIO在后端实现断点续传

    首先是黑马的媒资管理模块流程图:前端负责计算媒资文件的MD5值,同时对媒资文件进行分块. 后端需要以下几个接口: 1.检查分块是否存在(传入参数为视频唯一标识信息与块信息):检查当前分块是否已经上传至 ...

  7. docker cmd和entrypoint

    FROM scratch 很多镜像都是从他开始 创建自己的centos FROM centos 基于官方的centos开始写 构建自己的centos [root@docker dockerfile]# ...

  8. app专项测试:app弱网测试(网络测试流程)

    app专项测试:app弱网测试(网络测试流程) 一.网络测试的一般流程 step1:首先要考虑网络正常的情况 ① 各个模块的功能正常可用 ② 页面元素/数据显示正常 step2:其次要考虑无网络的情况 ...

  9. Jmeter函数助手22-V

    V函数用于执行变量名.嵌套函数.类似eval函数 Name of variable (may include variable and function references):必填,填入变量名称或者 ...

  10. Python中FastAPI项目使用 Annotated的参数设计

    在FastAPI中,你可以使用PEP 593中的Annotated类型来添加元数据到类型提示中.这个功能非常有用,因为它允许你在类型提示中添加更多的上下文信息,例如描述.默认值或其他自定义元数据. F ...