GNU/Linux >> Linux の 問題 >  >> Linux

VPSまたはベアメタルサーバーへのAlpine(または他のLinux)のインストール

VPSまたは専用(ベアメタル)サーバーを入手すると、ホスティングプロバイダーがインストールするオペレーティングシステムを選択できるようにします。

通常、約10のシステムのリストから選択できます。お気に入りのLinuxシステムがそのリストに含まれていない場合はどうなりますか?

インストールにはおそらくいくつかの方法があります リモートサーバーで選択した特定のLinuxディストリビューション 。

超軽量のAlpineLinuxを使いたかったのです。 Linodeではオプションとして利用できますが、OVHでは利用できません。私は主にOVHを使用しているため、この方法を使用してサーバーでAlpineを取得しました。

他のサーバープロバイダーの他のディストリビューションにも適している場合があります:

  1. サーバープロバイダーが提供する「デフォルトOS」をインストールします。
  2. このシステムを使用して画像をダウンロードします 目的のOSの;その画像はライブ環境として使用できる必要があります 。
  3. このライブ環境で再起動します。
  4. 新しいOSをインストールします(デフォルトのOSの隣)。

手順3と4は、物理メディアがISOファイルに置き換えられることを除いて、「ライブメディア」を介してラップトップまたはデスクトップコンピューターにOSをインストールするのと似ています。

このチュートリアルで使用する主なツールは次のとおりです。

  • IPMI / KVM over IP、または同様のツール。
  • 有名なブートローダーであるGNUGRUB。

前者はプロバイダーによってサポートされている必要があります (それ以外の場合はしない 次の手順の適用を開始してください!)、マシンの起動プロセスを監視および制御できるようにします。

後者は通常、デフォルトのOSと一緒にすでにインストールされていますが、ニーズに合わせて(再)インストールおよび調整することができます。

どのような場合でも、このガイドを注意深く読み、何かをする前に必ず理解してください。プロバイダーのWebサービスを介していつでも再起動と再インストールを実行できる非実稼働サーバーで実験してください。この方法はすべてのシステムで機能するわけではありません。 Void Linuxを試してみましたが、失敗しました。おそらくLinuxの起動スキームに関する知識が比較的不足しているためです。私の経験では、この方法でインストールするとAlpine Linuxが魅力のように機能するため、このガイドを共有します。

ステップ1:新しいサーバーにデフォルトのOSをインストールします

一般的な選択はDebianGNU/ Linuxですが、どのように選択しても、Alpineのインストール後に保持することをお勧めします(デュアルブートを実行します)。

このように、Debianはカスタマイズされた「レスキュー」システムになり、プロバイダーが提供する通常のレスキューモードよりもすばやくアクセスできます。このOSのインストール方法は「実験的」に見えるため、別のシステムが必要になる場合があります。

この記事の残りの部分では、デフォルトのプライマリOSは Debianであると想定されています 。

Debianの準備ができて実行されたら、SSHで接続します。 rootアカウントに接続する必要はありませんが、sudoが必要になる場合があります 新しいOSをダウンロードし、rootが所有する場所(たとえば、/boot/)に保存することをお勧めします。 または/ )。

また、手順3.1に従う必要がある場合は、root権限が再度必要になります。

GRUB がインストールされています。 /boot/grub/などのディレクトリがある場合 、大丈夫だと思います!

ステップ2:目的のOS(この場合はAlpine Linux)を入手します

最新のアルパインリリースを入手しましょう!リンクを目的のフレーバーにコピーするには、ダウンロードページにアクセスしてください。通常、 x86_64を選択します 画像。ベアメタルサーバーに似ているが、実際には仮想マシンであるVPSの場合(「V」の状態)、おそらく「仮想」が必要です。 「ISOファイル。

この記事の例では仮想のものを示していますが、もちろん、ニーズに合ったものに置き換えてください。

以前にコピーしたリンクを使用して、AlpineLinuxをダウンロードします。

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

ファイルに問題がないか破損しているかを確認します。sha256sumを実行できます ...

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

…そして、ハッシュ値をダウンロードページにあるものと比較します。 2つの文字列が一致すれば、問題ありません。

ステップ3:イメージファイルを起動する

今から実際のゲームが始まります!

3.1:ISO構造を見てください

まず、ダウンロードしたISOファイル内の2つの重要なファイルの場所を見つける必要があります:カーネル およびinitramfs (または initrd )。

1つの解決策は、ISOをマウントして検査することです:

$ 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

それらが見つかりました: boot/vmlinuz-virt およびboot/initramfs-virt sudo umount /mntができるようになりました 。

vmlinuzがLinuxカーネルであることは明らかではありません。これまでに見たことがない場合は、これがカーネルファイルの一般名であり、「z」(「x」が必要な場合)はファイルが圧縮されていることを意味します。

3.2:再起動

SSHセッションを閉じます。 KVMを使用するときが来ました (または同様のテクノロジー)、通常はWebインターフェイスで見つかります:

下のスクリーンショットに示されているコンソールのようなものにつながります。これは、サーバーに物理的に接続されているモニターの前にいる場合に表示される画面です。

ここには、「 Send CtrlAltDel」があります。 「」ボタンなので、クリックするだけです。ただし、ログインしてsudo rebootすることもできます。 。

KVMを使用してサーバー上のアカウントにログインした後、通常のSSH接続を使用して、できるだけ早くパスワードを変更することをお勧めします。 WebブラウザからリモートOSまで、暗号化されていないパスワードがいくつのソフトウェア層を通過するかは誰にもわかりません。

3.3:ISOファイルを使用する

再起動すると、マシンはGRUBメニューを表示します。 すばやく 、コンソールをクリックしてWebページのこの要素にフォーカスがあることを確認し、矢印キーを押してGRUBカウントダウンを停止します。

このチュートリアルを停止してDebianを再度実行する場合は、最初のオプションを選択してください。このチュートリアルを続けるには、 cを押してください GRUBコマンドラインプロンプトにアクセスするには 。

ダウンロードしたOSイメージ(ISOファイル)を保存したパーティションを選択する必要がある場合があります。可能な場合、GRUBは最初のディスクの最初のパーティションをマウントし、それをルートデバイスとして暗黙的に選択します。 。

Debianパーティションが最初のパーティションであり、ISOファイルをそのパーティションに保存した場合(手順2で行ったように)、何もする必要はありません。それ以外の場合は、set root=(hd0,2)などのコマンドを使用して、ルートデバイスを再定義する必要があります。 。詳細については、GRUBのマニュアルをご覧ください。

GRUBにISOファイルを仮想ブロックデバイスとしてマウントするように指示します:

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

ここでは、単純な識別子lを選択しました。 、ただし、他のものと競合しないもの(GRUBコマンド名またはファイル名)を使用できます。手順2で、ファイルをファイルシステムのルートに配置することを選択したことに注意してください。そのため、/alpine…と記述します。 。

次に、 linuxを定義します (カーネル)と initrd オブジェクト、ステップ3.1で得た結果を使用して:

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

ループバックオブジェクトを囲む括弧は必須です。 (l)/ ISOファイルの内部ファイルシステムのルートディレクトリとして機能します。

定義されたシステム、つまり initrdを起動します linuxに基づく環境 カーネル。全体は一時的なミニinit 「実際の」ライブシステムをロードして実行するシステム。

grub> boot
この時点から、本当の悪夢が現れるかもしれません。ターゲットOSによっては、いくつかの問題が発生する可能性があります。サーバーはいつでも再起動できることを忘れないでください(デフォルトではDebianになります)。今のところ、ディスク上のデータはまだ変更されていません(ダウンロードしたイメージの存在を除いて)。ここで説明する手順はアルパイン固有のものですが、他のLinuxシステムをインストールするときに遭遇する可能性のあるものについてのアイデアが得られます。

bootに入ってから数秒 コマンドを実行すると、initシステムは「ブートメディアのマウントに失敗しました」などのエラーメッセージで停止します。 "。

これは、このプロセスでAlpineライブ環境をロードする必要があるが、ISOイメージがマウントされていないためです(別のシステムに入るためにGRUBを終了しました)。 緊急シェルが表示されます イメージを再度マウントするために使用します:

方法A:サイズを変更する予定がない場合またはISOファイルを含むパーティションを移動します

すでにパーティションのサイズを変更してAlpineの場所を作成している場合は、最も簡単な方法でライブシステムを再マウントできます。

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

手順4では、sda1のサイズを変更することはできません。 (少なくとも、それは難しいです)。
もちろん、sda1を置き換えます ISOファイルが最初のディスクの最初のパーティションに保存されていない場合は、適切なデバイス名を使用します。マウントポイントディレクトリ/media/sdXN 検出されたパーティションに従ってすでに作成されています。

あなたはしなければならない -t iso9660を追加します オプションで/media/cdromを指定します ターゲットディレクトリとして使用しないと、機能しません。

方法B:サイズを変更するか、を含むパーティションを移動する場合ISOファイル

Debianパーティションが使用可能なすべてのディスク領域を占有する場合、またはその他の理由でISOファイルを含むパーティションを変更する必要がある場合、ISOファイル自体にライブシステムが含まれているため、パーティションのファイルシステムをアンマウントできません。

1つの解決策は、ISOファイルをRAMにコピーしてから、このコピーを再マウントすることです。

マシンには、ISOファイルと実行中のシステムの両方を処理するのに十分なRAMが必要です。アルパインはサイズが非常に小さいので、1Gで十分です。大規模なシステムの場合、4Gのメモリで問題ありません。
# 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

方法A(コマンドラインの詳細について)と同じ注意が適用されます。ここでは、sda1を一時的にマウントします 、ISOファイルのコピーを取得するためだけに。

方法AまたはBのどちらに従ったかにかかわらず、exitを入力します コマンド(または^ Dを押す)は、ライブのアルパインシステムを起動するプロセスを続行します。

上のスクリーンショットの小さな文字から、Alpineライブシステムが正しく実行されており、ログインを待機していることが推測できますが、マイナー エラーが発生しました。

ステップ4:新しいOS(Alpine Linux)をインストールします

もうすぐです。

4.1:インストーラーを使用する

オペレーティングシステムをインストールする正確なプロセスは、このチュートリアルの範囲を超えています。 ライブ環境で提供されるインストーラーおよびその他のツールを使用します パーティションを管理し(LVMが必要な場合があります)、OSをインストールします。

Alpineの場合、rootとしてログインし(デフォルトではパスワードなし)、setup-*を試してください。 コマンド。 apk add parted e2fsprogs e2fsprogs-extra ファイルシステムとパーティションを管理するための便利なツールを入手します。アルパインウィキで詳細をご覧ください。

すべての場合:

  • まだKVMを使用していることを忘れないでください。ルートユーザーと通常ユーザーの一時パスワードを選択します。
  • ネットワークが適切に構成されていることを確認してください ライブシステムだけでなく、ディスクにインストールされているシステムにも使用できます。 。また、SSHサーバーをインストールする必要があります OSと一緒に。
  • 何をしているのかわからない場合は、ここからGRUBを再インストールしたり、構成を変更したりしないでください 。代替の「レスキュー」DebianインストールからGRUB構成を変更する方が簡単です。

sda2にAlpineをインストールしたとしましょう 。これで、ライブシステムにrebootするように指示できます サーバー、またはログアウトしてから Send CtrlAltDelをクリックします。 ボタン(ある場合)。

4.2:GRUBエントリを追加する

Debianを起動します。 KVMウィンドウを開いたままにすることはできますが、ローカルシェルから通常のSSH接続を使用してログインする必要があります。 rootが必要になります アクセス。
ここで重要なのは、別のパーティションで使用可能な別のオペレーティングシステムがあることをGRUBに通知することです。そのため、GRUBメニューにエントリを追加します

まず、mount /dev/sda2 /mnt /mnt/bootを調べます 。 カーネルの名前を確認してください およびinitrd インストールしたばかりの新しいOSの場合。これらは、手順3.1でISOファイルのブートフォルダを調べたときに見つけたものと同じである必要がありますが、必須ではありません。 umount /mnt
blkidを実行します UUIDに注意してください /dev/sda2に関連付けられています 。

/etc/grub.d/40_customを編集します 。 「AlpineLinux」セクションに、取得した情報を追加します({UUID}を置き換えます) 具体的なUUID文字列を使用):

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

これは最小限のメニューエントリであり、他のオプションやモジュールを追加する可能性があります。 linuxへ あなたがあなたのインストールを洗練するように、ライン。 sd-modが必要です カーネルがディスクを読み取れるようにするモジュール、およびext4 1つはExt4ファイルシステムにAlpineをインストールした場合です。

"Alpine Linux" GRUBメニューに表示されるタイトルです。好きなように変更できます。

また、Alpineをデフォルトにしたいと思うかもしれません。 サーバーが再起動するときに選択します。 /etc/default/grubを編集します およびGRUB_DEFAULTを変更します 行 。デフォルトでは、このパラメータは0に設定されています 最初のエントリを参照します。この例では、Alpineが3番目のエントリであるため、2に設定します。 。

これらのファイルの変更を考慮に入れるには、/boot/grub/grub.cfgを再生成する必要があります。 。 Debianにはそのための簡単なツールがあります:update-grubを実行するだけです 。サーバーを再起動し、KVMを介して何が起こっているかを監視して、変更をテストします。

Alpineを起動し(デフォルトのエントリを選択した場合は自動的に起動するはずです)、起動して正しく動作するか、GRUBエントリの変更が必要かどうかを確認します。 GRUBエントリの変更を永続化せずにテストする場合は、 eを押します。 Enterの代わりに ブートメニューでアルパインエントリが選択されたら:

4.3:最終的な考慮事項

新しくインストールしたOSが正しく実行されたら、SSHで接続してパスワードを変更できます 以前にKVMを介して定義しました。 WebブラウザでKVMツールを閉じます。 KVMは、Debianで再起動するか、Alpineの起動プロセスを監視する場合にのみ使用してください

これで、プログラムをインストールしてシステムを微調整できます。頑張ってください!

作成者情報:Paul Desplanqueは、コンピューター関連のことを100%独学で学んでいます。彼の背後には8年間のPHP開発の経験があり、Paulはセルフホスティングに非常に精通しています。


Linux
  1. LinuxVPSサーバーのパフォーマンスを測定する方法

  2. CentOS 7LinuxVPSへのTomcat8のインストール

  3. Amazon Linux に Postgres サーバー 9.6 をインストールする

  1. AlpineLinux3.6.2がリリースされました

  2. 最高のVPSは何ですか:WindowsまたはLinux?

  3. Linux VPSにMinecraftゲームサーバーをインストールする方法は?

  1. LinuxVPSにCloudFlarecPanelプラグインをインストールするにはどうすればいいですか?

  2. 管理 Linux サーバー

  3. Linux への RLink のインストール