システム保守

switch-centos7-repo.sh

LinuxMirrors 上流スクリプトの同梱版です。CentOS 7 では yum リポジトリ定義を書き換えてメタデータを更新します。確認に応じると firewalld と SELinux も無効化する場合があります。CentOS 7 はサポート終了済みです。

ワンライナー

curl -fL 'https://www.helper.sh/switch-centos7-repo.sh' -o './switch-centos7-repo.sh'

このコマンドは同梱ファイルをダウンロードするだけで、実行しません。保存したソースを確認し、バージョンを照合してから実行するか判断してください。

保存したファイルを照合

このページのビルドに同梱されたバイト列と照合します。ファイルはこのタブ内で処理し、この機能は送信・保存しません。上限は2 MiBです。

期待する SHA-256
4a15976771c49d4680122d6390aa19da3b4379bb2bc086d5738472340155930c

同梱ファイルのバイト数: 207954

チェックサムファイルを保存

スクリプトとチェックサムを同じディレクトリに保存してください。GNU Coreutils のある Linux では次のコマンドでバイト列だけを検査できます。スクリプトは実行しません。コマンドには元のファイル名が必要です。

sha256sum --check './switch-centos7-repo.sh.sha256'

まだ照合していません。

スクリプトとチェックサムは同じサイトから取得し、独立した署名ではありません。一致しても安全性、上流の真正性、ホストへの適合性は証明しません。可変の依存先は別途確認してください。

検証と制限を読む

実行条件

  • CentOS 7 ホスト(サポート終了済み)
  • root 権限または sudo
  • yum によるパッケージ管理
  • 選択したミラーへのネットワーク接続

適用場面

  • 既定ミラーが利用できなくなった旧 CentOS 7 環境で、アーカイブの yum メタデータ取得を復旧する
  • 移行準備中の CentOS 7 環境で、必要なパッケージの取得先を確認する
  • 保守作業前に、変更対象の repo 定義とバックアップを確認する

主なポイント

  • 同梱した LinuxMirrors ソースをダウンロードして確認可能
  • 旧 CentOS 7 リポジトリの定義を書き換える保守用ツール
  • パッケージ提供やセキュリティ更新の再開を保証するものではない

推奨手順

  1. リポジトリ定義とバックアップ方針を確認します。
  2. 取得したソースと --close-firewall false などの指定値を確認します。
  3. 認可された保守時間帯でのみ変更し、生成された定義とメタデータ取得結果を確認します。
  4. CentOS 7 の移行計画を継続します。

注意事項

  • CentOS 7 はサポート終了済みです。復旧は恒久的な保守戦略にはなりません。
  • 本番変更前にミラーと書き換え内容を確認してください。
  • 既存定義のバックアップを確保してください。

対応範囲と制限

  • 同梱された上流スクリプトは複数の Linux ディストリビューションに対応しますが、このページでは CentOS 7 の yum 用途を説明します。CentOS Linux 7 はサポート終了済みです。ミラー切替でアーカイブ済みパッケージへ接続できても、セキュリティ保守は再開しません。
  • root、Bash、firewalld を扱う場合は systemctl、yum、ネットワーク接続が必要です。対話式で、dry-run と自動ロールバックはありません。既定の --backup true は /etc/yum.repos.d.bak に保存しますが、既存バックアップがあると上書き確認が表示されます。
  • 重要:firewalld が稼働中の場合、「firewalld と SELinux を無効にするか」の既定回答は Yes です。質問を慎重に確認するか、明示的に --close-firewall false を指定してください。パッケージ更新とキャッシュ削除は別の質問・オプションです。意図しない限り実行しないでください。

変更されるファイル、サービス、データ

  • /etc/yum.repos.d.bak へ既存 repo を保存し(有効時)、/etc/yum.repos.d の定義を削除・再生成してから yum makecache を実行します。
  • 選択時に EPEL を導入する場合があります。パッケージ更新を明示的に有効にすると `yum update -y --skip-broken` を実行し、キャッシュ削除を選ぶと `yum autoremove -y` と `yum clean packages -y` を実行します。
  • 確認プロンプトで承認すると、firewalld を停止して自動起動を無効化し、/etc/selinux/config の enforcing を disabled に変更して setenforce 0 を実行します。これらはミラー切替とは別のセキュリティ設定変更です。

読み取り専用の確認

  • 実行前に OS 情報、`systemctl is-active firewalld`、`getenforce`、`/etc/selinux/config`、`ls -la /etc/yum.repos.d /etc/yum.repos.d.bak` を確認します。
  • 承認された repo のみの変更後、`diff -ru /etc/yum.repos.d.bak /etc/yum.repos.d`、`yum repolist -v`、終了コードと `yum makecache` の結果を確認します。
  • `systemctl is-enabled firewalld`、`systemctl is-active firewalld`、`getenforce` を再確認します。yum メタデータ取得成功だけでは、ホストの保護状態やセキュリティ更新の継続は証明できません。

失敗した場合

メタデータ更新に失敗しても、すぐにパッケージ更新を伴って再実行しないでください。変更後とバックアップの repo を保持し、`yum repolist -v`、DNS・ネットワーク接続、具体的なエラーを確認します。必要なら確認済みバックアップから repo を手動で戻してください。firewalld や SELinux を変更した場合は、ホストの方針に沿って復旧し、保守終了前にリモート接続を確認します。

実行前にダウンロードして内容を確認し、バージョンを検証してください。ハッシュはこのバイト列を識別するだけで、安全性を証明しません。pipe 実行は取得した内容を直ちに実行し、上流の依存関係は変化することがあります。

関連トピック

CentOS 7: 復旧作業の選び方

サポート終了済みホストを変更する前に、リポジトリ、SSH、Docker の容量不足を切り分けます。

トピックを見る

問題ページ

CentOS 7 の yum 404: 失敗するリポジトリを先に確認

定義を書き換える前に、旧 CentOS ミラー、第三者 URL、DNS、TLS、ネットワークの問題を区別します。

ページを見る