Gestione degli aggiornamenti dei pacchetti e del sistema operativo in AL2023 - Amazon Linux 2023

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione degli aggiornamenti dei pacchetti e del sistema operativo in AL2023

A differenza delle versioni precedenti di Amazon Linux, le AMI AL2023 sono bloccate su una versione specifica del repository Amazon Linux. Per applicare le correzioni di sicurezza e di bug a un'istanza AL2023, aggiorna la configurazione DNF. In alternativa, avvia un'istanza AL2023 più recente.

In questa sezione viene descritto come gestire repository e pacchetti DNF su un'istanza in esecuzione. Viene descritto inoltre come configurare DNF da uno script di dati utente per abilitare il repository Amazon Linux più recente disponibile al momento dell'avvio. Per ulteriori informazioni, consulta la sezione relativa alle informazioni di riferimento ai comandi DNF.

Verifica degli aggiornamenti dei pacchetti disponibili

Puoi utilizzare il comando dnf check-update per verificare la presenza di eventuali aggiornamenti per il sistema. Per AL2023, consigliamo di aggiungere l'opzione --releasever=version-number al comando.

Quando aggiungi questa opzione, DNF verifica anche la presenza di aggiornamenti per una versione successiva del repository. Ad esempio, dopo aver eseguito il comando dnf check-update, usa la versione più recente restituita come valore per version-number.

Se l'istanza viene aggiornata per utilizzare la versione più recente del repository, l'output include un elenco di tutti i pacchetti da aggiornare.

Nota

Se non specifichi la versione di rilascio con il flag opzionale al comando dnf check-update, viene controllata solo la versione del repository attualmente configurata. Ciò significa che i pacchetti nella versione successiva del repository non vengono controllati.

$ sudo dnf check-update --releasever=2023.0.20230210 Last metadata expiration check: 0:06:13 ago on Mon 13 Feb 2023 10:39:32 PM UTC. bind-libs.x86_64 32:9.16.27-1.amzn2023 amazonlinux bind-license.noarch 32:9.16.27-1.amzn2023 amazonlinux bind-utils.x86_64 32:9.16.27-1.amzn2023 amazonlinux cloud-init.noarch 22.2.2-1.amzn2023.1.4 amazonlinux dnf.noarch 4.12.0-2.amzn2023.0.1 amazonlinux dnf-data.noarch 4.12.0-2.amzn2023.0.1 amazonlinux dracut.x86_64 055-6.amzn2023.0.4 amazonlinux dracut-config-generic.x86_64 055-6.amzn2023.0.4 amazonlinux glib2.x86_64 2.73.2-678.amzn2023 amazonlinux gmp.x86_64 1:6.2.1-2.amzn2023 amazonlinux grep.x86_64 3.8-1.amzn2023.0.1 amazonlinux kpatch-runtime.noarch 0.9.4-7.amzn2023 amazonlinux libgcc.x86_64 11.3.1-2.amzn2023.0.6 amazonlinux libgomp.x86_64 11.3.1-2.amzn2023.0.6 amazonlinux libpkgconf.x86_64 1.7.3-7.amzn2023.0.1 amazonlinux libstdc++.x86_64 11.3.1-2.amzn2023.0.6 amazonlinux lz4-libs.x86_64 1.9.4-1.amzn2023 amazonlinux pkgconf.x86_64 1.7.3-7.amzn2023.0.1 amazonlinux pkgconf-m4.noarch 1.7.3-7.amzn2023.0.1 amazonlinux pkgconf-pkg-config.x86_64 1.7.3-7.amzn2023.0.1 amazonlinux python3-dnf.noarch 4.12.0-2.amzn2023.0.1 amazonlinux python3-rpm.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-build-libs.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-libs.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-plugin-selinux.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-plugin-systemd-inhibit.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-sign-libs.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux slang.x86_64 2.3.2-9.amzn2023.0.1 amazonlinux system-release.noarch 2023.0.20230210-0.amzn2023 amazonlinux systemd.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-libs.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-networkd.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-pam.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-resolved.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-udev.x86_64 250.8-1.amzn2023.0.1 amazonlinux vim-common.x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-data.noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-enhanced.x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-filesystem.noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-minimal.x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux wget.x86_64 1.21.3-1.amzn2023 amazonlinux yum.noarch 4.12.0-2.amzn2023.0.1 amazonlinux

Per questo comando, se sono disponibili pacchetti più recenti, il codice restituito è 100. Se non sono disponibili pacchetti più recenti, il codice restituito è 0. Inoltre, l'output elenca anche tutti i pacchetti da aggiornare.

Applicazione degli aggiornamenti di sicurezza utilizzando DNF e le versioni del repository

I nuovi aggiornamenti dei pacchetti e gli aggiornamenti di sicurezza sono disponibili solo per le nuove versioni del repository. Per le istanze avviate da versioni delle AMI AL2023 precedenti, devi aggiornare la versione del repository prima di poter installare gli aggiornamenti di sicurezza. Il comando dnf check-release-update include un comando di aggiornamento di esempio che aggiorna tutti i pacchetti installati sul sistema alle versioni in un repository più recente.

$ sudo dnf update --releasever=2023.0.20230210 Last metadata expiration check: 0:01:40 ago on Mon 13 Feb 2023 10:39:32 PM UTC. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: bind-libs x86_64 32:9.16.27-1.amzn2023 amazonlinux 1.2 M bind-license noarch 32:9.16.27-1.amzn2023 amazonlinux 16 k bind-utils x86_64 32:9.16.27-1.amzn2023 amazonlinux 202 k cloud-init noarch 22.2.2-1.amzn2023.1.4 amazonlinux 1.1 M dnf noarch 4.12.0-2.amzn2023.0.1 amazonlinux 454 k dnf-data noarch 4.12.0-2.amzn2023.0.1 amazonlinux 42 k dracut x86_64 055-6.amzn2023.0.4 amazonlinux 345 k dracut-config-generic x86_64 055-6.amzn2023.0.4 amazonlinux 8.5 k glib2 x86_64 2.73.2-678.amzn2023 amazonlinux 2.7 M gmp x86_64 1:6.2.1-2.amzn2023 amazonlinux 324 k grep x86_64 3.8-1.amzn2023.0.1 amazonlinux 316 k kpatch-runtime noarch 0.9.4-7.amzn2023 amazonlinux 30 k libgcc x86_64 11.3.1-2.amzn2023.0.6 amazonlinux 121 k libgomp x86_64 11.3.1-2.amzn2023.0.6 amazonlinux 296 k libpkgconf x86_64 1.7.3-7.amzn2023.0.1 amazonlinux 37 k libstdc++ x86_64 11.3.1-2.amzn2023.0.6 amazonlinux 758 k lz4-libs x86_64 1.9.4-1.amzn2023 amazonlinux 81 k pkgconf x86_64 1.7.3-7.amzn2023.0.1 amazonlinux 41 k pkgconf-m4 noarch 1.7.3-7.amzn2023.0.1 amazonlinux 15 k pkgconf-pkg-config x86_64 1.7.3-7.amzn2023.0.1 amazonlinux 11 k python3-dnf noarch 4.12.0-2.amzn2023.0.1 amazonlinux 415 k python3-rpm x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 89 k rpm x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 487 k rpm-build-libs x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 92 k rpm-libs x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 311 k rpm-plugin-selinux x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 18 k rpm-plugin-systemd-inhibit x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 19 k rpm-sign-libs x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 22 k slang x86_64 2.3.2-9.amzn2023.0.1 amazonlinux 410 k system-release noarch 2023.0.20230210-0.amzn2023 amazonlinux 25 k systemd x86_64 250.8-1.amzn2023.0.1 amazonlinux 4.2 M systemd-libs x86_64 250.8-1.amzn2023.0.1 amazonlinux 615 k systemd-networkd x86_64 250.8-1.amzn2023.0.1 amazonlinux 614 k systemd-pam x86_64 250.8-1.amzn2023.0.1 amazonlinux 335 k systemd-resolved x86_64 250.8-1.amzn2023.0.1 amazonlinux 277 k systemd-udev x86_64 250.8-1.amzn2023.0.1 amazonlinux 1.9 M vim-common x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 7.2 M vim-data noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 27 k vim-enhanced x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 1.8 M vim-filesystem noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 21 k vim-minimal x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 764 k wget x86_64 1.21.3-1.amzn2023 amazonlinux 813 k yum noarch 4.12.0-2.amzn2023.0.1 amazonlinux 39 k Transaction Summary ================================================================================ Upgrade 43 Packages ...

Puoi aggiungere l'opzione --security per aggiornare i pacchetti solo con le funzionalità di sicurezza.

$ sudo dnf update --releasever=2023.0.20230210 --security Amazon Linux 2023 repository 18 MB/s | 11 MB 00:00 Last metadata expiration check: 0:00:02 ago on Mon 13 Feb 2023 10:39:32 PM UTC. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: bind-libs x86_64 32:9.16.27-1.amzn2023 amazonlinux 1.2 M bind-license noarch 32:9.16.27-1.amzn2023 amazonlinux 16 k bind-utils x86_64 32:9.16.27-1.amzn2023 amazonlinux 202 k gmp x86_64 1:6.2.1-2.amzn2023 amazonlinux 324 k lz4-libs x86_64 1.9.4-1.amzn2023 amazonlinux 81 k vim-common x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 7.2 M vim-data noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 27 k vim-enhanced x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 1.8 M vim-filesystem noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 21 k vim-minimal x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 764 k wget x86_64 1.21.3-1.amzn2023 amazonlinux 813 k Transaction Summary ================================================================================ Upgrade 11 Packages ...

Per scoprire le versioni dei pacchetti di AL2023, esegui una o più delle seguenti operazioni:

  • Esegui il comando dnf check-update.

  • Sottoscrivi l'argomento SNS per l'aggiornamento del repository Amazon Linux (arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates). Per ulteriori informazioni, consulta Sottoscrizione a un argomento di Amazon SNS nella Guida per lo Sviluppatore di Amazon Simple Notification Service.

  • Consulta regolarmente le note di rilascio di AL2023.

Importante

Quando applichi aggiornamenti di sicurezza a un'istanza in esecuzione, assicurati che DNF punti alla versione più recente del repository.

Riavvio automatico del servizio dopo gli aggiornamenti (di sicurezza)

Amazon Linux ora viene fornito con il pacchetto smart-restart. Smart-restartriavvia i servizi systemd in caso di aggiornamenti di sistema ogni volta che un pacchetto viene installato o eliminato utilizzando il gestore di pacchetti del sistema. Ciò si verifica ogni volta che dnf (update|upgrade|downgrade) viene eseguito.

Smart-restartutilizza il needs-restarting pacchetto from dnf-utils e un meccanismo di denylisting personalizzato per determinare quali servizi devono essere riavviati e se è consigliato il riavvio del sistema. Se si consiglia il riavvio del sistema, viene generato un file marker di suggerimento per il riavvio (). /run/smart-restart/reboot-hint-marker

Per installare smart-restart

Eseguite il DNF comando seguente (come fareste con qualsiasi altro pacchetto).

$ sudo dnf install smart-restart

Dopo l'installazione, le transazioni successive attiveranno la smart-restart logica.

Lista di rifiuto

Smart-restartpuò essere richiesto di bloccare il riavvio di determinati servizi. I servizi bloccati non contribuiranno alla decisione se è necessario un riavvio. Per bloccare servizi aggiuntivi, aggiungete un file con il suffisso -denylist in, /etc/smart-restart-conf.d/ come illustrato nell'esempio seguente.

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

Tutti *-denylist i file vengono letti e valutati quando si decide se è necessario un riavvio.

Ganci personalizzati

Oltre al denylisting, smart-restart fornisce un meccanismo per eseguire script personalizzati prima e dopo i tentativi di riavvio del servizio. Gli script personalizzati possono essere utilizzati per eseguire manualmente le fasi di preparazione o per informare gli altri componenti del riavvio residuo o completato.

Tutti gli script vengono inseriti /etc/smart-restart-conf.d/ con il suffisso -pre-restart o -post-restart vengono eseguiti. Se l'ordine è importante, aggiungete un numero a tutti gli script per garantire l'ordine di esecuzione, come illustrato nell'esempio seguente.

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

Avvio di un'istanza con la versione più recente del repository abilitata

Puoi aggiungere comandi DNF a uno script di dati utente per controllare quali pacchetti RPM vengono installati su un'AMI Amazon Linux al momento dell'avvio. Nell'esempio seguente, viene utilizzato uno script di dati utente per assicurarsi che su ogni istanza avviata con lo script di dati utente siano installati gli stessi aggiornamenti del pacchetto.

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

È necessario eseguire questo script come utente con privilegi avanzati (root). Per farlo, esegui il comando seguente.

$ sudo sh -c "bash nameofscript.sh"

Per ulteriori informazioni, consulta Dati utente e script di shell nella Guida per l'utente di Amazon EC2.

Nota

Invece di utilizzare uno script di dati utente, avvia l'AMI Amazon Linux più recente o un'AMI personalizzata basata sull'AMI Amazon Linux. L'AMI Amazon Linux più recente dispone di tutti gli aggiornamenti necessari installati ed è configurata in modo che punti a una particolare versione del repository.

Ottenere informazioni di supporto per i pacchetti

AL2023 incorpora molti diversi progetti software open source. Ciascuno di questi progetti è gestito indipendentemente da Amazon Linux e prevede release e end-of-support pianificazioni diverse. Per fornirti informazioni specifiche su Amazon Linux in relazione a questi diversi pacchetti, il plugin supportinfo DNF fornisce i metadati relativi a un pacchetto. Nell'esempio seguente, il comando dnf supportinfo restituisce i metadati per il pacchetto 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.

Verifica della disponibilità di versioni più recenti del repository

In un'istanza AL2023, puoi usare l'utilità DNF per gestire i repository e applicare pacchetti RPM aggiornati. Questi pacchetti sono disponibili nei repository Amazon Linux. Puoi usare il comando DNF dnf check-release-update per verificare la presenza di nuove versioni del repository DNF.

$ 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 update --releasever=2023.0.20230210 Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html

Questa operazione restituisce un elenco completo di tutte le versioni più recenti dei repository DNF disponibili. Se non viene restituito nulla, significa che DNF è attualmente configurato per utilizzare la versione più recente disponibile. La versione del pacchetto system-release attualmente installata imposta la variabile releasever DNF. Per controllare la versione attuale del repository, esegui il comando seguente.

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

Quando si eseguono transazioni di pacchetti DNF (ad esempio comandi di installazione, aggiornamento o rimozione), un messaggio di avviso segnala eventuali nuove versioni del repository. Ad esempio, se installi il pacchetto httpd su un'istanza avviata da una versione precedente di AL2023, viene restituito il seguente output.

$ 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!

Aggiunta, abilitazione o disabilitazione di nuovi repository

Per installare un pacchetto da un repository diverso con il sistema di gestione dei pacchetti DNF, aggiungi le informazioni relative al repository nel file /etc/dnf/dnf.conf o nel relativo file repository.repo all'interno della directory /etc/yum.repos.d. Questa operazione può essere eseguita manualmente. Tuttavia, per la maggior parte dei repository DNF è disponibile il relativo file repository.repo nell'URL del repository corrispondente.

Nota

Al momento, non ci sono altri repository che possono essere aggiunti ad AL2023. Ciò potrebbe cambiare in futuro. Inoltre, puoi scrivere pacchetti personalizzati e renderli disponibili per l'ambiente aziendale AL2023. Prima di poter utilizzare i pacchetti, devi aggiungere e abilitare il repository in cui sono archiviati i pacchetti.

Per scoprire quali repository sono attualmente abilitati, puoi eseguire il seguente comando:

$ 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
Nota

Se non aggiungi il flag di opzione --verbose, l'output include solo le informazioni Repo-id, Repo-name e Repo-status.

Per aggiungere un repository yum alla directory /etc/yum.repos.d:

  1. Cerca la posizione del file .repo. In questo esempio, il file .repo è disponibile in https://www.example.com/repository.repo.

  2. Aggiungi il repository con il comando 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

Dopo aver installato un repository, devi abilitarlo come descritto nella procedura seguente.

Per abilitare un repository yum in /etc/yum.repos.d, usa il comando dnf config-manager con il flag --enable e il nome del repository.

$ sudo dnf config-manager --enable repository
Nota

Per disabilitare un repository, usa la stessa sintassi del comando, ma sostituendo --enable con --disable nel comando.

Aggiunta di repository con cloud-init

Oltre ad aggiungere un repository utilizzando il precedente metodo, puoi anche aggiungere un nuovo repository utilizzando il framework cloud-init.

Per aggiungere un nuovo repository di pacchetti, si consiglia l'uso del seguente modello. Valuta la possibilità di salvare il file in locale.

#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
Nota

Un vantaggio dell'utilizzo di cloud-init consiste nella possibilità di aggiungere una sezione packages: al file di configurazione. In questa sezione, puoi includere i nomi dei pacchetti che desideri installare. Puoi installare i pacchetti dal repository predefinito o dal nuovo repository aggiunto nel file cloud-config.

Per informazioni più specifiche sulla struttura del file YAML, consulta la pagina dedicata all'aggiunta di un repository YUM nella documentazione di cloud-init.

Dopo aver configurato il file in formato YAML, puoi eseguirlo nel framework cloud-init nell'interfaccia AWS CLI. Assicurati di includere l'opzione --userdata e il nome del file .yml per chiamare le operazioni desiderate.

$ 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