

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AL2023에서 패키지 및 운영 체제 업데이트 관리
<a name="managing-repos-os-updates"></a>

이전 Amazon Linux 버전과 달리, AL2023 AMI는 특정 Amazon Linux 리포지토리 버전에서만 사용할 수 있습니다. AL2023 인스턴스 보안 및 버그를 모두 수정하려면 DNF 구성을 사용 가능한 최신 릴리스 버전으로 업데이트하세요. 또는 최신 AL2023 인스턴스를 실행하세요.

 이 섹션에서는 실행 중인 인스턴스에서 DNF 패키지 및 리포지토리를 관리하는 방법에 대해 설명합니다. 또한 시작 시 사용 가능한 최신 Amazon Linux 리포지토리를 활성화하도록 사용자 데이터 스크립트에서 DNF를 구성하는 방법도 설명합니다. 자세한 내용은 [DNF 명령 참조](https://dnf.readthedocs.io/en/latest/command_ref.html) 섹션을 참조하세요.

 새 AL2023 릴리스에서 사용할 수 있는 *모든* 업데이트를 적용하는 것이 좋습니다. 보안 업데이트만 선택하거나 특정 업데이트만 선택하는 것은 규칙이 아닌 예외여야 합니다. 특정 인스턴스와 [보안 권고](alas.md)와 관련된 목록은 [적용 가능한 권고 사항 나열](listing-applicable-advisories.md) 섹션을 참조하세요. 특정 [권고](alas.md)와 관련된 업데이트*만* 설치하는 방법에 대한 자세한 내용은 [현재 위치에서 보안 업데이트 적용](security-inplace-update.md) 섹션을 참조하세요.

**중요**  
 취약성을 보고하거나 AWS 클라우드 서비스 또는 오픈 소스 프로젝트와 관련된 보안 문제가 있는 경우 [취약성 보고 페이지를](https://aws.amazon.com/security/vulnerability-reporting/) 사용하여 AWS 보안에 문의하세요.

**Topics**
+ [사용 가능한 패키지 업데이트 확인](#dnf-package-updates)
+ [DNF 및 리포지토리 버전에서 보안 업데이트](#apply-security-updates)
+ [(보안) 업데이트 후 자동 서비스 재시작](#automatic-restart-services)
+ [보안 업데이트를 적용하려면 언제 재부팅해야 하나요?](#reboot)
+ [최신 리포지토리 버전이 활성화된 상태로 인스턴스 시작](#launch-an-instance-repo-version)
+ [패키지 지원 정보 가져오기](#dnf-support-info-plugin)
+ [`dnf check-release-update`로 최신 리포지토리 버전 확인](#dnf-repository-updates)
+ [새 리포지토리 추가, 사용 또는 사용 중지](#dnf-repo-addition)
+ [cloud-init를 사용하여 리포지토리 추가](#cloud-init-repo-update)

## 사용 가능한 패키지 업데이트 확인
<a name="dnf-package-updates"></a>

`dnf check-update` 명령을 사용하여 시스템 업데이트가 있는지 확인할 수 있습니다. AL2023의 경우 명령에 `--releasever={{version-number}}` 옵션을 추가하는 것이 좋습니다.

이 옵션을 추가하면 DNF가 최신 저장소의 업데이트도 확인합니다. 예를 들어, `dnf check-update` 명령을 실행하면 반환된 최신 버전을 `{{version-number}}`의 값으로 사용합니다.

최신 버전의 리포지토리를 사용하도록 인스턴스를 업데이트하면 업데이트될 모든 패키지 목록이 출력에 포함됩니다.

**참고**  
`dnf check-update` 명령에 플래그 옵션으로 릴리스 버전을 지정하지 않으면 현재 구성된 리포지토리 버전만 확인합니다. 즉, 최신 버전의 리포지토리에 있는 패키지는 검사되지 않습니다.

------
#### [ Updates in a specific version ]

 이 예제에서는 [2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 릴리스의 컨테이너를 시작한 경우 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스에서 사용할 수 있는 업데이트를 살펴보겠습니다.

**참고**  
 이 예제에서는 [2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 및 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스를 사용하며, 이는 AL2023의 최신 릴리스*가 아닙니다*. 최신 보안 업데이트가 포함된 최신 릴리스는 [AL2023 릴리스 노트](https://docs.aws.amazon.com/linux/al2023/release-notes/)를 참조하세요.

 이 예제에서는 [2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 릴리스의 컨테이너 이미지로 시작합니다.

 먼저 컨테이너 레지스트리에서 이 컨테이너 이미지를 가져옵니다. 끝에 있는 `.0`은 특정 릴리스의 이미지 버전을 나타냅니다. 이 이미지 버전은 일반적으로 0입니다.

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:{{2023.0.20230315.0}}
	  2023.0.20230315.0: Pulling from amazonlinux/amazonlinux
b76f3b09316a: Pull complete
Digest: sha256:94e7183b0739140dbd5b639fb7600f0a2299cec5df8780c26d9cb409da5315a9
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
```

 이제 컨테이너 내에 쉘을 생성하여 업데이트를 확인할 수 있습니다.

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:{{2023.0.20230315.0}}
	  bash-5.2#
```

 이제 `dnf check-update` 명령은 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스에서 사용 가능한 업데이트를 확인하는 데 사용됩니다.

**참고**  
 패키지 업데이트를 적용하는 것은 권한이 있는 작업입니다. 컨테이너에서 실행할 때는 일반적으로 권한 상승이 필요하지 않지만 Amazon EC2 인스턴스와 같은 컨테이너화되지 않은 환경에서 실행하는 경우 권한을 상승시키지 않고 업데이트를 *확인할* 수 있습니다.

```
$ dnf check-update --releasever={{2023.1.20230628}}
Amazon Linux 2023 repository                      60 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:02 ago on Mon Jul 22 17:25:34 2024.

amazon-linux-repo-cdn.noarch        2023.1.20230628-0.amzn2023        amazonlinux
ca-certificates.noarch              2023.2.60-1.0.amzn2023.0.2        amazonlinux
curl-minimal.x86_64                 8.0.1-1.amzn2023                  amazonlinux
glib2.x86_64                        2.74.7-688.amzn2023.0.1           amazonlinux
glibc.x86_64                        2.34-52.amzn2023.0.3              amazonlinux
glibc-common.x86_64                 2.34-52.amzn2023.0.3              amazonlinux
glibc-minimal-langpack.x86_64       2.34-52.amzn2023.0.3              amazonlinux
gnupg2-minimal.x86_64               2.3.7-1.amzn2023.0.4              amazonlinux
keyutils-libs.x86_64                1.6.3-1.amzn2023                  amazonlinux
libcap.x86_64                       2.48-2.amzn2023.0.3               amazonlinux
libcurl-minimal.x86_64              8.0.1-1.amzn2023                  amazonlinux
libgcc.x86_64                       11.3.1-4.amzn2023.0.3             amazonlinux
libgomp.x86_64                      11.3.1-4.amzn2023.0.3             amazonlinux
libstdc++.x86_64                    11.3.1-4.amzn2023.0.3             amazonlinux
libxml2.x86_64                      2.10.4-1.amzn2023.0.1             amazonlinux
ncurses-base.noarch                 6.2-4.20200222.amzn2023.0.4       amazonlinux
ncurses-libs.x86_64                 6.2-4.20200222.amzn2023.0.4       amazonlinux
openssl-libs.x86_64                 1:3.0.8-1.amzn2023.0.3            amazonlinux
python3-rpm.x86_64                  4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm.x86_64                          4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-build-libs.x86_64               4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-libs.x86_64                     4.16.1.3-12.amzn2023.0.6          amazonlinux
rpm-sign-libs.x86_64                4.16.1.3-12.amzn2023.0.6          amazonlinux
system-release.noarch               2023.1.20230628-0.amzn2023        amazonlinux
tzdata.noarch                       2023c-1.amzn2023.0.1              amazonlinux
bash-5.2#
```

 `system-release` 패키지 버전은 `dnf check-update --releasever={{2023.1.20230628}}` 명령에서 요청된 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스인 `dnf upgrade` 명령이 업데이트할 릴리스를 보여줍니다.

------
#### [ Updates in the latest version ]

 이 예제에서는 [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) 릴리스의 컨테이너를 시작한 경우 `latest` AL2023 버전에서 사용할 수 있는 업데이트를 살펴보겠습니다. 작성 시점에 `latest` 릴리스는 [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html)이므로 이 예제에 나열된 업데이트는 해당 릴리스를 기준으로 합니다.

**참고**  
 이 예제에서는 [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) 및 [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) 릴리스를 사용하며, 후자는 *작성 시점*의 최신 릴리스입니다. 최신 릴리스에 대한 자세한 내용은 [AL2023 릴리스 노트](https://docs.aws.amazon.com/linux/al2023/release-notes/)를 참조하세요.

 이 예제에서는 [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) 릴리스의 컨테이너 이미지로 시작합니다.

 먼저 컨테이너 레지스트리에서 이 컨테이너 이미지를 가져옵니다. 끝에 있는 `.1`은 특정 릴리스의 이미지 버전을 나타냅니다. 이미지 버전은 일반적으로 0이지만 이 예제에서는 이미지 버전이 1인 릴리스를 사용합니다.

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:{{2023.4.20240319.1}}
	  2023.4.20240319.1: Pulling from amazonlinux/amazonlinux
6de065fda9a2: Pull complete
Digest: sha256:b4838c4cc9211d966b6ea158dacc9eda7433a16ba94436508c2d9f01f7658b4e
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
```

 이제 컨테이너 내에 쉘을 생성하여 업데이트를 확인할 수 있습니다.

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:{{2023.4.20240319.1}}
	  bash-5.2#
```

 이제 `dnf check-update` 명령은 `latest` 릴리스에서 사용 가능한 업데이트를 확인하는 데 사용됩니다. 이 업데이트는 *작성 당시* [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html)이었습니다.

**참고**  
 패키지 업데이트를 적용하는 것은 권한이 있는 작업입니다. 컨테이너에서 실행할 때는 일반적으로 권한 상승이 필요하지 않지만 Amazon EC2 인스턴스와 같은 컨테이너화되지 않은 환경에서 실행하는 경우 권한을 상승시키지 않고 업데이트를 *확인할* 수 있습니다.

```
$ dnf --releasever=latest check-update
Amazon Linux 2023 repository                      78 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 17:39:13 2024.

amazon-linux-repo-cdn.noarch        2023.5.20240708-1.amzn2023        amazonlinux
curl-minimal.x86_64                 8.5.0-1.amzn2023.0.4              amazonlinux
dnf.noarch                          4.14.0-1.amzn2023.0.5             amazonlinux
dnf-data.noarch                     4.14.0-1.amzn2023.0.5             amazonlinux
expat.x86_64                        2.5.0-1.amzn2023.0.4              amazonlinux
glibc.x86_64                        2.34-52.amzn2023.0.10             amazonlinux
glibc-common.x86_64                 2.34-52.amzn2023.0.10             amazonlinux
glibc-minimal-langpack.x86_64       2.34-52.amzn2023.0.10             amazonlinux
krb5-libs.x86_64                    1.21-3.amzn2023.0.4               amazonlinux
libblkid.x86_64                     2.37.4-1.amzn2023.0.4             amazonlinux
libcurl-minimal.x86_64              8.5.0-1.amzn2023.0.4              amazonlinux
libmount.x86_64                     2.37.4-1.amzn2023.0.4             amazonlinux
libnghttp2.x86_64                   1.59.0-3.amzn2023.0.1             amazonlinux
libsmartcols.x86_64                 2.37.4-1.amzn2023.0.4             amazonlinux
libuuid.x86_64                      2.37.4-1.amzn2023.0.4             amazonlinux
openssl-libs.x86_64                 1:3.0.8-1.amzn2023.0.12           amazonlinux
python3.x86_64                      3.9.16-1.amzn2023.0.8             amazonlinux
python3-dnf.noarch                  4.14.0-1.amzn2023.0.5             amazonlinux
python3-libs.x86_64                 3.9.16-1.amzn2023.0.8             amazonlinux
system-release.noarch               2023.5.20240708-1.amzn2023        amazonlinux
yum.noarch                          4.14.0-1.amzn2023.0.5             amazonlinux
bash-5.2#
```

 `system-release` 패키지 버전은 `dnf upgrade` 명령이 업데이트할 릴리스를 보여줍니다.

------

이 명령의 경우 새 패키지가 있다면 반환 코드는 100입니다. 새 패키지가 없다면 반환 코드는 0입니다. 또한 업데이트할 모든 패키지도 출력에 나열됩니다.

## DNF 및 리포지토리 버전에서 보안 업데이트
<a name="apply-security-updates"></a>

최신 패키지 업데이트 및 보안 업데이트는 최신 저장소 버전에만 제공됩니다. AL2023 AMI 구 버전에서 실행한 인스턴스의 경우 보안 업데이트를 설치하기 전에 리포지토리 버전을 업데이트해야 합니다. 이 `dnf check-release-update` 명령에는 시스템에 설치된 모든 패키지를 최신 저장소 버전으로 업데이트하는 업데이트 명령이 포함되어 있습니다.

**참고**  
 `dnf check-update` 명령에 플래그 옵션으로 릴리스 버전을 지정하지 않으면 현재 구성된 리포지토리 버전만 확인합니다. 즉, 리포지토리의 이후 버전에 있는 설치된 패키지에 대한 업데이트는 적용되지 않습니다.

 이 섹션에서는 개별 업데이트를 선택하거나 보안 업데이트로 표시된 업데이트만 적용하는 대신, 사용 가능한 모든 업데이트를 적용하는 권장 업그레이드 경로를 다룹니다. 모든 업데이트를 적용하면 기존 인스턴스가 업데이트된 AMI를 시작하는 것과 동일한 패키지 세트로 이동합니다. 이러한 일관성은 플릿 전체에서 패키지 버전의 차이를 줄입니다. 특정 업데이트의 적용에 대한 자세한 내용은 [현재 위치에서 보안 업데이트 적용](security-inplace-update.md) 섹션을 참조하세요.

------
#### [ Applying updates in a specific version ]

 이 예제에서는 [2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 릴리스의 컨테이너를 시작한 경우 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스에서 사용할 수 있는 업데이트를 적용합니다.

**참고**  
 이 예제에서는 [2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 및 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스를 사용하며, 이는 AL2023의 최신 릴리스*가 아닙니다*. 최신 보안 업데이트가 포함된 최신 릴리스는 [AL2023 릴리스 노트](https://docs.aws.amazon.com/linux/al2023/release-notes/)를 참조하세요.

 이 예제에서는 [2023.0.20230315](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.0.20230315.html) 릴리스의 컨테이너 이미지로 시작합니다.

 먼저 컨테이너 레지스트리에서 이 컨테이너 이미지를 가져옵니다. 끝에 있는 `.0`은 특정 릴리스의 이미지 버전을 나타냅니다. 이 이미지 버전은 일반적으로 0입니다.

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:{{2023.0.20230315.0}}
	  2023.0.20230315.0: Pulling from amazonlinux/amazonlinux
b76f3b09316a: Pull complete
Digest: sha256:94e7183b0739140dbd5b639fb7600f0a2299cec5df8780c26d9cb409da5315a9
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
public.ecr.aws/amazonlinux/amazonlinux:2023.0.20230315.0
```

 이제 컨테이너 내에 쉘을 생성하여 업데이트를 적용할 수 있습니다.

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:{{2023.0.20230315.0}}
	  bash-5.2#
```

 이제 `dnf upgrade` 명령은 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스에 있는 모든 업데이트를 적용하는 데 사용됩니다.

**참고**  
 패키지 업데이트를 적용하는 것은 권한이 있는 작업입니다. 컨테이너에서 실행할 때는 일반적으로 권한 상승이 필요하지 않지만 Amazon EC2 인스턴스 같은 컨테이너화되지 않은 환경에서 실행하는 경우 `root` 사용자로 `dnf upgrade` 명령을 실행해야 합니다. 이 작업은 `sudo` 또는 `su` 명령을 사용하여 수행할 수 있습니다.

```
$ dnf upgrade --releasever={{2023.1.20230628}}
Amazon Linux 2023 repository                      38 MB/s |  15 MB     00:00
Last metadata expiration check: 0:00:02 ago on Mon Jul 22 17:49:08 2024.
Dependencies resolved.
=================================================================================
 Package                 Arch    Version                      Repository    Size
=================================================================================
Upgrading:
 amazon-linux-repo-cdn   noarch  2023.1.20230628-0.amzn2023   amazonlinux   18 k
 ca-certificates         noarch  2023.2.60-1.0.amzn2023.0.2   amazonlinux  829 k
 curl-minimal            x86_64  8.0.1-1.amzn2023             amazonlinux  150 k
 glib2                   x86_64  2.74.7-688.amzn2023.0.1      amazonlinux  2.7 M
 glibc                   x86_64  2.34-52.amzn2023.0.3         amazonlinux  1.9 M
 glibc-common            x86_64  2.34-52.amzn2023.0.3         amazonlinux  307 k
 glibc-minimal-langpack  x86_64  2.34-52.amzn2023.0.3         amazonlinux   35 k
 gnupg2-minimal          x86_64  2.3.7-1.amzn2023.0.4         amazonlinux  421 k
 keyutils-libs           x86_64  1.6.3-1.amzn2023             amazonlinux   33 k
 libcap                  x86_64  2.48-2.amzn2023.0.3          amazonlinux   67 k
 libcurl-minimal         x86_64  8.0.1-1.amzn2023             amazonlinux  249 k
 libgcc                  x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  105 k
 libgomp                 x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  280 k
 libstdc++               x86_64  11.3.1-4.amzn2023.0.3        amazonlinux  744 k
 libxml2                 x86_64  2.10.4-1.amzn2023.0.1        amazonlinux  706 k
 ncurses-base            noarch  6.2-4.20200222.amzn2023.0.4  amazonlinux   60 k
 ncurses-libs            x86_64  6.2-4.20200222.amzn2023.0.4  amazonlinux  328 k
 openssl-libs            x86_64  1:3.0.8-1.amzn2023.0.3       amazonlinux  2.2 M
 python3-rpm             x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   88 k
 rpm                     x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux  486 k
 rpm-build-libs          x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   90 k
 rpm-libs                x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux  309 k
 rpm-sign-libs           x86_64  4.16.1.3-12.amzn2023.0.6     amazonlinux   21 k
 system-release          noarch  2023.1.20230628-0.amzn2023   amazonlinux   29 k
 tzdata                  noarch  2023c-1.amzn2023.0.1         amazonlinux  433 k

Transaction Summary
=================================================================================
Upgrade  25 Packages

Total download size: 12 M
Is this ok [y/N]:
```

 `system-release` 패키지 버전은 `dnf upgrade --releasever={{2023.1.20230628}}` 명령에서 요청된 [2023.1.20230628](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.1.20230628.html) 릴리스인 `dnf upgrade` 명령이 업데이트할 릴리스를 보여줍니다.

 기본적으로 `dnf`는 업데이트를 적용할지 확인하라는 메시지를 표시합니다. `dnf`에 대한 `-y` 플래그를 사용하여 이 프롬프트를 우회할 수 있습니다. 이 예제의 경우 `dnf upgrade -y --releasever={{2023.1.20230628}}` 명령은 업데이트를 적용하기 전에 확인을 요청하지 않습니다. 이는 스크립트 또는 기타 자동화 환경에서 유용합니다.

 업데이트 적용 여부를 확인하면 `dnf`가 업데이트를 적용합니다.

```
Is this ok [y/N]:y
	  Downloading Packages:
(1/25): libcap-2.48-2.amzn2023.0.3.x86_64.rpm    1.5 MB/s |  67 kB     00:00
(2/25): python3-rpm-4.16.1.3-12.amzn2023.0.6.x86 2.1 MB/s |  88 kB     00:00
(3/25): libcurl-minimal-8.0.1-1.amzn2023.x86_64. 2.6 MB/s | 249 kB     00:00
(4/25): glib2-2.74.7-688.amzn2023.0.1.x86_64.rpm  26 MB/s | 2.7 MB     00:00
(5/25): glibc-minimal-langpack-2.34-52.amzn2023. 1.3 MB/s |  35 kB     00:00
(6/25): rpm-build-libs-4.16.1.3-12.amzn2023.0.6. 2.8 MB/s |  90 kB     00:00
(7/25): rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64 6.6 MB/s | 309 kB     00:00
(8/25): libgcc-11.3.1-4.amzn2023.0.3.x86_64.rpm  3.9 MB/s | 105 kB     00:00
(9/25): glibc-common-2.34-52.amzn2023.0.3.x86_64  11 MB/s | 307 kB     00:00
(10/25): glibc-2.34-52.amzn2023.0.3.x86_64.rpm    31 MB/s | 1.9 MB     00:00
(11/25): rpm-sign-libs-4.16.1.3-12.amzn2023.0.6. 877 kB/s |  21 kB     00:00
(12/25): gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86  15 MB/s | 421 kB     00:00
(13/25): openssl-libs-3.0.8-1.amzn2023.0.3.x86_6  35 MB/s | 2.2 MB     00:00
(14/25): libxml2-2.10.4-1.amzn2023.0.1.x86_64.rp  14 MB/s | 706 kB     00:00
(15/25): curl-minimal-8.0.1-1.amzn2023.x86_64.rp 4.2 MB/s | 150 kB     00:00
(16/25): rpm-4.16.1.3-12.amzn2023.0.6.x86_64.rpm  11 MB/s | 486 kB     00:00
(17/25): libgomp-11.3.1-4.amzn2023.0.3.x86_64.rp 7.0 MB/s | 280 kB     00:00
(18/25): libstdc++-11.3.1-4.amzn2023.0.3.x86_64.  14 MB/s | 744 kB     00:00
(19/25): keyutils-libs-1.6.3-1.amzn2023.x86_64.r 1.6 MB/s |  33 kB     00:00
(20/25): ncurses-libs-6.2-4.20200222.amzn2023.0.  10 MB/s | 328 kB     00:00
(21/25): tzdata-2023c-1.amzn2023.0.1.noarch.rpm   11 MB/s | 433 kB     00:00
(22/25): amazon-linux-repo-cdn-2023.1.20230628-0 781 kB/s |  18 kB     00:00
(23/25): ca-certificates-2023.2.60-1.0.amzn2023.  16 MB/s | 829 kB     00:00
(24/25): system-release-2023.1.20230628-0.amzn20 1.5 MB/s |  29 kB     00:00
(25/25): ncurses-base-6.2-4.20200222.amzn2023.0. 3.1 MB/s |  60 kB     00:00
---------------------------------------------------------------------------------
Total                                             28 MB/s |  12 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1
  Upgrading        : libgcc-11.3.1-4.amzn2023.0.3.x86_64                    1/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.3.x86_64                    1/50
  Upgrading        : system-release-2023.1.20230628-0.amzn2023.noarch       2/50
  Upgrading        : amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.no    3/50
  Upgrading        : ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch        4/50
  Upgrading        : tzdata-2023c-1.amzn2023.0.1.noarch                     5/50
  Upgrading        : glibc-common-2.34-52.amzn2023.0.3.x86_64               6/50
  Running scriptlet: glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Upgrading        : glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Running scriptlet: glibc-2.34-52.amzn2023.0.3.x86_64                      7/50
  Upgrading        : glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64     8/50
  Upgrading        : libcap-2.48-2.amzn2023.0.3.x86_64                      9/50
  Upgrading        : gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64            10/50
  Upgrading        : libgomp-11.3.1-4.amzn2023.0.3.x86_64                  11/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Upgrading        : ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     12/50
  Upgrading        : openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64            13/50
  Upgrading        : libcurl-minimal-8.0.1-1.amzn2023.x86_64               14/50
  Upgrading        : curl-minimal-8.0.1-1.amzn2023.x86_64                  15/50
  Upgrading        : rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64              16/50
  Upgrading        : rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   17/50
  Upgrading        : rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64        18/50
  Upgrading        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64         19/50
  Upgrading        : python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64           20/50
  Upgrading        : glib2-2.74.7-688.amzn2023.0.1.x86_64                  21/50
  Upgrading        : libxml2-2.10.4-1.amzn2023.0.1.x86_64                  22/50
  Upgrading        : libstdc++-11.3.1-4.amzn2023.0.3.x86_64                23/50
  Upgrading        : keyutils-libs-1.6.3-1.amzn2023.x86_64                 24/50
  Upgrading        : ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64       25/50
  Cleanup          : glib2-2.73.2-680.amzn2023.0.3.x86_64                  26/50
  Cleanup          : libstdc++-11.3.1-4.amzn2023.0.2.x86_64                27/50
  Cleanup          : libxml2-2.10.3-2.amzn2023.0.1.x86_64                  28/50
  Cleanup          : python3-rpm-4.16.1.3-12.amzn2023.0.5.x86_64           29/50
  Cleanup          : rpm-build-libs-4.16.1.3-12.amzn2023.0.5.x86_64        30/50
  Cleanup          : rpm-sign-libs-4.16.1.3-12.amzn2023.0.5.x86_64         31/50
  Cleanup          : rpm-libs-4.16.1.3-12.amzn2023.0.5.x86_64              32/50
  Cleanup          : libcap-2.48-2.amzn2023.0.2.x86_64                     33/50
  Cleanup          : gnupg2-minimal-2.3.7-1.amzn2023.0.3.x86_64            34/50
  Cleanup          : ncurses-libs-6.2-4.20200222.amzn2023.0.3.x86_64       35/50
  Cleanup          : libgomp-11.3.1-4.amzn2023.0.2.x86_64                  36/50
  Cleanup          : rpm-4.16.1.3-12.amzn2023.0.5.x86_64                   37/50
  Cleanup          : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64             38/50
  Cleanup          : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64          39/50
  Cleanup          : openssl-libs-1:3.0.8-1.amzn2023.0.1.x86_64            40/50
  Cleanup          : keyutils-libs-1.6.1-2.amzn2023.0.2.x86_64             41/50
  Cleanup          : amazon-linux-repo-cdn-2023.0.20230315-1.amzn2023.no   42/50
  Cleanup          : system-release-2023.0.20230315-1.amzn2023.noarch      43/50
  Cleanup          : ca-certificates-2023.2.60-1.0.amzn2023.0.1.noarch     44/50
  Cleanup          : ncurses-base-6.2-4.20200222.amzn2023.0.3.noarch       45/50
  Cleanup          : glibc-minimal-langpack-2.34-52.amzn2023.0.2.x86_64    46/50
  Cleanup          : glibc-2.34-52.amzn2023.0.2.x86_64                     47/50
  Cleanup          : glibc-common-2.34-52.amzn2023.0.2.x86_64              48/50
  Cleanup          : tzdata-2022g-1.amzn2023.0.1.noarch                    49/50
  Cleanup          : libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Running scriptlet: ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     50/50
  Running scriptlet: rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   50/50
  Running scriptlet: libgcc-11.3.1-4.amzn2023.0.2.x86_64                   50/50
  Verifying        : libcurl-minimal-8.0.1-1.amzn2023.x86_64                1/50
  Verifying        : libcurl-minimal-7.88.1-1.amzn2023.0.1.x86_64           2/50
  Verifying        : libcap-2.48-2.amzn2023.0.3.x86_64                      3/50
  Verifying        : libcap-2.48-2.amzn2023.0.2.x86_64                      4/50
  Verifying        : glib2-2.74.7-688.amzn2023.0.1.x86_64                   5/50
  Verifying        : glib2-2.73.2-680.amzn2023.0.3.x86_64                   6/50
  Verifying        : python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64            7/50
  Verifying        : python3-rpm-4.16.1.3-12.amzn2023.0.5.x86_64            8/50
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64     9/50
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.2.x86_64    10/50
  Verifying        : rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64              11/50
  Verifying        : rpm-libs-4.16.1.3-12.amzn2023.0.5.x86_64              12/50
  Verifying        : rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64        13/50
  Verifying        : rpm-build-libs-4.16.1.3-12.amzn2023.0.5.x86_64        14/50
  Verifying        : glibc-2.34-52.amzn2023.0.3.x86_64                     15/50
  Verifying        : glibc-2.34-52.amzn2023.0.2.x86_64                     16/50
  Verifying        : libgcc-11.3.1-4.amzn2023.0.3.x86_64                   17/50
  Verifying        : libgcc-11.3.1-4.amzn2023.0.2.x86_64                   18/50
  Verifying        : glibc-common-2.34-52.amzn2023.0.3.x86_64              19/50
  Verifying        : glibc-common-2.34-52.amzn2023.0.2.x86_64              20/50
  Verifying        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64         21/50
  Verifying        : rpm-sign-libs-4.16.1.3-12.amzn2023.0.5.x86_64         22/50
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64            23/50
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.1.x86_64            24/50
  Verifying        : gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64            25/50
  Verifying        : gnupg2-minimal-2.3.7-1.amzn2023.0.3.x86_64            26/50
  Verifying        : libxml2-2.10.4-1.amzn2023.0.1.x86_64                  27/50
  Verifying        : libxml2-2.10.3-2.amzn2023.0.1.x86_64                  28/50
  Verifying        : curl-minimal-8.0.1-1.amzn2023.x86_64                  29/50
  Verifying        : curl-minimal-7.88.1-1.amzn2023.0.1.x86_64             30/50
  Verifying        : rpm-4.16.1.3-12.amzn2023.0.6.x86_64                   31/50
  Verifying        : rpm-4.16.1.3-12.amzn2023.0.5.x86_64                   32/50
  Verifying        : libstdc++-11.3.1-4.amzn2023.0.3.x86_64                33/50
  Verifying        : libstdc++-11.3.1-4.amzn2023.0.2.x86_64                34/50
  Verifying        : libgomp-11.3.1-4.amzn2023.0.3.x86_64                  35/50
  Verifying        : libgomp-11.3.1-4.amzn2023.0.2.x86_64                  36/50
  Verifying        : keyutils-libs-1.6.3-1.amzn2023.x86_64                 37/50
  Verifying        : keyutils-libs-1.6.1-2.amzn2023.0.2.x86_64             38/50
  Verifying        : ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64       39/50
  Verifying        : ncurses-libs-6.2-4.20200222.amzn2023.0.3.x86_64       40/50
  Verifying        : ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch     41/50
  Verifying        : ca-certificates-2023.2.60-1.0.amzn2023.0.1.noarch     42/50
  Verifying        : tzdata-2023c-1.amzn2023.0.1.noarch                    43/50
  Verifying        : tzdata-2022g-1.amzn2023.0.1.noarch                    44/50
  Verifying        : amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.no   45/50
  Verifying        : amazon-linux-repo-cdn-2023.0.20230315-1.amzn2023.no   46/50
  Verifying        : system-release-2023.1.20230628-0.amzn2023.noarch      47/50
  Verifying        : system-release-2023.0.20230315-1.amzn2023.noarch      48/50
  Verifying        : ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch       49/50
  Verifying        : ncurses-base-6.2-4.20200222.amzn2023.0.3.noarch       50/50

Upgraded:
  amazon-linux-repo-cdn-2023.1.20230628-0.amzn2023.noarch
  ca-certificates-2023.2.60-1.0.amzn2023.0.2.noarch
  curl-minimal-8.0.1-1.amzn2023.x86_64
  glib2-2.74.7-688.amzn2023.0.1.x86_64
  glibc-2.34-52.amzn2023.0.3.x86_64
  glibc-common-2.34-52.amzn2023.0.3.x86_64
  glibc-minimal-langpack-2.34-52.amzn2023.0.3.x86_64
  gnupg2-minimal-2.3.7-1.amzn2023.0.4.x86_64
  keyutils-libs-1.6.3-1.amzn2023.x86_64
  libcap-2.48-2.amzn2023.0.3.x86_64
  libcurl-minimal-8.0.1-1.amzn2023.x86_64
  libgcc-11.3.1-4.amzn2023.0.3.x86_64
  libgomp-11.3.1-4.amzn2023.0.3.x86_64
  libstdc++-11.3.1-4.amzn2023.0.3.x86_64
  libxml2-2.10.4-1.amzn2023.0.1.x86_64
  ncurses-base-6.2-4.20200222.amzn2023.0.4.noarch
  ncurses-libs-6.2-4.20200222.amzn2023.0.4.x86_64
  openssl-libs-1:3.0.8-1.amzn2023.0.3.x86_64
  python3-rpm-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-build-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  rpm-sign-libs-4.16.1.3-12.amzn2023.0.6.x86_64
  system-release-2023.1.20230628-0.amzn2023.noarch
  tzdata-2023c-1.amzn2023.0.1.noarch

  Complete!
bash-5.2#
```

------
#### [ Updates in the latest version ]

 이 예제에서는 [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) 릴리스의 컨테이너를 시작한 경우 `latest` AL2023 버전에서 사용할 수 있는 업데이트를 적용합니다. 작성 시점에 `latest` 릴리스는 [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html)이므로 이 예제에 나열된 업데이트는 해당 릴리스를 기준으로 합니다.

**참고**  
 이 예제에서는 [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) 및 [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html) 릴리스를 사용하며, 후자는 *작성 시점*의 최신 릴리스입니다. 최신 릴리스에 대한 자세한 내용은 [AL2023 릴리스 노트](https://docs.aws.amazon.com/linux/al2023/release-notes/)를 참조하세요.

 이 예제에서는 [2023.4.20240319](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.4.20240319.html) 릴리스의 컨테이너 이미지로 시작합니다.

 먼저 컨테이너 레지스트리에서 이 컨테이너 이미지를 가져옵니다. 끝에 있는 `.1`은 특정 릴리스의 이미지 버전을 나타냅니다. 이미지 버전은 일반적으로 0이지만 이 예제에서는 이미지 버전이 1인 릴리스를 사용합니다.

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:{{2023.4.20240319.1}}
	  2023.4.20240319.1: Pulling from amazonlinux/amazonlinux
6de065fda9a2: Pull complete
Digest: sha256:b4838c4cc9211d966b6ea158dacc9eda7433a16ba94436508c2d9f01f7658b4e
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
public.ecr.aws/amazonlinux/amazonlinux:2023.4.20240319.1
```

 이제 컨테이너 내에 쉘을 생성하여 업데이트를 적용할 수 있습니다.

```
$ docker run -it public.ecr.aws/amazonlinux/amazonlinux:{{2023.4.20240319.1}}
	  bash-5.2#
```

 이제 `dnf upgrade` 명령은 `latest` 릴리스에서 사용 가능한 업데이트를 적용하는 데 사용됩니다. 이 업데이트는 *작성 당시* [2023.5.20240708](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html)이었습니다.

**참고**  
 패키지 업데이트를 적용하는 것은 권한이 있는 작업입니다. 컨테이너에서 실행할 때는 일반적으로 권한 상승이 필요하지 않지만 Amazon EC2 인스턴스 같은 컨테이너화되지 않은 환경에서 실행하는 경우 `root` 사용자로 `dnf upgrade` 명령을 실행해야 합니다. 이 작업은 `sudo` 또는 `su` 명령을 사용하여 수행할 수 있습니다.

 기본적으로 `dnf`는 업데이트를 적용할지 확인하라는 메시지를 표시합니다. 이 예제에서는 `dnf`에 대한 `-y` 플래그를 사용하여 이 프롬프트를 우회합니다.

```
$ dnf -y --releasever=latest update
Amazon Linux 2023 repository                      75 MB/s |  25 MB     00:00
Last metadata expiration check: 0:00:04 ago on Mon Jul 22 18:00:10 2024.
Dependencies resolved.
=================================================================================
 Package                 Arch    Version                      Repository    Size
=================================================================================
Upgrading:
 amazon-linux-repo-cdn   noarch  2023.5.20240708-1.amzn2023   amazonlinux   17 k
 curl-minimal            x86_64  8.5.0-1.amzn2023.0.4         amazonlinux  160 k
 dnf                     noarch  4.14.0-1.amzn2023.0.5        amazonlinux  460 k
 dnf-data                noarch  4.14.0-1.amzn2023.0.5        amazonlinux   34 k
 expat                   x86_64  2.5.0-1.amzn2023.0.4         amazonlinux  117 k
 glibc                   x86_64  2.34-52.amzn2023.0.10        amazonlinux  1.9 M
 glibc-common            x86_64  2.34-52.amzn2023.0.10        amazonlinux  295 k
 glibc-minimal-langpack  x86_64  2.34-52.amzn2023.0.10        amazonlinux   23 k
 krb5-libs               x86_64  1.21-3.amzn2023.0.4          amazonlinux  758 k
 libblkid                x86_64  2.37.4-1.amzn2023.0.4        amazonlinux  105 k
 libcurl-minimal         x86_64  8.5.0-1.amzn2023.0.4         amazonlinux  275 k
 libmount                x86_64  2.37.4-1.amzn2023.0.4        amazonlinux  132 k
 libnghttp2              x86_64  1.59.0-3.amzn2023.0.1        amazonlinux   79 k
 libsmartcols            x86_64  2.37.4-1.amzn2023.0.4        amazonlinux   62 k
 libuuid                 x86_64  2.37.4-1.amzn2023.0.4        amazonlinux   26 k
 openssl-libs            x86_64  1:3.0.8-1.amzn2023.0.12      amazonlinux  2.2 M
 python3                 x86_64  3.9.16-1.amzn2023.0.8        amazonlinux   27 k
 python3-dnf             noarch  4.14.0-1.amzn2023.0.5        amazonlinux  409 k
 python3-libs            x86_64  3.9.16-1.amzn2023.0.8        amazonlinux  7.3 M
 system-release          noarch  2023.5.20240708-1.amzn2023   amazonlinux   28 k
 yum                     noarch  4.14.0-1.amzn2023.0.5        amazonlinux   32 k

 Transaction Summary
=================================================================================
Upgrade  21 Packages

Total download size: 14 M
Downloading Packages:
(1/21): amazon-linux-repo-cdn-2023.5.20240708-1. 345 kB/s |  17 kB     00:00
(2/21): dnf-4.14.0-1.amzn2023.0.5.noarch.rpm     6.8 MB/s | 460 kB     00:00
(3/21): dnf-data-4.14.0-1.amzn2023.0.5.noarch.rp 1.6 MB/s |  34 kB     00:00
(4/21): expat-2.5.0-1.amzn2023.0.4.x86_64.rpm    4.6 MB/s | 117 kB     00:00
(5/21): glibc-2.34-52.amzn2023.0.10.x86_64.rpm    38 MB/s | 1.9 MB     00:00
(6/21): glibc-common-2.34-52.amzn2023.0.10.x86_6 8.8 MB/s | 295 kB     00:00
(7/21): glibc-minimal-langpack-2.34-52.amzn2023. 1.7 MB/s |  23 kB     00:00
(8/21): curl-minimal-8.5.0-1.amzn2023.0.4.x86_64 998 kB/s | 160 kB     00:00
(9/21): libblkid-2.37.4-1.amzn2023.0.4.x86_64.rp 4.1 MB/s | 105 kB     00:00
(10/21): krb5-libs-1.21-3.amzn2023.0.4.x86_64.rp  16 MB/s | 758 kB     00:00
(11/21): libmount-2.37.4-1.amzn2023.0.4.x86_64.r 7.9 MB/s | 132 kB     00:00
(12/21): libnghttp2-1.59.0-3.amzn2023.0.1.x86_64 5.6 MB/s |  79 kB     00:00
(13/21): libsmartcols-2.37.4-1.amzn2023.0.4.x86_ 4.4 MB/s |  62 kB     00:00
(14/21): libcurl-minimal-8.5.0-1.amzn2023.0.4.x8 7.1 MB/s | 275 kB     00:00
(15/21): libuuid-2.37.4-1.amzn2023.0.4.x86_64.rp 1.1 MB/s |  26 kB     00:00
(16/21): python3-3.9.16-1.amzn2023.0.8.x86_64.rp 1.5 MB/s |  27 kB     00:00
(17/21): python3-dnf-4.14.0-1.amzn2023.0.5.noarc  19 MB/s | 409 kB     00:00
(18/21): system-release-2023.5.20240708-1.amzn20 1.9 MB/s |  28 kB     00:00
(19/21): yum-4.14.0-1.amzn2023.0.5.noarch.rpm    1.6 MB/s |  32 kB     00:00
(20/21): openssl-libs-3.0.8-1.amzn2023.0.12.x86_  26 MB/s | 2.2 MB     00:00
(21/21): python3-libs-3.9.16-1.amzn2023.0.8.x86_  59 MB/s | 7.3 MB     00:00
---------------------------------------------------------------------------------
Total                                             34 MB/s |  14 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1
  Upgrading        : glibc-common-2.34-52.amzn2023.0.10.x86_64              1/42
  Upgrading        : glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64    2/42
  Running scriptlet: glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Upgrading        : glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Running scriptlet: glibc-2.34-52.amzn2023.0.10.x86_64                     3/42
  Upgrading        : libuuid-2.37.4-1.amzn2023.0.4.x86_64                   4/42
  Upgrading        : openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64            5/42
  Upgrading        : krb5-libs-1.21-3.amzn2023.0.4.x86_64                   6/42
  Upgrading        : libblkid-2.37.4-1.amzn2023.0.4.x86_64                  7/42
  Running scriptlet: libblkid-2.37.4-1.amzn2023.0.4.x86_64                  7/42
  Upgrading        : expat-2.5.0-1.amzn2023.0.4.x86_64                      8/42
  Upgrading        : python3-3.9.16-1.amzn2023.0.8.x86_64                   9/42
  Upgrading        : python3-libs-3.9.16-1.amzn2023.0.8.x86_64             10/42
  Upgrading        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64               11/42
  Upgrading        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64           12/42
  Upgrading        : system-release-2023.5.20240708-1.amzn2023.noarch      13/42
  Upgrading        : amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.no   14/42
  Upgrading        : dnf-data-4.14.0-1.amzn2023.0.5.noarch                 15/42
  Upgrading        : python3-dnf-4.14.0-1.amzn2023.0.5.noarch              16/42
  Upgrading        : dnf-4.14.0-1.amzn2023.0.5.noarch                      17/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.5.noarch                      17/42
  Upgrading        : yum-4.14.0-1.amzn2023.0.5.noarch                      18/42
  Upgrading        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64              19/42
  Upgrading        : libmount-2.37.4-1.amzn2023.0.4.x86_64                 20/42
  Upgrading        : libsmartcols-2.37.4-1.amzn2023.0.4.x86_64             21/42
  Cleanup          : yum-4.14.0-1.amzn2023.0.4.noarch                      22/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Cleanup          : dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Running scriptlet: dnf-4.14.0-1.amzn2023.0.4.noarch                      23/42
  Cleanup          : python3-dnf-4.14.0-1.amzn2023.0.4.noarch              24/42
  Cleanup          : amazon-linux-repo-cdn-2023.4.20240319-1.amzn2023.no   25/42
  Cleanup          : libmount-2.37.4-1.amzn2023.0.3.x86_64                 26/42
  Cleanup          : curl-minimal-8.5.0-1.amzn2023.0.2.x86_64              27/42
  Cleanup          : libcurl-minimal-8.5.0-1.amzn2023.0.2.x86_64           28/42
  Cleanup          : krb5-libs-1.21-3.amzn2023.0.3.x86_64                  29/42
  Cleanup          : libblkid-2.37.4-1.amzn2023.0.3.x86_64                 30/42
  Cleanup          : libnghttp2-1.57.0-1.amzn2023.0.1.x86_64               31/42
  Cleanup          : libsmartcols-2.37.4-1.amzn2023.0.3.x86_64             32/42
  Cleanup          : system-release-2023.4.20240319-1.amzn2023.noarch      33/42
  Cleanup          : dnf-data-4.14.0-1.amzn2023.0.4.noarch                 34/42
  Cleanup          : python3-3.9.16-1.amzn2023.0.6.x86_64                  35/42
  Cleanup          : python3-libs-3.9.16-1.amzn2023.0.6.x86_64             36/42
  Cleanup          : openssl-libs-1:3.0.8-1.amzn2023.0.11.x86_64           37/42
  Cleanup          : libuuid-2.37.4-1.amzn2023.0.3.x86_64                  38/42
  Cleanup          : expat-2.5.0-1.amzn2023.0.3.x86_64                     39/42
  Cleanup          : glibc-2.34-52.amzn2023.0.8.x86_64                     40/42
  Cleanup          : glibc-minimal-langpack-2.34-52.amzn2023.0.8.x86_64    41/42
  Cleanup          : glibc-common-2.34-52.amzn2023.0.8.x86_64              42/42
  Running scriptlet: glibc-common-2.34-52.amzn2023.0.8.x86_64              42/42
  Verifying        : amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.no    1/42
  Verifying        : amazon-linux-repo-cdn-2023.4.20240319-1.amzn2023.no    2/42
  Verifying        : curl-minimal-8.5.0-1.amzn2023.0.4.x86_64               3/42
  Verifying        : curl-minimal-8.5.0-1.amzn2023.0.2.x86_64               4/42
  Verifying        : dnf-4.14.0-1.amzn2023.0.5.noarch                       5/42
  Verifying        : dnf-4.14.0-1.amzn2023.0.4.noarch                       6/42
  Verifying        : dnf-data-4.14.0-1.amzn2023.0.5.noarch                  7/42
  Verifying        : dnf-data-4.14.0-1.amzn2023.0.4.noarch                  8/42
  Verifying        : expat-2.5.0-1.amzn2023.0.4.x86_64                      9/42
  Verifying        : expat-2.5.0-1.amzn2023.0.3.x86_64                     10/42
  Verifying        : glibc-2.34-52.amzn2023.0.10.x86_64                    11/42
  Verifying        : glibc-2.34-52.amzn2023.0.8.x86_64                     12/42
  Verifying        : glibc-common-2.34-52.amzn2023.0.10.x86_64             13/42
  Verifying        : glibc-common-2.34-52.amzn2023.0.8.x86_64              14/42
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64   15/42
  Verifying        : glibc-minimal-langpack-2.34-52.amzn2023.0.8.x86_64    16/42
  Verifying        : krb5-libs-1.21-3.amzn2023.0.4.x86_64                  17/42
  Verifying        : krb5-libs-1.21-3.amzn2023.0.3.x86_64                  18/42
  Verifying        : libblkid-2.37.4-1.amzn2023.0.4.x86_64                 19/42
  Verifying        : libblkid-2.37.4-1.amzn2023.0.3.x86_64                 20/42
  Verifying        : libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64           21/42
  Verifying        : libcurl-minimal-8.5.0-1.amzn2023.0.2.x86_64           22/42
  Verifying        : libmount-2.37.4-1.amzn2023.0.4.x86_64                 23/42
  Verifying        : libmount-2.37.4-1.amzn2023.0.3.x86_64                 24/42
  Verifying        : libnghttp2-1.59.0-3.amzn2023.0.1.x86_64               25/42
  Verifying        : libnghttp2-1.57.0-1.amzn2023.0.1.x86_64               26/42
  Verifying        : libsmartcols-2.37.4-1.amzn2023.0.4.x86_64             27/42
  Verifying        : libsmartcols-2.37.4-1.amzn2023.0.3.x86_64             28/42
  Verifying        : libuuid-2.37.4-1.amzn2023.0.4.x86_64                  29/42
  Verifying        : libuuid-2.37.4-1.amzn2023.0.3.x86_64                  30/42
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64           31/42
  Verifying        : openssl-libs-1:3.0.8-1.amzn2023.0.11.x86_64           32/42
  Verifying        : python3-3.9.16-1.amzn2023.0.8.x86_64                  33/42
  Verifying        : python3-3.9.16-1.amzn2023.0.6.x86_64                  34/42
  Verifying        : python3-dnf-4.14.0-1.amzn2023.0.5.noarch              35/42
  Verifying        : python3-dnf-4.14.0-1.amzn2023.0.4.noarch              36/42
  Verifying        : python3-libs-3.9.16-1.amzn2023.0.8.x86_64             37/42
  Verifying        : python3-libs-3.9.16-1.amzn2023.0.6.x86_64             38/42
  Verifying        : system-release-2023.5.20240708-1.amzn2023.noarch      39/42
  Verifying        : system-release-2023.4.20240319-1.amzn2023.noarch      40/42
  Verifying        : yum-4.14.0-1.amzn2023.0.5.noarch                      41/42
  Verifying        : yum-4.14.0-1.amzn2023.0.4.noarch                      42/42

Upgraded:
  amazon-linux-repo-cdn-2023.5.20240708-1.amzn2023.noarch
  curl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  dnf-4.14.0-1.amzn2023.0.5.noarch
  dnf-data-4.14.0-1.amzn2023.0.5.noarch
  expat-2.5.0-1.amzn2023.0.4.x86_64
  glibc-2.34-52.amzn2023.0.10.x86_64
  glibc-common-2.34-52.amzn2023.0.10.x86_64
  glibc-minimal-langpack-2.34-52.amzn2023.0.10.x86_64
  krb5-libs-1.21-3.amzn2023.0.4.x86_64
  libblkid-2.37.4-1.amzn2023.0.4.x86_64
  libcurl-minimal-8.5.0-1.amzn2023.0.4.x86_64
  libmount-2.37.4-1.amzn2023.0.4.x86_64
  libnghttp2-1.59.0-3.amzn2023.0.1.x86_64
  libsmartcols-2.37.4-1.amzn2023.0.4.x86_64
  libuuid-2.37.4-1.amzn2023.0.4.x86_64
  openssl-libs-1:3.0.8-1.amzn2023.0.12.x86_64
  python3-3.9.16-1.amzn2023.0.8.x86_64
  python3-dnf-4.14.0-1.amzn2023.0.5.noarch
  python3-libs-3.9.16-1.amzn2023.0.8.x86_64
  system-release-2023.5.20240708-1.amzn2023.noarch
  yum-4.14.0-1.amzn2023.0.5.noarch

Complete!
bash-5.2#
```

------

AL2023 업데이트를 확인하려면 다음 중 하나 이상을 수행하세요.
+  `dnf check-update` 명령을 실행합니다. 이렇게 하면 잠긴 Amazon Linux 버전에서 적용되지 않은 업데이트가 있는지 확인할 수 있습니다. `system-release` 패키지만 업데이트한 경우 인스턴스가 잠긴 리포지토리 버전은 변경되지만 해당 버전에서 사용 가능한 업데이트는 적용되지 않아 업데이트가 표시될 수 있습니다.
+ Amazon Linux 리포지토리 업데이트 SNS 주제(`arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates`)를 구독하세요. 자세한 설명은 *Amazon Simple Notification Service 개발자 안내서*에서 [Amazon SNS 주제 구독](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)을 참조하세요.
+ [AL2023 릴리스 노트](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html)를 정기적으로 확인하세요.
+  [`dnf check-release-update`로 최신 리포지토리 버전 확인](#dnf-repository-updates)의 조치를 통해 새 버전을 확인합니다.

**중요**  
 보안 업데이트가 포함된 AL2023의 새 버전이 자주 릴리스됩니다. 관련 보안 패치를 최신 상태로 유지해야 합니다.

## (보안) 업데이트 후 자동 서비스 재시작
<a name="automatic-restart-services"></a>

Amazon Linux는 이제 [smart-restart](https://github.com/amazonlinux/smart-restart) 패키지와 함께 제공됩니다. `Smart-restart`는 systems 패키지 관리자를 사용하여 패키지를 설치하거나 삭제할 때마다 시스템 업데이트 시 systemd 서비스를 다시 시작합니다. 이는 `dnf (update|upgrade|downgrade)`가 실행될 때마다 발생합니다.

`Smart-restart`는 `dnf-utils`의 `needs-restarting` 패키지와 사용자 지정 거부 목록 메커니즘을 사용하여 재시작해야 할 서비스와 시스템 재부팅 권장 여부를 결정합니다. 시스템 재부팅이 권장되면 재부팅 힌트 마커 파일(`/run/smart-restart/reboot-hint-marker`)이 생성됩니다.

**`smart-restart`을(를) 설치하려면**  
(다른 패키지와 마찬가지로) 다음 DNF 명령을 실행합니다.

```
$ sudo dnf install smart-restart
```

설치 후 후속 트랜잭션은 `smart-restart` 로직을 트리거합니다.

**거부 목록**  
`Smart-restart`는 특정 서비스의 재시작을 차단하도록 지시할 수 있습니다. 차단된 서비스는 재부팅이 필요한지 여부를 결정하는 데 영향을 주지 않습니다. 추가 서비스를 차단하려면 다음 예제와 같이 `/etc/smart-restart-conf.d/`에 접미사가 `-denylist`인 파일을 추가합니다.

```
$ cat /etc/smart-restart-conf.d/custom-denylist
# Some comments
myservice.service
```

**참고**  
재부팅이 필요한지 여부를 결정할 때 모든 `*-denylist` 파일을 읽고 평가합니다.

**사용자 지정 후크**  
거부 목록 작성 외에도 `smart-restart`는 서비스를 다시 시작하려고 시도하기 전과 후에 사용자 지정 스크립트를 실행하는 메커니즘을 제공합니다. 사용자 지정 스크립트를 사용하여 준비 단계를 수동으로 수행하거나 나머지 재시작 또는 완료된 재시작을 다른 구성 요소에 알릴 수 있습니다.

`/etc/smart-restart-conf.d/`에서 접미사가 `-pre-restart` 또는 `-post-restart`인 모든 스크립트가 실행됩니다. 순서가 중요한 경우 다음 예제와 같이 실행 순서를 확인할 수 있도록 모든 스크립트에 숫자 접두사를 붙입니다.

```
$ ls /etc/smart-restart-conf.d/*-pre-restart
001-my-script-pre-restart
002-some-other-script-pre-restart
```

## 보안 업데이트를 적용하려면 언제 재부팅해야 하나요?
<a name="reboot"></a>

경우에 따라 업데이트를 적용하려면 Amazon Linux를 재부팅해야 합니다.
+ Linux 커널 패키지 업데이트는 최신 보안 업데이트가 적용된 새 커널을 활성화하기 위해 재부팅이 필요합니다. 커널 라이브 패치를 사용하면 제한된 기간 동안 보안 업데이트를 연기할 수 있습니다. 자세한 내용은 [AL2023의 커널 라이브 패치](live-patching.md) 섹션을 참조하세요.
+ EC2 Metal 인스턴스에서 Amazon Linux는 (Intel CPU용 `microcode_ctl` 패키지와 AMD CPU용 `amd-ucode-firmware` 패키지를 통해) 마이크로코드 업데이트를 제공합니다. 이러한 마이크로코드 업데이트는 후속 인스턴스 재부팅 시에만 활성화됩니다. 가상화된 EC2 인스턴스의 경우 기본 [AWS Nitro 시스템](https://docs.aws.amazon.com/whitepapers/latest/security-design-of-aws-nitro-system/security-design-of-aws-nitro-system.html)이 마이크로코드 업데이트를 처리합니다.
+ 실행 중인 일부 systemd 서비스는 전체 시스템을 다시 시작한 후에만 올바르게 작동합니다. `smart-restart` 메커니즘은 재부팅 힌트를 남겨 이러한 상황에 대해 알려줍니다. [(보안) 업데이트 후 자동 서비스 재시작](#automatic-restart-services)을(를) 참조하세요.

## 최신 리포지토리 버전이 활성화된 상태로 인스턴스 시작
<a name="launch-an-instance-repo-version"></a>

사용자 데이터 스크립트에 DNF 명령을 추가하면 Amazon Linux AMI 실행 시 설치할 RPM 패키지를 선택할 수 있습니다. 다음은 사용자 데이터 스크립트로 user-data 스크립트로 실행한 모든 인스턴스에 동일한 패키지 업데이트가 설치되어 있는지 확인하는 예시입니다.

```
#!/bin/bash
dnf upgrade --releasever=2023.0.20230210
# Additional setup and install commands below
dnf install httpd php7.4 mysql80
```

이 스크립트는 수퍼 유저(루트)로 실행해야 합니다. 다음 명령으로 실행하세요.

```
$ sudo sh -c "bash {{nameofscript}}.sh"
```

자세한 내용은 *Amazon EC2 사용 설명서*의 [사용자 데이터 및 쉘 스크립트](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts) 섹션을 참조하세요.

**참고**  
사용자 데이터 스크립트 대신 최신 Amazon Linux AMI 버전 또는 Amazon Linux AMI 기반의 사용자 지정 AMI를 실행하세요. 최신 Amazon Linux AMI에 필요한 업데이트가 모두 설치되어 있으며 특정 리포지토리 버전에서 실행되도록 구성되어 있습니다.

## 패키지 지원 정보 가져오기
<a name="dnf-support-info-plugin"></a>

다양한 오픈 소스 소프트웨어 프로젝트가 AL2023에 통합되어 있습니다. 각 프로젝트는 Amazon Linux에서 개별 관리되며 출시 및 지원 종료 일정도 다릅니다. DNF `supportinfo` 플러그인이 제공하는 패키지 메타데이터를 통해 이러한 패키지에 대한 Amazon Linux 정보를 알 수 있습니다. 다음은 **dnf supportinfo** 명령이 `glibc` 패키지의 메타데이터를 반환하는 예시입니다.

```
$ sudo dnf supportinfo --pkg glibc 
Last metadata expiration check: 0:07:56 ago on Wed Mar  1 23:21:49 2023.
Name                 : glibc
Version              : 2.34-52.amzn2023.0.2
State                : installed
Support Status       : supported
Support Periods      : from 2023-03-15      : supported
                     : from 2028-03-15      : unsupported
Support Statement    : Amazon Linux 2023 End Of Life
Link                 : https://aws.amazon.com/amazon-linux-ami/faqs/
Other Info           : This is the support statement for AL2023. The
     ...: end of life of Amazon Linux 2023 would be March 2028.
     ...: From this point, the Amazon Linux 2023 packages (listed
  ...: below) will no longer, receive any updates from AWS.
```

 패키지 지원 정보는 [AL2023 릴리스 노트](https://docs.aws.amazon.com/linux/al2023/release-notes/)의 [지원 설명](https://docs.aws.amazon.com/linux/al2023/release-notes/support-info-by-support-statement.html) 섹션에서도 확인할 수 있습니다.

## `dnf check-release-update`로 최신 리포지토리 버전 확인
<a name="dnf-repository-updates"></a>

 AL2023 인스턴스는 DNF 유틸리티를 사용하여 리포지토리를 관리하고 RPM 패키지 업데이트를 할 수 있습니다. Amazon Linux 리포지토리에서 이 패키지를 사용할 수 있습니다. DNF 명령 `dnf check-release-update`로 최신 DNF 리포지토리 버전을 확인할 수 있습니다.

**참고**  
 AL2023 컨테이너 이미지에는 기본적으로 `dnf check-release-update` 명령이 포함되지 않습니다.  

```
$ dnf check-release-update
No such command: check-release-update. Please use /usr/bin/dnf --help
It could be a DNF plugin command, try: "dnf install 'dnf-command(check-release-update)'"
```
 `dnf install 'dnf-command(check-release-update)'`가 실행되면 `dnf`는 `check-release-update` 명령을 제공하는 패키지, 즉 `dnf-plugin-release-notification` 패키지를 설치합니다. 아래 예제에서는 무음 출력을 위해 `-q` 인수가 `dnf`에 제공됩니다.  

```
$ dnf -y -q install 'dnf-command(check-release-update)'
Installed:
  dnf-plugin-release-notification-1.2-1.amzn2023.0.2.noarch
```

 Amazon EC2 인스턴스와 같은 컨테이너화되지 않은 환경에서는 기본적으로 `check-release-update` 명령이 포함됩니다.

```
$ sudo dnf check-release-update
WARNING:
  A newer release of "Amazon Linux" is available.

  Available Versions:

  Version 2023.0.20230210:
    Run the following command to update to 2023.0.20230210:

      dnf upgrade --releasever=2023.0.20230210

    Release notes:
     https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html
```

그러면 사용 가능한 모든 최신 DNF 리포지토리 버전을 알 수 있습니다. 결과가 나오지 않으면 DNF이 현재 사용 가능한 최신 버전이라는 뜻입니다. 현재 설치된 `system-release` 패키지 버전은 `releasever` DNF 변수로 설정되어 있습니다. 다음 명령을 실행하여 현재 리포지토리 버전을 확인합니다.

```
$ rpm -q system-release --qf "%{VERSION}\n"
```

DNF 패키지 트랜잭션(예: 설치, 업데이트 또는 제거 명령)을 실행하면 최신 리포지토리 버전을 알리는 메시지가 나타납니다. 예를 들어, AL2023 구 버전으로 실행한 인스턴스에 `httpd` 패키지를 설치하면 다음과 같은 출력이 나타납니다.

```
$ sudo dnf install httpd -y
Last metadata expiration check: 0:16:52 ago on Wed Mar  1 23:21:49 2023.
Dependencies resolved.
====================================================================
 Package            Arch   Version                Repository   Size
====================================================================
Installing:
 httpd              x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  46 k
Installing dependencies:
 apr                x86_64 1.7.2-2.amzn2023.0.2   amazonlinux 129 k
 apr-util           x86_64 1.6.3-1.amzn2023.0.1   amazonlinux  98 k
 generic-logos-httpd
                    noarch 18.0.0-12.amzn2023.0.3 amazonlinux  19 k
 httpd-core         x86_64 2.4.54-3.amzn2023.0.4  amazonlinux 1.3 M
 httpd-filesystem   noarch 2.4.54-3.amzn2023.0.4  amazonlinux  13 k
 httpd-tools        x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  80 k
 libbrotli          x86_64 1.0.9-4.amzn2023.0.2   amazonlinux 315 k
 mailcap            noarch 2.1.49-3.amzn2023.0.3  amazonlinux  33 k
Installing weak dependencies:
 apr-util-openssl   x86_64 1.6.3-1.amzn2023.0.1   amazonlinux  17 k
 mod_http2          x86_64 1.15.24-1.amzn2023.0.3 amazonlinux 152 k
 mod_lua            x86_64 2.4.54-3.amzn2023.0.4  amazonlinux  60 k

Transaction Summary
====================================================================
Install  12 Packages

Total download size: 2.3 M
Installed size: 6.8 M
Downloading Packages:
(1/12): apr-util-openssl-1.6.3-1.am 212 kB/s |  17 kB     00:00
(2/12): apr-1.7.2-2.amzn2023.0.2.x8 1.1 MB/s | 129 kB     00:00
(3/12): httpd-core-2.4.54-3.amzn202 8.9 MB/s | 1.3 MB     00:00
(4/12): mod_http2-1.15.24-1.amzn202 1.9 MB/s | 152 kB     00:00
(5/12): apr-util-1.6.3-1.amzn2023.0 1.7 MB/s |  98 kB     00:00
(6/12): mod_lua-2.4.54-3.amzn2023.0 1.4 MB/s |  60 kB     00:00
(7/12): httpd-2.4.54-3.amzn2023.0.4 1.5 MB/s |  46 kB     00:00
(8/12): libbrotli-1.0.9-4.amzn2023. 4.4 MB/s | 315 kB     00:00
(9/12): mailcap-2.1.49-3.amzn2023.0 753 kB/s |  33 kB     00:00
(10/12): httpd-tools-2.4.54-3.amzn2 978 kB/s |  80 kB     00:00
(11/12): httpd-filesystem-2.4.54-3. 210 kB/s |  13 kB     00:00
(12/12): generic-logos-httpd-18.0.0 439 kB/s |  19 kB     00:00
--------------------------------------------------------------------
Total                               6.6 MB/s | 2.3 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                            1/1
  Installing       : apr-1.7.2-2.amzn2023.0.2.x86_64           1/12
  Installing       : apr-util-openssl-1.6.3-1.amzn2023.0.1.    2/12
  Installing       : apr-util-1.6.3-1.amzn2023.0.1.x86_64      3/12
  Installing       : mailcap-2.1.49-3.amzn2023.0.3.noarch      4/12
  Installing       : httpd-tools-2.4.54-3.amzn2023.0.4.x86_    5/12
  Installing       : generic-logos-httpd-18.0.0-12.amzn2023    6/12
  Running scriptlet: httpd-filesystem-2.4.54-3.amzn2023.0.4    7/12
  Installing       : httpd-filesystem-2.4.54-3.amzn2023.0.4    7/12
  Installing       : httpd-core-2.4.54-3.amzn2023.0.4.x86_6    8/12
  Installing       : mod_http2-1.15.24-1.amzn2023.0.3.x86_6    9/12
  Installing       : libbrotli-1.0.9-4.amzn2023.0.2.x86_64    10/12
  Installing       : mod_lua-2.4.54-3.amzn2023.0.4.x86_64     11/12
  Installing       : httpd-2.4.54-3.amzn2023.0.4.x86_64       12/12
  Running scriptlet: httpd-2.4.54-3.amzn2023.0.4.x86_64       12/12
  Verifying        : apr-1.7.2-2.amzn2023.0.2.x86_64           1/12
  Verifying        : apr-util-openssl-1.6.3-1.amzn2023.0.1.    2/12
  Verifying        : httpd-core-2.4.54-3.amzn2023.0.4.x86_6    3/12
  Verifying        : mod_http2-1.15.24-1.amzn2023.0.3.x86_6    4/12
  Verifying        : apr-util-1.6.3-1.amzn2023.0.1.x86_64      5/12
  Verifying        : mod_lua-2.4.54-3.amzn2023.0.4.x86_64      6/12
  Verifying        : libbrotli-1.0.9-4.amzn2023.0.2.x86_64     7/12
  Verifying        : httpd-2.4.54-3.amzn2023.0.4.x86_64        8/12
  Verifying        : httpd-tools-2.4.54-3.amzn2023.0.4.x86_    9/12
  Verifying        : mailcap-2.1.49-3.amzn2023.0.3.noarch     10/12
  Verifying        : httpd-filesystem-2.4.54-3.amzn2023.0.4   11/12
  Verifying        : generic-logos-httpd-18.0.0-12.amzn2023   12/12

Installed:
  apr-1.7.2-2.amzn2023.0.2.x86_64
  apr-util-1.6.3-1.amzn2023.0.1.x86_64
  apr-util-openssl-1.6.3-1.amzn2023.0.1.x86_64
  generic-logos-httpd-18.0.0-12.amzn2023.0.3.noarch
  httpd-2.4.54-3.amzn2023.0.4.x86_64
  httpd-core-2.4.54-3.amzn2023.0.4.x86_64
  httpd-filesystem-2.4.54-3.amzn2023.0.4.noarch
  httpd-tools-2.4.54-3.amzn2023.0.4.x86_64
  libbrotli-1.0.9-4.amzn2023.0.2.x86_64
  mailcap-2.1.49-3.amzn2023.0.3.noarch
  mod_http2-1.15.24-1.amzn2023.0.3.x86_64
  mod_lua-2.4.54-3.amzn2023.0.4.x86_64

Complete!
```

## 새 리포지토리 추가, 사용 또는 사용 중지
<a name="dnf-repo-addition"></a>

**주의**  
 AL2023과 함께 사용하도록 설계된 리포지토리만 추가합니다.  
 다른 배포용으로 설계된 리포지토리는 현재 작동할 수 있지만 AL2023의 패키지 업데이트 또는 AL2023과 함께 사용하도록 설계되지 않은 리포지토리에서도 계속 작동할 것이라는 보장은 없습니다.

기본 Amazon Linux 리포지토리와 다른 리포지토리에서 패키지를 설치하려면 리포지토리가 어디에 있는지 알 수 있도록 `DNF` 패키지 관리 시스템을 구성해야 합니다.

 패키지 리포지토리에 대해 `dnf`에 알리려면 `/etc/yum.repos.d/` 디렉터리의 해당 리포지토리에 대한 구성 파일에 리포지토리 정보를 추가합니다. 많은 타사 리포지토리는 구성 파일 콘텐츠 또는 구성 파일이 포함된 설치 가능한 패키지를 제공합니다.

**참고**  
 리포지토리는 `/etc/dnf/dnf.conf` 파일에서 직접 구성할 수 있지만 권장되지 않습니다. 각 리포지토리는 `/etc/yum.repos.d/`의 자체 파일에 구성하는 것이 좋습니다.

**다음 명령을 실행하여 현재 활성화된 리포지토리를 확인할 수 있습니다.**

```
$ dnf repolist all --verbose
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, release-notification, repoclosure, repodiff, repograph, repomanage, reposync, supportinfo
DNF version: 4.12.0
cachedir: /var/cache/dnf
Last metadata expiration check: 0:00:02 ago on Wed Mar  1 23:40:15 2023.
Repo-id            : amazonlinux
Repo-name          : Amazon Linux 2023 repository
Repo-status        : enabled
Repo-revision      : 1677203368
Repo-updated       : Fri Feb 24 01:49:28 2023
Repo-pkgs          : 12632
Repo-available-pkgs: 12632
Repo-size          : 12 G
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/x86_64/mirror.list
Repo-baseurl       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/guids/cf9296325a6c46ff40c775a8e2d632c4c3fd9d9164014ce3304715d61b90ca8e/x86_64/
                   : (0 more)
Repo-expire        : 172800 second(s) (last: Wed Mar  1 23:40:15
                   : 2023)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : amazonlinux-debuginfo
Repo-name          : Amazon Linux 2023 repository - Debug
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/debuginfo/x86_64/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : amazonlinux-source
Repo-name          : Amazon Linux 2023 repository - Source packages
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/SRPMS/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/amazonlinux.repo

Repo-id            : kernel-livepatch
Repo-name          : Amazon Linux 2023 Kernel Livepatch repository
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/x86_64/mirror.list
Repo-expire        : 172800 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/kernel-livepatch.repo

Repo-id            : kernel-livepatch-source
Repo-name          : Amazon Linux 2023 Kernel Livepatch repository -
                   : Source packages
Repo-status        : disabled
Repo-mirrors       : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/SRPMS/mirror.list
Repo-expire        : 21600 second(s) (last: unknown)
Repo-filename      : /etc/yum.repos.d/kernel-livepatch.repo
Total packages: 12632
```

**참고**  
`--verbose` 옵션 플래그를 추가하지 않으면 `Repo-id`, `Repo-name` 및 `Repo-status` 정보만 출력에 포함됩니다.

**`/etc/yum.repos.d` 디렉터리에 `yum` 리포지토리 추가하기**

1. `.repo` 파일의 위치를 찾습니다. 이 예시에서 `.repo` 파일은 `{{https://www.example.com/repository.repo}}`에 있습니다.

1. `dnf config-manager` 명령을 사용하여 리포지토리를 추가합니다.

```
$ sudo dnf config-manager --add-repo {{https://www.example.com/repository.repo}}
Loaded plugins: priorities, update-motd, upgrade-helper
adding repo from: {{https://www.example.com/repository.repo}}
grabbing file {{https://www.example.com/repository.repo}} to /etc/yum.repos.d/{{repository.repo}}
{{repository.repo}}                                      | 4.0 kB     00:00
repo saved to /etc/yum.repos.d/{{repository.repo}}
```

리포지토리를 설치한 후 다음 절차에 따라 리포지토리를 활성화합니다.

****`/etc/yum.repos.d`에서 `yum` 리포지토리를 사용하려면 `--enable` 플래그 및 {{리포지토리}} 이름과 함께 `dnf config-manager` 명령을 사용합니다.

```
$ sudo dnf config-manager --enable {{repository}}
```

**참고**  
리포지토리 사용 중지하려면 동일한 명령 구문을 사용하되 명령을 `--enable`에서 `--disable`로 변경하세요.

## cloud-init를 사용하여 리포지토리 추가
<a name="cloud-init-repo-update"></a>

이 방법으로 리포지토리를 추가할 수 있지만 `cloud-init` 프레임워크를 사용하여 새 리포지토리를 추가할 수도 있습니다.

새 패키지 리포지토리를 추가하려면 다음 템플릿을 사용하는 것이 좋습니다. 이 파일을 로컬에 저장하는 것을 추천합니다.

```
#cloud-config
yum_repos: 
  repository.repo: 
    baseurl: https://www.example.com/
    enabled: true
    gpgcheck: true
    gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE
    name: Example Repository
```

**참고**  
`cloud-init`를 사용하면 좋은 점 한 가지는 구성 파일에 `packages:` 섹션을 추가할 수 있다는 것입니다. 설치하려는 패키지 이름을 이 섹션에 추가할 수 있습니다. 패키지는 기본 리포지토리 또는 `cloud-config` 파일에 추가한 새 리포지토리에서 설치할 수 있습니다.  
YAML 파일 구조에 대한 자세한 내용은 *`cloud-init` 설명서*의 [YUM 리포지토리 추가](https://cloudinit.readthedocs.io/en/22.2.2/topics/examples.html#adding-a-yum-repository)(Adding a YUM repository)를 참조하세요.

YAML 형식 파일을 설정한 후에는 AWS CLI의 `cloud-init` 프레임워크에서 해당 파일을 실행할 수 있습니다. `--userdata` 옵션과 `.yml` 파일 이름을 포함해야 원하는 작업을 호출할 수 있습니다.

```
$ aws ec2 run-instances \
  --image-id \
    resolve:ssm:/aws/service/ami-amazon-linux-latest/{{al2023-ami-kernel-default-x86_64}} \
  --instance-type {{m5.xlarge}} \
  --region {{us-east-1}} \
  --key-name {{aws-key-us-east-1}} \
  --security-group-ids {{sg-004a7650}} \
  --user-data file://{{cloud-config.yml}}
```