SSHを介してあるLinuxディストリビューションを別のLinuxディストリビューションに安全に置き換える方法は?

SSHを介してあるLinuxディストリビューションを別のLinuxディストリビューションに安全に置き換える方法は?

NASのCustom LinuxをArch Linux(詳細については下を参照)に置き換える予定です。もちろん、すべてのユーザーデータを維持したい(SSHヘッドレスアクセスのみ)、バグのあるファームウェアの再インストールが発生する可能性があるため、完全に対処しようとしています。 (またはデバイスをレンガにすることもできます)。したがって、インストールを実行しないでください(適切なファイルをダウンロードしてください)。Arch Linux ARMバージョンそして使用することができますLiveCD方式によるchroot)正しく準備せずに何を覚えておくべきですか? (Arch Linuxに限定されず、必要に応じて自由に回答してください。)より正確には次のようになります。

  • 特定のデバイスのブートプロセスがどのように機能するかを把握するのは困難です(たとえば、ブートローダのどの部分がフラッシュメモリにあり、どの部分がハードドライブにあるか)、またはディストリビューションのインストーラに依存してこの問題を処理します。できますか?正しく?
  • 特定の(専用)ドライバが使用されていることを確認する方法とそれを新しい設定に移行するにはどうすればよいですか?
  • 誤って削除されないようにRAID構成は保護されていますか?
  • 単に再起動して元のシステムにアクセスし続けながらインストールが正しいことを確認できるように、起動プロセスを偽にする方法はありますか?例えばchrootそしてkexec何とか?
  • またどんな点に注意すべきですか?

具体的な状況は、カスタムLinuxを交換したいということです。Buffalo LinkStation Pro デュアルコア(armv5telアーキテクチャ、鼻腔中心の説明ここで行う方法についてのガイドラインがより役に立ちます。SSH ルートアクセス権の取得)とArch Linux ARM。ただし、より一般的な回答が他の人にも役立つ可能性があります。

ベストアンサー1

必要な技術、特にインストールされているLinuxの知識があれば、それ以上交換する価値はありません。何をしても、すでにインストールされているカーネルを交換したくないでしょう。しかし、Arch Linuxを比較的シンプルで完璧にすることができます!

概念:NASのディレクトリにArch Linuxをインストールし、man chrootそれをchroot()します。これにより、NAS Linuxを交換する必要がなくなります。 Arch Linuxをインストールして構成し、徐々に基本的なLinuxサービスをArch Linuxサービスに置き換えます。 Arch Linuxのインストールが完全で強力になるほど、chrootプロセスを自動的に実行でき、基本Linuxで提供されるサービスを1つずつシャットダウンし、chrooted Arch Linuxでサービスを自動的に起動できます。完了すると、NAS 起動プロセスは次のようになります。exec /sbin/initカーネルをロードし、ハードドライブをchroot環境にマウントし、chrootをArch Linuxにマウントします。

正確な作業を直接把握する必要があります。 b/ciはArch LinuxやNASとそのオペレーティングシステムを知りません。 Arch Linuxをインストールするターゲットディレクトリを作成する必要があります。書き込み可能なスペースが十分なデバイスになければならず、mkdir /suitable/path/archlinuxArch Linuxを起動する必要があります。

cd /suitable/path/archlinux
wget -nd https://raw.githubusercontent.com/tokland/arch-bootstrap/master/arch-bootstrap.sh
bash arch-bootstrap.sh yournassarchitecture

これで、そのパスにデフォルトのArch Linuxがあります。次の行に沿ってルートに移動できます。

cp /etc/resolv.conf etc/resolv.conf
cp -a /lib/modules/$(uname -r) lib/modules
mount -t proc archproc proc
mount -t sysfs archsys sys
mount -o bind /dev dev
mount -t devpts archdevpts dev/pts
chroot . bin/bash

まあsource /etc/profile。現在、シェルはArch Linuxにあり、ネイティブLinuxの代替品として使用できます。現在のプロセス範囲内です。明らかに、あなたはものをインストールし、Arch Linuxを構成したいと思います。現在のシェルを使用して実行すると、/etc/init.d/ssh start実際にはArch Linuxインストールのsshデーモンが起動します。

タスクが完了し、デフォルトのLinux(サービス)をArch Linuxに完全に置き換える場合は、NASのデフォルトのLinuxはサービスを開始せず、代わりに上記のchrootプロセスを実行します。違いは最後の行ですexec chroot . sbin/init

これは実際の交換ほど完全ではありませんが、完璧です。もともと述べたように、必要な知識とスキルがあれば、完全な交換は必要なく、価値があるでしょう。 IMHO(!)。

おすすめ記事