Flightradar24のfeederのアップデートがfr24feed_updater.shで出来ないならinstall_fr24_rpi.shで再インストールすればOK

# 前提

タイトルは主語がデカイので、下記の場合の話と捉えてください。

- 実行環境 : Raspberry Pi
- インストーラシェルでの構築である
   - 魔法の呪文 `sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"` で fr24feed をセットアップしている)
- Flightradar24 data sharing software をアップデートしたい

# 結論
`sudo /usr/lib/fr24/fr24feed_updater.sh` を実行しても、`Latest version is already installed` になる。

`sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"` で再インストールすれば良い。

# 詳細

## (1) Flightradar24 からのメールがきた

アップデートしろと言われた。

`Your Flightradar24 feeder XXXXXX is running outdated version` というメールがきた。
※XXXXXX は Flightradar24 から割り当てられた Radar ID
```
Dear Host,

We have noticed that you are using an older version of 
Flightradar24 data sharing software (1.0.27-2) that we
are phasing out. We would therefore like you to upgrade
to the latest version (1.0.34-0) before Feb 28, 2023.

Follow the procedure given below to upgrade:

SSH into your pi and login to it.
Run the following commands - one at a time:
sudo chmod +x /usr/lib/fr24/fr24feed_updater.sh
sudo /usr/lib/fr24/fr24feed_updater.sh
```

## (2) 言われたとおりにやっても、うまくいかない

`Latest version is already installed` と言われてしまい、最新バージョンにアップデートできない。

```bash
# 指令の1行目のとおり、 fr24feed_updater.sh に実行パーミッションがあることを確認する
$ ls -la /usr/lib/fr24/fr24feed_updater.sh
-rwxr-xr-x 1 root root 1573  3月 25  2021 /usr/lib/fr24/fr24feed_updater.sh

# fr24feed_updater.sh を実行しても、 Latest version is already installed と言われる
$ sudo /usr/lib/fr24/fr24feed_updater.sh
/dev/mmcblk0p2 on / type ext4 (rw,noatime)
ヒット:1 http://repo.feed.flightradar24.com flightradar24 InRelease
取得:2 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
取得:3 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
パッケージリストを読み込んでいます... 完了
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Installed version:
Latest available:
Latest version is already installed

# 上記実行で途中に出ていた下記エラー（apt source listの不一致)を修正してみる
#  E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
$ sudo apt-get update --allow-releaseinfo-change
ヒット:1 http://repo.feed.flightradar24.com flightradar24 InRelease
取得:2 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
取得:3 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
取得:4 http://archive.raspberrypi.org/debian buster/main armhf Packages [392 kB]
取得:5 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
取得:6 http://raspbian.raspberrypi.org/raspbian buster/contrib armhf Packages [58.8 kB]
取得:7 http://raspbian.raspberrypi.org/raspbian buster/non-free armhf Packages [104 kB]
13.6 MB を 57秒 で取得しました (238 kB/s)
パッケージリストを読み込んでいます... 完了
N: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'
N: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'

# もう一度 fr24feed_updater.sh を実行しても変わらず、最新バージョンが落ちてこない
$ sudo /usr/lib/fr24/fr24feed_updater.sh
/dev/mmcblk0p2 on / type ext4 (rw,noatime)
ヒット:1 http://repo.feed.flightradar24.com flightradar24 InRelease
ヒット:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
ヒット:3 http://archive.raspberrypi.org/debian buster InRelease
パッケージリストを読み込んでいます... 完了
Installed version:
Latest available:
Latest version is already installed
```

## (3) 調べる

下記の Flightradar24 forum が該当。
https://forum.flightradar24.com/forum/radar-forums/flightradar24-feeding-data-to-flightradar24/218025-jan-2023-notification-flightradar24-feeder-xxx-is-running-outdated-version

ただ、よくよく考えて、
- `https://repo-feed.flightradar24.com/install_fr24_rpi.sh`
- `/usr/lib/fr24/fr24feed_updater.sh`

を読むと、 `install_fr24_rpi.sh` を再実行すれば更新できそう。
要は flightradar24 の apt repository をインポートして、 apt-get install すればいいので。

## (4) 再インストールしてみる

おとなしく `sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"` すればいい。

再インストールすると初期設定ウィザードやり直しになるので、実行前に `/etc/fr24feed.ini` をメモしておくとラクかも。

↓こんな感じで上書きアップデートされる。
```bash
$ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"
--2023-01-22 13:28:34--  https://repo-feed.flightradar24.com/install_fr24_rpi.sh
repo-feed.flightradar24.com (repo-feed.flightradar24.com) をDNSに問いあわせています... 2606:4700::6811:2e34, 2606:4700::6811:2b34, 2606:4700::6811:2d34, ...
repo-feed.flightradar24.com (repo-feed.flightradar24.com)|2606:4700::6811:2e34|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1349 (1.3K) [application/x-sh]
`STDOUT' に保存中

-                                                  100%[================================================================================================================>]   1.32K  --.-KB/s 時間 0.001s

2023-01-22 13:28:35 (1.72 MB/s) - stdout へ出力完了 [1349/1349]

ヒット:1 http://repo.feed.flightradar24.com flightradar24 InRelease
ヒット:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
ヒット:3 http://archive.raspberrypi.org/debian buster InRelease
パッケージリストを読み込んでいます... 完了
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
dirmngr はすでに最新バージョン (2.2.12-1+rpi1+deb10u1) です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 366 個。
Executing: /tmp/apt-key-gpghome.tYzbWCRJZM/gpg.1.sh --recv-key --keyserver keyserver.ubuntu.com C969F07840C430F5
gpg: 鍵C969F07840C430F5:"Flightradar24 <support@fr24.com>"変更なし
gpg:           処理数の合計: 1
gpg:               変更なし: 1
ヒット:1 http://repo.feed.flightradar24.com flightradar24 InRelease
ヒット:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
ヒット:3 http://archive.raspberrypi.org/debian buster InRelease
パッケージリストを読み込んでいます... 完了
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージはアップグレードされます:
  fr24feed
アップグレード: 1 個、新規インストール: 0 個、削除: 0 個、保留: 365 個。
3,569 kB のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
取得:1 http://repo.feed.flightradar24.com flightradar24/raspberrypi-stable armhf fr24feed armhf 1.0.34-0 [3,569 kB]
3,569 kB を 4秒 で取得しました (809 kB/s)
apt-listchanges: changelog を読み込んでいます...
(データベースを読み込んでいます ... 現在 96507 個のファイルとディレクトリがインストールされています。)
.../fr24feed_1.0.34-0_armhf.deb を展開する準備をしています ...
fr24feed (1.0.34-0) で (1.0.27-2 に) 上書き展開しています ...
fr24feed (1.0.34-0) を設定しています ...
useradd: ユーザ 'fr24' は既に存在します
```

あとは、初期設定ウィザードが表示されるので、初回の設定時と同じように設定すればOK

- `Step 1.1 - Enter your email address (username@domain.tld)`
=> Flightradar24 アカウントのメールアドレスを入力
- `Step 1.2 - If you used to feed FR24 with ADS-B data before, enter your sharing key.`
=> https://www.flightradar24.com/account/data-sharing から自分の SHARING KEY をコピペ
- `Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$:`
  - `Step 3.A - Enter antenna's latitude (DD.DDDD)`
  - `Step 3.B - Enter antenna's longitude (DDD.DDDD)`
  - `Step 3.C - Enter antenna's altitude above the sea level (in feet)`
=> yes からの 緯度/経度/高度を入力
- `Step 4.1 - Receiver selection (in order to run MLAT please use DVB-T stick with dump1090 utility bundled with fr24feed):`
=> 我が家の場合は 1 を入力（各自の機器による)
再インストールなので `Checking for dump1090...FOUND` と出力されるはず。
- `Step 4.3 - Enter your additional dump1090 arguments or leave empty`
=> 空で設定した
- `Step 5.1 - Would you like to enable RAW data feed on port 30002 (yes/no)$:`
=> yesで設定した
- `Step 5.2 - Would you like to enable Basestation data feed on port 30003 (yes/no)$:`
=> yesで設定した
- `Step 6 - Please select desired logfile mode:`
` 0 -  Disabled`
` 1 -  48 hour, 24h rotation`
` 2 -  72 hour, 24h rotation`
=> 1にした（深く考えてません）

ここまでくれば、下記が表示されてインストールウィザードが終わる。
```
Saving settings to /etc/fr24feed.ini...OK
Settings saved, please run "sudo systemctl restart fr24feed" to use new configuration.
Installation and configuration completed!
```

`sudo systemctl restart fr24feed` すれば作業としては完了。

```
$ sudo systemctl restart fr24feed
$ systemctl status fr24feed
● fr24feed.service - Flightradar24 Decoder & Feeder
   Loaded: loaded (/etc/systemd/system/fr24feed.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2023-01-22 14:37:42 JST; 8s ago
  Process: 15945 ExecStartPre=/usr/lib/fr24/install_dump1090.sh (code=exited, status=0/SUCCESS)
  Process: 15950 ExecStartPre=/usr/lib/fr24/unregister_kernel_modules.sh (code=exited, status=0/SUCCESS)
  Process: 15954 ExecStartPre=/usr/lib/fr24/create_missing_directories.sh (code=exited, status=0/SUCCESS)
 Main PID: 15957 (fr24feed)
   CGroup: /system.slice/fr24feed.service
           ├─15957 /usr/bin/fr24feed
           └─15982 /usr/bin/dump1090-mutability --raw --mlat --write-json /run/dump1090-mutability/

 1月 22 14:37:42 raspberrypi systemd[1]: Starting Flightradar24 Decoder & Feeder...
 1月 22 14:37:42 raspberrypi systemd[1]: Started Flightradar24 Decoder & Feeder.
```

正しくバージョンアップできたか確認するには、
- http://(fr24 feederを動かしているマシンのローカルIPアドレス):8754/index.html

または
- https://www.flightradar24.com/account/data-sharing

から対象 Radar を選択し `SOFTWARE VERSION`  を確認すればOK。