若干マイナー気味のメーカであるASUSTOR製な上に、さらにEntware-ngというマイナーなパッケージマネージャを載せると、ドキュメントがどんどん減っていく感じがして心細いが、いまのところ、特に問題はないようだ。それよりも、将来どこまでメンテナンスされるかが問題かもしれない。メンテナンスの継続を切に願っている。
ASUSTOR NASについて公式には次のページを参考にするように書いてあるが、ぱっと見ただけでは何が書いてあるかよくわからないんだよね……。しかたがないから、大ざっぱに翻訳してみた。ただし、公開の許諾を得る英語力はない!ので、以下はそれを元に概要を説明する。
- 原著:ASUSTOR Community Forum • View topic - [APKG Entware-ng] Total replace Astware & Optware include 64 bits version
- (father.mande(Philippe)著、2015年12月02日(水))
- 『[APKG Entware-ng] Astware・Optwareからの完全移行法(64 bitバージョンを含む)』みたいな感じだろうか
ちなみに、ASUSTOR製NASにインストールするだけなら、ここから「.apkg」ファイルをダウンロードし、解凍し、NASの管理画面の「App Central」から「手動インストール」のところにアップロードすればOK。
Entware-ngはマルチプラットフォーム(mipsel, armel, armhf, x86, x86_64)対応で、毎月アップデート。最新のライブラリを収録している(例:libcは、Asustorは2.13を配布しているのに対し、2.22を配布中)。
※ごめん……コマンドのusageを後回しにしたら、途中で力尽きた……。コマンドのヘルプが一部、英文のままになっています。
Optware・Astwareからの移行について
- インストールされたソフトウェアと、それらが依存しているソフトウェアのリストを作る
- 例:
[/apps]/opt/bin/opkg list_installed | grep -v ^opkg | cut -d ' ' -f 1 > /share/Public/my_applist
のような感じ
- 例:
- それらの設定ファイルを別の場所に保存する
- それらと、Optware/Astwareをアンインストール
- Entware-ngをインストール
- リストに従って、ソフトウェアをインストール
- 例:
while read line ; do /opt/bin/opkg install $line ; done < /share/Public/my_applist
のような感じ - ただし、パッケージ名は完全に同じわけではないため、エラーになった分は
opkg find
などで検索し、インストールをする必要がある
- 例:
注意: * Optwareからの移行は本当はやめたほうがいいらしい。(訳者注:僕は/opt以下を削除したせいか、成功しました。) * それに比べると、Astwareからの移行はリスクが少ないらしい。 * セキュリティ保護のため、OptwareとAstwareはEntware-ngのインストール前に削除すること
Entware-ngは/optディレクトリ以下を使用する
[現在のバージョン]
0.96
01.01.2016
0.96でファームウェアを修正した。(2.5.1 Beta以前では、AS_NAS_ARCH環境変数が32bitのx86 CPU搭載モデルで入力されないバグがあります)
[対応モデル]
[要件]
OptwareとAstwareはアンインストールしてあること(x86モデルではAstwareを残すことも可能だがリスクが高まるらしい)。
[パッケージ]
- 1600件以上:http://entware.wl500g.info/binaries/ent
- changelog (version updated) : https://github.com/Entware/entware/wiki/Changelog
- パッケージは毎月更新。
- ZyxmonのDeluge 1.3.12 + addons、iotopなどがある*1。
Wiki : https://github.com/Entware/entware/wiki (Asustorの実装専用) バグ報告 : https://github.com/Entware/entware/issues (Entwareパッケージ専用)
[使い方]
- 従来の
ipkg
と対応するコマンドは:opkg
- バックグラウンドプロセスを起動するためのメカニズムがある(すべて、ユーザ権限らしい)。
以下はコマンドの出力を翻訳したもの。
# opkg opkg must have one sub-command argument usage: opkg [options...] sub-command [arguments...] sub-commandは下記のいずれか: パッケージ操作: update 利用可能パッケージのリストを更新 upgrade インストール済パッケージの更新 install <pkgs> パッケージ<pkgs>(複数可)をインストール configure <pkgs> 開梱済みパッケージ<pkgs>(複数可)を設定 remove <pkgs|regexp> パッケージ<pkgs|regexp>(複数可、正規表現可)を削除 flag <flag> <pkgs> パッケージ<pkgs>(複数可)のフラグを変更 <flag>=hold|noprune|user|ok|installed|unpacked (一度に1つ) 情報コマンド: list 利用可能パッケージのリストを表示 list-installed インストール済パッケージのリストを表示 list-upgradable 更新できるインストール済パッケージのリストを表示 list-changed-conffiles コンフィギュレーションファイルのリストを表示 files <pkg> パッケージ<pkg>に付属のファイルのリストを表示 search <file|regexp> ファイル<file>を含むパッケージを表示 find <regexp> 名前か説明に<regexp>が含まれるパッケージのリストを表示 info [pkg|regexp] パッケージ<pkg>の全情報を表示 status [pkg|regexp] パッケージ<pkg>の全ステータスを表示 download <pkg> カレントディレクトリにパッケージ<pkg>をダウンロード compare-versions <v1> <op> <v2> <= < > >= = << >> を使用して 2つのバージョンを比較 print-architecture インストール済パッケージのアーキテクチャのリストを表示 depends [-A] [pkgname|pat]+ whatdepends [-A] [pkgname|pat]+ whatdependsrec [-A] [pkgname|pat]+ whatrecommends[-A] [pkgname|pat]+ whatsuggests[-A] [pkgname|pat]+ whatprovides [-A] [pkgname|pat]+ whatconflicts [-A] [pkgname|pat]+ whatreplaces [-A] [pkgname|pat]+ オプション: -A 未インストールを含む、全パッケージをクエリ -V[<level>] 表示冗長度レベルを<level>に設定 --verbosity[=<level>] 冗長度レベル: 0 エラーのみ 1 標準メッセージ (デフォルト) 2 情報メッセージ 3 デバッグ 4 デバッグレベル2 -f <conf_file> <conf_file>をopkgのコンフィギュレーションファイルとして使用 --conf <conf_file> --cache <directory> Use a package cache -d <dest_name> Use <dest_name> as the the root directory for --dest <dest_name> package installation, removal, upgrading. <dest_name> should be a defined dest name from the configuration file, (but can also be a directory name in a pinch). -o <dir> Use <dir> as the root directory for --offline-root <dir> offline installation of packages. --add-arch <arch>:<prio> Register architecture with given priority --add-dest <name>:<path> Register destination with given path Force Options: --force-depends Install/remove despite failed dependencies --force-maintainer Overwrite preexisting config files --force-reinstall Reinstall package(s) --force-overwrite Overwrite files from other package(s) --force-downgrade Allow opkg to downgrade packages --force-space Disable free space checks --force-postinstall Run postinstall scripts even in offline mode --force-remove Remove package even if prerm script fails --force-checksum Don't fail on checksum mismatches --noaction No action -- test only --download-only No action -- download only --nodeps Do not follow dependencies --nocase Perform case insensitive pattern matching --force-removal-of-dependent-packages Remove package and all dependencies --autoremove Remove packages that were installed automatically to satisfy dependencies -t Specify tmp-dir. --tmp-dir Specify tmp-dir. regexp could be something like 'pkgname*' '*file*' or similar e.g. opkg info 'libstd*' or opkg search '*libop*' or opkg remove 'libncur*'
[ダウンロード] APKGファイル(ZIP圧縮): https://mega.nz/#!I9skFI7Q!2yUn7yTYjhcs-ulxQkp8RkCsJxysAzw8m6JEwd1SNN4
*1:訳者注:よく分からないのでちゃんと訳せない