Server Software Packagesによるサーバ上のディレクトリの削除

種類の異なるネットワークサーバ(NetWare、Windows、Linux、およびSolaris)から特定のディレクトリを削除する場合、通常、この作業を実行するための自動化された方法はありません。ただし、ZENworks 6.5 Server Management Policy and Distribution Servicesを使用している場合は、Server ManagementのServer Software Packages機能によって、指定したディレクトリをSubscriberサーバのファイルシステムから削除できます。

複数のサーバ上の指定したディレクトリの削除を自動化するには、まず、必要に応じてパス変数を設定し、ConsoleOneでそのネームスペースにServer Software Packageを作成し、そのソフトウェアパッケージをコンパイルした後、Tiered Electronic Distributionを使用してパッケージを配布します。その他のユーザの操作は不要です。

サーバ上の指定したディレクトリを削除するソフトウェアパッケージを作成するには、次の操作を行います。

  1. Server Software Packageで使用する変数の設定
  2. Server Software Packageの作成
  3. Server Software Packageコンポーネントの作成と環境設定
  4. Server Software Packageのコンパイル
  5. ディレクトリの削除の手動によるテスト
  6. 次のタスク


Server Software Packageで使用する変数の設定

パスに変数を使用する場合(たとえば、ターゲットサーバで、NetWareとWindowsのようにオペレーティングシステムが異なる場合)は、ソフトウェアパッケージを作成する前に、Subscriberオブジェクトのプロパティで変数を設定する必要があります。

  1. 削除するディレクトリを指定します。

    1. パスのルートを指定します。ボリューム名(NetWare)、ドライブ名(Windows)、または/var/opt/novell/zenworks (LinuxやSolarisの場合)などです。たとえば、data:と指定します。

    2. 削除するディレクトリの親ディレクトリを含め、パスの残りの部分を指定します。たとえば、distが親ディレクトリである場合は、\zenworks\pds\ted\distと指定します。

    3. 削除するディレクトリを指定します。たとえば、olddist.Distributions.ZENworks.Novellのように指定します。

    フルパスと削除されるディレクトリは次のようになります。

    data:\zenworks\pds\ted\dist\olddist.Distributions.ZENworks.Novell

    サーバによってパスの要素は異なる場合があります。必要に応じて変数を使用することによって、これらの違いに対応できます。ステップ 2ステップ 3を参照してください。

  2. ConsoleOneで、削除するディレクトリが存在している各Subscriberのdata:、D:、または/var/opt/novell/zenworksを表す変数(DELETEDDIRROOTなど)を作成します。

    削除するディレクトリとしてターゲットサーバに存在しないディレクトリを指定しても、サーバ上ではそのディレクトリについて何も行われません。

    Tiered Electronic Distributionポリシーを使用して、変数をグローバルに定義することもできます。このポリシーでは、変数のデフォルト値を定義する必要があり、適用可能なSubscriberオブジェクトのプロパティで例外を定義することもできます。

  3. ConsoleOneで、Subscriberサーバに対してパス要素の異なる部分を表すSubscriber変数を作成します。

    変数については、変数を参照してください。

  4. 必要に応じて、ステップ 2ステップ 3を繰り返します。

  5. Server Software Packageの作成に進みます。


Server Software Packageの作成

  1. ZENworks 6.5 Server ManagementスナップインがインストールされているConsoleOneの左側のペインで、Server Software Packagesネームスペースを右クリックします。

  2. [File]>[New]>[Software Package]の順にクリックし、Create New Server Software Packageウィザードを起動します。

  3. [Next]をクリックします。

  4. ソフトウェアパッケージの名前を指定します。たとえば、Delete Old Directoriesのように指定します。

  5. ソフトウェアパッケージテンプレートファイル(.spk)のパスとファイル名を指定します。たとえば、c:\temp\deletedirs.spkのように指定します。

    重要:  .spkファイルをネットワークサーバに保存する場合は、ドライブ名を変更しても、そのソフトウェアパッケージファイルにアクセスできるようにUNCパスを使用します。

    .spkファイルのサイズは大きくならないので、.spkファイルはワークステーションやサーバに保存することもできます。この例で使用しているソフトウェアパッケージ(ディレクトリを削除する操作だけを指定し、データファイルをコンパイルしない)の場合は、.cpk (コンパイル済みソフトウェアパッケージ)バージョンも同じ程度のサイズになります。したがって、管理のために、これらの.spkファイルと対応する.cpkファイルを、ワークステーションまたはサーバの同じ場所に保存できます。

  6. [Finish]をクリックします。

  7. 必要に応じて、プラス記号をクリックしてServer Software Packageネームスペースを展開し、新しいパッケージを表示します。

  8. Server Software Packageコンポーネントの作成と環境設定に進みます。

    特に指示のない限り、以降の節の手順は、これまでの手順で使用したものと同じConsoleOneのインスタンスで行ってください。作成した.spkファイルはこのインスタンスからアクセスできます。


Server Software Packageコンポーネントの作成と環境設定

  1. 作成したソフトウェアパッケージオブジェクトを右クリックし、[New Component]をクリックします。

  2. コンポーネントの名前を指定します。たとえば、Delete Directoriesのように指定します。

  3. 必要に応じて、プラス記号をクリックして、Server Software Packageオブジェクトを展開します。

  4. コンポーネントを右クリックし、[Properties]をクリックします。

  5. [Copy File]タブを選択します。

  6. [Add]ボタンの横にあるドロップダウンリストボタンをクリックし、[Add File Group]を選択します。

  7. [Add]をクリックします。

  8. ファイルグループの名前を指定します。たとえば、Delete Working Directoriesのように指定します。

  9. [Group Target Path]フィールドで、削除するディレクトリの場所が含まれている作成済みの変数の名前を指定し、この変数に含まれていないパス情報を追加します。ただし、このパスの一部として削除するディレクトリの名前を指定しないでください。

    たとえば、削除するディレクトリの場所がすべてのターゲットサーバで同じである場合は、パス情報(変数も使用できる)で実際のボリューム(NetWare)またはドライブ(Windows)を指定します。

    ただし、サーバのオペレーティングシステムが異なるために変数を使用する必要がある場合は、%記号で囲まれた変数名と、削除するディレクトリのすぐ上のディレクトリまでのフルパス(変数も使用できる)を指定します。たとえば、%DELETEDDIRROOT% (変数名)と%TARGET%\pds\ted\dist (削除するディレクトリの親ディレクトリへのフルパス)を指定します。

    重要:  変数を使用する場合、指定するパスは、削除するディレクトリが含まれているディレクトリである必要があります。ステップ 11では、削除する実際のディレクトリ名を追加します。

  10. [OK]をクリックしてダイアログボックスを閉じます。

  11. ドロップダウンリストのボタンをもう一度クリックし、[Add Directory]を選択します。

    最初に、このディレクトリを追加するツリー項目を選択していることを確認します。

  12. [Add]をクリックします。

  13. ツリー構造のデフォルトである名前("Directory")を、削除する実際のディレクトリ名(olddist.Distributions.ZENworks.Novellなど)に変更するには、ディレクトリ名を編集し、(Enter)キーを押して変更を保存します。

    (Enter)キーを押さなかった場合、再び"Directory"と表示されます。[Rename]ボタンを使用して、ディレクトリ名を編集できます。

  14. [Copy Mode]コンボボックスの横にあるドロップダウンリストボタンをクリックし、[Delete]を選択します。

  15. [Apply]をクリックします。

  16. このソフトウェアパッケージで、このコンポーネントのファイルグループを使用して削除する各ディレクトリについて、ステップ 10からステップ 15までを繰り返します。

    他のファイルグループを追加する場合は、ステップ 6から始め、新しいコンポーネントを追加する場合は、ステップ 1から始めます。ステップ 6で作成したファイルグループに、削除するすべてのディレクトリを追加できない場合は、これらの手順から繰り返すことができます。

  17. ソフトウェアパッケージコンポーネントの設定が終了したら、[OK]または[Close]をクリックします。

    これまでの手順の例に従って、次のように入力したとします。

    %DELETEDDIRROOT%

    および

    %TARGET%\pds\ted\dist

    および

    olddist.Distributions.ZENworks.Novell

    この場合、次のパスにあるディレクトリが削除されます。

    data:\zenworks\pds\ted\dist\olddist.Distributions.ZENworks.Novell 
    d:\zfs\zenworks\pds\ted\dist\olddist.Distributions.ZENworks.Novell
  18. Server Software Packageのコンパイルに進みます。


Server Software Packageのコンパイル

削除する対象のテンプレートとして機能する.spkファイルを作成しました。この.spkファイルを.cpkファイルにコンパイルする必要があります。

  1. ソフトウェアパッケージ(Delete Old Directoriesなど)を右クリックします。

  2. [Compile]を選択して、Compile Software Packageウィザードを起動します。

  3. ウィザードの最初のページの[Next]をクリックします。

  4. 生成する.cpkファイルのフルパスおよびファイル名を指定します。

    重要:  このファイル名に.spkという拡張子を使用しないでください。保存場所が同じである場合、テンプレートファイルがコンパイル済みバージョンによって上書きされる可能性があります。これによって、ソフトウェアパッケージをさらに編集することができなくなります。DELETEDIRSなど、ファイル名を同じにすることはできますが、ファイル名の拡張子には.cpkだけを使用してください。

  5. [Next]をクリックし、[Finish]をクリックします。

  6. ディレクトリの削除の手動によるテストに進みます。


ディレクトリの削除の手動によるテスト

ソフトウェアパッケージは、Software Package Distributionとして送信する準備ができました。ただし、テストのために、いずれかのターゲットサーバでソフトウェアパッケージを手動で処理し、意図したとおりにディレクトリが削除されることを確認できます。

  1. ディレクトリを削除するサーバで、\zenworks\pds\ted\distの下に、ソフトウェアパッケージに含まれるディレクトリ(olddist.Distributions.ZENworks.Novellなど)を作成します。

  2. .cpkファイル(deletedirs.cpkなど)をそのサーバの...\tempディレクトリにコピーします。

  3. サーバのZENworks Server Managementコンソールのプロンプトで、PACKAGE PROCESSコマンドを実行してソフトウェアパッケージを処理します。

    たとえば、NetWareサーバの場合は、ZENworks Server Managementのプロンプトで次のコマンドを実行します。

    package process data:\temp\deletedirs.cpk

Server Managementによって、パッケージが処理され、処理が終了したことがレポートされます。サーバのファイルシステムを調べて、...\olddist.Distributions.ZENworks.Novellディレクトリ、つまり指定したディレクトリが削除されたことを確認します。


次のタスク

テストの結果に問題がなければ、Tiered Electronic Distributionを使用して、新しいSoftware Package Distributionによってdeletedirs.cpkファイルをすべてのターゲットSubscriberサーバに配布し、Subscriberサーバのファイルシステム上のディレクトリを削除できます。