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à.
Tutorial: creare un'immagine 2.0 personalizzata basata su Linux AppStream
Questo tutorial descrive come creare un'immagine AppStream Amazon 2.0 personalizzata basata su Linux che contenga applicazioni che puoi trasmettere in streaming ai tuoi utenti.
Indice
Fase 1: installazione delle applicazioni sull'Image Builder
In questa fase, connetti un Image Builder Linux e installi le applicazioni sull'Image Builder.
Installare le applicazioni sull'Image Builder
-
Connetti l'Image Builder in uno dei seguenti modi:
Usa la console AppStream 2.0 (solo per connessioni web)
Crea un URL di streaming (per connessioni web o client AppStream 2.0)
Nota
Accederai come ImageBuilderAdmin utente al desktop Amazon Linux GNOME e disporrai dei privilegi di amministratore root.
-
Installa le applicazioni necessarie. Ad esempio, per installare un browser Chromium da un repository yum pubblico, apri prima l'applicazione Terminale, quindi esegui il seguente comando:
[ImageBuilderAdmin]$ sudo yum update && sudo yum install chromium.x86_64
Nota
Scaricare e installare le applicazioni solo dai siti fidati.
Fase 2: Generazione del file manifesto per l'ottimizzazione delle applicazioni
In questa fase, generati un file manifesto per ogni applicazione installata nella fase 1.
Generazione di un file manifesto per ottimizzare le prestazioni di avvio di un'applicazione
-
Assicurati che l'applicazione (ad esempio, Chromium) che stai cercando di ottimizzare sia avviata e in esecuzione.
-
In una finestra di Terminale, esegui il comando seguente per elencare i processi relativi all'applicazione:
[ImageBuilderAdmin]$ ps -ef | grep chromium
-
Trova il PID principale dall'output del comando precedente. Di seguito è riportato un esempio di output e il PID principale è 16712:
[ImageBuilderAdmin]$ ps -ef | grep chromium ImageBu+ 16712 4128 0 Aug26 ? 00:00:44 /usr/lib64/chromium- browser/chromium-browser --enable-plugins --enable-extensions -- enable-user- scripts --enable-printing --enable-gpu-rasterization -- enable-sync --auto-ssl- client-auth ImageBu+ 16726 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygote --no-zygote-sandbox ImageBu+ 16727 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium- browser --type=zygote ImageBu+ 16731 16727 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygot
-
Mantieni l'applicazione in esecuzione e assicurati di utilizzare i componenti iniziali richiesti dagli utenti. In questo modo, i componenti vengono acquisiti dal processo di ottimizzazione.
-
Crea un file script (ad esempio,
~/getfilestool.sh
) con i seguenti contenuti:#!/bin/bash ## usage getfilestool.sh $pid lsof -p $(pstree -p $1 | grep -o '([0-9]\+)' | grep -o '[0-9]\+' | tr '\012' ,)|grep REG | sed -n '1!p' | awk '{print $9}'|awk 'NF'
-
Verifica che il file possa essere eseguito eseguendo il seguente comando:
[ImageBuilderAdmin]$ chmod u+x ~/getfilestool.sh
-
Esegui il comando seguente per acquisire tutti i file in esecuzione dal processo principale individuato nella fase 3 precedente e salvali in un file manifesto temporaneo:
[ImageBuilderAdmin]$ sudo ~/getfilestool.sh 16712 > /tmp/chromium-manifest.txt
-
Verifica il contenuto del manifesto di ottimizzazione, che è un file di testo delimitato da righe per ogni applicazione.
Fase 3: Creare un AppStream catalogo di applicazioni 2.0
In questo passaggio, si utilizza lo strumento CLI AppStreamImageAssistant
sul generatore di immagini per creare un catalogo di applicazioni AppStream 2.0 specificando le applicazioni per l'immagine. Per ogni applicazione per cui prevedi di effettuare lo streaming, puoi specificare il nome, il nome visualizzato, il file eseguibile da avviare e l'icona da visualizzare.
Per creare un catalogo di applicazioni 2.0 AppStream
-
Dal desktop dell'Image Builder, apri Terminale dal pannello laterale o aprendo la griglia dell'app.
-
Esegui AppStreamImageAssistant --help per visualizzare l'elenco dei comandi disponibili. Utilizzerai questi comandi per aggiungere applicazioni e creare un'immagine.
-
Esegui il comando seguente per aggiungere un'applicazione installata (ad esempio, Chromium) all'elenco delle applicazioni per utenti AppStream 2.0:
AppStreamImageAssistant add-application \ --name Chromium \ --absolute-app-path /usr/lib64/chromium-browser/chromium-browser \ --display-name Chromium \ --absolute-icon-path /usr/share/icons/hicolor/256x256/apps/chromium-browser.png \ --absolute-manifest-path /tmp/chromium-manifest.txt
In alternativa, esegui il seguente comando:
AppStreamImageAssistant add-application \ --name="Chromium" \ --absolute-app-path="/usr/lib64/chromium-browser/chromium-browser" \ --display-name="Chromium" \ --absolute-icon-path="/usr/share/icons/hicolor/256x256/apps/chromium-browser.png" \ --absolute-manifest-path="/tmp/chromium-manifest.txt"
-
Per aggiungere altre applicazioni, ripeti la fase 3 per ogni applicazione aggiuntiva.
-
Per visualizzare l'elenco delle applicazioni che sono state aggiunte al catalogo, insieme ai metadati come i percorsi delle icone e i parametri di avvio, esegui il comando seguente:
AppStreamImageAssistant list-applications
-
Per rimuovere le applicazioni dal catalogo, esegui il comando seguente:
AppStreamImageAssistant remove-application –-name
application_name
Fase 4: Creazione delle impostazioni predefinite dell'applicazione e delle variabili di ambiente
In questo passaggio, create le impostazioni predefinite dell'applicazione e le variabili di ambiente per gli utenti della AppStream versione 2.0. In questo modo gli utenti possono iniziare a utilizzare rapidamente le applicazioni durante le sessioni di streaming AppStream 2.0, senza la necessità di creare o configurare queste impostazioni da soli.
Per creare applicazioni predefinite e variabili di ambiente per gli utenti
-
Avvia l'applicazione per cui creare le impostazioni predefinite. Ad esempio, in una finestra del Terminale, esegui il seguente comando per avviare il browser Chromium:
[ImageBuilderAdmin]$ chromium-browser
-
Configurazione delle impostazioni delle applicazioni. Ad esempio, imposta la home page del browser Chromium come.
https://aws.amazon.com
. -
Assicurati che l'applicazione Chromium sia chiusa, quindi esegui i seguenti comandi per copiare la configurazione di Chromium in /etc/skel:
[ImageBuilderAdmin]$ sudo mkdir /etc/skel/.config
[ImageBuilderAdmin]$ sudo cp -R ~/.config/chromium /etc/skel/.config
-
Imposta le variabili di ambiente e aggiungile al file di script. Ad esempio, esegui i comandi seguenti:
[ImageBuilderAdmin]$ echo "export
FOO
=BAR
" | sudo tee -a /etc/profile.d/myenvvars.sh[ImageBuilderAdmin]$ sudo chmod +x /etc/profile.d/myenvvars.sh
Fase 5: Test delle applicazioni e delle impostazioni
In questa fase, verifica che le applicazioni che hai aggiunto funzionino correttamente e che le impostazioni predefinite dell'applicazione e le variabili di ambiente funzionino come previsto.
Per testare le applicazioni e le impostazioni predefinite su un Image Builder
Crea un utente di test senza autorizzazioni root. Ad esempio, in una finestra di Terminale, esegui i seguenti comandi per creare test-user sull'Image Builder:
[ImageBuilderAdmin]$ sudo useradd -m test-user
[ImageBuilderAdmin]$ echo -e 'Pa55w0rdas2!!!\nPa55w0rdas2!!!\n' | sudo passwd test-user
Passa all'utente di test:
[ImageBuilderAdmin]$ su - test-user
Avvia l'applicazione (ad esempio, Chromium) come utente di test:
[test-user]$ /usr/bin/chromium-browser
-
Verifica che le impostazioni predefinite siano disponibili per l'utente di test (ad esempio, la home page di Chromium è/). https://aws.amazon.com
-
Verifica che le variabili di ambiente siano disponibili per l'utente di test. Ad esempio, esegui il comando seguente:
[test-user]$ echo $
FOO
Questo comando dovrebbe visualizzare nel terminale l'output
BAR
. -
Esegui i seguenti comandi per eliminare l'utente di test prima di creare un'immagine da questo Image Builder:
# logout test user
[test-user]$ logout
# kill test user's running processes
[ImageBuilderAdmin]$ sudo killall -u test-user
# delete user
[ImageBuilderAdmin]$ sudo userdel -r test-user
Fase 6: terminare la creazione dell'immagine
In questa fase, scegliere un nome dell'immagine e terminare la creazione dell'immagine.
Creare l'immagine
-
In una finestra del Terminale, crea un'immagine dall'Image Builder eseguendo AppStreamImageAssistant create-image. Questa immagine contiene le applicazioni installate e registrate, oltre agli script di sessione e alle impostazioni predefinite delle applicazioni che hai configurato.
Esegui AppStreamImageAssistant create-image --help per visualizzare l'elenco delle opzioni disponibili. Per ulteriori informazioni, consulta l'operazione create-image in Crea la tua immagine Amazon AppStream 2.0 in modo programmatico utilizzando le operazioni CLI di Image Assistant.
-
La sessione remota si disconnette dopo pochi istanti. Quando viene visualizzato il messaggio Lost Connectivity (Connessione persa), chiudere la scheda del browser. Durante la creazione dell'immagine, lo stato dell'Image Builder viene visualizzato come Snapshotting (Creazione di snapshot). Non è possibile connettersi all'Image Builder fino al termine del processo.
-
Tornare alla console e passare a Images (Immagini), Image Registry (Registro immagine). Verificare che la nuova immagine venga visualizzata nell'elenco.
Durante la creazione dell'immagine, lo stato dell'immagine nel registro immagini della console viene visualizzato come In sospeso. Non puoi connetterti a immagini con stato In sospeso.
-
Scegli l'icona Aggiorna per aggiornare lo stato. Durante la creazione dell'immagine, lo stato dell'immagine viene modificata in Available (Disponibile) e l'Image Builder viene automaticamente arrestato.
Per continuare la creazione di immagini, avviare l'Image Builder e connettersi dalla console o creare un nuovo Image Builder.
Fase 7 (facoltativa): applicare tag e copiare un'immagine
È possibile aggiungere uno o più tag a un'immagine durante la creazione dell'immagine o dopo aver creato un'immagine. È anche possibile copiare l'immagine all'interno della stessa regione o in una nuova regione all'interno dello stesso account Amazon Web Services. La copia di un'immagine sorgente produce un'immagine di destinazione identica ma distinta. AWS tuttavia, non copia alcun tag definito dall'utente. Inoltre, è possibile copiare solo immagini personalizzate che sono state create, non le immagini di base fornite da AWS.
Nota
È possibile copiare fino a due immagini in una destinazione nello stesso momento. Se la destinazione in cui si desidera copiare un'immagine è al limite dell'immagine, viene restituito un errore. Per copiare l'immagine in questo caso, è necessario prima rimuovere le immagini dalla destinazione. Dopo che la destinazione è inferiore alla quota immagine (definita anche limite), avviare la copia dell'immagine dalla regione di origine. Per ulteriori informazioni, consulta AppStream Quotas di servizio Amazon 2.0.
Per aggiungere tag a un'immagine esistente
-
Nel riquadro di navigazione, scegliere Images (Immagini), Image Registry (Registro immagini).
-
Nell'elenco di immagini, selezionare l'immagine a cui si desidera aggiungere tag.
-
Scegli Tag, Aggiungi/Modifica tag, quindi scegli Aggiungi tag. Specifica la chiave e il valore del tag, quindi scegli Salva.
Per ulteriori informazioni, consulta Taggare le tue risorse Amazon AppStream 2.0.
Copiare un'immagine
La copia di un'immagine su più regioni geograficamente diverse consente di effettuare lo streaming di applicazioni da più regioni in base alla stessa immagine. Effettuando lo streaming delle applicazioni in prossimità degli utenti, è possibile migliorare l'esperienza degli utenti in streaming delle applicazioni con AppStream la versione 2.0.
-
Nel riquadro di navigazione, scegliere Images (Immagini), Image Registry (Registro immagini).
-
Nell'elenco di immagini, selezionare l'immagine da copiare.
-
Selezionare Actions (Operazioni), Copy (Copia).
-
Nella finestra di dialogo Copy Image (Copia immagine), specificare le informazioni seguenti, quindi scegli Copy Image (Copia immagine):
-
Per Destination Region (Regione di destinazione) scegliere la regione in cui copiare la nuova immagine.
-
Per Name (Nome), specificare un nome che avrà l'immagine quando verrà copiata nella destinazione.
-
Per Description (Descrizione) (facoltativo), specificare una descrizione che avrà l'immagine quando verrà copiata nella destinazione.
-
-
Per controllare il progresso dell'operazione di copia, tornare alla console e passare a Images (Immagini), Image Registry (Registro immagine). Utilizzare la barra di navigazione per passare alla regione di destinazione (se applicabile) e confermare che la nuova immagine viene visualizzata nell'elenco di immagini.
La nuova immagine viene visualizzata prima con stato Copying (Copia) nel registro immagine della console. Dopo che l'immagine è stata creata con successo, lo stato dell'immagine viene modificato in Available (Disponibile), che significa che è possibile utilizzare l'immagine per avviare uno stack ed effettuare lo streaming delle applicazioni.
Fase 8: elimina
Infine, puoi arrestare gli Image Builder in esecuzione per liberare le risorse ed evitare addebiti indesiderati per l'account. Consigliamo di arrestare qualsiasi Image Builder inutilizzato in esecuzione. Per ulteriori informazioni, consulta la sezione Prezzi AppStream 2.0
Arrestare un Image Builder in esecuzione
-
Nel riquadro di navigazione, scegliere Images (Immagini), Image Builders (Image Builder) e selezionare l'istanza dell'Image Builder in esecuzione.
-
Scegliere Actions (Operazioni), Stop (Arresta).