【Ubuntu】apt命令安装最新版本Nginx

news/2024/10/20 14:02:46/

目录

  • 环境
  • 前言
  • 添加Nginx仓库步骤
    • 1、仓库公钥
    • 2、文本公钥转二进制GPG公钥(可选)
    • 3、添加apt软件源
    • 4、安装新版Nginx
  • 参阅

环境

Ubuntu 22.04

前言

ubuntu官方apt软件仓库(或者叫软件源)的软件版本可能会比较旧,导致无法安装最新版的软件包,例如在Ubuntu 22.04中,默认情况下,执行apt install nginx命令安装到的 Nginx 版本是1.18.0(2020年4月发布),比较旧。

如果希望安装最新版本的Nginx,需要添加 Nginx 的外部仓库,其它软件也同理。

另外一种方法是到 Nginx 的官网下载新版本tar.gz源码包,手动编译安装,本文暂不讨论。

添加Nginx仓库步骤

1、仓库公钥

每一个外部仓库都有一个公钥,此公钥用来验证软件包是否真的来自此仓库。

仓库的公钥有两种类型,一种是文本公钥,一种是二进制GPG公钥(扩展名为.gpg)。

文本公钥适用于 apt 版本 >= 1.4的,而二进制GPG公钥适用于所有版本。

查看apt版本的命令:

apt --version

一般软件都有提供自己的仓库公钥下载地址,例如 Nginx 的是:

https://nginx.org/keys/nginx_signing.key

Docker的是:

https://download.docker.com/linux/ubuntu/gpg

如何确定公钥的类型?如果公钥的内容全部都是文本,不是乱码,而且第一行内容含有BEGIN PGP PUBLIC KEY BLOCK字样的,就是文本公钥。

例如Nginx仓库的公钥就是文本公钥:
在这里插入图片描述

下载文本公钥,保存到/etc/apt/keyrings/目录(此目录需要手动创建):

curl -fsSL https://nginx.org/keys/nginx_signing.key -o /etc/apt/keyrings/nginx-repo-keyring.key

正如上文讲到的,1.4版本以上的apt已经支持文本公钥,下载好后就可以直接使用。如果你还是想要将文本公钥转换为二进制GPG公钥,请看下面第二步骤。

在旧版本的Ubuntu中,仓库公钥下载后,是使用apt-key add命令添加的,但通过该命令添加的公钥,不仅仅会被当前仓库使用,还会被其它的所有仓库共用,会有安全风险。因此自从Ubuntu 20.10版本开始,apt-key命令就被标记为“过时”,并且在22.04版本(不含)后会被正式移除。而新的方法是在source文件中使用signed-by关键字指定仓库公钥的位置(见下面第三步骤)

2、文本公钥转二进制GPG公钥(可选)

使用gpg命令将文本公钥转换为二进制公钥,同样是保存到/etc/apt/keyrings/目录,不过文件的后缀名是.gpg

curl -fsSL https://nginx.org/keys/nginx_signing.key \| sudo gpg --dearmor -o /etc/apt/keyrings/nginx-repo-keyring.gpg

apt_53">3、添加apt软件源

创建source文件,名字为nginx.list,并往里写入内容:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/nginx-repo-keyring.gpg] https://nginx.org/packages/ubuntu/ $(lsb_release -cs) nginx" \| sudo tee /etc/apt/sources.list.d/nginx.list > /dev/null

注意signed-by后面跟的是Nginx仓库公钥的路径,根据实际情况修改。

生成的nginx.list文件内容示例:

deb [arch=amd64 signed-by=/etc/apt/keyrings/nginx-repo-keyring.gpg] https://nginx.org/packages/ubuntu/ jammy nginx

4、安装新版Nginx

添加好 Nginx 仓库后,就可以安装新版的 Nginx 了:

apt update
apt install nginx

参阅

  • Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead
  • How To Handle apt-key and add-apt-repository Deprecation Using gpg to Add External Repositories on Ubuntu 22.04

http://www.ppmy.cn/news/1460651.html

相关文章

微信小程序网格布局

效果图 实现 wxml <!-- 订单内容 --><view class"father"><!-- 订单item --><view class"childs" wx:for"{{List}}" wx:key"{{ index }}"></view></view> wxss .father{display: grid;grid-tem…

微信小程序开发秘籍:解锁音频录制与录音功能的奥秘

微信小程序开发秘籍&#xff1a;解锁音频录制与录音功能的奥秘 在微信小程序的开发旅程中&#xff0c;音频功能的集成可以极大地丰富用户体验&#xff0c;特别是在教育、娱乐、社交等领域。本文将引领你深入了解如何在微信小程序中实现音频录制和播放功能&#xff0c;从基本概…

7-115 差分矩阵

知识点:差分 输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上 c。 请你将进行完所有操作后的矩阵输出。 1≤n,…

Redis 之 布隆过滤器 与 布谷鸟过滤器

大家都知道,在计算机中IO一直是一个瓶颈,很多框架以及技术甚至硬件都是为了降低IO操作而生,今天聊一聊过滤器,先说一个场景: 我们业务后端涉及数据库,当请求消息查询某些信息时,可能先检查缓存中是否有相关信息,有的话返回,如果没有的话可能就要去数据库里面查询,这时候有一个…

【图像增强(空域)】基于灰度变换的图像增强及Matlab仿真

1. 摘要&#xff1a; 空域内的图像增强就是调整灰度图像的明暗对比度&#xff0c;对图像中各个像素的灰度值直接进行处理。常用的方法包括&#xff1a;灰度变换增强和直方图增强。 2. 原理&#xff1a; 灰度变换增强是空域ne对图像进行增强的一种简单且直接的方法。灰度变换…

在ubuntu 24.04上安装xrdp服务器(已验证可用)

上篇博客写了如何在ubuntu 24.04上安装vnc server&#xff0c;虽然它可以使用&#xff0c;但是有两个非常不好的缺点&#xff1a; 需要在主机上登录后vnc viewer才能登录。这样&#xff0c;如果还在vnc viewer上重启主机&#xff0c;然后你就不能再使用vnc viewer登录了。主机…

Unity图文混排EmojiText的使用方式和注意事项

​​​​​​​ 效果演示&#xff1a; 使用方式&#xff1a; 1、导入表情 2、设置图片格式 3、生成表情图集 4、创建/修改目标材质球 5、测试 修复换行问题 修复前&#xff1a; 修复后&#xff1a; 修复代码&#xff1a; 组件扩展 1、右键扩展 2、组件归类&#…

解决 XXL-Job 端口额外占用问题 小结

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java技术栈笔记 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1. 前言 2. 问题解决 2.1. 下载源码 2.2. 启动admin服务器 2.3. 项目引入c…