如何使用稳定版本的 Debian 安装最新版本的软件包(例如 Apache2)?

如何使用稳定版本的 Debian 安装最新版本的软件包(例如 Apache2)?

我正在管理一个 VPS 服务器(我使用的是 Debian 10 Buster,最新的稳定的版本),并且我想安装最新版本的基本 Web 软件包(例如:Apache 2.4.43、Bind 9.16.3),但是当我使用默认的 apt-repository 时,它会安装一个稍微旧的版本(apache 2.4 .38 并绑定 9.11.5)..

我发现apache2的2.4.43版本仅适用于Debian Bullseye(测试版本),但我不想安装测试版本的Debian,我更喜欢稳定版本。

简而言之:我想安装“最新”版本的 apt 软件包(如 apache2、bind9、postfix 等),而不升级到不稳定版本的 Debian。

答案1

Debian stable 之所以被称为稳定版,是因为它包含的软件,或者更确切地说,它包含的所有单个软件的外部接口,在其生命周期内不会改变。这样做的结果是,除了少数例外,打包软件不会升级到新版本。因此,一般来说,您无法在保持 Debian 稳定的同时安装较新软件的打包版本。

然而,有些软件包可作为向后移植,该apache2软件包就是其中之一。您可以通过启用向后移植并选择其作为升级源来安装它们:

echo deb http://deb.debian.org/debian buster-backports main | sudo tee /etc/apt/sources.list.d/buster-backports.list
sudo apt update
sudo apt install -t buster-backports apache2

如果其他升级已在测试中可用,并且有特别相关的升级原因,您可以尝试提交错误以请求向后移植。

但请注意,只有在有特定原因的情况下才应该升级到包的向后移植:向后移植的包不会获得与稳定存储库中的包相同的安全支持,并且虽然稳定发行版是作为一个连贯的整体进行测试的,向后移植不会进行此类测试。

答案2

#!/bin/bash
# To add this repository please do:

if [ "$(whoami)" != "root" ]; then
    SUDO=sudo
fi

${SUDO} apt-get -y install apt-transport-https lsb-release ca-certificates curl
${SUDO} wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
${SUDO} sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
${SUDO} apt-get update

# upgrade if you had the 2.4.38
apt-get upgrade -y

# If it wasn't already installed, at all
apt-get install apache2 -y 

来源:https://packages.sury.org/apache2/README.txt 从:https://deb.sury.org/

相关内容