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

目录

  • 环境
  • 前言
  • 添加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

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.mzph.cn/diannao/11244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI算法-高数5-线性代数1-基本概念、向量

线性代数:主要研究1、张量>CV计算机视觉 2、研究张量的线性关系。 深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络,然而神经网络最基本的数据结构就是向量和矩阵,神经网络的输入是向量,然后通过每个矩阵对向量…

使用 Flask Blueprint 实现模块化 Web 应用

文章目录 1. 什么是 Flask Blueprint?2. 为什么要使用 Flask Blueprint?3. 如何使用 Flask Blueprint?4. 在 Blueprint 之间进行通信5. 结合 Flask 插件系统进行功能拓展结语 当构建大型 Flask Web 应用时,保持代码的组织结构清晰…

遨游 JavaScript 对象星际:探索面向对象编程的深邃世界

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 💯面向对象编程🔗1 什么是对象🔗2 什么是…

免费SSL证书申请安装通用指南

JoySSL官网 注册码230918 关于SSL证书的申请与安装,以下是一个概括性的技术性指南,适合那些希望详细了解该过程的技术人员或网站管理员。请注意,具体步骤可能会根据证书颁发机构(CA)和服务提供商的不同而有所变化。 一、选择SSL证书类型与颁…

Postman工具介绍与安装

一、Postman介绍 Postman 乃是一款对 HTTP 协议予以支持的接口调试及测试工具,其突出特性在于功能强大,并且使用简便、易用性良好。不管是开发人员开展接口调试工作,还是测试人员进行接口测试任务,Postman 均属于首选工具之一。 接…

使用Python递归重命名文件和文件夹

使用 Python 递归重命名文件和文件夹可以通过 os 模块和 os.path 模块来完成。下面是一个示例代码,演示如何递归地重命名文件和文件夹: 1、问题背景 在研究大型数字档案时,需要将这些档案复制到本地存储进行保存。这些档案通常存储在 USB 驱…

吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.3-17.4

目录 第 10 周 17、 大规模机器学习(Large Scale Machine Learning)17.3 小批量梯度下降17.4 随机梯度下降收敛 第 10 周 17、 大规模机器学习(Large Scale Machine Learning) 17.3 小批量梯度下降 小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法&am…

SpringBoot自动配置源码解析+自定义Spring Boot Starter

SpringBootApplication Spring Boot应用标注 SpringBootApplication 注解的类说明该类是Spring Boot 的主配置类,需要运行该类的main方法进行启动 Spring Boot 应用 SpringBootConfiguration 该注解标注表示标注的类是个配置类 EnableAutoConfiguration 直译&#…

沃尔玛自养号测评的优势是什么?有哪些技术要求

沃尔玛自养号测评的优势主要体现在以下几个方面: 1. 可控性强:自养号测评允许卖家完全掌控测评流程,包括账号的创建、管理、使用等,可以根据需要随时调整指定测评周期,确保测评效果最大化。 2. 安全性高:…

ae如何导出mp4格式?图文教程,手把手教您搞定

在创作精彩的视频内容后,将其成功导出为通用的MP4格式是确保作品在不同平台上流畅播放的重要一环。Adobe After Effects作为一款专业的视频后期制作工具,提供了丰富的功能来实现这一目标。在本文中,我们将通过图文教程,手把手地向…

牛客 二叉树 NB20 翻转牛群结构

[原题连接](翻转牛群结构_牛客题霸_牛客网 (nowcoder.com)) 这道题简单来讲就是给着棵树翻个面, 翻面后各个节点之间不会有子节点的交换, 但是每个节点的左右节点会做交换, 所以我们采用层序遍历来遍历二叉树, 在遍历的过程中交换每个节点的左右节点即可 public class Solutio…

Linux禁用危险命令和防止误操作

禁用rm命令 编辑/etc/profile文件,结尾添加 ###### rm prevent ###### alias rmecho can not use rm command使用source命令生效 source /etc/profile效果 使用mv命令代替rm命令 将需要删除的文件移动到特定的目录,比如/home/sharedir/ 在.bashrc目…

臻奶惠:社区牛奶直供领航者

在当今中国经济转型升级的紧要关头,随着人口红利的逐步减弱,消费升级趋势日益显著,传统行业面临着前所未有的变革与重组。在此背景下,臻奶惠凭借其独到的市场洞察力和前瞻的战略布局,聚焦于健康消费的新蓝海&#xff0…

spring cloud alibaba、spring cloud和springboot三者的版本兼容

官方版本说明地址: 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 组件版本关系 每个 Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本如下表所示(注意,Spring Cloud Dubbo 从 2021.0.1.0 起已被移除出主干,不再随主干演进): Spring Cloud Alibaba Ve…

Multsim仿真电路:(十七)DC-DC降压电路原理简单仿真

1.前言 由于日常工作中,降压电路用的比较多,所以我只对降压DC-DC进行仿真,本质上还是自己学习记录,因为发现越深入要了解的东西就会越多,慢慢就脱离我现在使用的范畴,就又会变成空空的学习,所以…

社交媒体数据恢复:密聊猫

一、概述 密聊猫是一款提供多种优质体验的手机社交聊天软件。通过这款软件,用户可以享受到多种不同的乐趣体验,如真人在线匹配、真实的交友体验等。同时,密聊猫也提供了数据恢复功能,帮助用户找回丢失的数据。 二、数据恢复步骤…

黑马甄选离线数仓项目day01(项目介绍)

课程介绍 项目名称 黑马甄选数仓形式 离线数仓开发业务类型 电商业务 电商介绍 B2B B2C C2C 项目属于 新零售电商 新零售 线上(网站,app,小程序) 线下(实体体验店) 物流(自营物流) 项目行业 果蔬生鲜领域 商业模式 B…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《规模化屋顶光伏接入配电网的建设决策》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

数据结构---经典链表OJ

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 点击主页:optimistic_chen和专栏:c语言, 创作不易,大佬们点赞鼓…

使用 CloudFlare 后如何才能不影响搜索引擎蜘蛛爬虫

今天,明月给大家再次详细讲解一下,明月在使用 CloudFlare 后如何才能不影响搜索引擎蜘蛛爬虫对站点的抓取,因为这是很多首次使用 CloudFlare 的站长们容易忽略和触犯的问题,并不是 CloudFlare 不友好,而是 CloudFlare 的防火墙(WAF)实在是太给力。其实在【CloudFlare 如…