一般的に、作業を1回だけ行うような場合は、グラフィカルインタフェースまたはncursesインタフェースの利用が最適です。ただし、その作業を繰り返し行う必要があるような場合は、YaSTのコマンドラインインタフェースを利用した方が便利なこともあります。このインタフェースでは、カスタムスクリプトを使って作業を自動化することもできます。
システムで利用できるモジュールのリストを表示するには、「yast -l」または「yast --list」と入力します。モジュールで利用できるオプションを表示するには、「yast モジュール名 help」と入力します。モジュールにコマンドラインモードがない場合は、その旨を知らせるメッセージが表示されます。
モジュールのコマンドオプションのヘルプを表示するには、「yast モジュール名 コマンド help」と入力します。オプション値を設定する場合は、「yast モジュール名 コマンド オプション=値」と入力します。
一部のモジュールは、同じ機能を持つコマンドラインツールがすでに存在しているため、コマンドラインモードをサポートしていません。このようなモジュールと、関連するコマンドラインツールを以下に示します。
sw_singleは、パッケージ管理、システムアップデート機能を提供しています。スクリプトでは、YaSTの代わりにrugを使用してください。9.1項 「コマンドラインからrugを使った更新」を参照してください。
online_update_setupは、システムの自動アップデートを設定します。cronコマンドも、同じ機能を提供しています。
inst_suse_registerを使って、SUSE Linux Enterpriseを登録することができます。登録の詳細は、8.3.4項 「SUSE Linux Enterpriseの登録」を参照してください。
hwinfoは、システムハードウェアに関する情報を提供します。 hwinfoコマンドも、同じ機能を提供しています。
これらのモジュールは、AppArmorを制御、設定します。AppArmorには、独自のコマンドラインツールがあります。
従来のコマンドとは異なり、ユーザ管理用のYaSTコマンドは、ユーザの作成、変更、削除時に、システムに設定されている認証方法とデフォルトのユーザ管理設定を考慮します。たとえば、ユーザの追加時、または追加後にホームディレクトリを作成したり、skelファイルをコピーする必要はありません。ユーザ名とパスワードを入力すれば、デフォルトの設定に基づいて自動的に他の設定が行われます。コマンドラインが提供する機能は、グラフィカルインタフェースが提供する機能と同じです。
YaSTモジュールusersは、ユーザ管理に用いられます。コマンドのオプションを表示するには、yast users helpと入力してください。
複数のユーザを追加する場合は、/tmp/users.txtファイルを作成して、追加するユーザを指定してください。1行あたり1つのユーザ名を入力してから、次のスクリプトを使用します。
例 8.2. 複数ユーザの追加
#!/bin/bash # # adds new user, the password is same as username # for i in `cat /tmp/users.txt`; do yast users add username=$i password=$i done
追加の場合と同様に、/tmp/users.txtに定義されているユーザを削除することもできます。
例 8.3. 複数ユーザの削除
#!/bin/bash # # the home will be not deleted # to delete homes, use option delete_home # for i in `cat /tmp/users.txt`; do yast users delete username=$i done
ネットワークおよびファイアウォール設定コマンドは、しばしばスクリプト内で用いられます。ネットワーク設定にはyast lanを、ファイアウォール設定にはyast firewallを使用します。
YaSTネットワークカード設定オプションを表示するには、yast lan helpと入力します。YaSTファイアウォール設定オプションを表示するには、yast firewall helpと入力します。YaSTを使ったネットワークおよびファイアウォールの設定は、一時的なものではなく永続的に保持されます。再起動後にもう一度スクリプトを実行する必要はありません。
ネットワークの環境設定の概要を表示するには、yast lan listを使用します。例 8.4. 「yast lan listコマンドの出力例」を実行すると、最初にデバイスIDが表示されます。デバイスの詳細な設定情報を表示する場合は、yast lan show id=<number>を使用します。たとえば、この例では、yast lan show id=0と入力します。
YaSTファイアウォール設定用コマンドラインインタフェースを使用すれば、サービス、ポート、またはプロトコルを簡単に有効/無効にすることができます。許可されているサービス、ポート、およびプロトコルを表示するには、yast firewall services showを使用します。 サービスやポートを有効にする方法の例を表示するには、yast firewall services helpを使用します。 IPマスカレードを有効にするには、yast firewall masquerade enableと入力します。