名前 | 形式 | 機能説明 | オプション | 使用例 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
lucreate コマンドは、Solaris オペレーティング環境の Live Upgrade 機能を提供するコマンド群の 1 つです。Live Upgrade 機能の説明と関連用語については、live_upgrade(5) のマニュアルページを参照してください。
lucreate コマンドではコマンド行オプションを指定することにより、次の操作が行えます。
現在のブート環境 (BE) から新しい BE を作成する
現在の BE 以外の BE から新しい BE を作成する
BE 上のファイルシステムを新しい BE 上で分割または結合する。たとえば、/var と /opt を /の下に結合したり、これらのディレクトリを分割して異なるディスクスライスの下にマウントしたりすることができます。
BE 上に、ファイルシステムを作成するが、ファイルは作成しないでおく。
これらの操作は、lucreate コマンド行オプションだけを使って行うこともできますが、-m および -M オプション (後述の説明を参照) を省略して FMLI ベースのインタフェースを自動的に呼び出し、curses ベースの画面を使って Live Upgrade 管理を行うこともできます。
BE の作成には、BE のすべてのマウントポイントに対してディスクまたはデバイススライスの選択も含まれます。BE のマウントポイントは、FMLI ベースの構成画面で SPLIT または MERGE 機能を使って変更することもできます。
BE が適切に作成されると、lustatus(1M) を使って BE の状態を表示したり、lufslist(1M) を使って BE のファイルシステムを表示したりすることができます。さらに、luupgrade(1M) を使ってその BE の OS をアップグレードしたり、luactivate(1M) を使って BE をアクティブにしたりすることができます。BE をアクティブにすると、システムは次回のブート時にその BE からブートします。
lucreate コマンドは、OS を含むファイルシステム (/、./usr、/var、/opt など) と、OS を含まないファイルシステム (/export、/home などのユーザー定義ファイルシステム) を区別します。OS を含むファイルシステムを、ソース BE と新しい BE の間で共有することはできません。これらのファイルシステムは、常にソース BE からターゲット BE にコピーされます。これに対して、ユーザー定義のファイルシステムはデフォルトで共有されます。Live Upgrade では、OS を含むファイルシステムを共有不能 (または重要な) ファイルシステム、その他のファイルシステムを共有可能ファイルシステムと呼びます。ソース BE の vfstab にリストされている共有不能ファイルシステムは、常に新しい BE にコピーされます。共有可能ファイルシステムは、宛先スライスを指定した場合にのみコピーされます。宛先スライスを指定しない場合は、コピーされません。
以下に説明するように、-s オプションを特に使用する場合を除き、新しい BE の作成にはソース BE が必要です。デフォルトでは、ソース BE は現在の BE ですが、-s オプションを使えば、現在の BE 以外の BE を指定できます。
デフォルトでは、ソース BE 上のすべてのスワップパーティションは、ソース BE とターゲット BE 間で共有されます。-m オプションを使えば (下記を参照)、ソース BE 上のスワップパーティションの一部をターゲット BE と共有できます。
lucreate コマンド使用すると、BE に説明を追加できます。説明の指定は任意で、書式や長さに制限はありません。たとえば、テキスト文字列でもバイナリデータでもかまいません。BE の作成後は、ludesc(1M) ユーティリティを使用して BE の説明を変更できます。
lucreate コマンドにはスーパーユーザー (root) 権限が必要です。
lucreate コマンドには、以下のオプションを指定できます。BE 名は、30 文字を超えてはならず、使用できる文字は英数字とその他の ASCII 文字 (UNIX シェルにとって特殊な意味を持つ文字は除く) だけです。これについては、sh(1) の「クォート」セクションを参照してください。また、BE 名に使用できるのは 8 ビットで表現できるシングルバイトの文字だけです。空白文字を含めることはできません。
lucreate コマンド行で -m オプションまたは -M オプション (下記を参照) を省略すると、FMLI ベースのインタフェースが呼び出され、このインタフェースを介して BE 用のディスクスライスまたはデバイススライスを指定できます。
BE に、説明 (BE_description) を追加します。BE_description には、テキスト文字列および、UNIX コマンド行に入力可能な任意の文字を使用できます。BE の説明に関する詳細は、ludesc(1M) を参照してください。
現在の BE に BE_name という名前を割り当てます。このオプションは、最初の BE を作成するときにだけ必要です。lucreate を最初に実行するときに -c オプションを省略すると、現在の BE の名前の入力を求められます。最初の BE を作成した後で -c オプションを使用すると、エラーメッセージが表示されます。
ミラー化された root デバイスがソース BE にある場合に指定します。ソース BE のブートに使用する物理ブートデバイスを指定します。このオプションを指定しないと lucreate は BE のブートに使用された物理デバイスを検出しようとします。ルート (/) ファイルシステムのあるデバイスが物理ディスクでない場合 (例: ルートがメタデバイス上にある場合)、lucreate は、その物理デバイスが妥当と推測し、次のような質問メッセージを出力します。
Is the physical device devname the boot device for the logical device devname? |
y を入力すると、処理が続けられます。
-C boot_device を使用すると、lucreate は物理デバイスを検索せずに、指定されたブートデバイスを使用します。-C オプションに – (ハイフン) を指定すると、lucreate が検出したものをブートデバイスとして処理が続けられます。デバイスが特定できない場合は、デバイス名を入力するよう求めるプロンプトが表示されます。
-C を省略した場合や、-C boot_device を指定したが lucreate が指定されたブートデバイスを検出できなかった場合は、エラーメッセージが返されます。
-C – の場合、lucreate は、正しいブートデバイスを検出するか、以降の質問メッセージでブートデバイスを指定するように求めるので、この形式を使用する方が安全です。
エラーメッセージとステータスメッセージを、現在の環境での書き込み先だけでなく、error_log にも書き込みます。
新しい BE の vfstab(4) 情報を指定します。-m オプションの引数として指定するファイルシステムは、同じディスク上にあっても、複数のディスクにまたがって存在していてもかまいません。
mountpoint には、有効なマウントポイントを指定します。– (ハイフン) は、スワップパーティションであることを示します。device フィールドには、次のいずれかを指定します。
ディスクデバイスの名前 (形式は /dev/dsk/cnumtnumdnumsnum)。ルート(/) 以外のマウントポイントでは、device フィールドにメタデバイス名を指定できます。ルートは物理デバイスにマウントする必要があります。
キーワード merged。指定したマウントポイントのファイルシステムがその親とマージされることを示します。
fs_type フィールドには、ufs (UFS ファイルシステム)、vxfs (Veritas ファイルシステム)、swap (スワップファイルシステム) のいずれかを指定します。
ルートには、少なくとも 1 つのディスクまたはデバイススライスを指定する必要があります。この指定には、-m または -M オプション (下記を参照) を使用するか、FMLI ベースのインタフェースを使用します。新しい BE にファイルシステムを作成する場合は、ファイルシステムごとに -m 引数を指定する必要があります。たとえば、ソース BE にある 3 つのファイルシステム (たとえば、/、/usr、および /var) を新しい BE 上に個別のファイルシステムとして作成する場合は、-m 引数を 3 回指定します。-m 引数を 1 回だけ指定した場合、/、/usr、および /var は、1 つのファイルシステムとして新しい BE の / の下にマージされます。
-m オプションを使ってスワップパーティションを指定する場合は、ソース BE にあるスワップパーティションの全部またはその一部しか指定できません。-m オプションで指定したスワップ割当は、既存のスワップ割当の置き換えであり、既存の割当に追加されるわけではありません (下記を参照)。
slice_list ファイルには、-m オプションのリストが含まれています。リストに指定する引数の形式は、-m オプションに指定する引数の形式と同じです。# 文字で始まる行は、コメント行で無視されます。-M オプションは、BE に多数のファイルシステムを指定するときに便利です。-m と -M オプションは同時に指定できます。たとえば、スワップパーティションを slice_list 内に指定し、/ と /usr スライスを -m オプションで指定することができます。
-m と -M オプションには、1 つのマウントポイントに対して複数のスライスを指定できます。lucreate は、存在しないスライスを無視し、使用可能な最初のスライスを選択します。
作成する BE の名前を指定します。BE_name は、システムにおいて一意の名前にする必要があります。
すべてのコマンド出力を、現在の環境での書き込み先だけでなく、outfile にも書き込みます。
新しい BE を作成する際のソースを指定します。このオプションにより、新しい BE を作成するソースとして現在の BE 以外のものを指定できます。引数としてハイフン (-) を指定すると、新しい BE が作成されますが、ファイルシステム内にファイルは作成されません。この BE 内にファイルを作成するには lumake(1M) を使用し、BE 上にフラッシュアーカイブをインストールするには luupgrade(1M) を使用する必要があります。このオプションは、特に、フラッシュアーカイブをインストールするときに便利です (flar(1M) のマニュアルページを参照)。
XML 出力を有効にします。XML の特性は DTD (/usr/share/lib/xml/dtd/lu_cli.dtd.<num>) に定義されています。<num> は、各 DTD ファイルのバージョン番号を示します。
lucreate コマンドはさまざまな出力を生成します。以下の例では、説明のために必要な場合を除き、出力例は省略しています。
次のコマンドシーケンスを使って、ブート環境がまだ作成されていないマシン上に新しい BE を作成します。最初のコマンドでは、-c オプションが省略されていることに注意してください。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -n second_disk lucreate: Please wait while your system configuration is determined. lucreate: No name for Current BE. lucreate: ERROR: The current BE is not named - please provide the name to use for the current BE with the <-c> option. |
次に -c オプションを指定して同じコマンドを実行します。
# lucreate -c first_disk -m /:/dev/dsk/c0t4d0s0:ufs \ -m /usr:/dev/dsk/c0t4d0s1:ufs -n second_disk many lines of output lucreate: Creation of Boot Environment <second_disk> successful. |
BE を作成した後、luupgrade(1M) を使って新しい BE 上で OS をアップグレードし、luactivate(1M) を使ってその BE をアクティブにします。マシンは次回リブートするときに、この BE からブートされます。first_disk のスワップパーティションとすべての共有可能ファイルシステムは、second_disk からも使用 (共有) できます。
# luupgrade -u -n second_disk \ -s /net/installmachine/export/solarisX/OS_image many lines of output luupgrade: Upgrade of Boot Environment <second_disk> successful. # luactivate second_disk |
これらのコマンドの説明については、luupgrade(1M) と luactivate(1M) のマニュアルページを参照してください。
-s オプションを使って、現在の BE 以外の BE をソース BE として指定します。
# lucreate -s third_disk -m /:/dev/dsk/c0t4d0s0:ufs \ -m /usr:/dev/dsk/c0t4d0s1:ufs -n second_disk many lines of output lucreate: Creation of Boot Environment <second_disk> successful. |
このためには、-s – オプションを指定した lucreate と luupgrade を実行する必要があります。
# lucreate -s - -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -n second_disk brief messages lucreate: Creation of Boot Environment <second_disk> successful. |
-s オプションを指定した lucreate コマンドは、数秒で処理を終了します。この時点で luupgrade を実行して、フラッシュアーカイブをインストールできます。
# luupgrade -f -n second_disk \ -s /net/installmachine/export/solarisX/OS_image \ -J "archive_location http://example.com/myflash.flar" |
このコマンドの説明については、luupgrade(1M) のマニュアルページを参照してください。
次のコマンドは、BE を 2 台目のディスクに作成し、1 台目と 2 台目の両方のディスク上にあるスワップパーティションを共有できるようにします。ただし、このコマンドを入力する前に、現在のブート環境は /dev/dsk/c0t0d0s1 と、2 台目のディスク上にある /dev/dsk/c0t4d0s1 をスワップパーティションとしてすでに使用していなければなりません。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m -:/dev/dsk/c0t4d0s1:swap \ -m -:/dev/dsk/c0t0d0s1:swap -n second_disk many lines of output lucreate: Creation of Boot Environment <second_disk> successful. |
上記のコマンドが完了すると、second_disk という BE は、/dev/dsk/c0t0d0s1 と /dev/dsk/c0t4d0s1 をスワップパーティションとして使用します。ただし、このスワップ割当は、second_disk からブートが行なわれるまで有効になりません。スワップパーティションが多数ある場合は、次の例のように -M オプションを使用すると便利です。
この例では、スワップパーティションのリストを /etc/lu/swapslices ファイルに指定します。このファイルの場所と名前はユーザーが定義できます。/etc/lu/swapslices ファイルの内容を以下に示します。
-:/dev/dsk/c0t3d0s2:swap -:/dev/dsk/c0t3d0s2:swap -:/dev/dsk/c0t4d0s2:swap -:/dev/dsk/c0t5d0s2:swap -:/dev/dsk/c1t3d0s2:swap -:/dev/dsk/c1t4d0s2:swap -:/dev/dsk/c1t5d0s2:swap |
上記のファイルは次のコマンドで指定されます。
# lucreate -m /:/dev/dsk/c02t4d0s0:ufs -m /usr:/dev/dsk/c02t4d0s1:ufs \ -M /etc/lu/swapslices -n second_disk many lines of output lucreate: Creation of Boot Environment <second_disk> successful. |
BE second_disk は、/etc/lu/swapslices に指定されたパーティションをスワップとして使用します。前述の例と同様に、lucreate コマンドを入力する前に、現在の BE はコマンド行に指定したスワップパーティションをすでに使用していなければなりません。
次のコマンドは、現在の BE にあるユーザーファイルシステム /home (および、共有不能なファイルシステム / と /usr) を新しい BE にコピーします。
# lucreate -m/:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -m /home:/dev/dsk/c0t4d0s4:ufs -n second_disk |
前述のコマンドとは異なり、次のコマンドには、/home の宛先を指定する -m オプションが指定されていません。コマンドを実行すると、/home は現在の BE と BE second_disk の間で共有されます。
# lucreate -m/:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -n second_disk |
次のコマンドには -m と -M オプションのいずれも指定されていないため、Live Upgrade 操作を行う FMLI ベースのインタフェースが呼び出されます。このインタフェースの説明については、lu(1M) のマニュアルページを参照してください。
# lucreate -n second_disk |
上記のコマンドは、ターゲット BE second_disk のソース BE として現在の BE を使用します。FMLI インタフェースで、second_disk のターゲットスライスを指定します。次のコマンドは上記のコマンドを変更したものです。
# lucreate -n second_disk -s third_disk |
上記のコマンドには、ターゲット BE のソースが指定されています。前述の例と同様に、FMLI インタフェースが表示されるので、新しい BE のターゲットスライスを指定します。
次のコマンドは、ファイルシステム /usr/opt をファイルシステム /usr にマージします。まず以下の例では、BE first_diskにあるディスクスライスを -m オプションの引数形式で表したものです。
/:/dev/dsk/c0t4d0s0:ufs /usr:/dev/dsk/c0t4d0s1:ufs /usr/opt:/dev/dsk/c0t4d0s3:ufs |
次のコマンドは、BE second_diskを作成し、/usr/opt をその親の /usr にマージします。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -m /usr/opt:merged:ufs -n second_disk |
/、/usr、および /var のすべてが同じディスクスライス上にマウントされているソース BE があるとします。次のコマンドは、/、/usr、および /var がそれぞれ異なるディスクスライスにマウントされた BE second_diskを作成します。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ /var:/dev/dsk/c0t4d0s3:ufs -n second_disk |
ファイルシステム (ルートなど) のコンポーネントを異なるディスクスライスに分割するこのような操作を、ファイルシステムの分割といいます。
次のコマンドは、新しい BE second_disk の代替ディスクスライスとして複数の -m オプションを使用します。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /:/dev/dsk/c0t4d0s1:ufs \ -m /:/dev/dsk/c0t4d0s5:ufs -n second_disk many lines of output lucreate: Creation of Boot Environment <second_disk> successful. |
上記のコマンドは、/ ファイルシステムのディスクスライスの候補として s0、s1、s5 を指定しています。lucreate は、この 3 つのスライスの中から他の BE によって使用されていない最初のスライスを選択します。-s オプションが省略されているため、新しい BE は現在の BE をソースとして作成されます。
システム上にある BE のリスト
Live Upgrade の DTD (-X オプションを参照)
次の属性の説明については、attributes(5) のマニュアルページを参照してください。
属性タイプ | 使用条件 |
---|---|
属性値 | SUNWluu |
lu(1M), luactivate(1M), lucancel(1M), lucompare(1M), lucurr(1M), ludelete(1M), ludesc(1M), lufslist(1M), lumake(1M), lumount(1M), lurename(1M), lustatus(1M), luupgrade(1M), lutab(4), attributes(5), live_upgrade(5)
ディレクトリを複数のマウントポイントに分割すると、ハードリンクは解除されます。たとえば、/usr/test1/buglist と /usr/test2/buglist がハードリンクされているとします。/usr/test1 と /usr/test2 を別々のファイルシステムに分割すると、これらのファイル間のリンクは切断されます。この場合、lucreate はそのことを通知する警告メッセージを出力し、失われたハードリンクに代わるシンボリックリンクが作成されます。
lucreate は、共有不能なファイルシステムについて無効な構成が作成されても検出できません。たとえば、/ と /kernel を別々のファイルシステムとして作成する lucreate コマンドを実行することは可能です。しかし、作成した BE はブートできません。ブート環境用のファイルシステムを作成するときは、Solaris オペレーティング環境用のファイルシステムを作成する場合と同じ規則が適用されます。
これまでの説明をふまえて、以下のことに留意してください。
ソース BE では、コピーしたり新しい BE と共有する各ファイルシステムの有効な vfstab エントリが必要です。
重複するパーティションには、新しい BE を作成することはできません。このようなディスクに BE を作成すると、lucreate コマンドは問題を検出しませんが、作成された BE はブートできません。
名前 | 形式 | 機能説明 | オプション | 使用例 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項