優れたソフトウェアと実用的なチュートリアル
Debian 12 raid 0、Ubuntu 22.04、AlmaLinux/RockyLinux/CentOS 9、Fedora 38、AlpineLinux、Kali、Windows Linuxワンクリック再インストールスクリプトをサポート
Linux ワンクリック再インストールスクリプト 、市場でサポートされているさまざまなスクリプト用 リナックス 市場のさまざまなスクリプトでサポートされている Linux ディストリビューションが少なすぎる、パスの識別や有効性の認識が不十分、さまざまな BIOS または UEFI マザーボード ファームウェア モデルに基づいて grub ブート メニュー用の新しいメニューエントリ ブート メニューの書き込み、IPv4 dhcp のみまたは IPv4 静的のみのサポート (開発時に IPv6 を使用する人々に対して恨みを持っていたのでしょうか?)、IPv6、dhcp、または静的 IPv4 がサポートされていない、IPv6 ネットワーク構成が検出される、マーチャント テンプレート内の誤ったゲートウェイ設定が自動的に修正されるなどの問題に対処するために、徹底的な改善と最適化を行いました。
ヨーロッパの多くの個人経営の中小企業、ヘッツナーでさえも ゴダディ ネットワーク管理の技術レベルが極めて素人レベルであるため、テンプレートシステムの静的ネットワークマスク設定には致命的な欠陥があります。例えば、IPv4は255.255.255.255に設定されていますが、IPv6プレフィックスは128に設定されており、その結果、 デビアン インストーラーやその他のネットワークインストールカーネルが検索するIPアドレス範囲が狭すぎるため、到達不能ゲートウェイエラーが発生します。元のシステムからそのまま読み込んだ場合、メインIPとゲートウェイIPを比較・計算・修正して適切なマスクを取得することなく、あるいはデフォルトのテンプレートがRed Hatシステムに基づいている場合、同様のスクリプトを使用して再インストールすると、必ずこのような問題が発生し、解決できません。
サーバー機能の完全実現における最重要要素であるネットワーク設定は、私のスクリプトが重点的に改善している点です。IPv4とIPv6のデュアルスタックマシンを含む、サポートされているすべてのLinuxディストリビューションは、再インストール後に手動設定なしでネットワークを自動的に設定できます(デュアルネットワークカードで、各カードに1つのネットワークが設定されている場合、Debianは現在もサポートしています)。また、ピュアIPv6マシンのサポートにも問題はありません(AlpineLinux/Ubuntuは当面除外)。
現在、このプロジェクトは多くの友人に認められ、Debian 12、AlmaLinuxの新バージョン、RockyLinuxを含むDebian 9+をサポートしています。セントOS、Fedora、AlpineLinux 角、Ubuntu 20.04 22.04およびその他のシステムでは、arm64およびamd64アーキテクチャを永続的にインストールすることができ、Oracle独自の オラクルLinux Linuxやその他のRed Hat系システムを、スクリプトがサポートする任意のシステムに再インストールします(Red Hatシステムでは2GB以上の大容量メモリが必要です)。もちろん、Windowsにもインストール可能です。WindowsからLinuxへの再インストールはまだサポートされていません。
現在、スクリプトはマシンが実行中かどうかの自動検出をサポートしています。 クラウドフレア Warp は「疑似デュアル スタック」を実装し、CloudFlare Warp によって実装された IPv4 スタックまたは IPv6 スタックを削除して、再インストール前にマシンのネイティブ ネットワーク スタックの状態を識別し、再インストール中にネットワーク部分の構成が行われ、誤ったネットワーク スタック パラメータが書き込まれることを回避します。
Linux ワンクリック再インストールスクリプト
Github プロジェクト: https://github.com/leitbogioro/Tools
インターフェースのデモ (ギャラリーは imgur.com からのものであり、正常に表示するにはグローバル アクセスが必要です):
サーバーに接続するためのデスクトップ端末クライアント(ターミナル)は、公式サイト、Xshell、またはputtyからダウンロードすることを推奨します。再インストールしたシステムへの接続には、インターフェースが非常に優れているものの鍵交換アルゴリズムが極端に制限されている端末、出所不明の端末、怪しい端末、あるいはクラッキングされた端末は使用しないでください。パスワードエラーが発生する可能性が高くなります。私のスクリプトは、対象のポートとパスワードが設定されていることを確認し、再インストール後に正常に接続できるようにすることを目的としています。 SSH キーログインなどの重要な操作は手動で設定できます。ワンクリックスクリプトに頼ったり、システムの再インストールを私のスクリプトのせいにしたりしないでください。また、未知のクライアントが密かにキーをアップロードし、あなたのマシンをゾンビのように利用する可能性があります。将来、Xshellなどのターミナルソフトウェアにもセキュリティ上の問題が見つかった場合は、併せてお知らせします。
Oracle Cloud で IPv6 を有効にする方法、および IPv4 パブリック ネットワーク アクセスのみを持つマシンの Web パネルで IPv6 DHCP 6 を手動で有効にした後、現在のマシンで IPv6 DHCP アクセスを有効にする方法:
中国語チュートリアル:
英語チュートリアル:
https://www.google.com/search?q=oracle+cloud+ipv6+public+access+enable
ネットワーク カード名を取得します。
[root@instance-20230624-1531 ~]# ip -4 ルート表示デフォルト
10.0.0.1 dev ens3経由のデフォルト
デフォルト 10.0.0.1 dev ens3 proto dhcp src 10.0.0.138 metric 100 経由
現在のネットワーク カードに DHCP IPv6 アクセス権があり、現在のシステム構成ファイルで IPv4 ネットワーク アクセスのみが制御され、IPv6 DHCP アクセスは制御されていない場合、システムで DHCP IPv6 アクセス (IPv6 静的アクセスを除く) を有効にするコマンドを実行するには再起動が必要です。
dhclient -6 "ens3などのネットワークカード名"
リブート
ダウンロードする前に、ソースを更新し、wgetコンポーネントをインストールしてください。以下のコマンドは元のシステムにのみ適用されます。
Debian システム (Debian Kali Ubuntu):
apt update apt update install wget -y
Red Hat シリーズ (CentOS AlmaLinux RockyLinux Fedora など):
dnf インストール wget -y
AlpineLinux (wget bash コンポーネントをインストールし、システムのデフォルト シェルを ash から bash に変更する必要があります):
apk アップデート apk インストール wget bash sed -i 's/root:\/bin\/ash/root:\/bin\/bash/g' /etc/passwd
スクリプトをダウンロードして実行します。
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
家庭用のマシンは、現在、 ギティー ダウンロード:
wget --no-check-certificate -qO InstallNET.sh 'https://gitee.com/mb9e8j2/Tools/raw/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
クイックスタート(これは、スクリプトに -pwd -port -mirror などのパラメータが含まれていない場合にのみ有効です。含まれている場合は、対応するシステムのリリースバージョン番号を指定する必要があります。):
どのアーキテクチャを使用するかを入力する必要はありません(-v オプションは -version に置き換えられ、両方とも非推奨になりました)、スクリプトは自動的にアーキテクチャを検出し、Debian と Redhat のアーキテクチャ名間のインテリジェントな変換を実装します。
Debian 12 (9 から 12 をサポート)
bash InstallNET.sh -debian
Kali ローリング (rolling/dev/experimental の 3 つのブランチをサポートしています。原則として、rolling が推奨されます)
bash InstallNET.sh -kali
Kali は ARM64 および AMD64 アーキテクチャと互換性があります。 オラクル KaliはARM64およびAMD64アーキテクチャと互換性があります。Oracle ARMのインストールでは、元のシステムを再起動した後に黒い画面が表示され、プロンプトは表示されず、VNCで進行状況を確認およびデバッグすることはできませんが、パネル独自のテンプレートまたはワンクリックスクリプトでインストールされた他の純粋なシステムからインストールされる限り、100%は成功を保証します。VNCで黒い画面が表示されることを恐れる必要はありません。また、途中で強制的に再起動しないでください。Kaliが何であるかを知らない場合でも、Kaliは日常生活、映画、テレビシリーズでハッカーによく使用されており、多くのセキュリティテストツールが付属していることはご存知でしょう。クールなDebianディストリビューションです。Kaliには3つのバージョンがあり、過激さの順に、experimental > dev > rollingです。普通の人は投げたくないので、rollingを主な方法として使うのが最善です。
Alpine Linux edge (3.16 ~ 3.18 および edge をサポート、edge を推奨)
超軽量のLinuxディストリビューションですが、Alpine Linuxは実行時にメモリを節約し、メモリ使用量は約80mに過ぎないことに注意してください。しかし、インストール時にはメモリを節約しません。これは、すべての初期化操作を最後までメモリ内で完了してから、ディスク全体をハードディスクに書き込むためです。DebianやRed Hatとは異なり、ブートカーネルはメモリ内で準備されており、その後、ディスクのフォーマットを開始し、イメージソースからハードディスクにファイルを書き込みます。このため、Alpine Linuxのインストールに必要なメモリは低くありません。メモリが1GB未満のマシンにはインストールしないでください。Alpine LinuxのiPXEブートドキュメントでは、DHCPまたは静的を介してIPv4ネットワークからブートする方法のみが説明されているため、IPv6パブリックネットワークアクセスのみを備えたマシンにはインストールしないでください。デュアルスタックマシンのIPv6部分は、インストールプロセス中に自動的に構成されます。
bash InstallNET.sh -alpine
CentOS 9 ストリーム (7 ~ 9 をサポート)
bash インストールNET.sh -centos
AlmaLinux 9 (8-9をサポート)
bash InstallNET.sh -alma
RockyLinux 9 (8-9 をサポート)
bash InstallNET.sh -rocky
Fedora 38 (37-38 をサポート)
bash InstallNET.sh -fedora
Ubuntu 22.04 (20.04 または 22.04 をサポート)
bash InstallNET.sh -ubuntu
Windows Server 2022(AlpineLinux仲介によるdd実装に基づき、異なるBIOS UEFIファームウェアにおける対応するddパッケージの自動識別をサポートし、Windows 10 Enterprise LTSC、Windows 11 Pro for Workstation 22H2、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019、Windows Server 2022をサポートします。再インストール時は、対応するシステムのデジタルバージョン番号を入力するだけです。VNC経由でシステムにログインできる場合は、IPv4の静的構成を自動的に実行し、システムディスクパーティションを自動的に拡張できます。ddパッケージはQiu Shui Yibing氏によるものです。改めて、彼の献身的な貢献に感謝します。)
bash InstallNET.sh -windows
Wang Jianbing の天才的なアイデアのおかげで、私は AlpineLinux という素晴らしい dd 中間システムを見つけることができ、それを披露することができました。
Wang Jianbing Next Door フォーラム ID: https://hostloc.com/space-uid-35316.html
Wang Jianbing github ホームページ: https://github.com/bin456789/
原理は説明するのが複雑すぎるので、ご興味があれば別の投稿で詳しくご覧ください。
https://www.nodeseek.com/post-9558-1 (Ubuntu 22.04以降のバージョンをインストールするための技術的な原則、および「ネイティブネットワークインストール」と「ddインストール」に関する私の見解とコメント)
UbuntuとWindowsを除くLinuxディストリビューションは、ミラーソースを自分で選択する機能をサポートしています。このスクリプトは公式バックアップのみを組み込んでおり、国内マシンと海外マシンを区別できます。国内マシンを再インストールする際には、インターネット経由で取得する必要がある設定ファイルを、私のプロジェクトのgitee.comミラーに接続することもできます。これにより、国内マシンがピーク時に停止したり、再インストールに悩まされることがなくなります。 ギットハブ.com はグレートファイアウォールによってブロックされています。
他のスクリプトが再インストールをサポートするLinuxシステムはすべて、世界中のミラーソースを指定することでネイティブインストールをサポートしています。ソースを指定しない場合、スクリプトは海外と国内のソースを区別し、国内VPSでは接続速度の低下を回避するために自動的に国内ソースに切り替えます。ソースを手動で指定する場合は、システムと対応するバージョンを入力し、パラメータ「-mirror」を追加します。例:
bash InstallNET.sh -debian 12 -mirror "http://ftp.riken.jp/Linux/debian/debian/"
世界中の国と地域の Debian ソースリスト:
https://www.debian.org/mirror/list.html
世界中の国と地域のKaliソースリスト:
https://http.kali.org/README.mirrorlist
Kali公式リポジトリ https://http.kali.org/ 純粋な IPv6 アクセスはサポートされていないため、スクリプトで選択されるデフォルトの外部ソースは米国のバークレー大学です。 https://mirrors.ocf.berkeley.edu/kali/ 中立的かつ信頼性が高く、IPv4 と IPv6 の両方のアクセスをサポートし、帯域幅が大きく、ダウンロード品質が良好な学術機関です。
CentOS 7 および 8 ストリーム、世界各国および地域のソース リスト:
https://www.centos.org/download/mirrors/
世界中の国と地域の CentOS 9 ストリーム以降のソース リスト:
https://admin.fedoraproject.org/mirrormanager/mirrors/CentOS
世界中の国と地域における AlmaLinux ソースの一覧:
https://mirrors.almalinux.org/
世界中のさまざまな国と地域の RockyLinux ソースの一覧:
https://mirrors.rockylinux.org/mirrormanager/mirrors
世界中の国と地域の Fedora ソース リスト:
https://admin.fedoraproject.org/mirrormanager/mirrors/Fedora
デフォルトパスワード次のように:
ライトボギロ
AlpineLinux と Ubuntu は設定ファイルにパスワードパラメータを渡す際にプレーンテキスト(暗号化されていない暗号文、ローカル変数のみが送信され、他の場所には送信されないので心配無用)を使用するため、特殊記号を追加すると sed 処理時にエラーが発生する可能性があるため、AlpineLinux と Ubuntu のデフォルトパスワードは LeitboGi0ro に統一し、当面は変更できません。
パスワードをカスタマイズするには、-pwd 'パスワードの内容' を追加して変更します。パスワードフィールドの前後に一重引用符 (' ') を使用することをお勧めします。これは、二重引用符 (" ") で囲まれた特殊文字を含むパスワードがシェルによってコマンドとして渡され、エラーが発生するのを防ぐためです。パスワードは長すぎたり複雑すぎたりしないように注意してください。例:
-pwd 'シャオミン'
特に、パスワードに英語のシングルクォーテーション(')が含まれている場合は、シングルクォーテーションの前に必ず「'''」を追加してエスケープしてください。つまり、以下のエスケープ文字はシングルクォーテーションと同等です。
'\''
つまり、上記の記号は実際のパスワードの「」記号と同等です。たとえば、パスワードを「xiaoming」に設定する場合は、次の入力が正しいです。
-pwd ''\''xiaoming''\'''
デフォルトのパスワードを使用した場合は、インストール後すぐに変更してください。
デフォルトの SSH ポートは元のシステムによって異なります。例えば、マシンの元のシステムSSHポートが65432で、新しくインストールしたシステムポート番号も65432の場合、「-port "ポート番号"」を追加してポート番号を変更できます。これは、サポートされているすべてのLinuxシステムに対応しており、範囲は「1~65535」です。元のシステムポートが間違っている場合、または特定できない場合は、バックアップ値は次のとおりです。
22
例:
-ポート "12345"
あなたが望むなら強制的な二重ネットワークダイナミクス設定するには、次のように入力します。
bash InstallNET.sh -debian 12 --network "dhcp"
あなたが望むなら強制デュアルネットワークスタティック設定するには、次のように入力します。
bash InstallNET.sh -debian 12 --network "static"
現在、それぞれ静的 IPv4 または IPv6 構成を持つデュアル ネットワーク カードをサポートしており、新しくインストールされたシステムの両方のネットワーク カードのネットワーク構成は、Debian/Kali のみで自動的に構成できます。
複数のディスクと専用サーバーをお持ちのお客様の利便性向上のため、新規インストールしたDebian/Kali/CentOS/AlmaLinux/RockyLinux/FedoraシステムでソフトRAIDの構築をサポートしています。「-raid "method (support: 0 1 5 6 10)"」と入力してください。ニーズに合わせて適切なRAID方式を選択してください。
RAID 0 および 1 には少なくとも 2 つのディスクが必要です。
RAID 5 には少なくとも 3 つのディスクが必要です。
RAID 6、10 には少なくとも 4 つのディスクが必要です。
原則として、RAIDを構成する各ハードディスクの容量は等しくなければなりません。そうでない場合、システム全体の容量はRAIDを構成するハードディスクの中で最も容量の小さいハードディスクによって制限されてしまいます。ハードディスクのモデルやコントローラー(VDA、SDA、NVME0N、HDAなど)は問いません。容量が等しく、十分な台数があれば、対応するRAIDアレイを無駄なく構成できます。
bash InstallNET.sh -debian 12 -raid "0"
-setdisk "ハードディスク名またはすべて" は、vdb sdc など、特定のハードディスクへのシステムのインストールをサポートします。ハードディスク名を入力するだけです。また、"すべて" に設定することもできます。この場合、デフォルトの最初の読み書き可能なハードディスクにシステムをインストールするだけでなく、他のハードディスク領域を消去することもできます。このパラメータは -raid と競合するため、両方指定しないでください。
bash InstallNET.sh -debian 12 -setdisk "all"
bash InstallNET.sh -debian 12 -setdisk "vda"
デバッグなどのために手動モードでインストールする場合は、以下を入力してください(VNCを使用してマシンにアクセスできる必要があります)。AlpineLinux Ubuntuはサポートされていません。
bash InstallNET.sh -debian 12 --allbymyself
netbootxyz 手動モードを使用して Archlinux などのサポートされているシステムをインストールする場合は、次のように入力してください (推奨されませんマシンが VNC を使用してアクセスできることが必要です (x86_64 AMD64 アーキテクチャのみ)。BIOS ファームウェア マシンはこれを使用し、Oracle UEFI ファームウェア マシンは netbootxyz を使用して起動します。このチュートリアルを参照してください: https://zhuanlan.zhihu.com/p/97527349):
bash InstallNET.sh -netbootxyz
--setipv6 "0" というパラメータが有効になりました。これは、システムインストール時に IPv6 モジュールのロードを強制的にオフにするものです。0 に設定するとオフになり、他の値を指定するか指定しない場合は IPv6 モジュールをロードします。マシンが実際に IPv6 ネットワークを持っているかどうかに関係なく、--setipv6 "0" が設定されている場合、新しいシステムの IPv6 モジュールは完全に無効化され、IPv6 ネットワークにアクセスできなくなります。実際の状況に応じて選択してください。Racknerd や Virmach などの一部のピュア IPv4 マシンでは、これらのメーカーのピュア IPv4 マシンにも DHCP によってパブリック IPv6 アドレスが割り当てられるため、有効です。 DNS 外部ウェブサイトのドメイン名を解決する際、IPv6アドレスが強制的に返されます。しかし、このマシンにはIPv6ネットワークがないため、ping、wget、curlなどのネットワーク接続ツールはIPv6アドレスへの接続を継続的に試行するため失敗します。新しいシステムにIPv6モジュールを強制的にロードさせないようにすることで、この問題を解決できます。ただし、これにより以下の問題が発生します。 エングス IPv6ネットワークをロードするモジュールの起動に失敗しました。/etc/nginx/ にアクセスしてください。nginx.conf ディレクトリ内
# listen [::]:80 default_server;
Racknerd Virmach --setipv6 "0" を指定せずに純粋な IPv4 マシンにインストールすると、wget は常に IPv6 への接続を優先し、数回失敗した後にのみ IPv4 を使用するため、接続待ち時間が長くなります。
コメントアウト。このオプションはAlpineLinuxを除くすべてのLinuxディストリビューションに適用されます。
bash InstallNET.sh -debian 12 --setipv6 "0"
パラメータが有効になりました:--nomemcheckを入力すると、メモリ容量のチェックがスキップされ、任意のメモリを搭載したマシンにターゲットシステムをインストールすることができます。現在のシステムにネットワークインストールとブートカーネルを正常にダウンロードしてパッケージ化できたとしても、ただし、再起動後にインストールが成功するという保証はありません。
bash InstallNET.sh -debian 12 --nomemcheck
このスクリプトを使用して Linux から Windows に dd するにはどうすればよいでしょうか?
- いずれかに基づく KVM QEMU または XEN マシンの場合、元のシステムが Debian か Redhat かに関係なく、grub ブート メニューを正常に書き込んで再起動後に起動できます。
bash InstallNET.sh -dd 'DDミラーリンク'
- レスキューモード、通常モードなど、複数の起動モードをサポートする専用サーバー(Kimsufi など):
ブート モードをレスキュー モードに切り替え、メールボックスからログイン アカウントのパスワードを取得し、レスキュー モードの一時システムに入り、次を実行します。
wget -O- 'DD ミラーリンク' | xzcat | dd of=/dev/sda
dd イメージがダウンロードされ解凍されるのを待ち、ブート モードを通常モードに変更し、reboot コマンドを入力して、dd によって初期化された Windows システムが完了するのを待ちます。
リブート
Qiushui Yibing氏の献身的な貢献に感謝します。氏は、Windowsシリーズの成熟したddイメージを大量に作成し、直接リンクを提供するために尽力しました。Debian 12フォーマットの一時転送ディスクから、ddイメージのソース、接続の詳細、ハードウェア要件はすべてQiushui Yibing氏のddイメージに基づいています。
Qiushui Yibing のブログ: https://teddysun.com/
Qiushui Yibing github: https://github.com/teddysun/
ユーザー名: 管理者
パスワード: Teddysun.com
RDC(リモートデスクトップ)ポート:5900
ネットワーク: IPv4 DHCPが必要です
CPU: AMD64アーキテクチャのみ、少なくともシングルコア、デュアルコア以上が望ましい
ハードディスク: 少なくとも 20 GB、50 GB 以上を推奨、ソリッド ステート ドライブが望ましい
メモリ: 少なくとも2GB、8GB以上が望ましい
Windows dd パッケージ ソース:
BIOSマザーボードファームウェア、MBRパーティション
Windows 11 Pro ワークステーション 22H2
簡体字中国語: https://dl.lamp.sh/vhd/zh-cn_windows11_22h2.xz
英語: https://dl.lamp.sh/vhd/en-us_windows11_22h2.xz
日本語: https://dl.lamp.sh/vhd/ja-jp_windows11_22h2.xz
Windows Server 2022 データセンター
簡体字中国語: https://dl.lamp.sh/vhd/zh-cn_win2022.xz
英語: https://dl.lamp.sh/vhd/en-us_win2022.xz
日本語: https://dl.lamp.sh/vhd/ja-jp_win2022.xz
Windows 10 エンタープライズ LTSC
簡体字中国語: https://dl.lamp.sh/vhd/zh-cn_windows10_ltsc.xz
英語: https://dl.lamp.sh/vhd/en-us_windows10_ltsc.xz
日本語: https://dl.lamp.sh/vhd/ja-jp_windows10_ltsc.xz
Windows Server 2012 R2 データセンター
簡体字中国語: https://dl.lamp.sh/vhd/cn_win2012r2.xz
英語: https://dl.lamp.sh/vhd/en_win2012r2.xz
日本語: https://dl.lamp.sh/vhd/ja_win2012r2.xz
UEFIマザーボードファームウェア、GPTパーティション
Windows 11 Pro ワークステーション 22H2
簡体字中国語: https://dl.lamp.sh/vhd/zh-cn_windows11_22h2_uefi.xz
英語: https://dl.lamp.sh/vhd/en-us_windows11_22h2_uefi.xz
日本語: https://dl.lamp.sh/vhd/ja-jp_windows11_22h2_uefi.xz
Windows Server 2022 データセンター
簡体字中国語: https://dl.lamp.sh/vhd/zh-cn_win2022_uefi.xz
英語: https://dl.lamp.sh/vhd/en-us_win2022_uefi.xz
日本語: https://dl.lamp.sh/vhd/ja-jp_win2022_uefi.xz
Windows 10 エンタープライズ LTSC
簡体字中国語: https://dl.lamp.sh/vhd/zh-cn_win10_ltsc_uefi.xz
英語: https://dl.lamp.sh/vhd/en-us_win10_ltsc_uefi.xz
日本語: https://dl.lamp.sh/vhd/ja-jp_win10_ltsc_uefi.xz
Windows Server 2012 R2 データセンター
簡体字中国語: https://dl.lamp.sh/vhd/cn_win2012r2_uefi.xz
英語: https://dl.lamp.sh/vhd/en_win2012r2_uefi.xz
日本語: https://dl.lamp.sh/vhd/ja_win2012r2_uefi.xz