若干マイナー気味のメーカである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:訳者注:よく分からないのでちゃんと訳せない
