25.12のapkと24.10のopkg: コマンド、パッケージ形式、移行の境界
- 25.12以降:
apk、パッケージは.apk - 24.10以前:
opkg、パッケージは.ipk - 両者は名前変更で変換できる関係ではありません。
.ipkを.apkに名前変更しないでください。 - 25.12にアップグレードしたら、プラグインは
apkフィードから再インストールします。設定はバックアップ/復元できます。
どちらを使っているか確認する
Section titled “どちらを使っているか確認する”cat /etc/openwrt_releasecommand -v apkcommand -v opkgこのラボでは25.12.6で、apk はあり、opkg はありません。
| 項目 | 25.12 apk |
24.10 opkg |
|---|---|---|
| 形式 | .apk |
.ipk |
| フィードファイル | /etc/apk/repositories.d/distfeeds.list |
/etc/opkg/distfeeds.conf |
| インデックスの更新 | apk update |
opkg update |
| インストール | apk add <pkg> |
opkg install <pkg> |
| 削除 | apk del <pkg> |
opkg remove <pkg> |
| 検索 | apk search <term> |
opkg list | grep <term> |
| インストール済み一覧 | apk list --installed |
opkg list-installed |
| パッケージ情報 | apk info -a <pkg> |
opkg info <pkg> |
| キャッシュ削除 | apk cache clean |
opkg clean |
フィードとアーキテクチャ
Section titled “フィードとアーキテクチャ”25.12:
https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/packages/packages.adbhttps://downloads.openwrt.org/releases/25.12.6/packages/x86_64/base/packages.adbhttps://downloads.openwrt.org/releases/25.12.6/targets/x86/64/kmods/<kernel-hash>/packages.adb24.10:
src/gz openwrt_core https://downloads.openwrt.org/releases/24.10.8/targets/x86/64/packagessrc/gz openwrt_base https://downloads.openwrt.org/releases/24.10.8/packages/x86_64/baserelease、target、arch、kmodのハッシュが一致している必要があります。- 公式、ImmortalWrt、iStoreOSのフィードを混在させると、ABI/署名/名前が壊れる可能性があります。
- 中国のミラーで変わるのはホスト/パスの先頭部分だけです。ターゲットやアーキテクチャは変えないでください。
ルーターのシェル25.12でパッケージをインストールする
apk updateapk search -x sqm-scriptsapk add sqm-scriptsapk info -e sqm-scriptsapk list --installed | wc -lこのラボでは、公式/TUNAともに11220パッケージで、sqm-scripts 1.7.2-r1 をインストールできました。
期待される結果更新、検索、インストール、確認のすべてにapkを使う。
ルーターのシェル24.10での同等の操作
opkg updateopkg list | grep sqm-scriptsopkg install sqm-scriptsopkg list-installed | grep sqm-scriptsこれらは公式ドキュメントに基づく同等のコマンドで、ここでは実行していません(24.10のデバイスがないため)。実測の出力として扱わないでください。
期待される結果コマンドと形式はopkg/ipkで、apkを混ぜない。
25.12へアップグレードするとき
Section titled “25.12へアップグレードするとき”/etc/configとパッケージ一覧をバックアップする(018を参照)- 24.10の
opkg list-installedを記録する - 25.12へアップグレード/書き込みする(019を参照)
apkフィードからプラグインを再インストールする- 設定を復元し、LuCI/サービス/DNSを確認する
.ipkを.apkに変換したり、古いパッケージのディレクトリをコピーしたりしない
このラボでは、25.12のsysupgradeで設定は保持されましたが、パッケージは239から182に減り、SQM/OpenClashは再インストールが必要でした。
よくある障害
Section titled “よくある障害”apk: not found
Section titled “apk: not found”- ファームウェアが24.10以前なので
opkgを使う - 「apkパッケージマネージャーをインストールする」は解決策ではありません。先にリリースを確認します。
opkg: not found
Section titled “opkg: not found”- ファームウェアが25.12以降なので
apkを使う opkgを使う古いチュートリアルやスクリプトは、そのままでは使えません。
.ipk がインストールできない
Section titled “.ipk がインストールできない”- 25.12は
.apkを使う - 名前を変えても形式は変わらない
- リリース/ターゲット/アーキテクチャに合った
.apkを探すか、再ビルドする
404/署名/依存関係のエラー
Section titled “404/署名/依存関係のエラー”- release/target/arch/kmodハッシュの不一致
- フィードの混在
- システム時刻/証明書
--allow-untrustedを日常的に使って回避しない
アップグレード後にLuCIのメニューがない
Section titled “アップグレード後にLuCIのメニューがない”- 本体だけをインストールし、
luci-app-*を入れていない - 古いプラグインを再インストールしていない
- ブラウザーのキャッシュ/再ログイン
- 017を参照
E2ラボ検証(2026-10-20)
Section titled “E2ラボ検証(2026-10-20)”- 環境: OpenWrt 25.12.6 x86 VM 200、
apk、公式/TUNAフィード - 公式/TUNAの
apk update: どちらも11220パッケージ。apk add sqm-scriptsは成功した。 - 25.12の
sysupgrade後: パッケージは239から182に減り、SQM/OpenClashが消えて再インストールが必要だった。 - 未実行: 24.10の
opkgのupdate/install/list、実際の24.10から25.12への移行、異なるアーキテクチャのパッケージ - レシピ:
tests/recipes/apk-vs-opkg.md
出典とレビュー
Section titled “出典とレビュー”- これはE2の部分的な検証です。25.12のapkは検証しましたが、24.10のopkgは公式のコマンド一覧であり、ここでは実行していません。
- コマンドの比較を「移行を検証済み」にしないでください。バックアップを取り、先にVMで試してください。
- 独立したレビュアーはおらず、結論はこの25.12 x86環境に限られます。
出典
Router.Homes
独立した OpenWrt の実践ノートです。各ページにファームウェア、デバイス、パッケージマネージャー、元に戻す手順を明記しています。
アイコン:Solar by 480 Design, CC BY 4.0