HomeServer35
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents();
** 障害内容 → 部品交換 [#x9130abc]
*** 障害内容(2025/12/23) [#z86c0c94]
-EPGStation アプリが表示できなくなった(pukiwiki, samba ...
-reboot すらできなくなった
[KGB2] munakata:~$ sudo reboot
Broadcast message from root@kgb2 on pts/1 (Tue 2025-12-2...
The system will reboot now!
Call to Reboot failed: Access denied
-- sudo reboot 自体は実行された
-- systemd が reboot トランザクションを開始
-- しかし 最後の reboot syscall が拒否された
-- systemd-logind は生きている
-- しかし reboot.target がロードできない
-- そのため Access denied(= 実行不能)
- systemdの再インストールを試みたが以下のエラーが出て更新...
dpkg: unrecoverable fatal error, aborting:
loading files list file for package 'logrotate':
cannot open /var/lib/dpkg/info/logrotate.list (不正なメ...
Error: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: ...
E: Sub-process /usr/bin/dpkg returned an error code (2)
-- これは systemd 以前に dpkg のデータベース自体が破損し...
-- rescue 環境で fsck → dpkg 再構築 or OS 再インストール...
- &color(red){起動用メディアの故障率が気になった(あなた...
[KGB2] munakata:~$ sudo dmesg | grep -i -E "ext4|nvme|i/...
[563027.945734] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.946248] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.946961] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.948109] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.948801] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.949384] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.949787] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.950963] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.951360] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.951831] EXT4-fs error (device nvme1n1p2): ext4_d...
[616649.534913] EXT4-fs error: 10 callbacks suppressed
[616649.534916] EXT4-fs error (device nvme1n1p2): htree_...
[616649.535380] EXT4-fs error (device nvme1n1p2): htree_...
[616649.535839] EXT4-fs error (device nvme1n1p2): htree_...
[616868.773653] EXT4-fs (nvme0n1p1): error count since l...
[616868.773671] EXT4-fs (nvme0n1p1): initial error at ti...
[616868.773679] EXT4-fs (nvme0n1p1): last error at time ...
[627354.624630] EXT4-fs (nvme1n1p2): error count since l...
[627354.624643] EXT4-fs (nvme1n1p2): initial error at ti...
[627354.624658] EXT4-fs (nvme1n1p2): last error at time ...
[630992.102962] EXT4-fs error (device nvme0n1p1): ext4_m...
+ nvme1n1p2(root)が“進行性”に壊れている
EXT4-fs (nvme1n1p2): error count since last fsck: 2 → 25...
++fsck していないのに エラーカウントが増え続けている
++同じ inode / block を何度も壊す
++👉 メディア上の同一物理領域が不安定
+ ext4 の「チェックサム破壊」+「inode out of bounds」
Directory block failed checksum
inode out of bounds
bad entry in directory
++これはソフトウェアバグではほぼ起きない
++メモリ化けだけでもここまで繰り返さない
++👉 ストレージ層でのビット化けを強く示唆
+ dpkg / apport / unattended-upgr が巻き添えで死んでいる
comm dpkg
comm apport
comm unattended-upgr
++ランダムではなく「書き込みが多い領域」から壊れる
++/var/lib/dpkg が最初に死ぬのは典型
- 👉 &color(red){「OS が壊れた」のではなく「OS を載せてい...
- &color(red){起動用メディア(NVMeSSD /dev/nvme)を新品に...
*** 交換前のディスクレイアウト(実メディアのみ) [#k08b28...
[KGB2] munakata:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p2 457G 49G 385G 12% /
/dev/nvme1n1p1 1.1G 6.2M 1.1G 1% /boot/efi
/dev/nvme0n1p1 3.6T 1.7T 1.8T 49% /dtv_recipe
/dev/md0 7.3T 2.9T 4.0T 43% /raid_vol
/dev/sdc1 15T 8.3T 5.5T 61% /dtv_h264B
/dev/sdd1 13T 5.6T 6.5T 47% /dtv_h264A
/dev/sde1 13T 8.1T 4.0T 68% /dtv_h264C
*** 交換部品(nvme1n)[#xfbeb089]
- 現状 / ディレクトリは 50G 程度しか消費していないので、5...
- fanxiang SSD S500 Pro 256GB: NVMe PCIe Gen3.0x4 2800MB/...
-- &ref(256GNVME.png);
** リカバリー準備 [#s14c1429]
*** ファイルバックアップ → / 以外のHDDをすべて切断 [#r9c4...
- /etc 以下
[KGB2] munakatasudo:~$ sudo mkdir -p /raid_vol/reinstall...
[KGB2] munakatasudo:~$ sudo cp -a /etc /raid_vol/reinsta...
- ユーザー、グループ情報
[KGB2] munakatasudo:~$ getent passwd | sudo tee /raid_vo...
[KGB2] munakatasudo:~$ getent group | sudo tee /raid_vo...
- cron / timers
[KGB2] munakatasudo:~$ sudo crontab -l > sudo tee /raid_...
[KGB2] munakatasudo:~$ crontab -l > /raid_vol/reinstall_...
- mdadm RAID
[KGB2] munakatasudo:~$ sudo mdadm --detail --scan | sud...
[KGB2] munakatasudo:~$ sudo mdadm --detail /dev/md0 | su...
- netplan (network 設定)
[KGB2] munakatasudo:~$ sudo cp -a /etc/netplan /raid_vol...
- Docker / コンテナ(mirakurun だけ Docker で運用中)
-- docker-compose / volumes(overlayfs は再構築されますが...
[KGB2] munakatasudo:~$ sudo cp -a /var/lib/docker /raid_...
[KGB2] munakatasudo:~$ sudo cp -a /etc/docker /raid_vol/...
** リカバリー(環境) [#t5bf43aa]
*** OS re-install [#p3051c48]
- [[Ubuntu 24.04.3 server:https://ubuntu.com/download/ser...
-- [[Release Notes:https://discourse.ubuntu.com/t/ubuntu-...
- NVMeSSD には手動でパーティションを作成
|Partition|Mouont Point|Size|Format|h
|nvme0n1p1|未使用|端数(1M)||
|nvme0n1p2|/boot|32G|ext4|
|nvme0n1p3|/|残りすべて(206G)|ext4|
- Ubuntu serverはOSインストール中にnetplanを利用した固定I...
[KGB2] munakata:~$/raid_vol/reinstall_backup/etc$ sudo c...
# This file is generated from information provided by th...
# to it will not persist across an instance reboot. To ...
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg w...
# network: {config: disabled}
network:
ethernets:
enp7s0:
addresses:
- 192.168.11.20/24
nameservers:
addresses:
- 192.168.11.1
search: []
routes:
- to: default
via: 192.168.11.1
version: 2
wifis: {}
*** RAID0 [#tff529b9]
- RAIDディスクペアを接続した時に sda-sda1-md127 と sdb-sd...
-- RAID1 の メンバーは正しく検出されている
-- しかし旧 md0 の名前が引き継がれず system が 一時名 md1...
- sda1, sdb1 の UUID が一致していることを確認
[KGB2] munakatasudo:~$ lsblk
[KGB2] munakatasudo:~$ cat /proc/mdstat
[KGB2] munakatasudo:~$ sudo mdadm --examine /dev/sda1
[KGB2] munakatasudo:~$ sudo mdadm --examine /dev/sdb1
- 自動生成された md127 を停止する
[KGB2] munakatasudo:~$ sudo mdadm --stop /dev/md127
- md0 としてRAID0を再構成
[KGB2] munakatasudo:~$ sudo mdadm --assemble /dev/md0 /d...
- md0に対してfsckを実行
[KGB2] munakatasudo:~$ sudo fsck.ext4 -f /dev/md0
- 手動マウント
[KGB2] munakatasudo:~$ sudo mkdir -p /raid_vol
[KGB2] munakatasudo:~$ sudo mount /dev/md0 /raid_vol
- 永続化
[KGB2] munakatasudo:~$ sudo mdadm --detail --scan | sudo...
- initramfs 更新
[KGB2] munakatasudo:~$ sudo update-initramfs -u
- 再起動して md0 が正常にマウントされることを確認
*** その他 HDD/SSD リカバリー → ディスク認識 [#pf4cfbda]
- 各ドライブを接続し、マウントする前に各パーティションに...
- /boot のフォーマット指定が変わった(FAT32 → ext4) のでU...
- fstab のパラメータの ''defaults を間違って default と書...
- 現状の fstab の設定
# <file system> <mount point> <type> <options> ...
/swap.img none swap sw 0 0
/dev/md0 /raid_vol ext4 defaults,nofail 0 0
UUID=26648dca-75d8-474a-8d4e-e4c0661909da / ex...
UUID=eefb4256-7f5f-4dd9-9e20-2ef0837a5e68 /boot ex...
UUID=2665e64e-338c-43b7-963a-2465a48f973c /dtv_recipe au...
UUID=673bf4bd-ab71-41e3-adfa-2326241f1152 /dtv_h264A au...
UUID=ddf9c10e-9018-4a38-aecb-d94eccf8f061 /dtv_h264B au...
UUID=6c0e0325-f4b9-4fb4-84b3-e9c31adb5a5b /dtv_h264C au...
*** sshd 有効化 [#nee85bf8]
- ssh-server のインストール(インストーラで対応済の可能性...
[KGB2] munakatasudo:~$ sudo apt install openssh-server
- 設定情報はバックアップから戻す(/etc/ssh/sshd_config)
-- ssh ポート = 8722
-- rootによるログイン禁止
-- &color(red){パスワードによるログイン禁止};
-- 公開鍵方式のログインのみ受付
- 認証情報は home/munakata/.ssh の下に残っている
- 自動起動設定(systemd サービス登録)
[KGB2] munakatasudo:~$ sudo systemctl enable ssh
[KGB2] munakatasudo:~$ sudo systemctl start ssh
- 設定確認
[KGB2] munakatasudo:~$ sshd -t
Missing privilege separation directory: /run/sshd
というエラーが出るが、ssh接続中でないので /run 以下のディ...
実験用に /run/sshd を作成して再テスト
[KGB2] munakatasudo:~$ sudo mkdir -p /run/sshd
[KGB2] munakatasudo:~$ sudo chmod 755 /run/sshd
[KGB2] munakatasudo:~$ sudo sshd -t
何も表示されなければ OK
*** ネットワークインターフェースの調整 [#z79c9620]
- NVMe交換の影響か、PCIの番号割り当てが変化したようで、ネ...
- 結果として優先LANが活性化できず、ネットがダウンした状態
- /etc/netplan/50-cloud-init.yaml を編集して、正しいイン...
- ネットワークステータス確認
[KGB2] munakata:~$ networkctl status
● Interfaces: 3, 2, 1
State: routable
Online state: online
Address: 192.168.11.20 on enp7s0
172.17.0.1 on docker0
fe80::9e6b:ff:fe93:286b on enp7s0
Gateway: 192.168.11.1 on enp7s0
DNS: 192.168.11.1
8.8.8.8
Search Domains: hmuna.com
12月 25 14:36:18 kgb2 systemd-networkd[987]: lo: Gained ...
12月 25 14:36:18 kgb2 systemd-networkd[987]: Enumeration...
12月 25 14:36:18 kgb2 systemd[1]: Started systemd-networ...
12月 25 14:36:18 kgb2 systemd-networkd[987]: enp7s0: Con...
12月 25 14:36:18 kgb2 systemd[1]: Starting systemd-netwo...
12月 25 14:36:18 kgb2 systemd-networkd[987]: enp7s0: Lin...
12月 25 14:36:21 kgb2 systemd-networkd[987]: enp7s0: Gai...
12月 25 14:36:22 kgb2 systemd-networkd[987]: enp7s0: Gai...
12月 25 14:36:22 kgb2 systemd[1]: Finished systemd-netwo...
12月 25 14:36:23 kgb2 systemd-networkd[987]: docker0: Li...
*** samba 有効化 [#r900dffc]
- バックアップから設定を戻す(&ref(smb.conf,center,/etc/s...
[KGB2] munakatasudo:~$ sudo cp -a /raid_vol/reinstall_ba...
[KGB2] munakatasudo:~$ sudo chown -R root:root /etc/samba
[KGB2] munakatasudo:~$ sudo chmod 755 /etc/samba
- ユーザー確認と追加(Linux ユーザーとは別に設定必要)
[KGB2] munakatasudo:~$ getent passwd munakata(passwd フ...
[KGB2] munakatasudo:~$ sudo smbpasswd -a munakata(samba...
[KGB2] munakatasudo:~$ sudo smbpasswd -e munakata()
- smbd/mnbd の自動起動設定
[KGB2] munakatasudo:~$ sudo systemctl enable smbd nmbd
[KGB2] munakatasudo:~$ sudo systemctl start smbd nmbd
- ローカルでログイン確認
-- パスワード(Ubuntu と同じ)でログインして一覧が見れれ...
[KGB2] munakatasudo:~$ smbclient -L localhost -U munakata
Password for [TEAMSPRIT\munakata]:
Sharename Type Comment
--------- ---- -------
HDR_Recipe Disk magu's HDR space
HDR_264A Disk magu's encoded video
HDR_264B Disk magu's encoded video2
HDR_264C Disk magu's encoded video3
winshare Disk Ubuntu <-> Windows file excha...
peewee Disk pee wee tree2
IPC$ IPC IPC Service (kgb2 server (Sam...
SMB1 disabled -- no workgroup available
*** APCUPS(自動シャットタウン) [#zb2408ce]
- USB接続確認(最初、ケーブルが抜けていた)
[KGB2] munakata:~$ lsusb | grep American
Bus 001 Device 002: ID 051d:0002 American Power Conversi...
- /etc/apcupsd/apcupsd.confの設定を修正(DEVICEは空欄、/d...
[KGB2] munakata:~$ sudo systemctl restart apcupsd
[KGB2] munakata:~$ sleep 2
[KGB2] munakata:~$ apcaccess
APC : 001,036,0858
DATE : 2025-12-26 14:04:19 +0900
HOSTNAME : kgb2
VERSION : 3.14.14 (31 May 2016) debian
UPSNAME : kgb2
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2025-12-25 14:36:22 +0900
MODEL : APC RS 550S
STATUS : ONLINE <----------- 読めてる
LINEV : 100.0 Volts <----------- 読めてる
LOADPCT : 16.0 Percent <----------- 読めてる
BCHARGE : 100.0 Percent <----------- 読めてる
TIMELEFT : 5.5 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
SENSE : Medium
LOTRANS : 82.0 Volts
HITRANS : 123.0 Volts
ALARMDEL : No alarm
BATTV : 13.7 Volts
LASTXFER : Automatic or explicit self test
NUMXFERS : 0
TONBATT : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x05000008
SERIALNO : 3B1824X71423
BATTDATE : 2018-06-16
NOMINV : 100 Volts
NOMBATTV : 12.0 Volts
NOMPOWER : 330 Watts
FIRMWARE : 941.c6 .A USB FW:c6
END APC : 2025-12-26 14:04:55 +0900
-- バッテリー稼働が 3分以上 or 残量5%以下 → apcupsd が sh...
*** タイムゾーン設定、タイムソース設定 [#hac6598b]
- JSTにタイムゾーンを設定(デフォルトはUTC)
[KGB2] munakata:~$ timedatectl set-timezone Asia/Tokyo
[KGB2] munakata:~$ timedatectl
Local time: 金 2025-12-26 14:15:30 JST
Universal time: 金 2025-12-26 05:15:30 UTC
RTC time: 金 2025-12-26 05:15:30
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
- タイムソース Chrony のインストールと有効化
[KGB2] munakata:~$ sudo apt install chrony
[KGB2] munakata:~$ sudo systemctl enable chrony
[KGB2] munakata:~$ sudo systemctl start chrony
[KGB2] munakata:~$ [KGB2] munakata:~$ chronyc tracking
Reference ID : A0107185 (v160-16-113-133.ntp.tky2s.rn...
Stratum : 3
Ref time (UTC) : Fri Dec 26 05:10:53 2025
System time : 0.000173699 seconds fast of NTP time
Last offset : +0.000241416 seconds
RMS offset : 0.000129010 seconds
Frequency : 5.812 ppm fast
Residual freq : +0.006 ppm
Skew : 0.041 ppm
Root delay : 0.009385331 seconds
Root dispersion : 0.000646178 seconds
Update interval : 1033.5 seconds
Leap status : Normal
[KGB2] munakata:~$ chronyc sources -v
.-- Source mode '^' = server, '=' = peer, '#' = local...
/ .- Source state '*' = current best, '+' = combined, '...
| / 'x' = may be in error, '~' = too variabl...
|| .- xx...
|| Reachability register (octal) -. | xx...
|| Log2(Polling interval) --. | | yy...
|| \ | | zz...
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Las...
========================================================...
^- alphyn.canonical.com 2 10 377 101m -6...
^- prod-ntp-5.ntp4.ps5.cano> 2 10 377 645 +384...
^- prod-ntp-4.ntp1.ps5.cano> 2 10 377 342 +391...
^- prod-ntp-3.ntp4.ps5.cano> 2 10 377 511 +369...
^- x.ns.gin.ntt.net 2 10 377 928 +315...
^- time.cloudflare.com 3 10 377 311 +404...
^* v160-16-113-133.ntp.tky2> 2 10 377 467 +62...
^+ tokyo.timeadjust.org 2 10 377 1185 +9...
*** ロケール(日本語)の設定 [#ib5b4c20]
- 日本語ロケールの生成
[KGB2] munakata:~$ sudo apt update
[KGB2] munakata:~$ sudo apt install -y locales
[KGB2] munakata:~$ sudo locale-gen ja_JP.UTF-8
[KGB2] munakata:~$ locale -a | grep ja_JP
ja_JP.utf8
- システムのデフォルトロケールを設定
[KGB2] munakata:~$ sudo update-locale LANG=ja_JP.UTF-8
*** [[Ubuntu pro:https://ubuntu.com/pro/]] (Live Patch,.....
- &ref(Upro1.png);
- &ref(Upro2.png);
*** raid1 の自動再チェックのインターバル修正 [#f2fabb8a]
- raid1 の自動再構成インターバルは systemd の User Timer ...
- デフォルトは1ヵ月周期だが、これを3ヵ月、半年などに変更...
- 現在の設定の確認
[KGB2] munakata:~$ systemctl list-timers mdcheck_start.t...
NEXT LEFT LAST ...
Sun 2026-02-01 20:05:52 JST 3 weeks 6 days Sun 2026-01-0...
1 timers listed.
Pass --all to see loaded but inactive timers, too.
- 設定可能なインターバル
|目的|設定|h
|半年に1回|OnCalendar=semiannually|
|3ヶ月に1回|OnCalendar=quarterly|
|年1回|OnCalendar=yearly|
|毎月第1日曜 3:00|OnCalendar=Sun *-*-1..7 03:00|
- 設定ファイルを変更(下のサンプル部分を変更しても反映さ...
[KGB2] munakata:~$ sudo systemctl edit mdcheck_start.timer
### Editing /etc/systemd/system/mdcheck_start.timer.d/ov...
### Anything between here and the comment below will bec...
[Timer]
OnCalendar=
OnCalendar=semiannually
### Edits below this comment will be discarded
### /usr/lib/systemd/system/mdcheck_start.timer
# # This file is part of mdadm.
# #
# # mdadm is free software; you can redistribute it and...
# # under the terms of the GNU General Public License a...
# # the Free Software Foundation; either version 2 of t...
# # (at your option) any later version.
#
# [Unit]
# Description=MD array scrubbing
#
# [Timer]
# OnCalendar=Sun *-*-1..7 1:00:00
# RandomizedDelaySec=24h
# Persistent=true
#
# [Install]
# WantedBy=mdmonitor.service
# Also=mdcheck_continue.timer
- 変更を反映し、正しく更新されたか確認する
[KGB2] munakata:~$ sudo systemctl daemon-reload
[KGB2] munakata:~$ sudo systemctl restart mdcheck_start....
[KGB2] munakata:~$ systemctl list-timers mdcheck_start.t...
NEXT LEFT LAST ...
Wed 2026-07-01 10:38:42 JST 5 months 24 days Sun 2026-01...
1 timers listed.
Pass --all to see loaded but inactive timers, too.
*** fail2ban の設定 [#d9710b7e]
- インストール
[KGB2] munakata:~$ sudo apt update
[KGB2] munakata:~$ sudo apt install fail2ban
- 設定 (jail.conf は上書きされるので /etc/fail2ban/jail...
[DEFAULT]
# ログは journalctl を使う(Ubuntu 24.04 の標準)
backend = systemd
# 初回:10分(デフォルト)、再犯:20分 → 40分 → … → 最大...
bantime.increment = true
bantime.factor = 2
bantime.max = 1w
# 1 IP あたりの最大失敗回数
maxretry = 5
# 監視時間(秒)
findtime = 600
# BAN 対象
banaction = iptables-multiport
[sshd]
enabled = true
port = 8722
filter = sshd
logpath = %(sshd_log)s
- 有効化、永続化と起動確認
[KGB2] munakata:~$ sudo systemctl restart fail2ban
[KGB2] munakata:~$ sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV servic...
Executing: /usr/lib/systemd/systemd-sysv-install enable ...
[KGB2] munakata:~$ sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/usr/lib/systemd/system/fail2ban.se...
Active: active (running) since Tue 2026-01-06 10:22...
Docs: man:fail2ban(1)
Main PID: 1484190 (fail2ban-server)
Tasks: 5 (limit: 37649)
Memory: 19.7M (peak: 22.2M)
CPU: 157ms
CGroup: /system.slice/fail2ban.service
└─1484190 /usr/bin/python3 /usr/bin/fail2ba...
1月 06 10:22:46 kgb2 systemd[1]: Started fail2ban.servi...
1月 06 10:22:46 kgb2 fail2ban-server[1484190]: 2026-01-...
1月 06 10:22:46 kgb2 fail2ban-server[1484190]: Server r...
- ban ステータス確認
[KGB2] munakata:~$ sudo fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: sshd
[KGB2] munakata:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COM...
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 193.233.230.243
- 手動操作(緊急対応 等)
-- 手動で BAN する方法
sudo fail2ban-client set sshd banip 1.2.3.4
-- 手動で UNBAN する方法(重要)
sudo fail2ban-client set sshd unbanip 1.2.3.4
-- 全解除(緊急時)
sudo fail2ban-client unban --all
** リカバリー(アプリ) [#b8921f81]
*** Apache2 [#m4cd07ad]
- 素の Apache2 インストール
[KGB2] munakata:~$ sudo apt install apache2
[KGB2] munakata:~$ sudo systemctl enable apache2
[KGB2] munakata:~$ sudo systemctl start apache2
- php 関連のインストール
[KGB2] munakata:~$ sudo apt install php libapache2-mod-p...
[KGB2] munakata:~$ sudo apt install php-mbstring
- 登録済サイトの復旧
[KGB2] munakata:~$ sudo cp -a /raid_vol/reinstall_backup...
[KGB2] munakata:~$ sudo a2ensite (実際の登録サイト)
- モジュールの有効化
[KGB2] munakata:~$ sudo a2enmod rewrite
[KGB2] munakata:~$ sudo a2enmod php8.3
[KGB2] munakata:~$ sudo a2enmod ssl
[KGB2] munakata:~$ sudo a2enmod proxy
[KGB2] munakata:~$ sudo a2enmod proxy_http
- サーバー証明書
-- 以前利用していた証明書を戻す
-- Let's Encrypt インストール
-- Let's Encrypt 自動更新管理
- 設定確認
[KGB2] munakata:~$ sudo apachectl configtest
[KGB2] munakata:~$ sudo systemctl reload apache2
*** Pukiwiki [#ub00b630]
- 今回の復旧戦略は「当時想定されていなかった組み合わせ」
-- PukiWiki 1.4系
-- PHP 8.3
-- 絶対パス構成
-- DATA_HOME 分離
元々動作していた環境(=設定)をそのまま復元するだけで動...
[KGB2] munakata:~/Downloads$ php -v
PHP 8.3.6 (cli) (built: Jul 14 2025 18:30:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
with Zend OPcache v8.3.6, Copyright (c), by Zend Tec...
- インストール
-- 既にWeb上の [[公式サイト:https://pukiwiki.sourceforge....
-- 現状の最新(=最終?)バージョンは 1.5.4、ダウンロード...
--- &ref(pukiwiki-1.5.4_utf8.zip);
-- pukiwiki.ini.php 内のデータ保存保存場所の指定
/////////////////////////////////////////////////
// Directory settings I (ended with '/', permission '777')
// You may hide these directories (from web browsers)
// by setting DATA_HOME at index.php.
define('DATA_DIR', DATA_HOME . 'wiki/' ); // L...
define('DIFF_DIR', DATA_HOME . 'diff/' ); // L...
define('BACKUP_DIR', DATA_HOME . 'backup/' ); // B...
define('CACHE_DIR', DATA_HOME . 'cache/' ); // S...
define('UPLOAD_DIR', DATA_HOME . 'attach/' ); // A...
define('COUNTER_DIR', DATA_HOME . 'counter/' ); // C...
define('PLUGIN_DIR', DATA_HOME . 'plugin/' ); // P...
--- DATA_HOME は index.php で指定される。
--- &color(red){今回、DATA_HOME に /raid_vol/puki_data/ ...
--- &color(red){結果的に /var/www/html/pukiwiki から wik...
- ディレクトリー構成(プログラム本体、データ):プログラ...
[KGB2] munakata:~$ ls -la /var/www/html/pukiwiki/
total 208
drwxr-xr-x 4 www-data www-data 4096 12月 30 18:26 .
drwxr-xr-x 4 root root 4096 12月 25 12:05 ..
-rw-r--r-- 1 www-data www-data 1157 1月 31 2020 .htac...
-rw-r--r-- 1 www-data www-data 564 4月 29 2005 .htpa...
-rw-r--r-- 1 www-data www-data 18009 8月 29 2004 COPYI...
-rw-r--r-- 1 www-data www-data 11136 3月 21 2022 INSTA...
-rw-r--r-- 1 www-data www-data 2770 3月 27 2022 READM...
-rw-r--r-- 1 www-data www-data 16026 3月 22 2022 READM...
-rw-r--r-- 1 www-data www-data 1259 3月 27 2022 UPDAT...
-rw-r--r-- 1 www-data www-data 15290 3月 14 2022 UPDAT...
-rw-r--r-- 1 www-data www-data 7425 12月 30 18:26 defau...
-rw-r--r-- 1 www-data www-data 17161 1月 29 2022 en.ln...
lrwxrwxrwx 1 root root 25 12月 24 23:22 image...
-rw-r--r-- 1 www-data www-data 754 12月 25 08:46 index...
-rw-r--r-- 1 www-data www-data 896 12月 25 07:27 index...
-rw-r--r-- 1 www-data www-data 19920 1月 12 2022 ja.ln...
-rw-r--r-- 1 www-data www-data 14027 1月 11 2022 keita...
drwxr-xr-x 2 www-data www-data 4096 3月 27 2022 lib
drwxr-xr-x 2 www-data www-data 4096 12月 25 15:56 plugin
-rw-r--r-- 1 www-data www-data 22118 12月 25 15:35 pukiw...
-rw-r--r-- 1 www-data www-data 1536 12月 3 2014 rules...
lrwxrwxrwx 1 root root 24 12月 24 23:22 skin ...
-rw-r--r-- 1 www-data www-data 11949 3月 27 2022 wiki....
- データは別の場所(/raid_vol/puki_data)に配置
[KGB2] munakata:~$ ls -la /raid_vol/puki_data/
total 764
drwxrwxr-x 10 www-data www-data 4096 12月 25 08:50 .
drwxr-xr-x 8 root root 4096 12月 23 18:06 ..
-rw-rw-r-- 1 www-data www-data 34 2月 8 2023 .ht...
drwxrwxr-x 2 www-data www-data 643072 12月 30 19:16 att...
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:12 bac...
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:25 cache
drwxrwxr-x 2 www-data www-data 4096 1月 7 2020 cou...
-rw-r--r-- 1 www-data www-data 7424 1月 11 2022 def...
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:08 diff
drwxrwxr-x 3 www-data www-data 4096 2月 8 2023 image
-rw-r--r-- 1 www-data www-data 14027 1月 11 2022 kei...
lrwxrwxrwx 1 root root 29 12月 25 08:50 plu...
-rw-r--r-- 1 www-data www-data 1536 12月 3 2014 rul...
drwxrwxr-x 2 www-data www-data 4096 2月 22 2024 skin
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:08 wiki
- &color(red){pukiwiki.ini.php} の変更内容(特別な内容は...
-- 管理者名の変更 => munakata
-- 管理者パスワードの変更 => !frex7785
-- FrontPage の変更 => KGB
--- 差分
[KGB2] munakata:~/wk/pukiwiki-1.5.4_utf8$ diff pukiwiki....
122c122
< $modifier = 'anonymous';
---
> $modifier = 'munakata';
128c128,129
< $defaultpage = 'FrontPage'; // Top / Default page
---
> //$defaultpage = 'FrontPage'; // Top / Default page
> $defaultpage = 'KGB'; // Top / Default page
192c193,194
< $adminpass = '{x-php-md5}!';
---
> //$adminpass = '{x-php-md5}!';
> $adminpass = '{x-php-md5}' . md5('!freedman7785');
- &color(red){index.php の変更内容(データディレクトリの...
-- DATA_HOME に /raid_vol/puki_data を指定
-- php8.3 に起因するエラーを抑止
--- 変更後の index.php
[KGB2] munakata:~/wk/pukiwiki-1.5.4_utf8$ cat /var/www/h...
<?php
error_reporting(E_ERROR | E_PARSE);
chdir(__DIR__);
// PHP8対策:未定義定数を潰す
define('PKWK_OPTIMISE', 0);
// absolute paths
define('DATA_HOME', '/raid_vol/puki_data/');
define('LIB_DIR', __DIR__ . '/lib/');
define('INI_FILE', __DIR__ . '/pukiwiki.ini.php');
// language (this tree uses docroot/*.lng.php)
define('LANG_FILE', __DIR__ . '/ja.lng.php');
define('LANG_FILE_HINT', __DIR__ . '/ja.lng.php');
define('UA_INI_FILE', __DIR__ . '/default.ini.php');
//define('RULES_FILE', __DIR__ . '/rules.ini.php');
//define('UA_INI_FILE', array(
// 'default' => __DIR__ . '/default.ini.php',
// 'keitai' => __DIR__ . '/keitai.ini.php',
// 'rules' => __DIR__ . '/rules.ini.php',
//));
require(LIB_DIR . 'pukiwiki.php');
?>
*** [[mirakurun (TVチューナーサーバー)/ EPGStation(TV録...
** リカバリー(運用系) [#sb78b4eb]
終了行:
#contents();
** 障害内容 → 部品交換 [#x9130abc]
*** 障害内容(2025/12/23) [#z86c0c94]
-EPGStation アプリが表示できなくなった(pukiwiki, samba ...
-reboot すらできなくなった
[KGB2] munakata:~$ sudo reboot
Broadcast message from root@kgb2 on pts/1 (Tue 2025-12-2...
The system will reboot now!
Call to Reboot failed: Access denied
-- sudo reboot 自体は実行された
-- systemd が reboot トランザクションを開始
-- しかし 最後の reboot syscall が拒否された
-- systemd-logind は生きている
-- しかし reboot.target がロードできない
-- そのため Access denied(= 実行不能)
- systemdの再インストールを試みたが以下のエラーが出て更新...
dpkg: unrecoverable fatal error, aborting:
loading files list file for package 'logrotate':
cannot open /var/lib/dpkg/info/logrotate.list (不正なメ...
Error: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: ...
E: Sub-process /usr/bin/dpkg returned an error code (2)
-- これは systemd 以前に dpkg のデータベース自体が破損し...
-- rescue 環境で fsck → dpkg 再構築 or OS 再インストール...
- &color(red){起動用メディアの故障率が気になった(あなた...
[KGB2] munakata:~$ sudo dmesg | grep -i -E "ext4|nvme|i/...
[563027.945734] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.946248] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.946961] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.948109] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.948801] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.949384] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.949787] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.950963] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.951360] EXT4-fs error (device nvme1n1p2): ext4_d...
[563027.951831] EXT4-fs error (device nvme1n1p2): ext4_d...
[616649.534913] EXT4-fs error: 10 callbacks suppressed
[616649.534916] EXT4-fs error (device nvme1n1p2): htree_...
[616649.535380] EXT4-fs error (device nvme1n1p2): htree_...
[616649.535839] EXT4-fs error (device nvme1n1p2): htree_...
[616868.773653] EXT4-fs (nvme0n1p1): error count since l...
[616868.773671] EXT4-fs (nvme0n1p1): initial error at ti...
[616868.773679] EXT4-fs (nvme0n1p1): last error at time ...
[627354.624630] EXT4-fs (nvme1n1p2): error count since l...
[627354.624643] EXT4-fs (nvme1n1p2): initial error at ti...
[627354.624658] EXT4-fs (nvme1n1p2): last error at time ...
[630992.102962] EXT4-fs error (device nvme0n1p1): ext4_m...
+ nvme1n1p2(root)が“進行性”に壊れている
EXT4-fs (nvme1n1p2): error count since last fsck: 2 → 25...
++fsck していないのに エラーカウントが増え続けている
++同じ inode / block を何度も壊す
++👉 メディア上の同一物理領域が不安定
+ ext4 の「チェックサム破壊」+「inode out of bounds」
Directory block failed checksum
inode out of bounds
bad entry in directory
++これはソフトウェアバグではほぼ起きない
++メモリ化けだけでもここまで繰り返さない
++👉 ストレージ層でのビット化けを強く示唆
+ dpkg / apport / unattended-upgr が巻き添えで死んでいる
comm dpkg
comm apport
comm unattended-upgr
++ランダムではなく「書き込みが多い領域」から壊れる
++/var/lib/dpkg が最初に死ぬのは典型
- 👉 &color(red){「OS が壊れた」のではなく「OS を載せてい...
- &color(red){起動用メディア(NVMeSSD /dev/nvme)を新品に...
*** 交換前のディスクレイアウト(実メディアのみ) [#k08b28...
[KGB2] munakata:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p2 457G 49G 385G 12% /
/dev/nvme1n1p1 1.1G 6.2M 1.1G 1% /boot/efi
/dev/nvme0n1p1 3.6T 1.7T 1.8T 49% /dtv_recipe
/dev/md0 7.3T 2.9T 4.0T 43% /raid_vol
/dev/sdc1 15T 8.3T 5.5T 61% /dtv_h264B
/dev/sdd1 13T 5.6T 6.5T 47% /dtv_h264A
/dev/sde1 13T 8.1T 4.0T 68% /dtv_h264C
*** 交換部品(nvme1n)[#xfbeb089]
- 現状 / ディレクトリは 50G 程度しか消費していないので、5...
- fanxiang SSD S500 Pro 256GB: NVMe PCIe Gen3.0x4 2800MB/...
-- &ref(256GNVME.png);
** リカバリー準備 [#s14c1429]
*** ファイルバックアップ → / 以外のHDDをすべて切断 [#r9c4...
- /etc 以下
[KGB2] munakatasudo:~$ sudo mkdir -p /raid_vol/reinstall...
[KGB2] munakatasudo:~$ sudo cp -a /etc /raid_vol/reinsta...
- ユーザー、グループ情報
[KGB2] munakatasudo:~$ getent passwd | sudo tee /raid_vo...
[KGB2] munakatasudo:~$ getent group | sudo tee /raid_vo...
- cron / timers
[KGB2] munakatasudo:~$ sudo crontab -l > sudo tee /raid_...
[KGB2] munakatasudo:~$ crontab -l > /raid_vol/reinstall_...
- mdadm RAID
[KGB2] munakatasudo:~$ sudo mdadm --detail --scan | sud...
[KGB2] munakatasudo:~$ sudo mdadm --detail /dev/md0 | su...
- netplan (network 設定)
[KGB2] munakatasudo:~$ sudo cp -a /etc/netplan /raid_vol...
- Docker / コンテナ(mirakurun だけ Docker で運用中)
-- docker-compose / volumes(overlayfs は再構築されますが...
[KGB2] munakatasudo:~$ sudo cp -a /var/lib/docker /raid_...
[KGB2] munakatasudo:~$ sudo cp -a /etc/docker /raid_vol/...
** リカバリー(環境) [#t5bf43aa]
*** OS re-install [#p3051c48]
- [[Ubuntu 24.04.3 server:https://ubuntu.com/download/ser...
-- [[Release Notes:https://discourse.ubuntu.com/t/ubuntu-...
- NVMeSSD には手動でパーティションを作成
|Partition|Mouont Point|Size|Format|h
|nvme0n1p1|未使用|端数(1M)||
|nvme0n1p2|/boot|32G|ext4|
|nvme0n1p3|/|残りすべて(206G)|ext4|
- Ubuntu serverはOSインストール中にnetplanを利用した固定I...
[KGB2] munakata:~$/raid_vol/reinstall_backup/etc$ sudo c...
# This file is generated from information provided by th...
# to it will not persist across an instance reboot. To ...
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg w...
# network: {config: disabled}
network:
ethernets:
enp7s0:
addresses:
- 192.168.11.20/24
nameservers:
addresses:
- 192.168.11.1
search: []
routes:
- to: default
via: 192.168.11.1
version: 2
wifis: {}
*** RAID0 [#tff529b9]
- RAIDディスクペアを接続した時に sda-sda1-md127 と sdb-sd...
-- RAID1 の メンバーは正しく検出されている
-- しかし旧 md0 の名前が引き継がれず system が 一時名 md1...
- sda1, sdb1 の UUID が一致していることを確認
[KGB2] munakatasudo:~$ lsblk
[KGB2] munakatasudo:~$ cat /proc/mdstat
[KGB2] munakatasudo:~$ sudo mdadm --examine /dev/sda1
[KGB2] munakatasudo:~$ sudo mdadm --examine /dev/sdb1
- 自動生成された md127 を停止する
[KGB2] munakatasudo:~$ sudo mdadm --stop /dev/md127
- md0 としてRAID0を再構成
[KGB2] munakatasudo:~$ sudo mdadm --assemble /dev/md0 /d...
- md0に対してfsckを実行
[KGB2] munakatasudo:~$ sudo fsck.ext4 -f /dev/md0
- 手動マウント
[KGB2] munakatasudo:~$ sudo mkdir -p /raid_vol
[KGB2] munakatasudo:~$ sudo mount /dev/md0 /raid_vol
- 永続化
[KGB2] munakatasudo:~$ sudo mdadm --detail --scan | sudo...
- initramfs 更新
[KGB2] munakatasudo:~$ sudo update-initramfs -u
- 再起動して md0 が正常にマウントされることを確認
*** その他 HDD/SSD リカバリー → ディスク認識 [#pf4cfbda]
- 各ドライブを接続し、マウントする前に各パーティションに...
- /boot のフォーマット指定が変わった(FAT32 → ext4) のでU...
- fstab のパラメータの ''defaults を間違って default と書...
- 現状の fstab の設定
# <file system> <mount point> <type> <options> ...
/swap.img none swap sw 0 0
/dev/md0 /raid_vol ext4 defaults,nofail 0 0
UUID=26648dca-75d8-474a-8d4e-e4c0661909da / ex...
UUID=eefb4256-7f5f-4dd9-9e20-2ef0837a5e68 /boot ex...
UUID=2665e64e-338c-43b7-963a-2465a48f973c /dtv_recipe au...
UUID=673bf4bd-ab71-41e3-adfa-2326241f1152 /dtv_h264A au...
UUID=ddf9c10e-9018-4a38-aecb-d94eccf8f061 /dtv_h264B au...
UUID=6c0e0325-f4b9-4fb4-84b3-e9c31adb5a5b /dtv_h264C au...
*** sshd 有効化 [#nee85bf8]
- ssh-server のインストール(インストーラで対応済の可能性...
[KGB2] munakatasudo:~$ sudo apt install openssh-server
- 設定情報はバックアップから戻す(/etc/ssh/sshd_config)
-- ssh ポート = 8722
-- rootによるログイン禁止
-- &color(red){パスワードによるログイン禁止};
-- 公開鍵方式のログインのみ受付
- 認証情報は home/munakata/.ssh の下に残っている
- 自動起動設定(systemd サービス登録)
[KGB2] munakatasudo:~$ sudo systemctl enable ssh
[KGB2] munakatasudo:~$ sudo systemctl start ssh
- 設定確認
[KGB2] munakatasudo:~$ sshd -t
Missing privilege separation directory: /run/sshd
というエラーが出るが、ssh接続中でないので /run 以下のディ...
実験用に /run/sshd を作成して再テスト
[KGB2] munakatasudo:~$ sudo mkdir -p /run/sshd
[KGB2] munakatasudo:~$ sudo chmod 755 /run/sshd
[KGB2] munakatasudo:~$ sudo sshd -t
何も表示されなければ OK
*** ネットワークインターフェースの調整 [#z79c9620]
- NVMe交換の影響か、PCIの番号割り当てが変化したようで、ネ...
- 結果として優先LANが活性化できず、ネットがダウンした状態
- /etc/netplan/50-cloud-init.yaml を編集して、正しいイン...
- ネットワークステータス確認
[KGB2] munakata:~$ networkctl status
● Interfaces: 3, 2, 1
State: routable
Online state: online
Address: 192.168.11.20 on enp7s0
172.17.0.1 on docker0
fe80::9e6b:ff:fe93:286b on enp7s0
Gateway: 192.168.11.1 on enp7s0
DNS: 192.168.11.1
8.8.8.8
Search Domains: hmuna.com
12月 25 14:36:18 kgb2 systemd-networkd[987]: lo: Gained ...
12月 25 14:36:18 kgb2 systemd-networkd[987]: Enumeration...
12月 25 14:36:18 kgb2 systemd[1]: Started systemd-networ...
12月 25 14:36:18 kgb2 systemd-networkd[987]: enp7s0: Con...
12月 25 14:36:18 kgb2 systemd[1]: Starting systemd-netwo...
12月 25 14:36:18 kgb2 systemd-networkd[987]: enp7s0: Lin...
12月 25 14:36:21 kgb2 systemd-networkd[987]: enp7s0: Gai...
12月 25 14:36:22 kgb2 systemd-networkd[987]: enp7s0: Gai...
12月 25 14:36:22 kgb2 systemd[1]: Finished systemd-netwo...
12月 25 14:36:23 kgb2 systemd-networkd[987]: docker0: Li...
*** samba 有効化 [#r900dffc]
- バックアップから設定を戻す(&ref(smb.conf,center,/etc/s...
[KGB2] munakatasudo:~$ sudo cp -a /raid_vol/reinstall_ba...
[KGB2] munakatasudo:~$ sudo chown -R root:root /etc/samba
[KGB2] munakatasudo:~$ sudo chmod 755 /etc/samba
- ユーザー確認と追加(Linux ユーザーとは別に設定必要)
[KGB2] munakatasudo:~$ getent passwd munakata(passwd フ...
[KGB2] munakatasudo:~$ sudo smbpasswd -a munakata(samba...
[KGB2] munakatasudo:~$ sudo smbpasswd -e munakata()
- smbd/mnbd の自動起動設定
[KGB2] munakatasudo:~$ sudo systemctl enable smbd nmbd
[KGB2] munakatasudo:~$ sudo systemctl start smbd nmbd
- ローカルでログイン確認
-- パスワード(Ubuntu と同じ)でログインして一覧が見れれ...
[KGB2] munakatasudo:~$ smbclient -L localhost -U munakata
Password for [TEAMSPRIT\munakata]:
Sharename Type Comment
--------- ---- -------
HDR_Recipe Disk magu's HDR space
HDR_264A Disk magu's encoded video
HDR_264B Disk magu's encoded video2
HDR_264C Disk magu's encoded video3
winshare Disk Ubuntu <-> Windows file excha...
peewee Disk pee wee tree2
IPC$ IPC IPC Service (kgb2 server (Sam...
SMB1 disabled -- no workgroup available
*** APCUPS(自動シャットタウン) [#zb2408ce]
- USB接続確認(最初、ケーブルが抜けていた)
[KGB2] munakata:~$ lsusb | grep American
Bus 001 Device 002: ID 051d:0002 American Power Conversi...
- /etc/apcupsd/apcupsd.confの設定を修正(DEVICEは空欄、/d...
[KGB2] munakata:~$ sudo systemctl restart apcupsd
[KGB2] munakata:~$ sleep 2
[KGB2] munakata:~$ apcaccess
APC : 001,036,0858
DATE : 2025-12-26 14:04:19 +0900
HOSTNAME : kgb2
VERSION : 3.14.14 (31 May 2016) debian
UPSNAME : kgb2
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2025-12-25 14:36:22 +0900
MODEL : APC RS 550S
STATUS : ONLINE <----------- 読めてる
LINEV : 100.0 Volts <----------- 読めてる
LOADPCT : 16.0 Percent <----------- 読めてる
BCHARGE : 100.0 Percent <----------- 読めてる
TIMELEFT : 5.5 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
SENSE : Medium
LOTRANS : 82.0 Volts
HITRANS : 123.0 Volts
ALARMDEL : No alarm
BATTV : 13.7 Volts
LASTXFER : Automatic or explicit self test
NUMXFERS : 0
TONBATT : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x05000008
SERIALNO : 3B1824X71423
BATTDATE : 2018-06-16
NOMINV : 100 Volts
NOMBATTV : 12.0 Volts
NOMPOWER : 330 Watts
FIRMWARE : 941.c6 .A USB FW:c6
END APC : 2025-12-26 14:04:55 +0900
-- バッテリー稼働が 3分以上 or 残量5%以下 → apcupsd が sh...
*** タイムゾーン設定、タイムソース設定 [#hac6598b]
- JSTにタイムゾーンを設定(デフォルトはUTC)
[KGB2] munakata:~$ timedatectl set-timezone Asia/Tokyo
[KGB2] munakata:~$ timedatectl
Local time: 金 2025-12-26 14:15:30 JST
Universal time: 金 2025-12-26 05:15:30 UTC
RTC time: 金 2025-12-26 05:15:30
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
- タイムソース Chrony のインストールと有効化
[KGB2] munakata:~$ sudo apt install chrony
[KGB2] munakata:~$ sudo systemctl enable chrony
[KGB2] munakata:~$ sudo systemctl start chrony
[KGB2] munakata:~$ [KGB2] munakata:~$ chronyc tracking
Reference ID : A0107185 (v160-16-113-133.ntp.tky2s.rn...
Stratum : 3
Ref time (UTC) : Fri Dec 26 05:10:53 2025
System time : 0.000173699 seconds fast of NTP time
Last offset : +0.000241416 seconds
RMS offset : 0.000129010 seconds
Frequency : 5.812 ppm fast
Residual freq : +0.006 ppm
Skew : 0.041 ppm
Root delay : 0.009385331 seconds
Root dispersion : 0.000646178 seconds
Update interval : 1033.5 seconds
Leap status : Normal
[KGB2] munakata:~$ chronyc sources -v
.-- Source mode '^' = server, '=' = peer, '#' = local...
/ .- Source state '*' = current best, '+' = combined, '...
| / 'x' = may be in error, '~' = too variabl...
|| .- xx...
|| Reachability register (octal) -. | xx...
|| Log2(Polling interval) --. | | yy...
|| \ | | zz...
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Las...
========================================================...
^- alphyn.canonical.com 2 10 377 101m -6...
^- prod-ntp-5.ntp4.ps5.cano> 2 10 377 645 +384...
^- prod-ntp-4.ntp1.ps5.cano> 2 10 377 342 +391...
^- prod-ntp-3.ntp4.ps5.cano> 2 10 377 511 +369...
^- x.ns.gin.ntt.net 2 10 377 928 +315...
^- time.cloudflare.com 3 10 377 311 +404...
^* v160-16-113-133.ntp.tky2> 2 10 377 467 +62...
^+ tokyo.timeadjust.org 2 10 377 1185 +9...
*** ロケール(日本語)の設定 [#ib5b4c20]
- 日本語ロケールの生成
[KGB2] munakata:~$ sudo apt update
[KGB2] munakata:~$ sudo apt install -y locales
[KGB2] munakata:~$ sudo locale-gen ja_JP.UTF-8
[KGB2] munakata:~$ locale -a | grep ja_JP
ja_JP.utf8
- システムのデフォルトロケールを設定
[KGB2] munakata:~$ sudo update-locale LANG=ja_JP.UTF-8
*** [[Ubuntu pro:https://ubuntu.com/pro/]] (Live Patch,.....
- &ref(Upro1.png);
- &ref(Upro2.png);
*** raid1 の自動再チェックのインターバル修正 [#f2fabb8a]
- raid1 の自動再構成インターバルは systemd の User Timer ...
- デフォルトは1ヵ月周期だが、これを3ヵ月、半年などに変更...
- 現在の設定の確認
[KGB2] munakata:~$ systemctl list-timers mdcheck_start.t...
NEXT LEFT LAST ...
Sun 2026-02-01 20:05:52 JST 3 weeks 6 days Sun 2026-01-0...
1 timers listed.
Pass --all to see loaded but inactive timers, too.
- 設定可能なインターバル
|目的|設定|h
|半年に1回|OnCalendar=semiannually|
|3ヶ月に1回|OnCalendar=quarterly|
|年1回|OnCalendar=yearly|
|毎月第1日曜 3:00|OnCalendar=Sun *-*-1..7 03:00|
- 設定ファイルを変更(下のサンプル部分を変更しても反映さ...
[KGB2] munakata:~$ sudo systemctl edit mdcheck_start.timer
### Editing /etc/systemd/system/mdcheck_start.timer.d/ov...
### Anything between here and the comment below will bec...
[Timer]
OnCalendar=
OnCalendar=semiannually
### Edits below this comment will be discarded
### /usr/lib/systemd/system/mdcheck_start.timer
# # This file is part of mdadm.
# #
# # mdadm is free software; you can redistribute it and...
# # under the terms of the GNU General Public License a...
# # the Free Software Foundation; either version 2 of t...
# # (at your option) any later version.
#
# [Unit]
# Description=MD array scrubbing
#
# [Timer]
# OnCalendar=Sun *-*-1..7 1:00:00
# RandomizedDelaySec=24h
# Persistent=true
#
# [Install]
# WantedBy=mdmonitor.service
# Also=mdcheck_continue.timer
- 変更を反映し、正しく更新されたか確認する
[KGB2] munakata:~$ sudo systemctl daemon-reload
[KGB2] munakata:~$ sudo systemctl restart mdcheck_start....
[KGB2] munakata:~$ systemctl list-timers mdcheck_start.t...
NEXT LEFT LAST ...
Wed 2026-07-01 10:38:42 JST 5 months 24 days Sun 2026-01...
1 timers listed.
Pass --all to see loaded but inactive timers, too.
*** fail2ban の設定 [#d9710b7e]
- インストール
[KGB2] munakata:~$ sudo apt update
[KGB2] munakata:~$ sudo apt install fail2ban
- 設定 (jail.conf は上書きされるので /etc/fail2ban/jail...
[DEFAULT]
# ログは journalctl を使う(Ubuntu 24.04 の標準)
backend = systemd
# 初回:10分(デフォルト)、再犯:20分 → 40分 → … → 最大...
bantime.increment = true
bantime.factor = 2
bantime.max = 1w
# 1 IP あたりの最大失敗回数
maxretry = 5
# 監視時間(秒)
findtime = 600
# BAN 対象
banaction = iptables-multiport
[sshd]
enabled = true
port = 8722
filter = sshd
logpath = %(sshd_log)s
- 有効化、永続化と起動確認
[KGB2] munakata:~$ sudo systemctl restart fail2ban
[KGB2] munakata:~$ sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV servic...
Executing: /usr/lib/systemd/systemd-sysv-install enable ...
[KGB2] munakata:~$ sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/usr/lib/systemd/system/fail2ban.se...
Active: active (running) since Tue 2026-01-06 10:22...
Docs: man:fail2ban(1)
Main PID: 1484190 (fail2ban-server)
Tasks: 5 (limit: 37649)
Memory: 19.7M (peak: 22.2M)
CPU: 157ms
CGroup: /system.slice/fail2ban.service
└─1484190 /usr/bin/python3 /usr/bin/fail2ba...
1月 06 10:22:46 kgb2 systemd[1]: Started fail2ban.servi...
1月 06 10:22:46 kgb2 fail2ban-server[1484190]: 2026-01-...
1月 06 10:22:46 kgb2 fail2ban-server[1484190]: Server r...
- ban ステータス確認
[KGB2] munakata:~$ sudo fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: sshd
[KGB2] munakata:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COM...
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 193.233.230.243
- 手動操作(緊急対応 等)
-- 手動で BAN する方法
sudo fail2ban-client set sshd banip 1.2.3.4
-- 手動で UNBAN する方法(重要)
sudo fail2ban-client set sshd unbanip 1.2.3.4
-- 全解除(緊急時)
sudo fail2ban-client unban --all
** リカバリー(アプリ) [#b8921f81]
*** Apache2 [#m4cd07ad]
- 素の Apache2 インストール
[KGB2] munakata:~$ sudo apt install apache2
[KGB2] munakata:~$ sudo systemctl enable apache2
[KGB2] munakata:~$ sudo systemctl start apache2
- php 関連のインストール
[KGB2] munakata:~$ sudo apt install php libapache2-mod-p...
[KGB2] munakata:~$ sudo apt install php-mbstring
- 登録済サイトの復旧
[KGB2] munakata:~$ sudo cp -a /raid_vol/reinstall_backup...
[KGB2] munakata:~$ sudo a2ensite (実際の登録サイト)
- モジュールの有効化
[KGB2] munakata:~$ sudo a2enmod rewrite
[KGB2] munakata:~$ sudo a2enmod php8.3
[KGB2] munakata:~$ sudo a2enmod ssl
[KGB2] munakata:~$ sudo a2enmod proxy
[KGB2] munakata:~$ sudo a2enmod proxy_http
- サーバー証明書
-- 以前利用していた証明書を戻す
-- Let's Encrypt インストール
-- Let's Encrypt 自動更新管理
- 設定確認
[KGB2] munakata:~$ sudo apachectl configtest
[KGB2] munakata:~$ sudo systemctl reload apache2
*** Pukiwiki [#ub00b630]
- 今回の復旧戦略は「当時想定されていなかった組み合わせ」
-- PukiWiki 1.4系
-- PHP 8.3
-- 絶対パス構成
-- DATA_HOME 分離
元々動作していた環境(=設定)をそのまま復元するだけで動...
[KGB2] munakata:~/Downloads$ php -v
PHP 8.3.6 (cli) (built: Jul 14 2025 18:30:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
with Zend OPcache v8.3.6, Copyright (c), by Zend Tec...
- インストール
-- 既にWeb上の [[公式サイト:https://pukiwiki.sourceforge....
-- 現状の最新(=最終?)バージョンは 1.5.4、ダウンロード...
--- &ref(pukiwiki-1.5.4_utf8.zip);
-- pukiwiki.ini.php 内のデータ保存保存場所の指定
/////////////////////////////////////////////////
// Directory settings I (ended with '/', permission '777')
// You may hide these directories (from web browsers)
// by setting DATA_HOME at index.php.
define('DATA_DIR', DATA_HOME . 'wiki/' ); // L...
define('DIFF_DIR', DATA_HOME . 'diff/' ); // L...
define('BACKUP_DIR', DATA_HOME . 'backup/' ); // B...
define('CACHE_DIR', DATA_HOME . 'cache/' ); // S...
define('UPLOAD_DIR', DATA_HOME . 'attach/' ); // A...
define('COUNTER_DIR', DATA_HOME . 'counter/' ); // C...
define('PLUGIN_DIR', DATA_HOME . 'plugin/' ); // P...
--- DATA_HOME は index.php で指定される。
--- &color(red){今回、DATA_HOME に /raid_vol/puki_data/ ...
--- &color(red){結果的に /var/www/html/pukiwiki から wik...
- ディレクトリー構成(プログラム本体、データ):プログラ...
[KGB2] munakata:~$ ls -la /var/www/html/pukiwiki/
total 208
drwxr-xr-x 4 www-data www-data 4096 12月 30 18:26 .
drwxr-xr-x 4 root root 4096 12月 25 12:05 ..
-rw-r--r-- 1 www-data www-data 1157 1月 31 2020 .htac...
-rw-r--r-- 1 www-data www-data 564 4月 29 2005 .htpa...
-rw-r--r-- 1 www-data www-data 18009 8月 29 2004 COPYI...
-rw-r--r-- 1 www-data www-data 11136 3月 21 2022 INSTA...
-rw-r--r-- 1 www-data www-data 2770 3月 27 2022 READM...
-rw-r--r-- 1 www-data www-data 16026 3月 22 2022 READM...
-rw-r--r-- 1 www-data www-data 1259 3月 27 2022 UPDAT...
-rw-r--r-- 1 www-data www-data 15290 3月 14 2022 UPDAT...
-rw-r--r-- 1 www-data www-data 7425 12月 30 18:26 defau...
-rw-r--r-- 1 www-data www-data 17161 1月 29 2022 en.ln...
lrwxrwxrwx 1 root root 25 12月 24 23:22 image...
-rw-r--r-- 1 www-data www-data 754 12月 25 08:46 index...
-rw-r--r-- 1 www-data www-data 896 12月 25 07:27 index...
-rw-r--r-- 1 www-data www-data 19920 1月 12 2022 ja.ln...
-rw-r--r-- 1 www-data www-data 14027 1月 11 2022 keita...
drwxr-xr-x 2 www-data www-data 4096 3月 27 2022 lib
drwxr-xr-x 2 www-data www-data 4096 12月 25 15:56 plugin
-rw-r--r-- 1 www-data www-data 22118 12月 25 15:35 pukiw...
-rw-r--r-- 1 www-data www-data 1536 12月 3 2014 rules...
lrwxrwxrwx 1 root root 24 12月 24 23:22 skin ...
-rw-r--r-- 1 www-data www-data 11949 3月 27 2022 wiki....
- データは別の場所(/raid_vol/puki_data)に配置
[KGB2] munakata:~$ ls -la /raid_vol/puki_data/
total 764
drwxrwxr-x 10 www-data www-data 4096 12月 25 08:50 .
drwxr-xr-x 8 root root 4096 12月 23 18:06 ..
-rw-rw-r-- 1 www-data www-data 34 2月 8 2023 .ht...
drwxrwxr-x 2 www-data www-data 643072 12月 30 19:16 att...
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:12 bac...
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:25 cache
drwxrwxr-x 2 www-data www-data 4096 1月 7 2020 cou...
-rw-r--r-- 1 www-data www-data 7424 1月 11 2022 def...
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:08 diff
drwxrwxr-x 3 www-data www-data 4096 2月 8 2023 image
-rw-r--r-- 1 www-data www-data 14027 1月 11 2022 kei...
lrwxrwxrwx 1 root root 29 12月 25 08:50 plu...
-rw-r--r-- 1 www-data www-data 1536 12月 3 2014 rul...
drwxrwxr-x 2 www-data www-data 4096 2月 22 2024 skin
drwxrwxr-x 2 www-data www-data 20480 12月 30 19:08 wiki
- &color(red){pukiwiki.ini.php} の変更内容(特別な内容は...
-- 管理者名の変更 => munakata
-- 管理者パスワードの変更 => !frex7785
-- FrontPage の変更 => KGB
--- 差分
[KGB2] munakata:~/wk/pukiwiki-1.5.4_utf8$ diff pukiwiki....
122c122
< $modifier = 'anonymous';
---
> $modifier = 'munakata';
128c128,129
< $defaultpage = 'FrontPage'; // Top / Default page
---
> //$defaultpage = 'FrontPage'; // Top / Default page
> $defaultpage = 'KGB'; // Top / Default page
192c193,194
< $adminpass = '{x-php-md5}!';
---
> //$adminpass = '{x-php-md5}!';
> $adminpass = '{x-php-md5}' . md5('!freedman7785');
- &color(red){index.php の変更内容(データディレクトリの...
-- DATA_HOME に /raid_vol/puki_data を指定
-- php8.3 に起因するエラーを抑止
--- 変更後の index.php
[KGB2] munakata:~/wk/pukiwiki-1.5.4_utf8$ cat /var/www/h...
<?php
error_reporting(E_ERROR | E_PARSE);
chdir(__DIR__);
// PHP8対策:未定義定数を潰す
define('PKWK_OPTIMISE', 0);
// absolute paths
define('DATA_HOME', '/raid_vol/puki_data/');
define('LIB_DIR', __DIR__ . '/lib/');
define('INI_FILE', __DIR__ . '/pukiwiki.ini.php');
// language (this tree uses docroot/*.lng.php)
define('LANG_FILE', __DIR__ . '/ja.lng.php');
define('LANG_FILE_HINT', __DIR__ . '/ja.lng.php');
define('UA_INI_FILE', __DIR__ . '/default.ini.php');
//define('RULES_FILE', __DIR__ . '/rules.ini.php');
//define('UA_INI_FILE', array(
// 'default' => __DIR__ . '/default.ini.php',
// 'keitai' => __DIR__ . '/keitai.ini.php',
// 'rules' => __DIR__ . '/rules.ini.php',
//));
require(LIB_DIR . 'pukiwiki.php');
?>
*** [[mirakurun (TVチューナーサーバー)/ EPGStation(TV録...
** リカバリー(運用系) [#sb78b4eb]
ページ名: