[HOME] [研究室] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

fml4 と fml8 の違い: コマンドラインでの操作 (makefml)

makefml とシンタックスの異なる fml というコマンドがあります。

makefml コマンド ML名 オプション
fml     ML名 コマンド オプション
違いは引数の順番です。 ML名とコマンドの順番が違うだけで、 実行される内容は、まったく一緒です。

動作時の表示の仕方も異なります。fml8 のほうが Unix 的です。 fml4 のコマンドは、可能なかぎり処理の様子を表示し、 最後に処理の変更点を表示するようになっています。 逆に、fml8 のコマンドは、できるだけ静かに動きます。 [1] これは、そのほうが Unix 風だということと、 必ずしも操作対象がファイルとは限らないため、 差分が表示できるわけではないためです。

makefml から実行される各コマンドの相違点は以下の通りです。

Table 1. fml4 と fml8 の違い: CUI (makefml もしくは fml コマンド)

内容 fml4 fml8
ヘルプの表示makefml help ML もしくは makefml info ML を実行するとヘルプが表示される。 どちらでも同じ動作。 表示の際に、環境変数 PAGER が指定されていれば、それを使う。未実装
fml のインストール方法トップディレクトリで make install (実体は makefml install)を実行するトップディレクトリで configure および make install (実体は install.pl スクリプト)
インストールスクリプトの挙動対話法式がデフォルト。最重要項目は対話的に設定が可能。対話法式ではない。最重要項目は configure オプションで指定する。
MLの作成makefml newml ML もしくは makefml new MLmakefml newml ML
newml コマンドが作るエイリアス(見本)ファイルsendmail 用 (互換性があるため postfix 用としても使用可能)postfix, sendmail, qmail, procmail すべてを作る
newml コマンドが作るエイリアス(見本)ファイルのパス/var/spool/ml/etc/aliases/var/spool/ml/etc/mail/aliases
qmail 用の設定を作るmakefml qmail-setup ML不要 (デフォルトで作成する)
aliaes を再生成するmakefml recollect-aliases ML該当するものはない
ML の削除makefml destructml MLmakefml rmml ML
エラーメール自動解析ツールを設定するmakefml mead ML を実行し、エイリアスも適宜、設定変更する。不要、デフォルトで設定されている
fml 自体のテストをしてみるmakefml test ML未実装
LISTSERV スタイルのコマンドのセットアップ。makefml fmlserv ML listserv majordomo でも同じ。未実装
アドレスを(受信者、送信者リスト両方に)追加するmakefml add ML ADDRESS もしくは adduser でもよい。 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は actives と members ファイル。makefml subscribe ML ADDRESS なお add subscribe adduser useradd コマンドは全て同じ意味である。 エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は $primary_recipient_maps と $primary_member_maps で、 具体的には recipients と members ファイル。
アドレスを(受信者、送信者リスト両方から)削除するmakefml bye ML ADDRESS もしくは byeuser でもよい。 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は actives と members ファイル。makefml unsubscribe ML ADDRESS なお bye unsubscribe deluser remove resign signoff userdel コマンドは全て同じ意味である。 エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は $primary_recipient_maps と $primary_member_maps で、 具体的には recipients と members ファイル。
アドレスを変更する(受信者リスト、メンバーリストともに変更する)makefml chaddr ML OLD_ADDRESS NEW_ADDRESS 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は actives と members ファイル。makefml chaddr ML OLD_ADDRESS NEW_ADDRESS エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は $primary_recipient_maps と $primary_member_maps で、 具体的には recipients と members ファイル。
受信者リストにのみアドレスを追加する。makefml addactives ML ADDRESS これは addactive add2active add2actives でも同じ意味。 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は actives ファイル。makefml addactives ML ADDRESS エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は $primary_recipient_maps で、 具体的には recipients ファイル。
メンバーリストにのみアドレスを追加する。makefml addmembers ML ADDRESS これは addmember add2member add2members でも同じ。 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は members ファイル。makefml addmembers ML ADDRESS エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は $primary_recipient_maps と $primary_member_maps で、 具体的には recipients と members ファイル。
リアルタイム配送を止めるmakefml off ML ADDRESS これは skip でもよい。 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は actives ファイル。makefml off ML ADDRESS エラーにならない限り、画面表示はなく、静かに終る。
リアルタイム配送を再開するmakefml on ML ADDRESS 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は actives ファイル。makefml digestoff ML ADDRESS もしくは makefml digest ML ADDRESS off エラーにならない限り、画面表示はなく、静かに終る。
まとめおくり配送へmakefml matome ML ADDRESS コマンドは digest でもよい。 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は actives ファイル。makefml digeston ML ADDRESS もしくは makefml digest ML ADDRESS on エラーにならない限り、画面表示はなく、静かに終る。
リモート管理者を追加する。makefml addadmin ML ADDRESS 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は members-admin ファイル。makefml addadmin ML ADDRESS エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は recipients-admin と members-admin ファイル。
リモート管理者を削除する。makefml byeadmin ML ADDRESS 終了後、ファイルの変更点が表示される。 デフォルトの操作対象は members-admin ファイル。makefml byeadmin ML ADDRESS エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は recipients-admin と members-admin ファイル。
リモート管理者のパスワードを設定する(1)makefml passwd ML 対話モードになり、アドレスとパスワードの入力を促される。makefml passwd ML はエラーになる。(未実装?)
リモート管理者のパスワードを設定する(2)makefml passwd ML ADDRESS 対話モードになり、パスワードの入力を促される。makefml passwd ML ADDRESS 引数で PASSWORD を入力しない場合は、 対話モードになり、パスワードの入力を促される。
リモート管理者のパスワードを設定する(3)makefml passwd ML ADDRESS PASSWORD 処理の様子が表示される。 デフォルトの操作対象は etc/passwd ファイル。makefml passwd ML ADDRESS PASSWORD エラーにならない限り、画面表示はなく、静かに終る。 デフォルトの操作対象は etc/passwd-admin ファイル。
メニュー形式で設定を変更するmakefml config ML実装しているが、まだ中途半端。
設定ファイルを編集するmakefml edit ML 使うエディタの入力を促し、 そのエディタで config.ph を編集できるようにする。 エディタのデフォルトは vi 。makefml edit ML エディタで config.cf を編集できるようにする。 使うエディタを尋ねたりはしない。 環境変数 EDITOR が設定されていれば、その値が使われる。 エディタのデフォルトは vi 。
fml4 固有の設定ファイル変換( cf から config.ph を再生成する)makefml update-config ML これは update、config-update、update-config.ph コマンドでも同じ。 処理の様子が表示される。 設定ファイルは config.cf しかないため該当する操作は不要。
メニューを使い、cf のテンプレートファイルを編集するmakefml config-template ML未実装
newml の際に使われる各種テンプレートファイルを編集するmakefml edit-template FILE なお FILE なしで実行すると、指定可能なファイル一覧が表示される。未実装
MLのホームディレクトリにあるヘルプなどのファイルを再生成するmakefml create-doc-template ML不要。存在しない。 もし置かれているなら、それは管理者がつくって置いたもののはず。
引数の SRC ファイルを DST へ、ファイル内の変数を変換しつつ生成する。makefml conv ML SRC DST未実装
ログをみる。デフォルトでは最後の100行が表示される。makefml log ML [オプション] これは makefml tail ML でも同じ動作になる。makefml log ML オプションは未実装
admin.cgi のセットアップ(スクリプト生成、apacheの設定支援)makefml admin.cgi ML 対話的に行なわれる。半分未実装、半分不要 (スクリプトは makefml newml 時に自動的に作成)
ml-admin.cgi のセットアップ(スクリプト生成、apacheの設定支援)makefml ml-admin.cgi ML makefml mladmin.cgi ML でも同じ。 対話的に行なわれる。半分未実装、半分不要 (スクリプトは makefml newml 時に自動的に作成)
admin.cgi の .htpasswd を設定するmakefml html_cgiadmin_passwd ML未実装
html_configmakefml html_config ML このコマンドは html_config_set でも同じ。 CGI から設定を変更する際に使われている内部用コマンド。未実装
リモート管理者のパスワードを設定し、かつ ml-admin.cgi の .htpasswd を(リモート管理のパスワードと同じも のに)設定するmakefml html_passwd ML未実装
ml-admin.cgi の .htpasswd を設定するmakefml htpasswd ML未実装
pgp コマンド WRAPPERmakefml pgp ML未実装
pgp2 コマンド WRAPPERmakefml pgp2 ML未実装
pgpe コマンド WRAPPERmakefml pgpe ML未実装
pgpk コマンド WRAPPERmakefml pgpk ML未実装
pgps コマンド WRAPPERmakefml pgps ML未実装
pgpv コマンド WRAPPERmakefml pgpv ML未実装
gpg コマンド WRAPPERmakefml gpg ML未実装
admin-auth (PGP, GPG KEY RING の操作)makefml admin-auth ML未実装
admin-encrypt (PGP, GPG KEY RING の操作)makefml admin-encrypt ML未実装
dist-auth (PGP, GPG KEY RING の操作)makefml dist-auth ML未実装
dist-encrypt (PGP, GPG KEY RING の操作)makefml dist-encrypt ML未実装
popfml (POP でMTAとMLをエミュレーションする fml) のセットアップをするmakefml popfmlそもそも popfml 自体が未実装
POP のパスワードを設定するmakefml pop_passwdそもそも popfml 自体が未実装
MLの動作をロックするmakefml lock ML対応するものがない。そもそも giant lock がない。
バグレポートの編集テンプレートを作るmakefml bug-report-template ML send-pr でもよい未実装
コマンドの実行makefml command ML未実装
配送モードの設定makefml delivery_mode ML未実装
makefml 中の変数を変更するmakefml setq ML対応するものがない
fml が動いている環境についてサマリを表示するmakefml showconfig ML showconf でもよい未実装 / 実装予定なし
「show コマンド」スタイルの OS 情報を表示する方法makefml show コマンド未実装 / 実装予定なし
ファイルを送るmakefml resend ML未実装 / 実装予定なし
upgrade コマンド: fml 2.0 から 3.0 へのコンバートmakefml upgrade ML不要

Notes

[1]

逆に、makefml/fml を他のスクリプトから呼び出す場合には、 コンピュータ処理向きの出力をさせるようにすることが出来ます。 これは、けっこう出力されるものが多く、うるさい感じです。

[HOME] [研究室] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2019 Ken'ichi Fukamachi mail:< fukachan at fml.org >