

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à.

# Gestisci il software sulla tua istanza AL2
<a name="managing-software"></a>

La distribuzione di base di Amazon Linux contiene pacchetti software e utilità necessari per le operazioni di base del server.

Queste informazioni si applicano a AL2. Per informazioni su AL2023, consulta [Gestire pacchetti e aggiornamenti del sistema operativo AL2023 nella](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) *Guida per l'utente di Amazon Linux 2023*.

È importante tenere aggiornati i software. Molti pacchetti in una distribuzione Linux vengono aggiornati di frequente per correggere bug, aggiungere caratteristiche e proteggere il sistema da exploit a livello di sicurezza. Per ulteriori informazioni, consulta [Aggiorna il software dell'istanza sulla tua istanza AL2](install-updates.md).

Per impostazione predefinita, AL2 le istanze vengono avviate con i seguenti repository abilitati:
+ `amzn2-core`
+ `amzn2extra-docker`

Sebbene in questi repository siano disponibili molti pacchetti aggiornati da AWS, è possibile che un pacchetto da installare sia contenuto in un altro repository. Per ulteriori informazioni, consulta [Aggiungi repository su un'istanza AL2](add-repositories.md). Per semplificare la ricerca e l'installazione di pacchetti negli archivi abilitati, consulta [Trova e installa pacchetti software su un' AL2 istanza](find-install-software.md).

Non tutti i software sono disponibili nei pacchetti software memorizzati negli archivi. Alcuni archivi devono essere compilati su un'istanza dal relativo codice sorgente. Per ulteriori informazioni, consulta [Preparati a compilare il software su un'istanza AL2](compile-software.md).

AL2 le istanze gestiscono il proprio software utilizzando il gestore di pacchetti yum. Il programma di gestione di pacchetti YUM consente di installare, rimuovere e aggiornare il software, nonché gestire tutte le dipendenze per ogni pacchetto.

**Topics**
+ [Aggiorna il software dell'istanza sulla tua istanza AL2](install-updates.md)
+ [Aggiungi repository su un'istanza AL2](add-repositories.md)
+ [Trova e installa pacchetti software su un' AL2 istanza](find-install-software.md)
+ [Preparati a compilare il software su un'istanza AL2](compile-software.md)

# Aggiorna il software dell'istanza sulla tua istanza AL2
<a name="install-updates"></a>

È importante tenere aggiornati i software. I pacchetti in una distribuzione Linux vengono aggiornati di frequente per correggere bug, aggiungere funzionalità e proteggere il sistema da exploit a livello di sicurezza. Quando stabilisci una connessione a un'istanza Amazon Linux dopo averla avviata per la prima volta, è possibile che venga visualizzato un messaggio in cui ti viene richiesto di aggiornare i pacchetti software per motivi di sicurezza. Questa sezione mostra come aggiornare l'intero sistema o solo un pacchetto.

Queste informazioni si applicano a AL2. Per informazioni su AL2023, consulta [Gestire pacchetti e aggiornamenti del sistema operativo AL2023 nella](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) *Guida per l'utente di Amazon Linux 2023*.

Per informazioni sulle modifiche e gli aggiornamenti di AL2, consulta le [note di AL2 rilascio](https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html).

Per informazioni sulle modifiche e gli aggiornamenti di AL2023, consulta le [note di AL2023 rilascio](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html).

**Importante**  
Se hai avviato un'istanza EC2 che utilizza un'AMI Amazon Linux 2 in una sottorete IPv6 -only, devi connetterti all'istanza ed eseguirla. `sudo amazon-linux-https disable` Ciò consente all' AL2 istanza di connettersi al yum repository in S3 IPv6 tramite il servizio di patch http.

**Per aggiornare tutti i pacchetti su un'istanza AL2**

1. (Opzionale) Avviare una sessione con il comando **screen** nella finestra della shell. A volte si possono verificare interruzioni di rete che possono comportare l'interruzione della connessione SSH all'istanza. Se si verifica questa situazione durante un aggiornamento software particolarmente lungo, l'istanza rimane in uno stato non definito, anche se ripristinabile. La sessione avviata con il comando **screen** ti permette di continuare l'esecuzione dell'aggiornamento anche se la connessione viene interrotta. Potrai infatti ristabilire la connessione alla sessione in un secondo momento senza problemi.

   1. Eseguire il comando **screen** per avviare la sessione.

      ```
      [ec2-user ~]$ screen
      ```

   1. Se la connessione alla sessione viene interrotta, rieseguire l'accesso all'istanza e visualizzare l'elenco delle schermate disponibili.

      ```
      [ec2-user ~]$ screen -ls
      There is a screen on:
      	17793.pts-0.ip-12-34-56-78	(Detached)
      1 Socket in /var/run/screen/S-ec2-user.
      ```

   1. Riconnettersi alla schermata utilizzando il comando **screen -r** e l'ID di processo del comando precedente.

      ```
      [ec2-user ~]$ screen -r 17793
      ```

   1. Dopo aver utilizzato il comando **screen**, utilizzare il comando **exit** per chiudere la sessione.

      ```
      [ec2-user ~]$ exit
      [screen is terminating]
      ```

1. Esegui il comando **yum update**. Puoi decidere di aggiungere il flag `--security` per applicare solo gli aggiornamenti di sicurezza.

   ```
   [ec2-user ~]$ sudo yum update
   ```

1. Verifica i pacchetti elencati, digita **y** e premi Invio per accettare gli aggiornamenti. L'aggiornamento di tutti i pacchetti in un sistema può richiedere alcuni minuti. L'output **yum** riporta lo stato dell'aggiornamento durante la sua esecuzione.

1. (Facoltativo) [Riavviate l'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-reboot.html) per assicurarvi di utilizzare i pacchetti e le librerie più recenti dell'aggiornamento; gli aggiornamenti del kernel non vengono caricati finché non si verifica un riavvio. Anche gli aggiornamenti applicati a qualsiasi libreria `glibc` devono essere seguiti da un riavvio. Per gli aggiornamenti dei pacchetti che controllano i servizi, può essere sufficiente riavviare i servizi per rendere disponibili gli aggiornamenti. Tuttavia, il riavvio del sistema garantisce il completamento di tutti i precedenti aggiornamenti di librerie e pacchetti.

**Per aggiornare un singolo pacchetto su un'istanza AL2**

Utilizzare questa procedura per aggiornare un singolo pacchetto e le relative dipendente, ma non l'intero sistema.

1. Esegui il comando **yum update** con il nome del pacchetto da aggiornare.

   ```
   [ec2-user ~]$ sudo yum update openssl
   ```

1. Verifica le informazioni sul pacchetto visualizzate, digita **y** e premi Invio per accettare uno o più aggiornamenti. A volte nell'elenco potrebbero venire elencati più pacchetti se sono presenti dipendenze di pacchetti che devono essere risolte. L'output **yum** riporta lo stato dell'aggiornamento durante la sua esecuzione.

1. (Facoltativo) [Riavviate l'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-reboot.html) per assicurarvi di utilizzare i pacchetti e le librerie più recenti dell'aggiornamento; gli aggiornamenti del kernel non vengono caricati finché non si verifica un riavvio. Anche gli aggiornamenti applicati a qualsiasi libreria `glibc` devono essere seguiti da un riavvio. Per gli aggiornamenti dei pacchetti che controllano i servizi, può essere sufficiente riavviare i servizi per rendere disponibili gli aggiornamenti. Tuttavia, il riavvio del sistema garantisce il completamento di tutti i precedenti aggiornamenti di librerie e pacchetti.

# Aggiungi repository su un'istanza AL2
<a name="add-repositories"></a>

Queste informazioni si applicano a. AL2 Per informazioni in merito AL2023, consulta [Aggiornamenti deterministici tramite repository con versioni nella](https://docs.aws.amazon.com/linux/al2023/ug/deterministic-upgrades.html) Guida per AL2023 l'utente di *Amazon Linux 2023*.

Per impostazione predefinita, le AL2 istanze vengono avviate con i seguenti repository abilitati:
+ `amzn2-core`
+ `amzn2extra-docker`

Questi repository cotengono molti pacchetti che vengono aggiornati da Amazon Web Services; potrebbe essere presente un pacchetto che vuoi installare ma contenuto in un altro repository.

Per installare un pacchetto da un archivio diverso con **yum**, è necessario aggiungere le informazioni relative all'archivio nel file `/etc/yum.conf` o nel relativo file `repository.repo` all'interno della directory `/etc/yum.repos.d`. Puoi eseguire questa operazione manualmente, ma per la maggior parte degli archivi yum è disponibile il file `repository.repo` corrispondente nel relativo URL.

**Per determinare gli archivi yum già installati**  
Generare l'elenco degli archivi yum installati con il seguente comando:

```
[ec2-user ~]$ yum repolist all
```

Nell'output risultante sono elencati gli archivi installati assieme al relativo stato. Per gli archivi abilitati viene visualizzato il numero di pacchetti in essi contenuti.

**Per aggiungere un archivio yum a /etc/yum.repos.d**

1. Cerca la posizione del file `.repo`. Ciò può dipendere dall'archivio che desideri aggiungere. In questo esempio, il file `.repo` è disponibile in `https://www.example.com/repository.repo`.

1. Aggiungi il repository con il comando **yum-config-manager**.

   ```
   [ec2-user ~]$ sudo yum-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 archivio, devi abilitarlo come descritto nella procedura seguente.

**Per abilitare un archivio yum in /etc/yum.repos.d**  
Utilizzare il comando **yum-config-manager** con il contrassegno `--enable repository`. Il comando seguente abilita l'archivio EPEL (Extra Packages for Enterprise Linux) dal progetto Fedora. Per impostazione predefinita, questo archivio è presente in `/etc/yum.repos.d` nelle istanze di AMI Amazon Linux ma non è abilitato.

```
[ec2-user ~]$ sudo yum-config-manager --enable epel
```

[Per ulteriori informazioni e per scaricare la versione più recente di questo pacchetto, consultate https://fedoraproject. org/wiki/EPEL](https://fedoraproject.org/wiki/EPEL).

# Trova e installa pacchetti software su un' AL2 istanza
<a name="find-install-software"></a>

Puoi utilizzare uno strumento di gestione dei pacchetti per trovare e installare pacchetti software. In Amazon Linux 2, lo strumento di gestione dei pacchetti software predefinito èYUM. In AL2023, lo strumento di gestione dei pacchetti software predefinito èDNF. Per ulteriori informazioni, consulta [lo strumento di gestione dei pacchetti](https://docs.aws.amazon.com/linux/al2023/ug/package-management.html) nella *Guida per l'utente di Amazon Linux 2023*.

## Trova pacchetti software su un' AL2 istanza
<a name="find-software"></a>

Puoi utilizzare il comando **yum search** per cercare le descrizioni dei pacchetti disponibili negli archivi configurati. Ciò risulta particolarmente utile se non conosci il nome preciso del pacchetto che vuoi installare. Devi semplicemente aggiungere la ricerca per parola chiave alla fine del comando. Per ricerche di più parole, racchiudi la query di ricerca tra virgolette.

```
[ec2-user ~]$ yum search "find"
```

Di seguito è riportato un output di esempio.

```
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
============================== N/S matched: find ===============================
findutils.x86_64 : The GNU versions of find utilities (find and xargs)
gedit-plugin-findinfiles.x86_64 : gedit findinfiles plugin
ocaml-findlib-devel.x86_64 : Development files for ocaml-findlib
perl-File-Find-Rule.noarch : Perl module implementing an alternative interface to File::Find
robotfindskitten.x86_64 : A game/zen simulation. You are robot. Your job is to find kitten.
mlocate.x86_64 : An utility for finding files by name
ocaml-findlib.x86_64 : Objective CAML package manager and build helper
perl-Devel-Cycle.noarch : Find memory cycles in objects
perl-Devel-EnforceEncapsulation.noarch : Find access violations to blessed objects
perl-File-Find-Rule-Perl.noarch : Common rules for searching for Perl things
perl-File-HomeDir.noarch : Find your home and other directories on any platform
perl-IPC-Cmd.noarch : Finding and running system commands made easy
perl-Perl-MinimumVersion.noarch : Find a minimum required version of perl for Perl code
texlive-xesearch.noarch : A string finder for XeTeX
valgrind.x86_64 : Tool for finding memory management bugs in programs
valgrind.i686 : Tool for finding memory management bugs in programs
```

Le query di ricerca di più parole racchiuse tra virgolette restituiscono solo i risultati che corrispondono esattamente alla query. Se il pacchetto previsto non viene visualizzato, semplifica la ricerca usando un'unica parola chiave e quindi riesamina i risultati. Come parole chiave puoi anche usare sinonimi per ampliare la ricerca.

Per ulteriori informazioni sui pacchetti per AL2, consulta quanto segue:
+ [AL2 Libreria Extras](al2-extras.md)
+ [Archivio dei pacchetti](ec2.md#package-repository)

## Installare pacchetti software su un' AL2 istanza
<a name="install-software"></a>

In AL2, lo strumento di gestione dei pacchetti yum cerca diversi pacchetti software in tutti gli archivi abilitati e gestisce eventuali dipendenze nel processo di installazione del software. Per informazioni sull'installazione di pacchetti software in AL2023, consulta [Gestione dei pacchetti e degli aggiornamenti del sistema operativo](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) nella *Guida per l'utente di Amazon Linux 2023*.

**Per installare un pacchetto da un repository**  
Usa il **yum install *package*** comando, sostituendolo *package* con il nome del software da installare. Ad esempio, per installare il browser Web basato sul testo **links**, immetti il comando seguente.

```
[ec2-user ~]$ sudo yum install links
```

**Per installare i file dei pacchetti RPM scaricati**  
Puoi utilizzare **yum install** anche per installare i file dei pacchetti RPM scaricati da Internet. A tale scopo, devi aggiungere il nome del percorso di un file RPM al comando di installazione invece del nome del pacchetto di un repository.

```
[ec2-user ~]$ sudo yum install my-package.rpm
```

**Per elencare i pacchetti installati**  
Per visualizzare un elenco dei pacchetti installati nell'istanza, utilizzare il comando seguente.

```
[ec2-user ~]$ yum list installed
```

# Preparati a compilare il software su un'istanza AL2
<a name="compile-software"></a>

In Internet è disponibile il software open source non precompilato e pronto per il download da un repository di pacchetti. Potresti tuttavia trovare un pacchetto software che devi compilare personalmente dal relativo codice sorgente. Affinché il tuo sistema sia in grado di compilare software in AL2 Amazon Linux, devi installare diversi strumenti di sviluppo, come **make****gcc**, e**autoconf**.

Dal momento che la compilazione del software non è un'attività richiesta da ogni istanza di Amazon EC2, questi strumenti non vengono installati per impostazione predefinita, ma sono disponibili in un gruppo di pacchetti denominato "Development Tools" (Strumenti di sviluppo), che può essere facilmente aggiunto a un'istanza con il comando **yum groupinstall**.

```
[ec2-user ~]$ sudo yum groupinstall "Development Tools"
```

I pacchetti di codice sorgente del software sono spesso disponibili per il download (da siti Web come [https://github.com/](https://github.com/)e [http://sourceforge.net/](https://sourceforge.net/)) come file di archivio compresso, chiamato tarball. In genere i file tarball sono associati all'estensione `.tar.gz`. Puoi decomprimere questi archivi tramite il comando **tar**.

```
[ec2-user ~]$ tar -xzf software.tar.gz
```

Dopo aver decompresso ed estratto il pacchetto di codice sorgente, devi cercare un file `README` o `INSTALL` nella directory del codice sorgente contenente ulteriori istruzioni relative alla compilazione e all'installazione del codice sorgente. 

**Per recuperare il codice sorgente per i pacchetti Amazon Linux**  
Amazon Web Services fornisce il codice sorgente per i pacchetti mantenuti. Puoi scaricare il codice sorgente per qualsiasi pacchetto installato tramite il comando **yumdownloader --source**.

Eseguite il **yumdownloader --source *package*** comando per scaricare il codice sorgente di. *package* Ad esempio, per scaricare il codice sorgente del pacchetto `htop`, immetti il seguente comando.

```
[ec2-user ~]$ yumdownloader --source htop

Loaded plugins: priorities, update-motd, upgrade-helper
Enabling amzn-updates-source repository
Enabling amzn-main-source repository
amzn-main-source                                                                                              | 1.9 kB  00:00:00     
amzn-updates-source                                                                                           | 1.9 kB  00:00:00     
(1/2): amzn-updates-source/latest/primary_db                                                                  |  52 kB  00:00:00     
(2/2): amzn-main-source/latest/primary_db                                                                     | 734 kB  00:00:00     
htop-1.0.1-2.3.amzn1.src.rpm
```

La posizione del file RPM sorgente è la directory da cui hai eseguito il comando.