公式サイトからRHELやUbuntuのISOを取得したとき、チェックサムファイルが一緒に置かれているのを見た人は多いはずです。しかし「確認のやり方がよくわからない」「md5sumとsha256sumのどちらを使えばいいか迷う」という声は、セミナーでも毎回聞かれます。
この記事では、sha256sum コマンドを使ったファイルの整合性確認方法を、RHEL 9.4 / Ubuntu 24.04 LTS の実行例とともに解説します。md5sumとの違い、チェックサムファイルによる一括検証、バックアップの定期確認スクリプトまでカバーします。
この記事のポイント
・sha256sum でハッシュ値を計算し、公式チェックサムと比較してファイルの改ざんを検出できる
・sha256sum -c でチェックサムファイルを使った一括検証が可能
・md5sum は高速だが衝突リスクがあり、セキュリティ目的には sha256sum 以上を推奨
・スクリプトに組み込めば、バックアップや定期確認を自動化できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
チェックサムとは?なぜsha256sumを使うのか
チェックサム(ハッシュ値)とは、ファイルの内容から計算された「指紋」のようなものです。ファイルが1ビットでも変わると、ハッシュ値は全く異なる値になります。これを利用して、ファイルの改ざんや転送中の破損を検出できます。現在よく使われるチェックサムコマンドは次のとおりです。
・md5sum:古くから使われる。計算が速いが、意図的な衝突生成が可能なため、セキュリティ用途には不推奨
・sha1sum:MD5より安全だが、2017年に実用的な衝突攻撃「SHAttered」が実証された
・sha256sum:現在のセキュリティ標準。ダウンロード検証やパッケージ管理に広く採用されている
・sha512sum:sha256よりさらに安全。厳格なセキュリティが求められる環境向け
Linuxディストリビューションの公式サイトでは、ISOファイルとともに
SHA256SUMS や sha256sum.txt が提供されています。インストール前にこれを使って検証するのが、安全確認の基本です。sha256sum コマンドは coreutils パッケージに含まれており、追加インストールなしで利用できます。
# バージョン確認(インストール確認兼用) sha256sum --version
sha256sumコマンドの基本的な使い方
1. ファイルのSHA256ハッシュ値を計算する
最も基本的な使い方です。ファイル名を引数に渡すだけでハッシュ値を計算できます。# 書式 sha256sum ファイル名 # ISOファイルのハッシュ値を確認する例 sha256sum rhel-9.4-x86_64-dvd.iso
[admin@web01 download]$ sha256sum rhel-9.4-x86_64-dvd.iso a387f1f19cb95b6f8cdb428b22f3c4c9c79c64e8fe2afb5b03f5e92c069de29d rhel-9.4-x86_64-dvd.iso
複数ファイルをまとめて計算する場合はスペース区切りで並べます。
[admin@web01 ~]$ sha256sum /etc/passwd /etc/hosts /etc/hostname 8e9d3e4b2c1f0a7b5d6e2f1a3b8c5d4e7f9a0b2c3d4e5f6a7b8c9d0e1f2a3b4 /etc/passwd 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b /etc/hosts e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 /etc/hostname
2. チェックサム値をファイルに保存する
検証用のチェックサムファイルを作成するには、シェルのリダイレクトを使います。# ハッシュ値をファイルに書き出す sha256sum ファイル名 > チェックサムファイル名 # 実例 sha256sum rhel-9.4-x86_64-dvd.iso > rhel-9.4-x86_64-dvd.iso.sha256
[admin@web01 download]$ cat rhel-9.4-x86_64-dvd.iso.sha256 a387f1f19cb95b6f8cdb428b22f3c4c9c79c64e8fe2afb5b03f5e92c069de29d rhel-9.4-x86_64-dvd.iso
# /backup/ 配下の全 tar.gz のチェックサムをまとめて記録 sha256sum /backup/*.tar.gz > /backup/.checksums.sha256
3. チェックサムファイルで整合性を一括検証する
-c(--check)オプションを使うと、チェックサムファイルに記録された全ファイルを一括検証できます。# チェックサムファイルで一括検証 sha256sum -c チェックサムファイル名 # 実例 sha256sum -c rhel-9.4-x86_64-dvd.iso.sha256
[admin@web01 download]$ sha256sum -c rhel-9.4-x86_64-dvd.iso.sha256 rhel-9.4-x86_64-dvd.iso: OK
[admin@web01 download]$ sha256sum -c rhel-9.4-x86_64-dvd.iso.sha256 rhel-9.4-x86_64-dvd.iso: FAILED sha256sum: WARNING: 1 computed checksum did NOT match
--quiet を付けます。スクリプトに組み込む際は --status で終了コードのみ取得するのが便利です。# 問題のあるファイルのみ表示(OK行を非表示) sha256sum -c checksum.sha256 --quiet # 終了コードのみ取得(スクリプト組み込み用) # 0 = 全OK、1 = 1件以上不一致 sha256sum -c checksum.sha256 --status echo $?
md5sum・sha1sum・sha512sumとの使い分け
1. md5sum(高速だが衝突リスクあり)
md5sum は MD5アルゴリズムを使用します。計算が非常に速いため、セキュリティよりも速度が求められる用途(ファイル転送後の簡易確認など)に使われることがあります。[admin@web01 backup]$ md5sum backup-2026-05-08.tar.gz 8d94c3b2e1f0a7b4c9d6e2f1a8b5c3d2 backup-2026-05-08.tar.gz
2. sha1sum(後方互換用)
sha1sum は SHA-1アルゴリズムを使用します。MD5より安全ですが、Google のセキュリティチームが2017年に「SHAttered」攻撃で実用的な衝突を実証しました。新規システムへの採用は非推奨です。既存システムとの互換性が必要な場合のみ使用してください。sha1sum ファイル名
3. sha512sum(最高セキュリティが必要な場合)
sha512sum は SHA-512アルゴリズムを使用し、sha256sum より長い(512ビット)ハッシュ値を生成します。現時点では実用的な攻撃手法は知られていません。金融システムや機密データの管理など、より厳格なセキュリティが求められる環境向けです。[admin@web01 ~]$ sha512sum sensitive-data.tar.gz c6ee9e33cf5c6a2e1a3b5e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2 sensitive-data.tar.gz
| コマンド | アルゴリズム | ハッシュ長 | セキュリティ強度 | 主な用途 |
|---|---|---|---|---|
md5sum ファイル名 |
MD5 | 128bit | 低(衝突リスクあり) | 簡易確認・レガシー互換 |
sha1sum ファイル名 |
SHA-1 | 160bit | 中(衝突実証済み) | 後方互換用 |
sha256sum ファイル名 |
SHA-256 | 256bit | 高(現行標準) | ダウンロード検証・標準推奨 |
sha512sum ファイル名 |
SHA-512 | 512bit | 非常に高 | 高セキュリティ要件 |
実務での活用Tips
1. Linuxディストリビューションのダウンロード検証手順
RHELやUbuntuの公式サイトでは、ISOファイルとともにチェックサムファイルが提供されています。以下の手順でインストール前に検証してください。# ステップ1: ISOとチェックサムファイルが同じディレクトリにあることを確認 [admin@web01 download]$ ls -lh -rw-r--r--. 1 admin admin 9.4G May 8 09:00 rhel-9.4-x86_64-dvd.iso -rw-r--r--. 1 admin admin 100 May 8 09:00 SHA256SUM # ステップ2: チェックサムファイルの内容を確認(公式値の目視確認) [admin@web01 download]$ cat SHA256SUM a387f1f19cb95b6f8cdb428b22f3c4c9c79c64e8fe2afb5b03f5e92c069de29d rhel-9.4-x86_64-dvd.iso # ステップ3: sha256sum -c で検証実行 # verify: compare downloaded file against official SHA256SUM [admin@web01 download]$ sha256sum -c SHA256SUM rhel-9.4-x86_64-dvd.iso: OK
2. バックアップファイルの整合性を定期確認するスクリプト
定期バックアップを行っている環境では、バックアップ直後にチェックサムを生成し、次回起動時に検証することでストレージ障害やビット腐食を早期に検出できます。#!/bin/bash # バックアップ整合性確認スクリプト BACKUP_DIR="/backup/daily" CHECKSUM_FILE="${BACKUP_DIR}/.checksums.sha256" # 前回のチェックサムが存在する場合は先に検証 if [ -f "${CHECKSUM_FILE}" ]; then echo "前回チェックサムを検証中..." sha256sum -c "${CHECKSUM_FILE}" --quiet if [ $? -ne 0 ]; then echo "[ERROR] チェックサム不一致。ファイルが変更された可能性があります" >&2 exit 1 fi echo "前回分: 整合性OK" fi # 今回のバックアップのチェックサムを生成・更新 sha256sum "${BACKUP_DIR}"/*.tar.gz > "${CHECKSUM_FILE}" echo "チェックサムを更新しました: ${CHECKSUM_FILE}"
3. RPMパッケージのハッシュ検証との違い
RHELやCentOS環境では、RPMパッケージ自体に署名とハッシュが内包されています。インストール済みパッケージの整合性を確認する場合は sha256sum ではなくrpm -V コマンドを使います。rpm コマンドの使い方も合わせて参照してください。sha256sum が活躍するのは「RPMパッケージをダウンロードしてインストールする前」や「公式リポジトリ外からファイルを取得したとき」です。
「WARNING: 1 computed checksum did NOT match」エラーが出たときの対処法
このエラーは、ファイルのハッシュ値が記録された値と一致しない場合に表示されます。主な原因と対処法を確認してください。原因1:ダウンロード中の破損
ネットワーク障害や不安定な接続が原因でファイルが破損した可能性があります。
→ ファイルをダウンロードし直してから再検証してください。
原因2:チェックサムファイルが古い・ミラーサイトからの取得
配布ミラーサイトのチェックサムファイルが更新前のものだった可能性があります。
→ 公式サイトから直接チェックサムファイルを再取得し、HTTPSで提供されていることを確認してください。
原因3:テキストモードとバイナリモードの混在
WindowsとLinux間でファイルをやり取りした場合、改行コード変換によりハッシュ値が変わることがあります。
→ チェックサムファイルの2列目先頭が「*」かスペースかを確認し、統一してください。
原因4:ファイル名のパスが一致しない
チェックサムファイルに記録されたパスとファイルの実際のパスが異なる場合にも FAILED になります。
→ sha256sum -c を実行するディレクトリとチェックサムファイルが同じ階層にあることを確認してください。
# チェックサムファイルの内容を確認してパスの食い違いを確認する cat checksum.sha256 # 正: ファイル名のみ(相対パス) a387f1... rhel-9.4-x86_64-dvd.iso # 誤: 絶対パスで記録されているとパスが合わない場合がある a387f1... /home/admin/download/rhel-9.4-x86_64-dvd.iso
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| ファイルのSHA256ハッシュ値を計算する | sha256sum ファイル名 |
| ハッシュ値をファイルに保存する | sha256sum ファイル名 > ファイル名.sha256 |
| チェックサムファイルで一括検証する | sha256sum -c チェックサムファイル |
| 問題のあるファイルのみ表示する | sha256sum -c チェックサムファイル --quiet |
| 終了コードのみ取得する(スクリプト用) | sha256sum -c チェックサムファイル --status |
| MD5ハッシュ値を計算する | md5sum ファイル名 |
| SHA-512ハッシュ値を計算する | sha512sum ファイル名 |
sha256sumで安全を確認したら、次はサーバー構築の基礎を固めませんか?
セキュリティの基本を押さえれば、Linuxサーバー管理の安心感は大きく変わります。その力を活かして、体系的にLinuxサーバー構築を学んでみませんか。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:gpgコマンドでファイルを暗号化・復号する方法|鍵管理から実務活用まで
- この記事の属するカテゴリ:Linuxtips・セキュリティ管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます