困ったとき貼り付けて調べる
エラーを特定
画面に出たエラーメッセージを下の欄に貼り付けて「特定する」を押すと、この実験で起こりうるエラーの中から一致するものを探し、意味・考えられる原因・確かめるコマンド・直し方を表示します。
エラーメッセージから探す
貼り付けた文は、このブラウザの中だけで調べます。どこにも送信されず、保存もされません。
うまく見つからないとき
- エラーの行を丸ごと貼る:英語のエラーは、決まった言い回しの部分(
Permission denied、Connection refusedなど)で探しています。IPアドレスやファイル名が入っていてもかまいません。前後の数行やログをまとめて貼ってもよく、含まれるエラーをすべて探します - コピーできない画面では、目立つ英語を数語だけ打つ:Proxmoxのコンソールの文字はコピーしにくいので、
not foundやtimed outのような特徴のある言葉だけを打ち込みます。日本語で「文字化け」「ロック」のように打っても、題名から探します - いちばん下の行を見る:Pythonの
Tracebackやjournalctlのログでは、エラーの中身は最後のほうに出ます - それでも見つからなければ:トラブル対処集で症状から探すか、AIに相談するときの型を使います。パスワードや秘密鍵の中身は、どこにも貼り付けないでください
結果の「エラー」「注意」「心配いらない表示」は、その表示の重さの目安です。「心配いらない表示」は、エラーのように見えても対処の必要がないものです。
登録されているエラーの一覧
全 172 件。分野を選ぶと、その見出しへ移動します。
コマンド全般・Linux エディタ(nano・vim) パッケージ(apt) ネットワーク・Netplan・時刻 サービス・sudo Proxmox・インストール SSH・鍵・scp ファイアウォール・接続確認 Windows・PowerShell Docker・Compose・YAML Nginx・ブラウザ curl GoAccess DNS(BIND9・nslookup・dig) Ollama・Open WebUI Python・自作チャット
コマンド全般・Linux16件
エラーコマンドが見つからない(Ubuntu)Ubuntu
表示の例command not found not found, did you mean
打ったコマンドの名前が、Ubuntuの中に見つかりません。
考えられる原因
- 綴りの打ち間違い、大文字と小文字の違い
- まだインストールしていない(
docker、dig、ollamaなど) - Windows用のコマンドをUbuntuで打った(
ipconfig、Test-NetConnection、Get-ChildItemなど) - 全角の文字やスペースが混ざっている
確かめる
type コマンド名直し方
- プロンプトを見て、正しい画面に打っているか確かめる
- 指導書と1文字ずつ見比べて打ち直す(日本語入力はオフに)
- 必要なものを入れる。例:
digならsudo apt install -y dnsutils
エラーコマンドが見つからない(PowerShell)Windows
表示の例is not recognized as として認識されません CommandNotFoundException
打ったコマンドの名前が、Windowsの中に見つかりません。
考えられる原因
- Ubuntu用のコマンドをWindowsで打った(
ip a、sudo、nano、systemctlなど) - 綴りの打ち間違い
sshで出た場合は、WindowsのOpenSSHクライアントが入っていない(Windows 11では通常は最初から入っている)
直し方
- Ubuntuで打つべきコマンドなら、先に
ssh t3admin@192.168.100.xxxで接続してから打つ - 作業区分ラベルを見直す
関連作業区分ラベル
エラー指導書の <user> や [自分のIP] をそのまま打ったUbuntu/Windows
表示の例operator is reserved for future use 今後の使用のために予約されています RedirectionNotSupported syntax error near unexpected token user: No such file or directory
< や > が「ファイルから読む・ファイルへ書く」という記号として解釈されました。
考えられる原因
- 指導書の
<user>、192.168.100.xxx、[自分のIP]を、自分の値に書き換えずに打った
直し方
<user>はt3admin、xxxはxxx(IPアドレスは192.168.100.xxx)に置き換える- このガイドで番号を設定すると、置き換え済みのコマンドをコピーできる
エラーPermission denied(権限がない)Ubuntu
エラーNo such file or directory(ファイルが見つからない)Ubuntu/Windows
表示の例No such file or directory そのようなファイルやディレクトリはありません Cannot find path パスが存在しないため検出できません
指定した場所に、そのファイルやディレクトリがありません。
考えられる原因
- パスの打ち間違い、大文字と小文字の違い
- 今いる場所が違う(相対パスで指定した)
- まだ作っていない(
mkdirやnanoの前) - Windows PowerShell 5.1 で
~を使った(~が自分のフォルダに置き換わらない)
確かめる
pwd
ls -la直し方
pwdで今いる場所を、lsで中身を確かめてから打ち直す- 絶対パス(
/から始まる書き方)で指定する - Windowsでは
~の代わりに$env:USERPROFILEを使う
エラーコピー元が見つからない(cp: cannot stat)Ubuntu
表示の例cannot stat
コピーしようとしたファイルが、その場所にありません。
考えられる原因
- ファイル名が違う(1日目の Netplan の元のファイルは、環境によって
50-cloud-init.yaml以外の名前のことがある) - 今いる場所が違う
確かめる
pwd
ls /etc/netplan直し方
lsで実際のファイル名を確かめ、その名前でコピーし直す
関連1日目 手順14
エラーsudo のパスワードが通らないUbuntu
表示の例Sorry, try again incorrect password attempt
sudo で入力したパスワードが違っていました。
考えられる原因
- 入力が画面に出ないため、打ち間違いに気づかない
- キーボードの配列の設定が違い、記号の位置がずれている(インストールで Japanese を選ばなかった)
- Caps Lock がオンになっている
直し方
- ゆっくり打ち直す。パスワードは自分(t3admin)のもの
- 記号を含むパスワードで失敗し続けるなら、キーボードの配列を疑う
エラーsudo が許可されていないUbuntu
表示の例is not in the sudoers file may not run sudo
このユーザーには sudo の権限が与えられていません。
考えられる原因
- インストールで作ったユーザー以外でログインしている
- sudoers の設定を変えてしまった
確かめる
id直し方
- インストールで作ったユーザー(t3admin)でログインし直す
idの結果に27(sudo)がなければ、教員に相談する
関連1日目 手順10
注意sudo: unable to resolve host(ホスト名が見つからない)Ubuntu
表示の例unable to resolve host
自分自身のホスト名を、名前からIPアドレスに変換できません。多くの場合、コマンドそのものは実行されています。
考えられる原因
- ホスト名を変えたのに、
/etc/hostsの127.0.1.1の行を直していない /etc/hostsを編集したときに、その行を消してしまった
確かめる
hostname
cat /etc/hosts直し方
sudo nano /etc/hostsで、127.0.1.1の行を今のホスト名(hostnameの結果)に合わせる
エラースクリプトが実行できない(Windowsの改行コード)Ubuntu
表示の例bad interpreter \r': command not found $'\r' ^M
Windowsの改行コード(CRLF)が混ざったスクリプトを、Linuxで実行しようとしました。
考えられる原因
- Windowsのメモ帳などで作ったファイルを、そのままサーバーに送った
直し方
- Ubuntuの上で
nanoを使って作り直す - 作り直さない場合は、
sed -i 's/\r$//' ファイル名で改行コードを直す
エラーunbound variable(値のない変数)Ubuntu
エラーIs a directory/Not a directoryUbuntu
表示の例Is a directory Not a directory
ファイルを指定すべきところにディレクトリを指定した(またはその逆)。
考えられる原因
- パスの最後の名前が違う(
/opt/nginxと/opt/nginx/compose.yamlなど)
確かめる
ls -l 指定したパス直し方
- ファイル名まで含めて指定し直す
関連パス
エラーKilled(メモリ不足で強制終了)Ubuntu
表示の例Killed Out of memory oom-kill Killed process
メモリが足りなくなり、プログラムが強制的に終了させられました。
考えられる原因
- 仮想マシンのメモリ(1024 MB)に対して、動かしているものが多い(Ollamaのモデル、Open WebUI など)
- 大きなモデルを試した
確かめる
free -h
sudo docker stats --no-stream
sudo dmesg | grep -i -E "out of memory|killed process"直し方
- 使っていないコンテナを止める(3日目の whoami など)
- 小さなモデル(qwen2.5:0.5b)に戻す
- それでも足りなければ、メモリを増やせるか教員に相談する
関連トラブル対処集
心配いらない表示画面が止まって入力できない(1画面ずつの表示)Ubuntu
表示の例(END) lines 1-
長い出力を1画面ずつ見せる表示(ページャ)になっています。壊れてはいません。
考えられる原因
systemctl statusやjournalctlの出力が長い
直し方
- q を押すと抜けられる。Space で次の画面、↑↓ で1行ずつ動く
関連困ったときのキー
エラーdmesg が読めないUbuntu
表示の例read kernel buffer failed Operation not permitted
カーネルのメッセージを読む権限がありません。
考えられる原因
- Ubuntuでは、一般ユーザーが dmesg を読めない設定になっていることがある
直し方
sudo dmesg | tail -n 30のように sudo を付ける
関連1日目 手順7
心配いらない表示複数行の貼り付けの確認(Windows Terminal)Windows
表示の例paste text that contains multiple lines 複数行 複数の行
複数行のテキストを貼り付けようとしたときの確認です。そのまま貼ると、1行ずつ順に実行されます。
考えられる原因
- コマンドをまとめてコピーした
直し方
- 中身を確かめてから「貼り付け」を選ぶ
- エラーが出たときに原因を追いやすいよう、慣れるまでは1行ずつ実行してもよい
エディタ(nano・vim)5件
エラーnano で保存できない(Error writing)Ubuntu
表示の例Error writing Permission denied ]
ファイルを書き込む権限がないまま nano で開いていたため、保存できませんでした。
考えられる原因
sudoを付けずにnano /etc/…で開いた
直し方
- 書いた内容を控えるかコピーしてから、Ctrl+X → N(保存しない)で閉じる
sudo nano ファイル名で開き直して、もう一度書く
関連エディタ
心配いらない表示nano の「Save modified buffer?」「File Name to Write」Ubuntu
表示の例Save modified buffer File Name to Write
エラーではなく、nano からの確認です。
考えられる原因
- 保存せずに閉じようとした(Save modified buffer?)
- 保存しようとした(File Name to Write)
直し方
- Save modified buffer? には、保存するなら Y、しないなら N
- File Name to Write には、名前を変えずにそのまま Enter
関連エディタ
エラーvim で保存できない(E45・E212)Ubuntu
表示の例E45 readonly' option is set E212 Can't open file for writing
書き込む権限のないファイルを vim で開いていたため、保存できません。
考えられる原因
sudoを付けずに開いた
直し方
- Esc →
:q!→ Enter で保存せずに閉じ、sudo nano ファイル名(またはsudo vim)で開き直す
関連エディタ
心配いらない表示vim の E37: No write since last changeUbuntu
心配いらない表示vim から抜けられないUbuntu
表示の例-- INSERT -- -- 挿入 -- to exit Vim
vim の中にいます。文字を打つモードと命令するモードがあります。
直し方
- Esc を2〜3回押してから
:q!→ Enter(保存せずに終了)
関連エディタ
パッケージ(apt)11件
エラーapt が使用中(Could not get lock)Ubuntu
表示の例Could not get lock Waiting for cache lock is held by process
ほかのプログラムがaptを使っている最中なので、待たされています。
考えられる原因
- 起動した直後で、Ubuntuが裏で自動更新をしている
- 別の画面(SSHのタブなど)で apt を実行中
確かめる
ps aux | grep -i -E "apt|unattended"直し方
- 数分待ってからやり直す
- ロックのファイルを消すなどの無理な操作はしない
関連トラブル対処集
エラーapt で「are you root?」Ubuntu
表示の例are you root? Could not open lock file
管理者の権限がないまま apt を実行しました。
考えられる原因
sudoの付け忘れ
直し方
sudo apt …と打ち直す
エラーapt で Failed to fetchUbuntu
表示の例Failed to fetch http Some index files failed to download Could not connect to Unable to connect to
パッケージの配布元からファイルを取ってこられませんでした。
考えられる原因
- ネットワークやゲートウェイの設定の誤り
- 一時的に配布元が混んでいる
確かめる
ping -c 3 www.google.co.jp直し方
- ネットワークを確かめ、時間をおいて
sudo apt updateからやり直す
関連トラブル対処集
エラーパッケージが見つからない(Unable to locate package)Ubuntu
表示の例Unable to locate package has no installation candidate
その名前のパッケージが、カタログの中に見つかりません。
考えられる原因
- パッケージ名の打ち間違い(
docker-compose-v2、qemu-guest-agentなど) sudo apt updateをまだ一度も実行していない
直し方
sudo apt updateを実行してから、名前を確かめてインストールし直す
関連1日目 手順9
エラーdpkg was interrupted(途中で止まった)Ubuntu
表示の例dpkg was interrupted dpkg --configure -a
前回のインストールや更新が途中で止まり、中途半端な状態になっています。
考えられる原因
- 更新の途中で電源を切った、SSHの接続が切れた
直し方
sudo dpkg --configure -aを実行してから、元の操作をやり直す
エラーapt の Sub-process … returned an error codeUbuntu
表示の例Sub-process /usr/bin/dpkg returned an error code Errors were encountered while processing
パッケージの設定の途中でエラーが起きました。本当の原因は、この表示より上に出ています。
考えられる原因
- 途中で止めた更新が残っている
- ディスクの空きがない
- パッケージの設定の失敗
確かめる
df -h直し方
- この表示より上のエラーの文を読み、このページで調べ直す
sudo dpkg --configure -aとsudo apt -f installを試してから、元の操作をやり直す
心配いらない表示The following packages have been kept backUbuntu
表示の例have been kept back kept back
一部のパッケージの更新が、段階的に配布するなどの理由で見送られたという表示です。エラーではありません。
直し方
- 実験の範囲では、そのままでかまわない
関連1日目 手順9
エラーapt で「is not valid yet」(時計のずれ)Ubuntu
表示の例is not valid yet invalid for another
サーバーの時計が遅れているため、配布元の情報が「まだ有効期間になっていない」と判断されました。
考えられる原因
- 時刻合わせ(NTP)がうまくいっていない
確かめる
timedatectl status直し方
- 1日目 手順8の時刻合わせを見直し、
System clock synchronized: yesになってから apt をやり直す
関連1日目 手順8
心配いらない表示System restart required(再起動が必要)Ubuntu
表示の例System restart required Pending kernel upgrade Newer kernel available
カーネルなどが更新されたので、再起動すると新しいものに切り替わる、という知らせです。
直し方
- 区切りのよいところで
sudo reboot
関連1日目 手順9
心配いらない表示Which services should be restarted?(色つきの画面)Ubuntu
表示の例Which services should be restarted Daemons using outdated libraries
更新したソフトを使っているサービスを再起動するかの確認です。
直し方
- 基本はそのまま Enter(OK)で進める
関連1日目 手順9
ネットワーク・Netplan・時刻9件
エラー名前をIPアドレスに変換できない(Temporary failure in name resolution)Ubuntu
表示の例Temporary failure in name resolution Name or service not known
名前(www.google.co.jp など)を、IPアドレスに変換できませんでした。
考えられる原因
- Netplanの
nameserversの設定の誤り(字下げ、値) - ネットワークそのものにつながっていない
- 名前の打ち間違い
確かめる
ping -c 3 192.168.100.1
resolvectl status直し方
- IPアドレスなら届く場合は、
/etc/netplan/99-custom.yamlのnameserversを見直してsudo netplan apply - IPアドレスでも届かない場合は、ネットワークの項目へ
エラーNetwork is unreachable(外への道が分からない)Ubuntu
表示の例Network is unreachable
宛先へ向かう道(経路)が設定されていません。
考えられる原因
- Netplanの
routes(ゲートウェイ)の設定の誤り - NICの名前(ens18)の間違いで、設定そのものが効いていない
確かめる
ip a
ip route直し方
ip routeにdefault via 192.168.100.1があるか確かめ、なければ Netplan の設定を直してsudo netplan apply
関連1日目 手順14
エラー相手に届かない(Destination Host Unreachable・No route to host)Ubuntu/Windows
表示の例Destination Host Unreachable No route to host 宛先ホストに到達できません
相手のIPアドレスの機器が、ネットワーク上に見つかりません。
考えられる原因
- 相手(VM)が止まっている
- IPアドレスの打ち間違い、固定IPの設定の誤り
- ほかの人とIPアドレスが重なっている
確かめる
(ProxmoxでVMが「実行中」になっているか見る)
ip a直し方
- VMを起動し、
ip aで自分のアドレスが 192.168.100.xxx になっているか確かめる
関連トラブル対処集
エラーping の応答がない(100% packet loss・要求がタイムアウトしました)Ubuntu/Windows
表示の例100% packet loss Request timed out 要求がタイムアウトしました
送った確認の信号に、相手から返事がありませんでした。
考えられる原因
- 相手が止まっている、アドレスの誤り
- 途中で遮られている
確かめる
ip a
ip route直し方
- まず同じネットワークのゲートウェイ(
ping -c 3 192.168.100.1)に届くかを確かめ、どこまで届くかで原因をしぼる
関連トラブル対処集
注意Netplan の Permissions … are too openUbuntu
表示の例Permissions for /etc/netplan Netplan configuration should NOT be accessible
Netplanの設定ファイルを、ほかのユーザーも読める状態になっているという警告です。
考えられる原因
- ファイルの権限が
600より緩い
直し方
sudo chmod 600 /etc/netplan/99-custom.yaml
関連1日目 手順14
エラーNetplan の Error in network definitionUbuntu
表示の例Error in network definition unknown key expected sequence expected mapping
Netplanの設定ファイルの中身(項目の名前や形)が正しくありません。
考えられる原因
- 項目名の打ち間違い(
adresses、nameserverなど) - 一覧で書くべきところ(
- 192.168.100.xxx/24)をそう書いていない - 字下げの深さが違い、項目が別の場所に入っている
確かめる
sudo netplan generate直し方
- 表示された行の前後を、このガイドの例と字下げの深さまで見比べる
関連YAMLの読み方
心配いらない表示netplan apply の Cannot call Open vSwitchUbuntu
表示の例Cannot call Open vSwitch ovsdb-server.service is not running
使っていない機能(Open vSwitch)についての警告で、設定の反映には影響しません。
確かめる
ip a直し方
- 気にしなくてよい。
ip aで設定が反映されたかを確かめる
関連1日目 手順14
エラー時刻が同期しない(System clock synchronized: no)Ubuntu
表示の例System clock synchronized: no NTP service: inactive Timed out waiting for reply from
時刻合わせがまだ済んでいないか、NTPサーバーと通信できていません。
考えられる原因
/etc/systemd/timesyncd.confの#を消し忘れた、NTP=の綴りの誤り- 設定を書き換えたあとに、サービスを再起動していない
timedatectl set-ntp trueを実行していない- 同期に少し時間がかかっている
確かめる
cat /etc/systemd/timesyncd.conf
timedatectl show-timesync --all
journalctl -u systemd-timesyncd -n 30直し方
- 設定を直して
sudo systemctl restart systemd-timesyncd - 数十秒待ってから
timedatectl statusを見直す
関連1日目 手順8
心配いらない表示時刻が9時間ずれて見える(Time zone: Etc/UTC)Ubuntu
表示の例Time zone: Etc/UTC Etc/UTC (UTC, +0000)
世界の基準時刻(UTC)で表示されているだけで、時計そのものは合っています。
直し方
System clock synchronized: yesなら同期は成功している。タイムゾーンを変えるかは授業の指示に従う
関連1日目 手順8
サービス・sudo9件
エラーサービスが見つからない(Unit … not found)Ubuntu
表示の例Unit … not found could not be found Unit file … does not exist
指定した名前のサービスがありません。
考えられる原因
- サービス名の打ち間違い(
systemd-timesyncd、qemu-guest-agentなど) - まだインストールしていない
確かめる
systemctl list-units --type=service | grep 名前の一部直し方
- 正しい名前で打ち直す。Ubuntuでは SSH は
ssh、DNS はbind9(正式名 named)
関連1日目 手順6
エラーJob for … failed(サービスの起動に失敗)Ubuntu
表示の例Job for … failed failed because the control process exited with error code journalctl -xeu
サービスを起動・再起動しようとしましたが、失敗しました。
考えられる原因
- 設定ファイルの書き間違い(多くの場合これ)
- 同じポートをほかのプログラムが使っている
確かめる
sudo systemctl status サービス名
sudo journalctl -xeu サービス名 -n 30直し方
- ログの最後のほうに出ているエラーの文を、このページで調べ直す
- 書式を検査するコマンドがあるサービスは、それで確かめる(
sudo sshd -t、sudo named-checkconfなど)
エラーActive: failed(サービスが失敗している)Ubuntu
表示の例Active: failed Result: exit-code (code=exited, status= failed with result
サービスが起動に失敗したか、途中で止まりました。
考えられる原因
- 設定ファイルの誤り
- 必要なものがない
確かめる
sudo journalctl -u サービス名 -n 30直し方
- ログのエラーの文を読み、原因を直してから
sudo systemctl restart サービス名
関連1日目 手順6
注意Active: inactive (dead)(サービスが止まっている)Ubuntu
表示の例inactive (dead)
サービスが動いていません。
考えられる原因
- まだ起動していない、自動起動が有効になっていない
直し方
sudo systemctl enable --now サービス名で、自動起動を有効にして今すぐ起動する
関連1日目 手順6
心配いらない表示The unit files have no installation configUbuntu
表示の例have no installation config no installation config
このサービスは自動起動の設定を持たず、必要なときに自動で起動する仕組みだという説明です。
考えられる原因
qemu-guest-agentでenableを実行した
確かめる
systemctl status qemu-guest-agent直し方
active (running)なら問題ない
関連1日目 手順12
エラーQEMU Guest Agent が起動しないUbuntu
注意Proxmoxの「Guest Agent not running」Proxmox
表示の例Guest Agent not running QEMU guest agent is not running
ProxmoxからVMの中の Guest Agent に連絡がつきません。
考えられる原因
- Ubuntu側に qemu-guest-agent を入れていない、または動いていない
確かめる
systemctl status qemu-guest-agent直し方
- 1日目 手順11・12をやり直す
関連1日目 手順12
エラーvisudo の syntax error(What now?)Ubuntu
表示の例What now? syntax error near line >>> /etc/sudoers
sudoers に書き間違いがあるので、保存する前に止めてくれています。
考えられる原因
- visudo で開いたファイルを、うっかり書き換えた
直し方
- e(もう一度編集)で直すか、x(保存せずに終了)を選ぶ。Q(保存して終了)は選ばない
関連1日目 手順10
エラーsudo が使えなくなった(parse error in /etc/sudoers)Ubuntu
表示の例parse error in /etc/sudoers no valid sudoers sources found unable to initialize policy plugin
sudoers の設定が壊れているため、sudo そのものが動きません。
考えられる原因
- visudo を使わずに sudoers を書き換えた
直し方
pkexec visudoで直せる場合がある- 直せなければ、壊す前のスナップショットに戻すか、教員に相談する
Proxmox・インストール12件
エラーProxmoxにログインできないProxmox
表示の例Login failed ログインに失敗しました
ユーザー名・パスワード・Realmの組み合わせが違います。
考えられる原因
- Realm が「Proxmox VE authentication server」になっていない
- ユーザー名やパスワードの打ち間違い
直し方
- Realm を確かめてから入力し直す。分からなければ教員に確認する
関連1日目 手順1
エラーProxmoxの「401: No ticket」Proxmox
表示の例No ticket 401 Unauthorized
ログインの有効期限が切れました。
考えられる原因
- 長い時間、画面を開いたままにしていた
直し方
- ページを再読み込みして、ログインし直す
心配いらない表示Proxmoxの「有効なサブスクリプションがありません」Proxmox
表示の例valid subscription サブスクリプション
有料サポートの契約がないという案内で、使うのに問題はありません。
直し方
- OKを押して閉じる
注意証明書の警告(この接続ではプライバシーが保護されません)ブラウザ
表示の例ERR_CERT プライバシーが保護されません Your connection is not private
接続先のサーバーの証明書を、ブラウザが確かめられなかったという警告です。
考えられる原因
- 学内向けの証明書を使っている(Proxmoxでよくある)
直し方
- 進んでよいかは教員の指示に従う。ほかのサイトで同じ警告を無視する習慣はつけない
関連1日目 手順1
エラーVMが作れない(already exists)Proxmox
表示の例already exists on node VM … already exists config file already exists
そのVM IDは、すでに使われています。
考えられる原因
- VM IDの計算の誤り(100+学生番号の下2桁)
- 同じVMを2回作ろうとした
直し方
- VM ID が 1XX で正しいか確かめる。ほかの人の番号とぶつかっている場合は教員に相談する
関連1日目 手順2
エラーVM is locked(VMがロック中)Proxmox
表示の例VM is locked is locked (snapshot) is locked (backup)
スナップショットの作成などの処理中なので、ほかの操作を受け付けません。
考えられる原因
- スナップショットやバックアップの処理が終わっていない
直し方
- しばらく待つ。長く続く場合は教員に相談する
関連1日目 手順4
エラーVMが起動しない(start failed・QEMU exited)Proxmox
表示の例QEMU exited with code start failed
VMの起動に失敗しました。
考えられる原因
- 物理サーバーのメモリが足りない
- VMの設定の誤り
直し方
- Proxmoxの画面下の「タスク」のログを開き、表示された内容を教員に伝えて相談する
エラースナップショットが取れないProxmox
表示の例snapshot feature is not available snapshot is not supported
VMのディスクを置いた場所が、スナップショットに対応していません。
考えられる原因
- ディスクのストレージを
local-lvmにしなかった
直し方
- 教員に相談する(ディスクを移すか、作り直す)
関連1日目 手順2
エラーコンソールが映らないProxmox
表示の例Failed to connect to server Guest has not initialized the display
VMの画面に接続できないか、まだ画面が出ていません。
考えられる原因
- VMが起動していない
- 起動の途中
直し方
- 「開始」を押してから、少し待ってコンソールを開き直す
関連1日目 手順5
エラーLogin incorrect(コンソールでログインできない)Ubuntu
表示の例Login incorrect
ユーザー名かパスワードが違います。
考えられる原因
- ユーザー名は
t3admin - パスワードの打ち間違い(入力は見えない)、キーボードの配列の違い、Caps Lock
直し方
- ゆっくり打ち直す
心配いらない表示Please remove the installation medium, then press ENTERProxmox
表示の例Please remove the installation medium then press ENTER
インストールが終わり、再起動する前の案内です。
直し方
- Enter を押す。そのあとでISOを取り出しておく
関連1日目 手順3
SSH・鍵・scp21件
エラーSSHの Connection timed outWindows
表示の例connect to host … port 22: Connection timed out port 22: Connection timed out
SSHの窓口(22番)に、時間内に届きませんでした。
考えられる原因
- VMが止まっている
- IPアドレスの打ち間違い
- ufwで22番を許可していない
確かめる
Test-NetConnection 192.168.100.xxx -Port 22sudo ufw status
ip a直し方
- Proxmoxのコンソールから
sudo ufw allow 22/tcp - IPアドレスを確かめて打ち直す
関連トラブル対処集
エラーSSHの Connection refusedWindows
表示の例port 22: Connection refused connect to host … port … Connection refused
門は開いていますが、SSHのサーバーが動いていないので断られました。
考えられる原因
- SSHのサーバーが止まっている、設定の誤りで起動できない
確かめる
systemctl status ssh
sudo sshd -t直し方
- 設定の誤りを直してから
sudo systemctl start ssh
関連トラブル対処集
エラーCould not resolve hostnameWindows
表示の例Could not resolve hostname No such host is known そのようなホストは不明です
接続先の名前を、IPアドレスに変換できませんでした。
考えられる原因
@の後ろの打ち間違い- 名前で指定したが、Windows側でその名前を解決できない
直し方
ssh t3admin@192.168.100.xxxのようにIPアドレスで指定する
エラーPermission denied (publickey)Windows
表示の例Permission denied (publickey
サーバーが、鍵による本人確認を受け入れませんでした。
考えられる原因
- 公開鍵が
authorized_keysに正しく登録されていない ~/.sshやauthorized_keysの権限が緩すぎる- 違う秘密鍵を指定している、ユーザー名が違う
- 確認のために
ssh-keygenで鍵を上書きしてしまった
確かめる
ls -ld ~/.ssh
ls -l ~/.ssh/authorized_keys
cat ~/.ssh/authorized_keys
sudo journalctl -u ssh -n 30ssh -v -i $env:USERPROFILE\.ssh\id_ed25519 t3admin@192.168.100.xxx直し方
chmod 700 ~/.sshとchmod 600 ~/.ssh/authorized_keys- パスワード認証を止めていて入れない場合は、Proxmoxのコンソールから直す
エラーPermission denied, please try againWindows
表示の例Permission denied, please try again
SSHのパスワードが違います。
考えられる原因
- 打ち間違い(入力は見えない)
- ユーザー名の誤り
直し方
- ユーザー名が t3admin か確かめ、ゆっくり打ち直す
関連2日目 手順4
エラーREMOTE HOST IDENTIFICATION HAS CHANGEDWindows
表示の例REMOTE HOST IDENTIFICATION HAS CHANGED Host key verification failed Offending
以前に接続したときと、サーバーの鍵(指紋)が変わっています。
考えられる原因
- VMを作り直した、Ubuntuを入れ直した
- (心当たりがなければ)なりすましの可能性
直し方
- 作り直したことが確かなら、Windowsで
ssh-keygen -R 192.168.100.xxxを実行してから接続し直す - 心当たりがなければ教員に相談する
関連トラブル対処集
心配いらない表示Permanently added … to the list of known hostsWindows
表示の例Permanently added to the list of known hosts
接続先のサーバーの指紋を記録したという知らせです。エラーではありません。
直し方
- そのまま続けてよい
関連2日目 手順4
心配いらない表示Are you sure you want to continue connecting?Windows
表示の例Are you sure you want to continue connecting Please type 'yes', 'no' or the fingerprint authenticity of host
初めて接続するサーバーの確認です。
考えられる原因
yだけを打つと、yesと打つよう求められる
直し方
yesと最後まで打って Enter
関連2日目 手順4
エラー秘密鍵の権限が緩すぎる(UNPROTECTED PRIVATE KEY FILE)Windows
表示の例UNPROTECTED PRIVATE KEY FILE Bad permissions private key files are NOT accessible by others
秘密鍵のファイルをほかのユーザーも読める状態なので、ssh が使うのを拒みました。
考えられる原因
- 秘密鍵のファイルを別の場所からコピーした、共有フォルダに置いた
直し方
- Windowsでは、次のようにして自分だけが読める権限にする(学校のPCで変更できない場合は教員に相談)
icacls $env:USERPROFILE\.ssh\id_ed25519 /inheritance:r /grant:r "${env:USERNAME}:(R)"
関連2日目 手順5
エラー秘密鍵のファイルが見つからない(no such identity)Windows
表示の例no such identity Identity file … not accessible
-i で指定した秘密鍵のファイルがありません。
考えられる原因
- パスの打ち間違い、鍵を別の名前で作った
確かめる
Get-ChildItem $env:USERPROFILE\.ssh直し方
- 実際のファイル名に合わせて指定し直す
関連2日目 手順6
エラーToo many authentication failuresWindows
表示の例Too many authentication failures
試した鍵や方法が多すぎて、サーバーに断られました。
考えられる原因
- 手元にたくさんの鍵があり、順に試しているうちに上限に達した
直し方
ssh -i $env:USERPROFILE\.ssh\id_ed25519 -o IdentitiesOnly=yes t3admin@192.168.100.xxxのように、使う鍵を1つに指定する
注意SSHの接続が切れた(Connection closed・Broken pipe)Windows
表示の例client_loop: send disconnect closed by remote host Broken pipe Connection to … closed
SSHの接続が途中で切れました。
考えられる原因
- VMを再起動・停止した
netplan applyでIPアドレスが変わった- 長い時間操作しなかった、ネットワークが一時的に切れた
直し方
- もう一度
sshで接続する。IPアドレスを変えた場合は新しいアドレスで
エラーkex_exchange_identification / Connection resetWindows
表示の例kex_exchange_identification Connection reset by
接続の最初のやり取りの途中で、相手に切られました。
考えられる原因
- SSHのサーバーの再起動中
- 接続先のポートがSSHではない
確かめる
systemctl status ssh直し方
- 少し待ってから接続し直す。ポート番号を確かめる
エラーsshd_config の書き間違い(Bad configuration option)Ubuntu
表示の例Bad configuration option unsupported option sshd_config line sshd_config: line
SSHのサーバーの設定ファイルに、知らない項目名や書き間違いがあります。
考えられる原因
- 項目名の綴りの誤り(
PasswordAuthentificationなど) - 値の誤り(yes/no 以外)
確かめる
sudo sshd -t直し方
- 表示された行番号の行を
sudo nano /etc/ssh/sshd_configで直し、sudo sshd -tで何も表示されなくなってから再起動する
関連2日目 手順7
注意sshd -t の Missing privilege separation directoryUbuntu
表示の例Missing privilege separation directory /run/sshd
sshd が使う作業用のディレクトリがまだない、という表示です。設定の誤りではありません。
考えられる原因
- Ubuntuでは、SSHのサーバーが接続を受けるまでこのディレクトリが作られないことがある
直し方
sudo mkdir -p /run/sshdを実行してから、もう一度sudo sshd -t
関連2日目 手順7
注意パスワード認証を禁止したのに、パスワードで入れるUbuntu
表示の例PasswordAuthentication yes passwordauthentication yes
実際に効いている設定では、まだパスワード認証が有効になっています。
考えられる原因
/etc/ssh/sshd_config.d/の追加の設定ファイルが優先されている- 同じ項目がファイルの前のほうにもあり、そちらが使われている
- 設定のあとに再起動していない
確かめる
sudo sshd -T | grep -Ei 'passwordauthentication|kbdinteractiveauthentication'
ls /etc/ssh/sshd_config.d/直し方
- 2日目 手順7の説明を見て、どのファイルの値が効いているかを確かめる。追加の設定ファイルを書き換えるかは教員に相談する
関連2日目 手順7
エラーssh-keygen の Saving key … failedWindows
表示の例Saving key … failed
鍵を保存しようとした場所(フォルダ)がありません。
考えられる原因
.sshフォルダがまだない
直し方
- 先に
New-Item -ItemType Directory -Force -Path $env:USERPROFILE\.sshを実行してから、鍵を作り直す
関連2日目 手順5
注意ssh-keygen の Overwrite (y/n)?Windows
表示の例Overwrite (y/n) already exists.
同じ名前の鍵がすでにあります。
考えられる原因
- 確認のために、鍵を作るコマンドをもう一度打った
直し方
- 基本は n。y にすると鍵が作り直され、登録済みのサーバーに入れなくなる
心配いらない表示Enter passphrase for keyWindows
表示の例Enter passphrase for key Enter passphrase
秘密鍵にかけた合言葉(パスフレーズ)の入力を求めています。サーバーのパスワードとは別物です。
直し方
- 鍵を作るときに決めたパスフレーズを入力する
関連2日目 手順5
エラーscp でファイルが見つからない(Windowsの ~)Windows
表示の例~/.ssh/id_ed25519.pub: No such file ~/… No such file or directory
送り元のファイルが見つかりませんでした。
考えられる原因
- Windows PowerShell 5.1 では
~が自分のフォルダに置き換わらない - 今いるフォルダに送りたいファイルがない
確かめる
Get-ChildItem $env:USERPROFILE\.ssh直し方
scp $env:USERPROFILE\.ssh\id_ed25519.pub t3admin@192.168.100.xxx:~/id_ed25519.pubのように書く
エラーscp の送り先に書き込めない(dest open・Permission denied)Windows
表示の例dest open scp: … Permission denied
送り先の場所に書き込む権限がありません。
考えられる原因
- 送り先に
/etc/…などの管理者の場所を指定した
直し方
- いったん自分のホーム(
~/)に送り、サーバー側でsudo cpで移す
関連2日目 手順8
ファイアウォール・接続確認7件
エラーufw の You need to be rootUbuntu
表示の例You need to be root to run this script
ufw を管理者の権限なしで実行しました。
考えられる原因
sudoの付け忘れ
直し方
sudo ufw …と打ち直す
関連2日目 手順1
注意ufw の Status: inactiveUbuntu
表示の例Status: inactive
ファイアウォールが有効になっていません。
考えられる原因
sudo ufw enableを実行していない
直し方
sudo ufw allow 22/tcpのあとにsudo ufw enable
関連2日目 手順1
心配いらない表示ufw の Command may disrupt existing ssh connectionsUbuntu
表示の例Command may disrupt existing ssh connections Proceed with operation (y|n)
今のSSH接続が切れるかもしれないが続けるか、という確認です。
直し方
- 22番を許可してあれば y
関連2日目 手順1
心配いらない表示ufw の Rule added/Skipping adding existing ruleUbuntu
表示の例Skipping adding existing rule Rules updated Rule added
規則が追加された(またはすでにあった)という表示です。
直し方
sudo ufw status numberedで一覧を確かめる
関連2日目 手順2
エラーufw の書き方の誤り(Bad port・Invalid syntax)Ubuntu
表示の例ERROR: Bad port ERROR: Invalid syntax ERROR: Wrong number of arguments Could not find a profile matching
ufw に渡した書き方が正しくありません。
考えられる原因
22/tcpの書き間違い(22tcp、22 /tcpなど)
直し方
sudo ufw allow 22/tcpのように、番号・スラッシュ・種類を続けて書く
関連2日目 手順1
注意Test-NetConnection の TCP connect … failedWindows
表示の例TCP connect to TcpTestSucceeded : False TcpTestSucceeded: False
指定したポートに接続できませんでした。
考えられる原因
- 2日目の80番・443番なら、ufwで閉じているので期待どおりの結果
- 22番でこうなる場合は、VMが止まっている、IPアドレスの誤り、ufwで許可していない
- 8080番・80番(3日目以降)でこうなる場合は、コンテナが動いていない
確かめる
sudo ufw status numbered
sudo ss -tuln直し方
- どのポートで失敗したかを確かめ、期待どおりかどうかを判断する
関連2日目 手順3
心配いらない表示Test-NetConnection の Ping to … failedWindows
表示の例Ping to … failed PingSucceeded : False
ポートの確認の前に行う ping が届かなかったという表示です。
考えられる原因
- 相手が止まっている、または ping を受け付けない設定
直し方
TcpTestSucceededの行が本題。そちらが True ならポートには届いている
関連2日目 手順3
Windows・PowerShell7件
エラーPowerShell の curl でパラメーターのエラーWindows
表示の例matches parameter name に一致するパラメーターが見つかりません ParameterBindingException Invoke-WebRequest
Windows PowerShell 5.1 では、curl が別のコマンド(Invoke-WebRequest)の別名なので、-d などを解釈できません。
考えられる原因
- 6日目の指導書の PowerShell の例をそのまま打った
確かめる
$PSVersionTable.PSVersion直し方
- 6日目 手順2の
Invoke-RestMethodを使う書き方にする
エラーOllamaが invalid character … と返す(JSONが壊れている)Windows
表示の例looking for beginning of object key string invalid character cannot unmarshal unexpected end of JSON input
送ったデータが、正しいJSONになっていません。
考えられる原因
- PowerShellから
curl.exeで送ったとき、JSONの中の"が消えた - JSONの書き間違い(カンマ、引用符、括弧)
直し方
- 6日目 手順2の
Invoke-RestMethodを使う書き方にする(JSONはPowerShellが組み立てる) - Ubuntuの中から試す場合は、Ubuntuの
curlを使う
エラーInvoke-RestMethod で接続できないWindows
表示の例Unable to connect to the remote server リモート サーバーに接続できません actively refused 拒否されたため、接続できませんでした No connection could be made
指定したサーバーのポートに接続できませんでした。
考えられる原因
- Ollamaが 127.0.0.1 でしか待ち受けていない(初期設定のまま)
- ufwで11434番を許可していない
- IPアドレスやポート番号の誤り、Ollamaが止まっている
確かめる
ss -tln | grep 11434
sudo ufw status
systemctl status ollamaTest-NetConnection 192.168.100.xxx -Port 11434直し方
- 6日目 手順2の
OLLAMA_HOSTの設定とsudo ufw allow 11434/tcp(授業の指示を確認してから)
エラーInvoke-RestMethod がタイムアウトしたWindows
表示の例The operation has timed out 操作はタイムアウトしました HttpClient.Timeout
答えが返ってくるまでに時間がかかりすぎました。
考えられる原因
- CPUだけで動くAIの答えが遅い(特に初回のモデルの読み込み)
- 途中で通信が遮られている
直し方
- 短い質問で試す。
-TimeoutSec 300を付けて待ち時間を延ばす
注意日本語が文字化けする(縺・繧・� など)Windows
表示の例縺 繧 �
日本語の文字の符号化方式(UTF-8 と Shift_JIS)が食い違っています。
考えられる原因
- PowerShell 7 の
curlで、日本語を含むJSONを送った - コンソールの表示の設定がUTF-8になっていない
直し方
- 送るときは6日目 手順2の
Invoke-RestMethodと UTF-8 のバイト列に変換する書き方を使う - 表示だけが化ける場合は
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8を実行してから試す
エラースクリプトの実行が無効になっているWindows
表示の例running scripts is disabled スクリプトの実行が無効
Windowsの設定で、PowerShellのスクリプト(.ps1)の実行が止められています。
考えられる原因
- 自分で作った .ps1 ファイルを実行しようとした
直し方
- この実験では .ps1 ファイルを使わず、コマンドを直接打つ。設定を変える必要がある場合は教員に相談する
エラーWindowsで保存・変更できない(アクセスが拒否されました)Windows
表示の例Access to the path アクセスが拒否されました Access is denied
管理者の権限が必要な場所を、管理者でない状態で書き換えようとしました。
考えられる原因
- Windowsの hosts ファイルを、ふつうに開いたメモ帳で保存しようとした
直し方
- メモ帳を「管理者として実行」で開いてから、hosts ファイルを開く(学校のPCで許可されていない場合は教員に相談)
Docker・Compose・YAML20件
エラーCannot connect to the Docker daemonUbuntu
表示の例Cannot connect to the Docker daemon Is the docker daemon running?
Dockerの係(サービス)が動いていません。
考えられる原因
- Dockerのサービスを有効にしていない、止まっている
確かめる
sudo systemctl status docker直し方
sudo systemctl enable --now docker
関連3日目 手順2
エラーdocker compose が使えない('compose' is not a docker command)Ubuntu
表示の例'compose' is not a docker command unknown shorthand flag: 'd' in -d
Docker Compose の追加部品が入っていません。
考えられる原因
docker-compose-v2をインストールしていない
直し方
sudo apt install -y docker-compose-v2
関連3日目 手順1
エラーno configuration file provided: not foundUbuntu
表示の例no configuration file provided
今いるディレクトリに compose.yaml がありません。
考えられる原因
- compose.yaml のないディレクトリで実行した
- ファイル名の打ち間違い(compose.yml、Compose.yaml など)
確かめる
pwd
ls直し方
- その日のディレクトリ(
/opt/compose-demo、/opt/nginx、/opt/open-webui)にcdしてから実行する
関連トラブル対処集
エラーYAMLの書き方の誤り(yaml: line …)Ubuntu(Netplan・Compose)
表示の例mapping values are not allowed did not find expected key found character that cannot start any token could not find expected ':' found a tab character Invalid YAML yaml: line expected <block end> did not find expected '-' indicator
YAMLのファイル(compose.yaml や Netplan の設定)の書き方に誤りがあります。
考えられる原因
- 字下げの深さがずれている
- タブ文字で字下げした(スペースしか使えない)
名前: 値のコロンの後ろのスペースがない- 一覧の
-(ハイフンとスペース)を忘れた、引用符の閉じ忘れ
確かめる
sudo docker compose config直し方
- 表示された行番号の前後を、このガイドの例と字下げの深さまで見比べる
- nanoでは Alt+Shift+3 で行番号を表示できる
- 迷ったら、中身をいったん全部消して貼り付け直す
エラーcompose.yaml の項目の誤り(additional properties … not allowed)Ubuntu
表示の例additional properties Additional property must be a list must be a mapping must be a string
compose.yaml に、知らない項目名や、形の違う値が書かれています。
考えられる原因
- 項目名の打ち間違い(
port、volume、networkなど。正しくは複数形) - 字下げのずれで、項目が別の場所に入っている
確かめる
sudo docker compose config直し方
- エラーに出た項目名を、このガイドの例と見比べて直す
エラーポートが使用中(port is already allocated・address already in use)Ubuntu
表示の例port is already allocated address already in use
そのポートを、ほかのコンテナやプログラムがすでに使っています。
考えられる原因
- 前の日の構成を止め忘れている
- 同じ構成を別のディレクトリにも作った
確かめる
sudo docker ps
sudo ss -tlnp直し方
- 不要な構成のディレクトリで
sudo docker compose down
関連トラブル対処集
エラーコンテナの名前がぶつかる(is already in use by container)Ubuntu
表示の例is already in use by container Conflict. The container name
同じ名前(container_name)のコンテナが、すでにあります。
考えられる原因
- 別のディレクトリの compose.yaml で同じ名前を使った
- 手で
docker runしたものが残っている
確かめる
sudo docker ps -a直し方
- 古いほうの構成のディレクトリで
sudo docker compose down。手で作ったものなら、名前を確かめてsudo docker rm -f 名前
エラーDocker Hub の取得回数の制限(toomanyrequests)Ubuntu
表示の例toomanyrequests pull rate limit
Docker Hub から、ログインせずに取得できる回数の上限に達しました。
考えられる原因
- 教室全員が同じ出口のIPアドレスを共有していて、まとめて取得した
直し方
- 時間をおいてやり直す。続く場合は教員に相談する
関連トラブル対処集
エラーイメージが見つからない(pull access denied・manifest unknown)Ubuntu
表示の例pull access denied repository does not exist manifest unknown manifest for … not found
指定した名前やタグのイメージが、倉庫に見つかりません。
考えられる原因
- イメージ名やタグの打ち間違い(
nginx:stable、traefik/whoami、ghcr.io/open-webui/open-webui:main)
直し方
- compose.yaml の
image:の行を、このガイドの例と1文字ずつ見比べる
エラーイメージのダウンロードで通信エラーUbuntu
表示の例registry-1.docker.io i/o timeout TLS handshake timeout context deadline exceeded
イメージの倉庫と通信できませんでした。
考えられる原因
- サーバーから外に出られない(ネットワーク・DNSの設定)
- 一時的に混んでいる
確かめる
ping -c 3 www.google.co.jp直し方
- ネットワークを確かめてから、時間をおいてやり直す
関連トラブル対処集
エラーno space left on device(ディスクがいっぱい)Ubuntu
表示の例no space left on device
ディスクの空きがなくなりました。
考えられる原因
- 大きなイメージ(Open WebUI など)やモデルを入れた
確かめる
df -h
sudo docker system df直し方
- 使わなくなったイメージを消す(
sudo docker image prune)。消してよいか迷ったら教員に相談する
関連トラブル対処集
エラーnetwork app-net … could not be foundUbuntu
表示の例declared as external, but could not be found network app-net not found
compose.yaml で使うと書いた Docker ネットワークが、まだ作られていません。
考えられる原因
sudo docker network create app-netを実行していない
確かめる
sudo docker network ls直し方
sudo docker network create app-netを実行してから、もう一度up -d
エラーno such service(サービスが見つからない)Ubuntu
表示の例no such service
今いるディレクトリの compose.yaml に、その名前のサービスがありません。
考えられる原因
- 違うディレクトリで実行した(例:goaccess は
/opt/nginx) - サービス名の打ち間違い
確かめる
pwd
sudo docker compose config --services直し方
- 正しいディレクトリに
cdしてから実行する
エラーservice … is not running(exec できない)Ubuntu
表示の例service "… is not running
docker compose exec で中に入ろうとしたコンテナが、動いていません。
考えられる原因
- コンテナが止まっている、起動に失敗している
確かめる
sudo docker compose ps
sudo docker compose logs --tail 30直し方
- ログのエラーを直してから
sudo docker compose up -d
エラーコンテナが Restarting を繰り返すUbuntu
表示の例Restarting (
コンテナが起動してはすぐ終了し、再起動を繰り返しています。
考えられる原因
- 中のプログラムの設定の誤り(Nginxの設定ファイルなど)
- メモリ不足
確かめる
sudo docker compose logs --tail 30直し方
- ログの最後のエラーの文を、このページで調べ直す
心配いらない表示コンテナの STATUS が ExitedUbuntu
表示の例Exited ( exited with code
コンテナが終了しています。Exited (0) は正常な終了(hello-world はこれでよい)、0以外は何かのエラーで止まったことを表します。
確かめる
sudo docker compose logs --tail 30直し方
- 0以外なら、ログのエラーを読んで原因を直す
関連3日目 手順4
心配いらない表示health: starting/unhealthyUbuntu
表示の例health: starting unhealthy
コンテナが自分で行う健康診断の結果です。starting は準備中、unhealthy は応答がおかしい状態です。
考えられる原因
- Open WebUIは起動に時間がかかる
確かめる
sudo docker compose logs --tail 30直し方
- starting ならしばらく待つ。unhealthy が続くならログを見る
心配いらない表示the attribute `version` is obsoleteUbuntu
表示の例version` is obsolete
compose.yaml の先頭の version: の行はもう使われない、という案内です。動作には影響しません。
直し方
version:の行を消してもよい
心配いらない表示Unable to find image … locally(初回のダウンロード)Ubuntu
表示の例Unable to find image Pulling from Pull complete Downloaded newer image
手元にイメージがないので、倉庫からダウンロードしているという表示です。
直し方
- そのまま待つ
関連3日目 手順3
Nginx・ブラウザ18件
エラーnginx: host not found in upstreamUbuntu
表示の例host not found in upstream
Nginxの設定に書いた取り次ぎ先(open-webui、chat-backend など)の名前が見つかりません。
考えられる原因
- 取り次ぎ先のコンテナが動いていない
- 取り次ぎ先か Nginx のどちらかが app-net に参加していない
- 名前の打ち間違い
確かめる
sudo docker ps
sudo docker network inspect app-net直し方
- 取り次ぎ先を先に起動し、両方の compose.yaml の
networks:を見直してからnginx -t
エラーNginxの設定の書き間違い([emerg])Ubuntu
表示の例[emerg] is not terminated by unexpected end of file unknown directive directive is not allowed here test failed
Nginxの設定ファイルに書き間違いがあります。
考えられる原因
- 行末の
;の付け忘れ {と}の数が合っていない- 命令の綴りの誤り、置く場所の誤り(
locationはserver { }の中)
確かめる
cd /opt/nginx
sudo docker compose exec nginx nginx -t直し方
- 表示されたファイル名と行番号の行を直し、
nginx -tが成功してからnginx -s reload
心配いらない表示nginx: syntax is ok/test is successfulUbuntu
エラー403 Forbiddenブラウザ/curl
表示の例403 Forbidden directory index of is forbidden
Webサーバーが、そのページを見せることを拒みました。
考えられる原因
/opt/nginx/html/index.htmlがまだない(4日目の手順2では正常)- ファイル名が違う(index.htm、Index.html)
- ファイルの権限で読めない
確かめる
ls -l /opt/nginx/html直し方
- index.html を作る。権限が
-rw-r--r--でなければsudo chmod 644 /opt/nginx/html/index.html
エラー404 Not Foundブラウザ/curl
表示の例404 Not Found failed (2: No such file or directory)
そのURLに対応するファイルが見つかりません。
考えられる原因
- URLのファイル名の打ち間違い(大文字・小文字も区別される)
- GoAccessのレポートをまだ作っていない
- 6日目以降、
/をOpen WebUIへ取り次いでいるので、4日目のページが見えない
確かめる
ls /opt/nginx/html直し方
- 実際のファイル名に合わせてURLを直す
関連トラブル対処集
心配いらない表示favicon.ico が見つからない(ログの404)Ubuntu
表示の例favicon.ico
ブラウザが自動でサイトのアイコン(favicon.ico)を探しに来た記録です。問題ありません。
直し方
- 気にしなくてよい。GoAccessのレポートの404の欄にも現れる
関連アクセスログ
エラー502 Bad Gatewayブラウザ
表示の例502 Bad Gateway while connecting to upstream connect() failed (111
Nginx(受付)は動いていますが、取り次ぎ先が応えません。
考えられる原因
- 取り次ぎ先(Open WebUI、自作のチャット)が起動中、または止まっている
確かめる
cd /opt/open-webui
sudo docker compose ps
sudo docker compose logs --tail 30直し方
- 起動の途中なら数分待つ。止まっていればログを読んでから
sudo docker compose up -d
関連トラブル対処集
エラー500 Internal Server Errorブラウザ
表示の例500 Internal Server Error Internal Server Error
取り次ぎ先のプログラム(自作のバックエンドなど)の中でエラーが起きました。
考えられる原因
- バックエンドのプログラムの誤り
確かめる
cd /opt/chat-app
sudo docker compose logs --tail 30直し方
- ログの
Tracebackの最後の行を読み、プログラムを直す
エラー405 Not Allowed(送信を受け付けない場所へ送った)ブラウザ(AIチャット)
表示の例405 Not Allowed 405 Method Not Allowed Method Not Allowed
送信(POST)を受け付けない場所へ、質問を送りました。Nginxがファイルを配るだけの場所では、POSTは受け付けられません。
考えられる原因
- AIチャットのページを
/opt/nginx/htmlに置いて開いたため、送り先のapi/chatがバックエンドではなく、ファイルの置き場所になっている - 送り先のURLの誤り(バックエンドの窓口と違うパスへ送っている)
- バックエンドの窓口が POST を受け付ける書き方になっていない(Flaskなら
@app.post("/api/chat"))
確かめる
ls -l /opt/chat-app
sudo docker compose -f /opt/chat-app/compose.yaml ps直し方
- ページは
/opt/chat-app/index.htmlに置き、http://[自分のIP]/chat/から開く - 「サイトを制作」のAIチャットの部品で、送り先を、バックエンドの窓口のURLに合わせる
エラー返ってきたJSONに答えが見つかりません(AIチャットの部品)ブラウザ(AIチャット)
表示の例返ってきたJSONに答えが見つかりません
バックエンドから返事は届きましたが、ページが答えを読む場所(answer、response、message.content のどれか)に、答えが入っていません。
考えられる原因
- 「サイトを制作」のAIチャットの部品で選んだ「送るJSONの形」と、バックエンドが返すJSONの形が合っていない
- バックエンドが、答えを別の名前(
replyなど)で返している - Ollamaへ
"stream": trueのまま送っていて、答えが細切れのJSONで返ってきている
確かめる
curl -s -X POST http://localhost/chat/api/chat -H 'Content-Type: application/json' -d '{"prompt": "test"}'直し方
- バックエンドが返すJSONを確かめ、それに合う「送るJSONの形」を選ぶ(たたき台なら「たたき台の形」)
- 自分でバックエンドを作った場合は、答えを
{"answer": "…"}の形で返すようにする
エラーブラウザの「接続が拒否されました」(ERR_CONNECTION_REFUSED)ブラウザ
表示の例ERR_CONNECTION_REFUSED 接続が拒否されました 接続を拒否しました
そのポートで何も待ち受けていません。
考えられる原因
- コンテナが動いていない(
up -dしていない、downした) - ポート番号の誤り(3日目は 8080、4日目以降は 80)
確かめる
sudo docker ps直し方
- その日のディレクトリで
sudo docker compose up -d
エラーブラウザの「応答時間が長すぎます」(ERR_CONNECTION_TIMED_OUT)ブラウザ
表示の例ERR_CONNECTION_TIMED_OUT 応答時間が長すぎます
サーバーから返事がありません。
考えられる原因
- IPアドレスの誤り、VMが止まっている
- ファイアウォールで止められている(Dockerを使わないサービスの場合)
確かめる
Test-NetConnection 192.168.100.xxx -Port 80直し方
- URLのIPアドレスとポートを確かめる
エラーブラウザの「IP アドレスが見つかりませんでした」(ERR_NAME_NOT_RESOLVED)ブラウザ
表示の例ERR_NAME_NOT_RESOLVED IP アドレスが見つかりませんでした DNS_PROBE_FINISHED_NXDOMAIN
Windowsが、URLの名前(www.t3.metro-cit.internal など)をIPアドレスに変換できませんでした。
考えられる原因
- Windowsのhostsファイルや、DNSの準備をしていない
確かめる
nslookup www.t3.metro-cit.internal直し方
- 確認だけならIPアドレスで開く(
http://192.168.100.xxx/)。名前で開くには、授業の指示に従って hosts か DNS を設定する
エラーブラウザの「データが送信されませんでした」(ERR_EMPTY_RESPONSE)ブラウザ
表示の例ERR_EMPTY_RESPONSE データが送信されませんでした
接続はできましたが、中身のある返事が返ってきませんでした。
考えられる原因
- 6日目 手順4で空の
conf.dを重ねたので、Nginxに配信の設定が1つもない(手順7で設定を書けば直る) - Nginxの中のプログラムがうまく動いていない
確かめる
ls /opt/nginx/conf.d
cd /opt/nginx
sudo docker compose logs --tail 20直し方
- 6日目 手順7の設定ファイルを作り、
nginx -tとnginx -s reload
エラーブラウザの「接続がリセットされました」(ERR_CONNECTION_RESET)ブラウザ
表示の例ERR_CONNECTION_RESET 接続がリセットされました
通信の途中で、相手に接続を切られました。
考えられる原因
- コンテナの中のプログラムが待ち受けていない(起動中・設定の誤り)
確かめる
sudo docker ps
sudo docker compose logs --tail 30直し方
- 少し待ってから再読み込みする。続く場合はログを見る
エラーブラウザの「安全な接続ができません」(ERR_SSL_PROTOCOL_ERROR)ブラウザ
表示の例ERR_SSL_PROTOCOL_ERROR 安全な接続ができません ERR_SSL
暗号化された接続(https)を試みましたが、このサーバーは http しか受け付けていません。
考えられる原因
- URLを
https://で始めた、またはブラウザが自動で https に切り替えた
直し方
- URLを
http://192.168.100.xxx/のように、http://から明示して打つ
注意「Welcome to nginx!」と表示されるブラウザ
表示の例Welcome to nginx!
Nginxのイメージに最初から入っている見本のページが表示されています。
考えられる原因
- compose.yaml の
volumes:が書かれていない、または字下げの誤りで効いていない
確かめる
cd /opt/nginx
sudo docker compose config直し方
configの結果に/opt/nginx/htmlが出てくるか確かめ、compose.yaml を直してからup -d
curl6件
エラーcurl: (7) Couldn't connect to serverUbuntu
表示の例curl: (7) Couldn't connect to server Failed to connect to
指定したポートに接続できませんでした(何も待ち受けていない)。
考えられる原因
- コンテナやOllamaが動いていない
- ポート番号の誤り(whoami は 8080、Nginx は 80、Ollama は 11434)
確かめる
sudo docker ps
sudo ss -tlnp直し方
- 動かすべきものを起動し、ポート番号を確かめる
エラーcurl: (6) Could not resolve hostUbuntu
表示の例curl: (6) Could not resolve host
URLの名前をIPアドレスに変換できませんでした。
考えられる原因
- URLの打ち間違い
localhostの綴り違い
直し方
- URLを見直す。サーバーの中からなら
http://localhost:ポート
エラーcurl: (3) URL の書き方の誤りUbuntu
表示の例curl: (3) URL rejected bad range in URL URL using bad/illegal format
URLの書き方が正しくありません。
考えられる原因
- 指導書の
[自分のIP]をそのまま打った([]は特別な意味になる)
直し方
[自分のIP]を192.168.100.xxxに置き換えて打つ
エラーcurl: (52) Empty reply from serverUbuntu
表示の例curl: (52) Empty reply from server
接続はできたものの、返事が空でした。
考えられる原因
- Nginxに配信の設定がない(6日目 手順4〜7の間)
- コンテナの中のプログラムが準備中
確かめる
ls /opt/nginx/conf.d直し方
- 「データが送信されませんでした」の項目と同じ対処をする
エラーcurl: (56) Recv failure: Connection reset by peerUbuntu
表示の例curl: (56) Recv failure
受け取る途中で、相手に接続を切られました。
考えられる原因
- コンテナの起動直後で、中のプログラムがまだ準備できていない
確かめる
sudo docker compose logs --tail 20直し方
- 少し待ってからやり直す
エラーcurl: (28) Operation timed outUbuntu
表示の例curl: (28) Operation timed out Connection timed out after
時間内に返事がありませんでした。
考えられる原因
- AIの答えが遅い
- IPアドレスの誤り、途中で遮られている
直し方
- AIなら短い質問で試す。
-m 300で待ち時間を延ばせる
GoAccess3件
エラーGoAccessの Token … doesn't match specifierUbuntu
表示の例doesn't match specifier Token '
ログの並び方が、指定した形式(COMBINED)と合いません。
考えられる原因
--log-format=COMBINEDの書き間違い- access.log 以外のファイル(error.log など)を読ませた
確かめる
sudo tail -n 3 /opt/nginx/log/access.log直し方
- compose.yaml の
command:を4日目の例と見比べる
エラーGoAccessがログを開けないUbuntu
エラーGoAccessの Nothing valid to processUbuntu
表示の例Nothing valid to process
ログの中に、集計できる行が1つもありませんでした。
考えられる原因
- アクセスログが空
- ログの形式の指定が合っていない
確かめる
sudo wc -l /opt/nginx/log/access.log直し方
- アクセスを増やしてからやり直す
DNS(BIND9・nslookup・dig)8件
エラーnamed-checkconf のエラー(missing ';' など)Ubuntu
表示の例missing ';' before unknown option expected quoted string named.conf.local:
BIND9の設定ファイル(named.conf.local など)に書き間違いがあります。
考えられる原因
- 行末の
;の付け忘れ、最後の};の忘れ "の閉じ忘れ、項目名の綴りの誤り
確かめる
sudo named-checkconf直し方
- 表示されたファイル名と行番号の行を直し、何も表示されなくなるまで
named-checkconfを繰り返す
関連付録2 手順2
エラーnamed-checkzone のエラー(not loaded due to errors など)Ubuntu
表示の例not loaded due to errors has no address records has no NS records unknown RR type ignoring out-of-zone data bad dotted quad bad owner name
ゾーンファイルの中身に誤りがあります。
考えられる原因
- 名前の最後の
.の付け忘れ・付けすぎ - IPアドレスの書き間違い(bad dotted quad)
- SOAの括弧の閉じ忘れ、NS に対応する A の行がない
確かめる
sudo named-checkzone t3.metro-cit.internal /etc/bind/db.t3.metro-cit.internal直し方
- 表示された行を、付録2の例と見比べて直す
エラーゾーンファイルが見つからない(file not found)Ubuntu
表示の例file not found loading from master file
設定に書いたゾーンファイルが、その場所にありません。
考えられる原因
- named.conf.local の
fileの行と、実際のファイル名が違う
確かめる
ls -l /etc/bind/直し方
- ファイル名をそろえる
関連付録2 手順2
心配いらない表示named-checkzone の loaded serial … OKUbuntu
エラーDNS request timed out/no servers could be reachedWindows/Ubuntu
表示の例DNS request timed out timeout was 2 seconds no servers could be reached
DNSサーバーから返事がありませんでした。
考えられる原因
- ufwで 53/udp を許可していない
- BIND9が動いていない
- 問い合わせ先のIPアドレスの誤り
確かめる
sudo ufw status
systemctl status bind9直し方
sudo ufw allow 53/udp、BIND9を起動する
関連付録2 手順1
エラー名前が存在しない(NXDOMAIN・Non-existent domain)Windows/Ubuntu
表示の例Non-existent domain NXDOMAIN can't find
DNSサーバーは返事をしましたが、「その名前はない」という答えでした。
考えられる原因
- 名前の打ち間違い
- ゾーンファイルに
wwwの行がない、ゾーン名の誤り - ゾーンファイルを直したあと、再起動していない
確かめる
dig @localhost www.t3.metro-cit.internal直し方
- ゾーンファイルを見直し、シリアル番号を増やして
sudo systemctl restart bind9
エラーSERVFAIL/REFUSED/Query refusedWindows/Ubuntu
表示の例SERVFAIL status: REFUSED Query refused Server failed
DNSサーバーが答えを返せない(SERVFAIL)、または問い合わせを断った(REFUSED)。
考えられる原因
- ゾーンの読み込みに失敗している(SERVFAIL)
- 問い合わせを受け付ける相手を制限する設定がある(REFUSED)
確かめる
sudo named-checkconf
sudo journalctl -u named -n 30直し方
- ログのエラーを読んで設定を直す
関連付録2 手順3
心配いらない表示nslookup の「サーバー: UnKnown」Windows
表示の例サーバー: UnKnown Server: UnKnown
問い合わせ先のDNSサーバー自身の名前を、逆引きできなかったという意味です。
直し方
- 下の「名前」と「Address」に答えが出ていれば問題ない
関連付録2 手順4
Ollama・Open WebUI10件
エラーcould not connect to ollama app, is it running?Ubuntu
表示の例could not connect to ollama app is it running?
Ollamaのサーバー(サービス)が動いていません。
考えられる原因
- インストールが途中で終わった
OLLAMA_HOSTの設定を書き間違えて、起動に失敗している
確かめる
systemctl status ollama
sudo journalctl -u ollama -n 30直し方
- 設定を直してから
sudo systemctl daemon-reloadとsudo systemctl restart ollama
エラーモデルが見つからない(pull model manifest・not found)Ubuntu/Windows
表示の例pull model manifest file does not exist not found, try pulling it first
指定したモデルが見つかりません。
考えられる原因
- モデル名の打ち間違い(
qwen2.5:0.5b。大文字の B ではない) - APIで指定したモデルを、まだダウンロードしていない
確かめる
ollama list直し方
ollama listに出る名前と同じ綴りで指定する。なければollama run qwen2.5:0.5bで取得する
エラーrequires more system memory(メモリが足りない)Ubuntu
表示の例requires more system memory than is available
そのモデルを動かすには、仮想マシンのメモリが足りません。
考えられる原因
- 大きなモデル(llama3.2:1b など)を試した
- Open WebUI などがメモリを使っている
確かめる
free -h直し方
- 小さなモデル(qwen2.5:0.5b)を使う。使っていないコンテナを止める
心配いらない表示No NVIDIA/AMD GPU detected(CPUだけで動く)Ubuntu
エラーOllamaの 11434 が使用中(bind: address already in use)Ubuntu
表示の例listen tcp 127.0.0.1:11434 11434: bind
すでにOllamaのサービスが動いているのに、もう1つ起動しようとしました。
考えられる原因
ollama serveを手で実行した
直し方
ollama serveは使わない。サービスとして動いているものを使う(systemctl status ollama)
心配いらない表示Ollama is runningUbuntu
エラーOpen WebUIからOllamaにつながらない(Cannot connect to host)Ubuntu
表示の例Cannot connect to host Connect call failed host.docker.internal
Open WebUIのコンテナから、ホストで動くOllamaに届いていません。
考えられる原因
- Ollamaが 127.0.0.1 でしか待ち受けていない
- ufwで 11434 番を許可していない(コンテナから見ても、Ollamaは「外」にいる)
- compose.yaml の
extra_hostsやOLLAMA_BASE_URLの誤り
確かめる
sudo docker exec open-webui curl -s http://host.docker.internal:11434
ss -tln | grep 11434直し方
- 6日目 手順2の
OLLAMA_HOSTと ufw の設定を行い、cd /opt/open-webuiで移動してsudo docker compose restart
心配いらない表示Open WebUI の起動時の注意書き(CORS_ALLOW_ORIGIN など)Ubuntu
表示の例CORS_ALLOW_ORIGIN WEBUI_SECRET_KEY USER_AGENT environment variable not set
Open WebUIが起動するときに出す、設定についての注意書きです。この実験の範囲では問題になりません。
確かめる
cd /opt/open-webui
sudo docker compose ps直し方
psで Up になっていて、画面が開ければそのままでよい
エラーOpen WebUI の Backend Requiredブラウザ
表示の例Backend Required
Open WebUIの画面が、裏側のプログラムと通信できていません。
考えられる原因
- Open WebUIのコンテナがまだ準備中
- Nginxの取り次ぎの設定の誤り(WebSocketの2行の書き忘れなど)
確かめる
cd /opt/open-webui
sudo docker compose logs --tail 30直し方
- しばらく待ってから再読み込みする。続く場合は6日目 手順7の設定を見比べる
エラーOpen WebUI の Network Problem/Server Connection Errorブラウザ
表示の例Network Problem Server Connection Error
Open WebUIがAI(Ollama)とやり取りできませんでした。
考えられる原因
- Ollamaに届いていない、答えが遅すぎる
確かめる
sudo docker exec open-webui curl -s http://host.docker.internal:11434直し方
- Ollamaにつながらない項目を確かめる
関連トラブル対処集
Python・自作チャット10件
エラーModuleNotFoundError: No module named …Ubuntu
表示の例ModuleNotFoundError No module named
Pythonのプログラムが使う部品(ライブラリ)が入っていません。
考えられる原因
- Flask をインストールしていない
- コンテナの
command:でpip install flaskが失敗した
確かめる
cd /opt/chat-app
sudo docker compose logs --tail 30直し方
- コンテナで動かす場合は、ログで pip の失敗の理由(通信など)を確かめる
エラーpip の externally-managed-environmentUbuntu
表示の例externally-managed-environment externally managed
Ubuntu 24.04 では、システム全体に pip でライブラリを入れることが止められています。
考えられる原因
- Ubuntuに直接
pip install flaskしようとした
直し方
- Ubuntuに直接入れるなら
sudo apt install -y python3-flask - このガイドのたたき台のように、コンテナの中で動かす
エラーPort 5000 is in useUbuntu
表示の例Port 5000 is in use is in use by another program
5000番をほかのプログラムがすでに使っています。
考えられる原因
- 同じプログラムを2つ起動した
確かめる
sudo ss -tlnp | grep 5000直し方
- 古いほうを止めてから起動する
エラーPythonの SyntaxError/IndentationErrorUbuntu
表示の例IndentationError unexpected indent unindent does not match SyntaxError: invalid syntax
Pythonのプログラムの書き方に誤りがあります。Pythonは字下げに意味がある言語です。
考えられる原因
- 字下げのずれ(スペースとタブの混在)
- 括弧や引用符の閉じ忘れ
確かめる
cd /opt/chat-app
sudo docker compose logs --tail 30直し方
- 表示された行番号の周りを、たたき台と見比べる
エラーTraceback (most recent call last)Ubuntu
表示の例Traceback (most recent call last)
Pythonのプログラムの実行中にエラーが起きました。
考えられる原因
- いちばん下の行に、エラーの種類と内容が書かれている
直し方
- いちばん下の行の文を、このページで調べ直す
エラー自作チャットの「Ollamaに接続できません」ブラウザ
表示の例Ollamaに接続できません urlopen error Errno 111 Name or service not known>
バックエンドから、Ollamaに届いていません。
考えられる原因
- Ollamaが 127.0.0.1 でしか待ち受けていない、ufwで止められている
- compose.yaml の
extra_hostsやOLLAMA_URLの誤り
確かめる
sudo docker exec chat-backend python -c "import urllib.request;print(urllib.request.urlopen('http://host.docker.internal:11434').read())"直し方
- 6日目 手順2の
OLLAMA_HOSTと ufw の設定を確かめる
心配いらない表示WARNING: This is a development serverUbuntu
表示の例This is a development server Running on http
Flaskの開発用のサーバーで動いているという案内です。実験では問題ありません。
直し方
- そのまま使ってよい
心配いらない表示Running pip as the 'root' userUbuntu
表示の例Running pip as the 'root' user
コンテナの中で管理者として pip を使ったという注意です。コンテナの中なので問題ありません。
直し方
- 気にしなくてよい
エラーUnexpected token '<' … is not valid JSONブラウザ
表示の例is not valid JSON Unexpected token '<' Unexpected token < JSON.parse
JSONを受け取るはずのところに、HTMLのページ(エラーのページなど)が返ってきました。
考えられる原因
fetchの送り先が違い、Open WebUI や 404 のページに届いている- ページを
/chat(最後の/なし)で開いた - バックエンドがエラーを返した
直し方
http://192.168.100.xxx/chat/のように、最後の/まで付けて開く- Nginxの
location /chat/の設定を見直す
エラーFailed to fetch(ブラウザの送信の失敗)ブラウザ
表示の例TypeError: Failed to fetch NetworkError when attempting to fetch
ブラウザからバックエンドへの送信そのものが失敗しました。
考えられる原因
- バックエンドが止まっている
- 送り先のURLの誤り
確かめる
cd /opt/chat-app
sudo docker compose ps直し方
- バックエンドが動いているか確かめ、
fetchの送り先を見直す