コマンドラインからのYaSTの管理

一般的に、作業を1回だけ行うような場合は、グラフィカルインタフェースまたはncursesインタフェースの利用が最適です。ただし、その作業を繰り返し行う必要があるような場合は、YaSTのコマンドラインインタフェースを利用した方が便利なこともあります。このインタフェースでは、カスタムスクリプトを使って作業を自動化することもできます。

システムで利用できるモジュールのリストを表示するには、「yast -l」または「yast --list」と入力します。モジュールで利用できるオプションを表示するには、「yast モジュール名 help」と入力します。モジュールにコマンドラインモードがない場合は、その旨を知らせるメッセージが表示されます。

モジュールのコマンドオプションのヘルプを表示するには、「yast モジュール名 コマンド help」と入力します。オプション値を設定する場合は、「yast モジュール名 コマンド オプション=」と入力します。

一部のモジュールは、同じ機能を持つコマンドラインツールがすでに存在しているため、コマンドラインモードをサポートしていません。このようなモジュールと、関連するコマンドラインツールを以下に示します。

sw_single

sw_singleは、パッケージ管理、システムアップデート機能を提供しています。スクリプトでは、YaSTの代わりにrugを使用してください。9.1項 「コマンドラインからrugを使った更新」を参照してください。

online_update_setup

online_update_setupは、システムの自動アップデートを設定します。cronコマンドも、同じ機能を提供しています。

inst_suse_register

inst_suse_registerを使って、SUSE Linux Enterpriseを登録することができます。登録の詳細は、8.3.4項 「SUSE Linux Enterpriseの登録」を参照してください。

hwinfo

hwinfoは、システムハードウェアに関する情報を提供します。 hwinfoコマンドも、同じ機能を提供しています。

GenProf、LogProf、SD_AddProfile、SD_DeleteProfile、SD_EditProfile、SD_Report、およびsubdomain

これらのモジュールは、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と入力します。

例 8.4. yast lan listコマンドの出力例

   0       Digital DECchip 21142/43, DHCP
  

YaSTファイアウォール設定用コマンドラインインタフェースを使用すれば、サービス、ポート、またはプロトコルを簡単に有効/無効にすることができます。許可されているサービス、ポート、およびプロトコルを表示するには、yast firewall services showを使用します。 サービスやポートを有効にする方法の例を表示するには、yast firewall services helpを使用します。 IPマスカレードを有効にするには、yast firewall masquerade enableと入力します。