web-dev-qa-db-ja.com

sshを介したLinuxのリモートインストール

Linuxを再インストールする必要がある小さなLinuxサーバーがあります(Debian安定版64ビットx86)。

マシンに物理的にアクセスできますが、CD-ROMなどの外部デバイスがなく、ネットワークまたはUSBスティックから起動できないようです。

Linuxの既存のインストールがありますが、マシンにsshしてルートアクセスできますが、ひどく壊れていて、マシンがどのような状態にあるのかよくわかりません。そのため、マシンを消去して完全に新規インストールします。

Sshを使用したリモートアクセスのみを使用してこれを行う方法と、マシンにダウンロードできるものはありますか?

4
John Burton

Cd/network/externalデバイスから起動する機能がなくても、目標を達成する方法は、既存のインストールを使用して新しいOSを別のファイルシステムにインストールし、完了したら、ブートローダーに起動するように指示することです。新しいファイルシステム。これは、過去(おそらく10年以上前)の時代には現在よりもはるかに一般的でした。検索すると、まさにこれについての議論が見つかります。私はこれをslackware、gentoo、linuxfromscratchなどで遠い昔に行ってきましたが、最近のほとんどのlinux/BSDディストリビューションでは、あまり労力をかけずに行うことができると思います。

たとえば、Slackwareのセットアップでは、デフォルトで/である「ターゲット」を指定できますが、セカンダリファイルシステムをマウントした場所に設定します。

Gentooのインストールハンドブックはそれを非常に明確にしています。考える必要があるのは、「ディスクの準備」と「ブートローダーの構成」に関するセクションだけです。

そうは言っても、これは簡単なことではなく、物事がどのように機能するかをよく理解していない場合、最初に正しく理解することはできません。興味深い教育体験になりますが、物理的にアクセスできるため、より一般的なインストールプロセスを使用できないことを意味する制約を取り除く方法を検討することで、より迅速でより良い結果が得られる可能性があります。つまり、CDドライブなどを追加します。

5
dotplus

この記事 はDebianではなくSuseについて説明していますが、プロセスはほとんど同じです。あなたが話しているように、作者はSSHを介してリモートでLinuxをインストールしているようです。スクリーンショットを見てください。これを実行できるはずです。

頑張って、これがいくつかの助けになることを願っています。

3
Chris

リモートにインストールするためにredhatまたはcentosで行っていることをリンクするために調べてください http://kbase.redhat.com/faq/docs/DOC-10526 あなたを助けることができるなら

1
Rajat

Debootstrapを使用して別のパーティションにインストールし(ただし、パーティションの柔軟性のためにすでにlvmを使用していることを願っています)、そのパーティションで再起動できます。ブートローダーを変更せずに再起動するための巧妙なトリックトリックはkexecです。

システムが安定したら、ブートローダーに新しいパーティションについて通知する必要があります。 grub-rebootを使用して新しいエントリを起動し、grub-set-defaultを使用して新しいエントリを永続的に変更できます。

1
Tobu

DebianISOイメージをリマスターする必要があります。

TL; DR;ここからISOをダウンロード SSHを介したリモートDebianインストールに関するCiborskiのガイド

長い答え:これを行うには、 Debian GNU/Linuxインストールガイド を読み、/ iso/isolinuxのブートパラメータを変更します。/iso/bootなので、autoパラメーターで起動します。これにより、インストーラーはキーボード構成や言語などをスキップします。

また、ネットワーク構成に関してISOにpreseedファイルを含める必要があります。

私のために働く例:

d-i debian-installer/locale string en_US
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/choose_interface select auto

d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

d-i hw-detect/load_firmware boolean true

d-i anna/choose_modules string network-console
d-i preseed/early_command string anna-install network-console
d-i network-console/password password root
d-i network-console/password-again password root

ただし、迅速で汚いソリューションが必要な場合は、Debian 9 x86_64を使用した既製のISOを私​​のWebサイトからダウンロードできます https://tomasz.ciborski.com/debian-installation-over-ssh/

結果: sshインストーラーコンソール

0
Tomasz Ciborski

私はこれが可能だとは思いません。 ssh経由でマシンに接続してからすべてを消去すると、sshサーバーがなくなり、接続が失われます。

サーバーにcd/dvdドライブがなく、usb/networkから起動しない場合、サーバーを最初にどのようにインストールしましたか?

1つの可能性は、リモート管理カード(rsa、iloなど)です。それらを使用すると、ISOイメージまたはローカルのcd/dvd/usbドライブをサーバーに接続し、これらのデバイスからインストールできます。

0
Christian

@dotplusが提案したことを実行するには、 debootstrap を確認することをお勧めします。

0
Dan Andreatta

元の質問を明確にするために、「小さなサーバー」とは、接続されたCD-ROMをシミュレートしたり、リモートコンソールアクセスを帯域外で取得したりできる追加機能を備えたサーバークラスのハードウェアを意味するのではないでしょうか。サーバーとして使用されているのはデスクトップPCだけですか?

答えるために、sshを介して既存のOSからLinuxディストリビューションのインストールを開始することは確かに可能です。私は同じようなことを何度も行ってきましたが、通常はRed Hatから派生したディストリビューションを使用しますが、ここでは原則を適用する必要があります。

インストールカーネルとinitrdを古いOSの/ bootにコピーし、ブート構成(GRUB/LILO/whatever)を編集して、デフォルトでインストールカーネルをブートし、インストールメディアブート構成(isolinux.cfg ifこれは従来のCDまたはDVDです)、インストールinitシステムがインストールメディアを見つけられるようにするために必要な引数を追加します(私の場合、私は通常NFSインストールを行いました)。インストールルーチンがブートストラップされると、PXE/DVD /その他の方法で開始されたインストールと同じです。

Kernel/init/Installerに渡されるブート引数に応じて、何らかの方法で制御するインタラクティブインストールを開始できます(Red Hatのvncインストール機能を使用しました[Debianが同様の機能を提供しているかどうかはわかりません]、通常は接続します私のデスクトップで実行されているリスニングビューアに(あなたの場合は、マシンの前に行って立ってください)、またはインストールが完全にスクリプト化されているため、インストールカーネルから起動すると、それまで対話する必要はありません新しくインストールしたOSで再起動します。この方法では、古いOSを消去している場合、/ boot FSを再パーティション化またはmkfsした後に失敗すると、起動できないシステムが残るため、スクリプトによるインストールを徹底的にテストすることをお勧めします。最初。

私の場合、これにより素晴らしい時間の節約になりました(無人インストールの作業の多くはすでに実行されています)。 1台のマシンだけのために、別のアプローチを取るほうが手間がかからない場合があります。

ネットワークブートに関しては、GRUBまたはLILOでgPXEイメージをブートしてNICでPXEを実行することは完全に可能です。 http:// rom)からビルド済みの.lkrnイメージを取得します。 -o-matic.net/gpxe/gpxe-1.0.0/contrib/rom-o-matic/ 。待っていてもかまわない場合は、 http:/ /boot.kernel.org/ インターネット経由でDebianLiveを起動します(これにより、ハードディスクにインストールできると思います)。

0
Norky

レスキューモードでsshでJeossを起動するだけで、障害のあるHDDをマウントして修正できます http://www.vercot.com/~jeoss/

0
Mark