GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Alpine (oder anderes Linux) auf VPS oder Bare Metal Server installieren

Wenn Sie einen VPS oder einen dedizierten (Bare-Metal-)Server erhalten, lässt Sie der Hosting-Anbieter das Betriebssystem auswählen, das Sie installieren möchten.

In der Regel können Sie aus einer Liste von etwa zehn Systemen auswählen. Was ist, wenn Ihr Lieblings-Linux-System nicht in dieser Liste enthalten ist?

Es gibt vielleicht mehrere Methoden zur Installation eine bestimmte Linux-Distribution Ihrer Wahl auf einem Remote-Server .

Ich wollte das ultraleichte Alpine Linux verwenden. Es ist als Option bei Linode verfügbar, aber nicht bei OVH. Ich verwende hauptsächlich OVH, also habe ich diese Methode verwendet, um Alpine auf meinen Server zu bekommen.

Es kann auch für andere Distributionen auf anderen Serveranbietern geeignet sein:

  1. Installieren Sie ein "Standardbetriebssystem", das Ihr Serveranbieter anbietet.
  2. Verwenden Sie dieses System, um ein Bild herunterzuladen des gewünschten Betriebssystems; dieses Bild muss als Live-Umgebung verwendbar sein .
  3. Starten Sie in dieser Live-Umgebung neu.
  4. Installieren Sie das neue Betriebssystem (neben dem Standard-Betriebssystem).

Die Schritte 3 und 4 ähneln der Installation eines Betriebssystems auf einem Laptop oder Desktop-Computer über ein "Live-Medium", außer dass das physische Medium durch eine ISO-Datei ersetzt wird.

Die wichtigsten Werkzeuge, die Sie in diesem Tutorial verwenden sollten, sind:

  • IPMI/KVM über IP oder ein ähnliches Tool.
  • GNU GRUB, der bekannte Bootloader.

Ersteres muss vom Anbieter unterstützt werden (ansonsten nicht Beginnen Sie mit der Anwendung der folgenden Anweisungen!) und ermöglicht es Ihnen, den Startvorgang des Computers zu überwachen und zu steuern.

Letzteres ist im Allgemeinen bereits zusammen mit dem Standardbetriebssystem installiert, kann aber (neu) installiert und an Ihre Bedürfnisse angepasst werden.

Was auch immer Ihr Fall ist, lesen Sie diese Anleitung bitte sorgfältig durch und vergewissern Sie sich, dass Sie sie verstanden haben, bevor Sie etwas unternehmen. Experimentieren Sie auf einem Nicht-Produktionsserver, für den Sie jederzeit Neustarts und Neuinstallationen über den Webdienst des Anbieters durchführen können. Diese Methode funktioniert nicht für alle Systeme. Ich habe es mit Void Linux versucht, bin aber gescheitert, wahrscheinlich wegen meines relativen Mangels an Wissen über Linux-Startschemata. Ich teile diese Anleitung, weil Alpine Linux meiner Erfahrung nach wunderbar funktioniert, wenn es auf diese Weise installiert wird.

Schritt 1:Installieren Sie das Standardbetriebssystem auf dem neuen Server

Eine gängige Wahl ist Debian GNU/Linux, aber was auch immer Sie wählen, es ist besser, es nach der Installation von Alpine zu behalten (wir werden dual booten).

Auf diese Weise wird Debian Ihr maßgeschneidertes "Rettungs"-System sein, auf das Sie schneller zugreifen können als auf den üblichen Rettungsmodus, der vom Anbieter angeboten wird. Da diese Art der Installation eines Betriebssystems etwas "experimentell" aussieht, benötigen Sie möglicherweise ein alternatives System.

Im Rest dieses Artikels wird angenommen, dass das standardmäßige primäre Betriebssystem Debian ist .

Sobald Debian bereit ist und läuft, SSH zu ihm. Sie müssen sich nicht mit einem Root-Konto verbinden, aber möglicherweise benötigen Sie sudo da Sie das neue Betriebssystem herunterladen und es möglicherweise an einem Speicherort speichern möchten, der Root gehört (z. B. /boot/ oder sogar / ).

Und wenn Sie Schritt 3.1 befolgen müssen, benötigen Sie erneut Root-Rechte.

Stellen Sie sicher, dass GRUB ist installiert. Wenn es ein Verzeichnis wie /boot/grub/ gibt , Sie können darauf wetten, dass es in Ordnung ist!

Schritt 2:Holen Sie sich das gewünschte Betriebssystem (in unserem Fall Alpine Linux)

Holen wir uns die neueste Alpine-Version! Besuchen Sie die Download-Seite, um den Link zur gewünschten Geschmacksrichtung zu kopieren. Im Allgemeinen wählen Sie ein x86_64 Bild. Für einen VPS, der einem Bare-Metal-Server ähnelt, aber tatsächlich eine virtuelle Maschine ist (wie das „V“ besagt), benötigen Sie wahrscheinlich die Datei „virtual " ISO-Datei.

Die Beispiele in diesem Artikel zeigen das virtuelle, aber ersetzen Sie es natürlich durch das, das Ihren Anforderungen entspricht.

Laden Sie Alpine Linux über den zuvor kopierten Link herunter.

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

Überprüfen Sie, ob die Datei in Ordnung oder beschädigt ist:Sie können sha256sum ausführen ...

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

…und vergleichen Sie den Hash-Wert mit dem, den Sie auf der Download-Seite finden. Wenn die beiden Zeichenfolgen übereinstimmen, ist es in Ordnung.

Schritt 3:Booten Sie die Image-Datei

Das eigentliche Spiel beginnt jetzt!

3.1:Sehen Sie sich die ISO-Struktur an

Zuerst müssen Sie den Speicherort von zwei wichtigen Dateien in der gerade heruntergeladenen ISO-Datei finden:dem Kernel und das initramfs (oder initrd ).

Eine Lösung besteht darin, das ISO zu mounten und zu inspizieren:

$ 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

Wir haben sie gefunden:boot/vmlinuz-virt und boot/initramfs-virt . Sie können jetzt sudo umount /mnt .

Es ist nicht offensichtlich, dass vmlinuz der Linux-Kernel ist. Wenn Sie es vorher nicht gesehen haben, wissen Sie, dass es ein allgemeiner Name für die Kernel-Datei ist, wobei ein "z" (wo Sie ein "x" erwarten würden) bedeutet, dass die Datei komprimiert ist.

3.2:Neustart

Schließen Sie die SSH-Sitzung(en). Es ist an der Zeit, KVM zu verwenden (oder ähnliche Technologie) finden Sie normalerweise auf der Weboberfläche:

Es führt Sie zu etwas wie der Konsole, die auf dem Screenshot unten gezeigt wird. Es ist der Bildschirm, den Sie hätten, wenn Sie vor einem Monitor stünden, der physisch mit dem Server verbunden ist.

Hier gibt es ein "StrgAltEntf senden " Button, man muss also nur darauf klicken. Man kann sich aber auch einloggen und sudo reboot .

Nachdem Sie KVM verwenden, um sich bei einem Konto auf einem Server anzumelden, würde ich empfehlen, Ihr Passwort so schnell wie möglich mit einer normalen SSH-Verbindung zu ändern. Wer weiß, wie viele Softwareschichten Ihr unverschlüsseltes Passwort von Ihrem Webbrowser bis zum Remote-Betriebssystem durchläuft.

3.3:Verwenden Sie die ISO-Datei

Nach dem Neustart zeigt die Maschine das GRUB-Menü an. Schnell , klicken Sie auf die Konsole, um sicherzustellen, dass dieses Element der Webseite den Fokus hat, und drücken Sie dann eine Pfeiltaste, damit der GRUB-Countdown gestoppt wird.

Wenn Sie dieses Tutorial beenden und Debian erneut ausführen möchten, wählen Sie die erste Option. Um mit diesem Tutorial fortzufahren, drücken Sie c , um auf die GRUB-Befehlszeileneingabeaufforderung zuzugreifen .

Möglicherweise müssen Sie die Partition auswählen, auf der Sie das heruntergeladene Betriebssystemabbild (die ISO-Datei) gespeichert haben. Wenn möglich, hängt GRUB die erste Partition der ersten Festplatte ein und wählt sie implizit als Root-Gerät aus .

Wenn Ihre Debian-Partition die erste Partition ist und Sie die ISO-Datei darauf gespeichert haben (wie wir es in Schritt 2 getan haben), müssen Sie nichts tun. Andernfalls müssen Sie das Root-Gerät mit einem Befehl wie set root=(hd0,2) neu definieren . Weitere Erläuterungen finden Sie im GRUB-Handbuch.

Weisen Sie GRUB an, die ISO-Datei als virtuelles Blockgerät zu mounten:

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

Hier habe ich einen einfachen Bezeichner gewählt, l , aber Sie können alles verwenden, was Sie wollen, das nicht mit etwas anderem in Konflikt steht (ein GRUB-Befehlsname oder ein Dateiname). Beachten Sie, dass ich mich bei Schritt 2 dafür entschieden habe, die Datei im Stammverzeichnis des Dateisystems abzulegen, deshalb schreibe ich /alpine… .

Als nächstes definieren Sie linux (Kernel) und die initrd Objekte, indem Sie die Ergebnisse aus Schritt 3.1 verwenden:

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

Die Klammern um das Loopback-Objekt sind obligatorisch. (l)/ fungiert als Stammverzeichnis für das interne Dateisystem der ISO-Datei.

Starten Sie das definierte System, das ist die initrd Umgebung basierend auf Linux Kernel. Das Ganze ist eine temporäre Mini-init System zum Laden und Ausführen des "echten" Live-Systems.

grub> boot
Ab diesem Zeitpunkt kann der wahre Albtraum erscheinen. Je nach Zielbetriebssystem können mehrere Probleme auftreten. Denken Sie daran, dass Sie Ihren Server jederzeit neu starten können (standardmäßig wird Debian verwendet); Im Moment sind die Daten auf der/den Festplatte(n) noch unverändert (mit Ausnahme des von Ihnen heruntergeladenen Bildes). Die beschriebenen Schritte sind nun Alpine-spezifisch, geben Ihnen aber eine Vorstellung davon, was Sie wahrscheinlich bei der Installation anderer Linux-Systeme antreffen werden.

Ein paar Sekunden nachdem Sie den boot eingegeben haben Befehl, stoppt das Init-System mit einer Fehlermeldung wie „Mounting boot media:failed ".

Das liegt daran, dass dieser Prozess die Alpine-Live-Umgebung laden muss, aber das ISO-Image nicht mehr gemountet ist (Sie haben GRUB verlassen, um in ein anderes System zu wechseln). Ihnen wird eine Notfallhülle präsentiert mit der man das Image wieder mounten kann:

Methode A:Wenn Sie nicht vorhaben, die Größe zu ändern oder verschieben Sie die Partition, die die ISO-Datei enthält

Wenn Sie die Größe der Partition bereits geändert und Platz für Alpine geschaffen haben, können Sie das Live-System auf einfachste Weise neu einhängen:

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

Bei Schritt 4 können Sie die Größe von sda1 nicht ändern (zumindest ist es schwierig).
Ersetzen Sie natürlich sda1 mit dem entsprechenden Gerätenamen, wenn die ISO-Datei nicht auf der ersten Partition der ersten Festplatte gespeichert ist. Mountpoint-Verzeichnisse /media/sdXN sind bereits gemäß den erkannten Partitionen erstellt.

Sie müssen fügen Sie -t iso9660 hinzu Option und geben Sie /media/cdrom an als Zielverzeichnis angeben, sonst funktioniert es nicht.

Methode B:Wenn Sie die Größe der Partition mit der ISO-Datei

Wenn die Debian-Partition den gesamten verfügbaren Speicherplatz belegt oder Sie aus irgendeinem anderen Grund die Partition ändern müssen, die die ISO-Datei enthält, wird die Tatsache, dass die ISO-Datei selbst das Live-System enthält, Sie daran hindern, das Dateisystem der Partition auszuhängen.

Eine Lösung besteht darin, die ISO-Datei in den Arbeitsspeicher zu kopieren und diese Kopie dann erneut zu mounten:

Ihr Computer muss über genügend RAM verfügen, um sowohl die ISO-Datei als auch das laufende System zu verarbeiten. Alpine hat eine sehr kleine Größe, daher ist 1G ausreichend. Für größere Systeme sollten 4 GB Speicher in Ordnung sein.
# 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

Es gelten die gleichen Bemerkungen wie für Methode A (über Kommandozeilendetails). Hier mounten wir vorübergehend sda1 , nur um eine Kopie der ISO-Datei zu erhalten.

Ob Sie der Methode A oder B gefolgt sind, geben Sie den exit ein Befehl (oder Drücken von ^D) fährt dann mit dem Booten des aktiven Alpine-Systems fort.

Anhand der winzigen Buchstaben auf dem Screenshot oben können Sie erahnen, dass das Alpine-Live-System korrekt läuft und auf eine Anmeldung wartet, wenn auch eine kleine Fehler aufgetreten.

Schritt 4:Installieren Sie das neue Betriebssystem (Alpine Linux)

Sie haben es fast geschafft.

4.1:Verwenden Sie das Installationsprogramm

Der genaue Prozess der Installation des Betriebssystems würde den Rahmen dieses Tutorials sprengen. Verwenden Sie das Installationsprogramm und andere Tools, die von der Live-Umgebung angeboten werden um Partitionen zu verwalten (möglicherweise benötigen Sie LVM) und das Betriebssystem zu installieren.

Melden Sie sich für Alpine als root an (standardmäßig ohne Passwort) und versuchen Sie es mit setup-* Befehle. Sie können apk add parted e2fsprogs e2fsprogs-extra um nützliche Tools zum Verwalten von Dateisystemen und Partitionen zu erhalten. Mehr Infos im Alpine Wiki.

In allen Fällen:

  • Denken Sie daran, dass Sie immer noch KVM verwenden; Wählen Sie temporäre Passwörter für Root- und normale Benutzer.
  • Stellen Sie sicher, dass das Netzwerk richtig konfiguriert ist nicht nur für das Live-System, sondern auch für das System, das auf der Festplatte installiert wird . Außerdem muss ein SSH-Server installiert sein zusammen mit dem Betriebssystem.
  • Wenn Sie nicht genau wissen, was Sie tun, installieren Sie GRUB nicht neu und ändern Sie auch nicht seine Konfiguration von hier aus . Es ist einfacher, die GRUB-Konfiguration von Ihrer alternativen "Rescue"-Debian-Installation aus zu modifizieren.

Angenommen, Sie haben Alpine auf sda2 installiert . Sie können dem Live-System jetzt sagen, dass es reboot soll dem Server, oder Sie können sich abmelden und dann auf StrgAltEntf senden klicken Schaltfläche (falls vorhanden).

4.2:Fügen Sie einen GRUB-Eintrag hinzu

Booten Sie Debian. Sie können das KVM-Fenster geöffnet lassen, aber Sie sollten sich über eine normale SSH-Verbindung von Ihrer lokalen Shell aus anmelden. Sie benötigen root Zugriff.
Jetzt geht es darum, GRUB mitzuteilen, dass auf einer anderen Partition ein anderes Betriebssystem verfügbar ist, also werden wir einen Eintrag zum GRUB-Menü hinzufügen .

Zuerst mount /dev/sda2 /mnt und prüfen Sie /mnt/boot . Überprüfen Sie den Namen des Kernels und die initrd für das neue Betriebssystem, das Sie gerade installiert haben. Sie sollten die gleichen sein wie die, die Sie gefunden haben, als Sie den Boot-Ordner der ISO-Datei in Schritt 3.1 überprüft haben, aber das ist nicht erforderlich. umount /mnt .
Führen Sie blkid aus und notieren Sie sich die UUID verknüpft mit /dev/sda2 .

Bearbeiten Sie /etc/grub.d/40_custom . Fügen Sie den Abschnitt „Alpine Linux“ mit den soeben erhaltenen Informationen hinzu (ersetzen Sie {UUID} mit dem konkreten UUID-String):

#!/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
}

Dies ist ein minimaler Menüeintrag und Sie werden wahrscheinlich weitere Optionen und Module hinzufügen zum Linux Linie, während Sie Ihre Installation verfeinern. Sie benötigen den sd-mod Modul, damit der Kernel Ihre Festplatten lesen kann, und das ext4 eine, wenn Sie Alpine auf einem Ext4-Dateisystem installiert haben.

"Alpine Linux" ist der Titel, der im GRUB-Menü erscheinen wird, Sie können ihn beliebig ändern.

Außerdem möchten Sie vielleicht, dass Alpine der Standard ist Wahl, wenn der Server neu startet. Bearbeiten Sie /etc/default/grub und ändern Sie GRUB_DEFAULT Linie . Standardmäßig ist dieser Parameter auf 0 gesetzt und bezieht sich auf den ersten Eintrag. In unserem Beispiel ist Alpine der dritte Eintrag, setzen Sie ihn also auf 2 .

Um die Änderungen in diesen Dateien zu berücksichtigen, müssen Sie /boot/grub/grub.cfg neu generieren . Debian hat dafür ein einfaches Werkzeug:Führen Sie einfach update-grub aus . Testen Sie Ihre Änderungen, indem Sie den Server neu starten und über KVM überwachen, was passiert.

Starten Sie Alpine (wenn Sie es zum Standardeintrag gemacht haben, sollte es automatisch starten) und prüfen Sie, ob es hochfährt und sich korrekt verhält oder Änderungen im GRUB-Eintrag erforderlich sind. Wenn Sie Änderungen im GRUB-Eintrag testen möchten, ohne sie dauerhaft zu machen, drücken Sie e statt Enter sobald der Alpine-Eintrag im Bootmenü ausgewählt ist:

4.3:Abschließende Überlegungen

Sobald das neu installierte Betriebssystem ordnungsgemäß ausgeführt wird, können Sie SSH darauf zugreifen und die Passwörter ändern Sie zuvor über KVM definiert haben. Schließen Sie das KVM-Tool in Ihrem Webbrowser. Verwenden Sie KVM nur, um zu Debian neu zu starten oder den Alpine-Startvorgang zu überwachen .

Sie können jetzt Programme installieren und Ihr System optimieren. Viel Glück!

Autoreninfo:Paul Desplanque ist zu 100 % Autodidakt in Sachen Computer. Mit 8 Jahren Erfahrung in der PHP-Entwicklung ist Paul ziemlich versiert im Self-Hosting.


Linux
  1. So messen Sie die Leistung Ihres Linux-VPS-Servers

  2. Alpine Linux 3.6.2 veröffentlicht

  3. Tomcat 8 auf einem CentOS 7 Linux VPS installieren

  4. Wie installiere ich Minecraft Game Server in Linux VPS?

  5. Wie installiere ich das CloudFlare cPanel-Plugin in Linux VPS?

So installieren Sie den Nginx-Webserver unter Alpine Linux

So installieren Sie den Apache-Webserver unter Alpine Linux

So installieren Sie OpenSSH Server unter Alpine Linux

12 Dinge, die nach der Installation eines Linux-Servers zu tun sind

Wie installiere ich den SHOUTCast Radio Server auf Linux VPS?

So überprüfen Sie die VPS-Serverparameter mit dem Linux-Befehl