GNU/Linux >> Linux Esercitazione >  >> Linux

Installazione di Alpine (o altro Linux) su VPS o Bare Metal Server

Quando ottieni un VPS o un server dedicato (bare metal), il provider di hosting ti consente di scegliere il sistema operativo che desideri installare.

In genere, puoi scegliere da un elenco di una decina di sistemi. Cosa succede se il tuo sistema Linux preferito non è incluso in quell'elenco?

Esistono forse diversi metodi per installare una particolare distribuzione Linux di tua scelta su un server remoto .

Volevo usare l'ultraleggero Alpine Linux. È disponibile come opzione su Linode ma non su OVH. Uso principalmente OVH, quindi ho utilizzato questo metodo per ottenere Alpine sul mio server.

Potrebbe essere appropriato anche per altre distribuzioni su altri provider di server:

  1. Installa un "sistema operativo predefinito", quello offerto dal provider del server.
  2. Utilizza questo sistema per scaricare un'immagine del sistema operativo desiderato; quell'immagine deve essere utilizzabile come ambiente live .
  3. Riavvia in questo ambiente live.
  4. Installa il nuovo sistema operativo (accanto al sistema operativo predefinito).

I passaggi 3 e 4 sono simili all'installazione di un sistema operativo su un laptop o computer desktop tramite un "supporto live", tranne per il fatto che il supporto fisico viene sostituito da un file ISO.

Gli strumenti chiave da utilizzare in questo tutorial sono:

  • IPMI/KVM su IP o qualsiasi strumento simile.
  • GNU GRUB, il noto bootloader.

Il primo deve essere supportato dal provider (altrimenti non inizia ad applicare le seguenti istruzioni!), e ti permette di monitorare e controllare il processo di avvio della macchina.

Quest'ultimo è generalmente già installato insieme al sistema operativo predefinito, ma può essere (re)installato e modificato in base alle proprie esigenze.

Qualunque sia il tuo caso, leggi attentamente questa guida e assicurati di averla compresa prima di fare qualsiasi cosa. Sperimenta su un server non di produzione, per il quale puoi eseguire riavvii e reinstallazioni in qualsiasi momento tramite il servizio web del provider. Questo metodo non funziona per tutti i sistemi; Ho provato con Void Linux ma ho fallito, probabilmente a causa della mia relativa mancanza di conoscenza degli schemi di avvio di Linux. Condivido questa guida perché nella mia esperienza Alpine Linux funziona come un incantesimo se installato in questo modo.

Passaggio 1:installa il sistema operativo predefinito sul nuovo server

Una scelta comune è Debian GNU/Linux, ma qualunque cosa tu scelga, è meglio mantenerla dopo l'installazione di Alpine (faremo il dual boot).

In questo modo, Debian sarà il tuo sistema di "salvataggio" personalizzato, di accesso più rapido rispetto alla solita modalità di salvataggio offerta dal provider. Poiché questo modo di installare un sistema operativo sembra in qualche modo "sperimentale", potresti aver bisogno di un sistema alternativo.

Nel resto di questo articolo, si presume che il sistema operativo primario predefinito sia Debian .

Una volta che Debian è pronta e funzionante, SSH ad essa. Non è necessario connettersi a un account root, ma potrebbe essere necessario sudo perché scaricherai il nuovo sistema operativo e potresti volerlo archiviare in una posizione di proprietà di root (ad esempio /boot/ o anche / ).

E se devi seguire il passaggio 3.1, avrai nuovamente bisogno dei privilegi di root.

Assicurati che GRUB è installato. Se esiste una directory come /boot/grub/ , puoi scommettere che va bene!

Fase 2:ottieni il sistema operativo desiderato (Alpine Linux nel nostro caso)

Prendiamo l'ultima versione di Alpine! Visita la pagina di download per copiare il link al gusto desiderato. In genere, scegli un x86_64 Immagine. Per un VPS, che assomiglia a un server bare metal ma in realtà è una macchina virtuale (come afferma la "V"), probabilmente è necessario il "virtuale " File ISO.

Gli esempi in questo articolo mostrano quello virtuale, ma ovviamente lo sostituiscono con quello che si adatta alle tue esigenze.

Scarica Alpine Linux utilizzando il link che hai copiato in precedenza.

cd /
sudo wget https://dl-cdn.alpinelinux.org/alpine/v3.14/releases/x86_64/alpine-virt-3.14.2-x86_64.iso

Controlla se il file è OK o danneggiato:puoi eseguire sha256sum ...

sha256sum alpine-virt-3.14.2-x86_64.iso
fcba6ecc8419da955d326a12b2f6d9d8f885a420a1112e0cf1910914c4c814a7  alpine-virt-3.14.2-x86_64.iso

…e confronta il valore hash con quello che trovi nella pagina di download. Se le due stringhe corrispondono, va bene.

Fase 3:avvia il file immagine

Il gioco vero e proprio inizia ora!

3.1:Guarda la struttura ISO

Innanzitutto, devi trovare la posizione di due file importanti all'interno del file ISO appena scaricato:il kernel e gli initramfs (o initrd ).

Una soluzione è montare l'ISO e ispezionarlo:

$ sudo mount -o loop alpine-virt-3.14.2-x86_64.iso /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
$ ls -l /mnt/
total 6
dr-xr-xr-x 1 root root 2048 August  27 11:11 apks
dr-xr-xr-x 1 root root 2048 August  27 11:11 boot
dr-xr-xr-x 1 root root 2048 August  27 11:11 efi
$ ls -l /mnt/boot/
total 28554
-r--r--r-- 1 root root   123781 August  27 11:11 config-virt
dr-xr-xr-x 1 root root     2048 August  27 11:11 dtbs-virt
dr-xr-xr-x 1 root root     2048 August  27 11:11 grub
-r--r--r-- 1 root root  6022546 August  27 11:11 initramfs-virt
-r--r--r-- 1 root root 13258752 August  27 11:11 modloop-virt
dr-xr-xr-x 1 root root     2048 August  27 11:11 syslinux
-r--r--r-- 1 root root  3632749 August  27 11:11 System.map-virt
-r--r--r-- 1 root root  6194624 August  27 11:11 vmlinuz-virt

Li abbiamo trovati:boot/vmlinuz-virt e boot/initramfs-virt . Ora puoi sudo umount /mnt .

Non è ovvio che vmlinuz sia il kernel di Linux. Se non l'hai visto prima, sappi che è un nome comune per il file del kernel, con una "z" (dove ti aspetteresti una "x") per indicare che il file è compresso.

3.2:Riavvia

Chiudere le sessioni SSH. È ora di utilizzare KVM (o tecnologia simile), normalmente la trovi sull'interfaccia web:

Ti porta a qualcosa come la console mostrata nello screenshot qui sotto. È lo schermo che avresti se fossi davanti a un monitor fisicamente connesso al server.

Qui c'è un "Invia CtrlAltCanc ", quindi devi solo fare clic su di esso. Ma puoi anche accedere e sudo reboot .

Dopo aver utilizzato KVM per accedere a un account su un server, ti consiglio di cambiare la password il prima possibile, con una normale connessione SSH. Chissà quanti livelli di software attraversa la tua password non crittografata, dal tuo browser web al sistema operativo remoto.

3.3:Usa il file ISO

Una volta riavviato, la macchina visualizza il menu di GRUB. Velocemente , fai clic sulla console per assicurarti che questo elemento della pagina web sia attivo, quindi premi un tasto freccia in modo che il conto alla rovescia di GRUB venga interrotto.

Se vuoi interrompere questo tutorial ed eseguire nuovamente Debian, scegli la prima opzione. Per continuare questo tutorial, premi c per accedere al prompt della riga di comando di GRUB .

Potrebbe essere necessario selezionare la partizione su cui è stata archiviata l'immagine del sistema operativo scaricata (il file ISO). Quando possibile, GRUB monta la prima partizione del primo disco e la seleziona implicitamente come dispositivo root .

Se la tua partizione Debian è la prima partizione e su di essa hai archiviato il file ISO (come abbiamo fatto al passaggio 2), non hai nulla da fare. Altrimenti, devi ridefinire il dispositivo di root, con un comando come set root=(hd0,2) . Per ulteriori spiegazioni, dai un'occhiata al manuale di GRUB.

Di' a GRUB di montare il file ISO come dispositivo a blocchi virtuali:

grub> loopback l /alpine-virt-3.14.2-x86_64.iso

Qui ho scelto un semplice identificatore, l , ma puoi usare tutto ciò che vuoi che non sia in conflitto con qualcos'altro (un nome di comando GRUB o un nome file). Nota che al passaggio 2, ho scelto di mettere il file alla radice del filesystem, ecco perché scrivo /alpine… .

Quindi, definisci linux (kernel) e initrd oggetti, utilizzando i risultati ottenuti al passaggio 3.1:

grub> linux (l)/boot/vmlinuz-virt
grub> initrd (l)/boot/initramfs-virt

Le parentesi attorno all'oggetto di loopback sono obbligatorie. (l)/ funge da directory principale per il filesystem interno del file ISO.

Avvia il sistema definito, ovvero initrd ambiente basato su linux nocciolo. Il tutto è un piccolo init temporaneo sistema per caricare ed eseguire il sistema live "reale".

grub> boot
Da questo punto, potrebbe apparire il vero incubo. A seconda del sistema operativo di destinazione, potresti riscontrare diversi problemi. Ricorda che puoi sempre riavviare il tuo server (per impostazione predefinita sarà Debian); per ora i dati sui dischi non sono ancora modificati (ad eccezione della presenza dell'immagine che hai scaricato). Ora i passaggi descritti saranno specifici di Alpine ma ti daranno un'idea di cosa potresti incontrare durante l'installazione di altri sistemi Linux.

Pochi secondi dopo aver inserito il boot comando, il sistema init si interrompe con un messaggio di errore come "Montaggio del supporto di avvio:non riuscito ".

Questo perché questo processo deve caricare l'ambiente live Alpine, ma l'immagine ISO non è più montata (sei uscito da GRUB per entrare in un altro sistema). Ti viene presentata una shell di emergenza con cui puoi rimontare l'immagine:

Metodo A:se non prevedi di ridimensionare o sposta la partizione contenente il file ISO

Se hai già ridimensionato la partizione e fatto posto per Alpine, puoi rimontare il sistema live nel modo più semplice:

$ mount /dev/sda1 /media/sda1
$ mount -o loop -t iso9660 /media/sda1/alpine-virt-3.14.2-x86_64.iso /media/cdrom

Al passaggio 4 non potrai ridimensionare sda1 (almeno, è difficile).
Ovviamente, sostituisci sda1 con il nome del dispositivo appropriato se il file ISO non è archiviato nella prima partizione del primo disco. Directory di Mountpoint /media/sdXN sono già creati in base alle partizioni rilevate.

devi aggiungi il -t iso9660 opzione e specificare /media/cdrom come directory di destinazione, altrimenti non funzionerà.

Metodo B:se desideri ridimensionare o spostare la partizione contenente il File ISO

Se la partizione Debian occupa tutto lo spazio su disco disponibile, o per qualsiasi altro motivo devi modificare la partizione che contiene il file ISO, il fatto che il file ISO stesso contenga il sistema live ti impedirà di smontare il filesystem della partizione.

Una soluzione è copiare il file ISO nella RAM, quindi rimontare questa copia:

La tua macchina deve avere abbastanza RAM per gestire sia il file ISO che il sistema in esecuzione. Alpine ha dimensioni molto ridotte, quindi 1G è sufficiente. Per sistemi più grandi, 4G di memoria dovrebbe essere OK.
# mount /dev/sda1 /media/sda1
# cp /media/sda1/alpine-virt-3.14.2-x86_64.iso /dev/shm
# umount /dev/sda1
# mount -o loop -t iso9660 /dev/shm/alpine-virt-3.14.2-x86_64.iso /media/cdrom

Si applicano le stesse osservazioni del metodo A (sui dettagli della riga di comando). Qui montiamo temporaneamente sda1 , solo per ottenere una copia del file ISO.

Sia che tu abbia seguito il metodo A o B, inserendo il exit comando (o premendo ^D) quindi continua il processo di avvio del sistema Alpine attivo.

Dalle minuscole lettere sullo screenshot qui sopra, puoi intuire che il sistema live di Alpine funziona correttamente e attende un accesso, sebbene sia un minore si è verificato un errore.

Fase 4:installa il nuovo sistema operativo (Alpine Linux)

Ci sei quasi.

4.1:Usa il programma di installazione

L'esatto processo di installazione del sistema operativo esula dallo scopo di questo tutorial. Usa il programma di installazione e altri strumenti offerti dall'ambiente live per gestire le partizioni (potrebbe essere necessario LVM) e installare il sistema operativo.

Per Alpine, accedi come root (nessuna password per impostazione predefinita) e prova il setup-* comandi. Puoi apk add parted e2fsprogs e2fsprogs-extra per ottenere strumenti utili per la gestione di filesystem e partizioni. Maggiori informazioni su Alpine wiki.

In tutti i casi:

  • Ricorda che stai ancora usando KVM; scegli password temporanee per utenti root e normali.
  • Assicurati che la rete sia configurata correttamente non solo per il sistema live, ma anche per il sistema installato su disco . Inoltre, deve essere installato un server SSH insieme al sistema operativo.
  • A meno che tu non sappia cosa stai facendo, non reinstallare GRUB, né modificarne la configurazione, da qui . È più facile modificare la configurazione di GRUB dalla tua installazione Debian alternativa di "salvataggio".

Supponiamo che tu abbia installato Alpine su sda2 . Ora puoi dire al sistema live di reboot il server, oppure è possibile disconnettersi, quindi fare clic su Invia CtrlAltCanc pulsante (se presente).

4.2:Aggiungi una voce GRUB

Avvia Debian. Puoi tenere aperta la finestra KVM, ma dovresti effettuare il login usando una normale connessione SSH dalla tua shell locale. Avrai bisogno di root accesso.
Il punto ora è dire a GRUB che c'è un altro sistema operativo disponibile su un'altra partizione, quindi aggiungeremo una voce al menu di GRUB .

Innanzitutto, mount /dev/sda2 /mnt e controlla /mnt/boot . Controlla il nome del kernel e initrd per il nuovo sistema operativo appena installato. Dovrebbero essere gli stessi che hai trovato quando hai ispezionato la cartella di avvio del file ISO al passaggio 3.1, ma non è necessario. umount /mnt .
Esegui blkid e annota l'UUID associato a /dev/sda2 .

Modifica /etc/grub.d/40_custom . Aggiungi la sezione "Alpine Linux" con le informazioni che hai appena ottenuto (sostituisci {UUID} con la stringa UUID concreta):

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Alpine Linux" {
    search --no-floppy --fs-uuid --set=root {UUID}
    linux /boot/vmlinuz-virt root=UUID={UUID} modules=sd-mod,ext4
    initrd /boot/initramfs-virt
}

Questa è una voce di menu minima ed è probabile che tu aggiunga altre opzioni e moduli su linux linea, mentre perfezioni l'installazione. Hai bisogno di sd-mod modulo in modo che il kernel possa leggere i tuoi dischi e ext4 uno se hai installato Alpine su un filesystem Ext4.

"Alpine Linux" è il titolo che apparirà nel menu di GRUB, puoi cambiarlo in qualsiasi cosa tu voglia.

Inoltre, forse vorresti che Alpine fosse l'predefinito scelta al riavvio del server. Modifica /etc/default/grub e modifica il GRUB_DEFAULT linea . Per impostazione predefinita, questo parametro è impostato su 0 e si riferisce alla prima voce. Nel nostro esempio, Alpine è la terza voce, quindi impostala su 2 .

Per prendere in considerazione le modifiche in questi file, devi rigenerare /boot/grub/grub.cfg . Debian ha uno strumento semplice per questo:basta eseguire update-grub . Verifica le modifiche riavviando il server e monitorando ciò che sta accadendo tramite KVM.

Avvia Alpine (se hai impostato la voce predefinita, dovrebbe avviarsi automaticamente) e verifica se si avvia e si comporta correttamente o se richiede modifiche nella voce di GRUB. Se vuoi testare le modifiche nella voce GRUB senza renderle permanenti, premi e invece di Invio una volta selezionata la voce Alpine nel menu di avvio:

4.3:Considerazioni finali

Una volta che il sistema operativo appena installato funziona correttamente, puoi eseguire il SSH su di esso e modificare le password precedentemente definito tramite KVM. Chiudi lo strumento KVM nel tuo browser web. Usa KVM solo per riavviare su Debian o monitorare il processo di avvio di Alpine .

Ora puoi installare programmi e modificare il tuo sistema. Buona fortuna!

Informazioni sull'autore:Paul Desplanque è autodidatta al 100% in cose relative ai computer. Con 8 anni di esperienza nello sviluppo di PHP alle spalle, Paul è piuttosto abile nell'auto-hosting.


Linux
  1. Come misurare le prestazioni sul tuo server VPS Linux

  2. Installazione di Tomcat 8 su un VPS Linux CentOS 7

  3. Qual è il miglior VPS:Windows o Linux?

  4. Server Linux di amministrazione

  5. Installazione del server Postgres 9.6 su Amazon Linux

Come installare Nginx Web Server su Alpine Linux

Come installare Apache Web Server su Alpine Linux

Come installare il server OpenSSH su Alpine Linux

12 cose da fare dopo aver installato un server Linux

Come installare SHOUTCast Radio Server su Linux VPS?

Come controllare i parametri del server VPS con il comando Linux