コンテンツにスキップ

25.12のapkと24.10のopkg: コマンド、パッケージ形式、移行の境界

  • 25.12以降: apk、パッケージは .apk
  • 24.10以前: opkg、パッケージは .ipk
  • 両者は名前変更で変換できる関係ではありません。.ipk を .apk に名前変更しないでください。
  • 25.12にアップグレードしたら、プラグインは apk フィードから再インストールします。設定はバックアップ/復元できます。

どちらを使っているか確認する

Section titled “どちらを使っているか確認する”
ターミナルウィンドウ
cat /etc/openwrt_release
command -v apk
command -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

25.12:

https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/packages/packages.adb
https://downloads.openwrt.org/releases/25.12.6/packages/x86_64/base/packages.adb
https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/kmods/<kernel-hash>/packages.adb

24.10:

src/gz openwrt_core https://downloads.openwrt.org/releases/24.10.8/targets/x86/64/packages
src/gz openwrt_base https://downloads.openwrt.org/releases/24.10.8/packages/x86_64/base
  • release、target、arch、kmodのハッシュが一致している必要があります。
  • 公式、ImmortalWrt、iStoreOSのフィードを混在させると、ABI/署名/名前が壊れる可能性があります。
  • 中国のミラーで変わるのはホスト/パスの先頭部分だけです。ターゲットやアーキテクチャは変えないでください。
ルーターのシェル25.12でパッケージをインストールする
ターミナルウィンドウ
apk update
apk search -x sqm-scripts
apk add sqm-scripts
apk info -e sqm-scripts
apk list --installed | wc -l

このラボでは、公式/TUNAともに11220パッケージで、sqm-scripts 1.7.2-r1 をインストールできました。

期待される結果更新、検索、インストール、確認のすべてにapkを使う。

ルーターのシェル24.10での同等の操作
ターミナルウィンドウ
opkg update
opkg list | grep sqm-scripts
opkg install sqm-scripts
opkg list-installed | grep sqm-scripts

これらは公式ドキュメントに基づく同等のコマンドで、ここでは実行していません(24.10のデバイスがないため)。実測の出力として扱わないでください。

期待される結果コマンドと形式はopkg/ipkで、apkを混ぜない。

  1. /etc/config とパッケージ一覧をバックアップする(018を参照)
  2. 24.10の opkg list-installed を記録する
  3. 25.12へアップグレード/書き込みする(019を参照)
  4. apk フィードからプラグインを再インストールする
  5. 設定を復元し、LuCI/サービス/DNSを確認する
  6. .ipk を .apk に変換したり、古いパッケージのディレクトリをコピーしたりしない

このラボでは、25.12のsysupgradeで設定は保持されましたが、パッケージは239から182に減り、SQM/OpenClashは再インストールが必要でした。

  • ファームウェアが24.10以前なので opkg を使う
  • 「apkパッケージマネージャーをインストールする」は解決策ではありません。先にリリースを確認します。
  • ファームウェアが25.12以降なので apk を使う
  • opkg を使う古いチュートリアルやスクリプトは、そのままでは使えません。
  • 25.12は .apk を使う
  • 名前を変えても形式は変わらない
  • リリース/ターゲット/アーキテクチャに合った .apk を探すか、再ビルドする
  • release/target/arch/kmodハッシュの不一致
  • フィードの混在
  • システム時刻/証明書
  • --allow-untrusted を日常的に使って回避しない

アップグレード後にLuCIのメニューがない

Section titled “アップグレード後にLuCIのメニューがない”
  • 本体だけをインストールし、luci-app-* を入れていない
  • 古いプラグインを再インストールしていない
  • ブラウザーのキャッシュ/再ログイン
  • 017を参照
  • 環境: 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
  • これはE2の部分的な検証です。25.12のapkは検証しましたが、24.10のopkgは公式のコマンド一覧であり、ここでは実行していません。
  • コマンドの比較を「移行を検証済み」にしないでください。バックアップを取り、先にVMで試してください。
  • 独立したレビュアーはおらず、結論はこの25.12 x86環境に限られます。

出典

Router.Homes

独立した OpenWrt の実践ノートです。各ページにファームウェア、デバイス、パッケージマネージャー、元に戻す手順を明記しています。

アイコン:Solar by 480 Design, CC BY 4.0