Ubuntu Server 20.04의 기본 PHP 버전은 7.4.3인데, 7.4.30으로 업그레이드하고 싶습니다. ppa:ondrej/php를 apt 저장소에 추가했지만 apt 업그레이드는 PHP를 8.1로 업그레이드한다는 것을 보여줍니다. PHP 8로 건너뛰고 싶지 않다고 apt에 어떻게 알릴 수 있나요?
답변1
tl;dr:
sudo apt install php7.4=1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1
전체 설명:
ppa:ondrej/php
이미 (를 통해 sudo add-apt-repository ppa:ondrej/php
) 리포지토리를 추가했으므로 를 사용 apt-cache
하여 설치할 수 있는 사용 가능한 버전을 나열한 다음 apt install
특정 버전을 설치할 수 있습니다.
이 apt
도구는 별칭을 사용하여 널리 사용되는 응용 프로그램의 설치를 단순화합니다. 실수로 발견한 것처럼 은(는) apt install php
이제 의 별칭입니다 apt install php8.1
. ondrej/php 저장소는 php8.1
, php8.0
및 에 대한 패키지를 추가하고 를 가리키는 php7.4
별칭을 추가합니다 .php
php8.1
PHP 7.4.30을 설치하려면 apt install
명령에 버전 번호를 명시적으로 포함해야 합니다. 이 apt-cache
명령은 사용 가능한 모든 버전을 나열합니다. 나는 or apt-cache madison
보다 출력을 읽기가 더 쉽기 때문에 를 사용하는 것을 선호 하지만 이들 중 어느 것이든 필요한 정보를 제공할 것입니다. 원하는 명령을 사용하십시오.apt-cache showpkg
apt-cache policy
apt-cache madison php7.4
다음과 같은 결과가 반환됩니다.
php7.4 | 1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1 | http://ppa.launchpad.net/ondrej/php/ubuntu focal/main amd64 Packages
php7.4 | 7.4.3-4ubuntu2.12 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
php7.4 | 7.4.3-4ubuntu2.12 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
php7.4 | 7.4.3-4ubuntu1 | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
열은 다음과 같이 구성됩니다.
<package name> | <version> | <repository>
apt
선택적 구문을 사용하여 특정 버전의 패키지 설치를 지원합니다 package=version
. 이 경우 원하는 버전은 1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1
ondrej/php 저장소의 입니다.
함께 모아서:
sudo apt install php7.4=1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1
답변2
Ubuntu 관리자는 공식 패키지에 버그 수정 및 보안 업데이트를 포함합니다. 메이저 버전을 유지합니다. 따라서 업스트림 마이너 릴리스로 업그레이드할 필요가 없습니다.
7.4.3-4ubuntu2.12
Ubuntu 20.04에 PHP 버전이 있음을 알 수 있습니다 .
당신은 참조 할 수 있습니다변경 로그
이러한 유형의 "업그레이드"를 찾는 것은 빈번한 실수입니다.