MIRACLE LINUXシステムは、数百のパッケージにて構成されています。 これらのパッケージにセキュリティホールやバグ等の大きな問題が発見され修正された際には、ミラクル・リナックス社のサイトにてアップデートパッケージが公開・配布されます。
通常、これらのアップデートパッケージは手動にてダウンロード・アップデートを行う必要がありました。
mlupdaterはそのような手間を軽減し、システム上にインストールされているパッケージ群に対する最新パッケージのダウンロード・インストールまでを一括して行うツールです。
mlupdaterは、OSインストール後90日間無償にて利用することができます。
また、ミラクル・リナックス社の提供する有償サポート契約を利用された場合、契約期間中利用することができます。
※mlupdaterはMIRACLE LINUX V2.1以上に対応しています。
mlupdaterを利用するには、ライセンスが必要です。
mlupdaterインストール時に、OSインストール後90日間利用できるライセンスがインストールされます。利用期間が過ぎるとmlupdaterが利用できなくなりますのでご注意ください。
有償サポート契約をされた場合、ミラクル・リナックス社のmlupdaterライセンス発行ページにてライセンスパスワードが発行されます。
発行されるライセンスパスワードはmlupdater利用形態に応じて以下のような2種類が存在します。
ライセンスを登録したホスト1台に限定して利用できるライセンスです。ライセンスパスワードは、mlupdater を実行するホストの /etc/mlupdater/mlupdater.conf ファイルに設定します。
有償サポート契約台数が2台以上ある時に利用できるライセンスです。
スタンドアロンライセンスでは、1台1台にライセンスパスワードを設定する必要がありますが、リモートライセンスの場合、ライセンスサーバを起動させるホスト1台だけにライセンスパスワードを設定するだけで済みます。
ライセンスパスワードは、ライセンスサーバを起動させるホストの /usr/share/mllm/mllm.licファイルに設定します。
配布サーバを利用する際にも本ライセンスを利用します。
mlupdaterには以下のような機能が実装されています。
CURSESベースのグラフィカル画面上にて、必要なアップデートパッケージを選択しダウンロードおよびアップデートします。
設定ファイルに基づき、アップデートパッケージをダウンロード・アップデートします。crontab等に設定することにより定期的にシステムをアップデートすることが可能となります。
MIRACLE LINUXシステムが複数台ある環境にて、代表となる1台がミラクル・リナックス社からアップデートパッケージをダウンロードします。WAN-LAN間のネットワークトラフィックを削減することができます。
手動アップデータ(mlupdater)は、アップデートパッケージの検索、ダウンロード、およびアップデートを行います。アップデートするパッケージは画面上でインタラクティブに取捨選択することができます。
手動アップデータの動作は一部/etc/mlupdater/mlupdater.confの設定に従うので、その内容を確認してください。
以下手動アップデータ操作手順です。
端末から以下のように実行してください。
# mlupdater
また、以下のように-tオプションを指定することにより、テストモードでの起動ができます。テストモードの場合は、実際にアップデート処理が行われません。
# mlupdater -t
アップデータを起動すると、以下のような動作モードの選択画面が表示されます。
"PACKAGE UPDATE" あるいは "DOWNLOAD ONLY" を選択し "NEXT" ボタンを押してください。
アップデータを起動すると、まずミラクル・リナックス社のサイトにアクセスし、自動的にパッケージのアップデート情報一覧の取得を行います。
アップデートパッケージの一覧情報の取得を完了すると、システムにインストールされているパッケージとの比較処理がはじまります。これには数分かかる場合があります。
システム内にインストールされているパッケージとの比較処理が終了すると、アップデートインストールあるいはインストール可能なパッケージの一覧がリストアップされます。
スペースキーを押すとカーソルのあるパッケージが選択されます。また、選択状態にあるパッケージ上で再度スペースキーを押すと、選択状態が解除されます。
パッケージが選択状態にある時、該当パッケージのチェックボックス内の値が以下のように変化します。
値 | 状態 |
---|---|
U | インストール処理時にアップデートモードでインストールされます。 |
I | インストール処理時にインストールモードでインストールされます。システム上にインストールされていないパッケージを選択した場合や、/etc/mlupdater/mlupdater.conf内のauto_update.install_packagesに該当するパッケージを選択した場合、この状態になります。 |
D | 他のパッケージを選択した際に、依存性解決のために要求され自動的に選択されたパッケージです。 |
また、一覧上のパッケージ情報には以下のような符号が付与されそれぞれ意味を持ちます。
値 | 状態 |
---|---|
* | システムにインストールされているパッケージに対するアップデートパッケージです。 |
- | システムにインストールされていないパッケージに対するアップデートパッケージです。 |
パッケージ選択が終了した後、"NEXT" ボタンを押すと次の処理へ進みます。
選択したパッケージ群のダウンロードが開始されます。
すべてのパッケージのダウンロードが完了するとパッケージのインストールが開始されます。"DOWNLOAD ONLY" を選択していた場合は、処理はここで終了します。
すべての処理が正常に終了すると、以下のような画面が表示されます。手動アップデータは、/tmp/mlupd.log にログ情報を出力しますで、処理終了後、念のため確認してください。
自動アップデータは設定ファイル/etc/mlupdater/mlupdater.confの設定内容にしたがって動作します。
/etc/mlupdater/mlupdater.conf 内の auto_update.enable を yes に設定してください。
auto_update.enable = yes
rootアカウントにて以下のように実行してください。
# mlupdaterd
設定された内容に従い、パッケージのダウンロード・アップデートインストールあるいはインストールを行います。
自動アップデータは作業を終了すると自動的に終了します。
自動アップデータの生成したログファイルをチェックすることを推奨します。初期設定では、/var/log/mlupdater.logファイルがログファイルとなります。
crontab等へ登録することにより定期的にシステムをアップデートすることができます。
# crontab -l > /tmp/cron.ent # echo '0 1 * * 1 /usr/sbin/mlupdaterd' >> /tmp/cron.ent # crontab /tmp/cron.ent # rm -f /tmp/cron.ent
ご利用環境内に複数のMIRACLE LINUXシステムが存在する場合、そのうちの1台を代表にしてミラクル・リナックス社からパッケージのダウンロードを行わせます。残りのホストはその代表からパッケージを取り出すため、LAN-WAN間のネットワークトラフィックを軽減させることが可能です。
以下最も簡単な環境構築について説明します。
代表サーバのホストでライセンスサーバ (mllmd)、自動アップデータ (mlupdaterd)、HTTPサーバ (httpd) を実行する事で配布サーバとして機能させます。
updater.server = mlpkgsrv.miraclelinux.com
# ln -s /var/mlupdaterd/pub /var/www/html/pub
ライセンスサーバのホスト名 mllicsrv と 配布サーバのホスト名 mlpkgsrv のIPアドレスが解決できる環境を構築します。
DNSエントリあるいはNIS,LDAP等に mllicsrv と mlpkgsrv を追加します。このとき、IPアドレスには代表ホストのIPアドレスを設定します。
代表サーバにて mllmd、mlupdaterd、httpd を実行します。
# mllmd & # mlupdaterd # service httpd start
※mlupdaterd を定期的に実行させたい場合は、mlupdaterd を crontab等へ登録してください。
これらのホストから、mllicsrv および mlpkgsrv という名前で代表サーバのIPアドレスが引ける状態である必要があります。
mlupdaterの設定ファイルファイルは/etc/mlupdater/mlupdater.confです。本設定ファイル内の各パラメタの設定は以下のようになります。
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
licpw.server | mllicsrv | ○ | ○ | ライセンスサーバ(mllmd)が稼動しているホストのホスト名あるいはIPアドレスを指定します。 ホスト名を指定する場合は、そのホストからIPアドレスが解決できるような環境である必要があります。mllicsrvというホスト名からIPアドレスが解決できるような環境でアップデータを動作させた場合、アップデータは暗黙的にそのホストをライセンスサーバとして扱います。 ホスト名指定が存在しないあるいは存在しないホストを指定した場合は、mllicsrvというホストを検索します。それでも見つからない場合、アップデータは次のlicpw.entryに設定されているライセンスパスワードを利用します。 |
licpw.entry | 90日間利用パスワード | ○ | ○ | スタンドアロンライセンスのライセンスパスワードを指定します。 ライセンスサーバからリモートライセンスが取得できなかった場合、アップデータはここで設定されているライセンスの使用を試みます。 |
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
updater.server | mlpkgsrv.miraclelinux.com | ○ | ○ | パッケージ配布サーバのホスト名あるいはIPアドレスを指定します。 ホスト名を指定する場合は、そのホスト名からIPアドレスが解決できなければなりません。 リモートライセンスを取得していて、かつ、mlpkgsrvというホスト名からIPアドレスが解決できるような環境でアップデータを起動させた場合、アップデータは自動的にそのホストをパッケージ配布サーバとして扱います。 |
updater.port | 80 | ○ | ○ | パッケージ配布サーバのポート番号を指定します。 リモートライセンスを取得していない環境下ではここで設定された値は無視され、80番が使用されます。 |
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
proxy.server | なし | ○ | ○ | プロキシサーバのホスト名あるいはIPアドレスを指定します。 ホスト名を指定する場合は、そのホスト名からIPアドレスが解決できなければなりません。 |
proxy.port | 3128 | ○ | ○ | プロキシサーバのポート番号を指定します。 |
proxy.user | なし | ○ | ○ | 認証処理が必要なプロキシサーバ利用の際、そのためのユーザ名を指定します。 |
proxy.passwd | なし | ○ | ○ | 認証処理が必要なプロキシサーバ利用の際、そのためのパスワードを指定します。 |
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
mail.enable | yes | × | ○ | 自動アップデータ利用時に、アップデータの動作状況をメールで送信するかどうかを指定します。 yesまたはnoを指定することができます。 |
mail.server | localhost | × | ○ | SMTPサーバのホスト名あるいはIPアドレスを指定します。 ホスト名を指定する場合は、そのホスト名からIPアドレスが解決できなければなりません。 |
mail.to | root@localhost | × | ○ | メールの送信先アドレスを指定します。 |
mail.from | root@localhost | × | ○ | メールのFrom:行での送信元アドレスを指定します。 |
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
auto_download.enable | yes | × | ○ | 自動ダウンロード機能を有効にするか否かを指定します。 yesまたはnoを指定することができます。 |
auto_download.path | /var/mlupdater | ○ | ○ | ダウンロードしたアップデートパッケージを保管するパスを絶対パス名で指定します。 |
auto_download.packages | .* | × | ○ | 自動ダウンロードするパッケージのパッケージ名を指定します。パッケージ名には正規表現を利用することができ、また、複数指定する場合は、,(カンマ)で区切って指定します。※ |
auto_download.exclude_packages | なし | × | ○ | 自動ダウンロードしないパッケージのパッケージ名を指定します。パッケージ名には正規表現を利用することができ、また、複数指定する場合は、,(カンマ)で区切って指定します。※ |
※同じパッケージが、auto_download.packages と auto_download.exclude_packages の両方で指定された場合は、auto_download.exclude_packages の指定が優先されます。
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
auto_update.enable | no | × | ○ | 自動アップデート機能を有効にするか否かを指定します。 yesまたはnoを指定することができます。 |
auto_update.packages | .* | × | ○ | 自動アップデートするパッケージのパッケージ名を指定します。パッケージ名には正規表現を利用することができ、また、複数指定する場合は、,(カンマ)で区切って指定します。※ |
auto_update.exclude_packages | kernel.*, php.*, tomcat.*, samba.*, postgresql.* | × | ○ | 自動アップデートしないパッケージのパッケージ名を指定します。パッケージ名には正規表現を利用することができ、また、複数指定する場合は、,(カンマ)で区切って指定します。※ |
auto_update.install_packages | kernel$, kernel-smp$, kernel-enterprises$, kernel-hugemem$ | ○ | ○ | アップデート時にアップデートインストールではなく、インストールモードでインストールを行うパッケージを指定します。パッケージ名には正規表現を利用することができ、また、複数指定する場合は、,(カンマ)で区切って指定します。デフォルト値として設定されているパッケージをここから削除しても、強制的にインストールモードでインストールされます。 |
※同じパッケージが、auto_update.packages と auto_update.exclude_packages の両方で指定された場合は、auto_update.exclude_packages の指定が優先されます。
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
log.path | /var/log/mlupdater.log | × | ○ | ログファイルのファイル名を絶対パス名で指定します。 |
log.rotate_enable | yes | × | ○ | ログファイルのローテーション(切り替え)機能を有効にするか否かを指定します。 yesまたはnoを指定することができます。 |
log.rotate_size | 32 | × | ○ | ローテーションを行う際のファイルサイズの大きさをKB単位で指定します。 |
log.rotate_count | 16 | × | ○ | 切り替えられた過去のログファイルの保存個数を指定します。 過去のログファイルはlog.pathで指定されたファイル名.n [n=1,2,3,...]という形式で保存されます。 |
log.compress_enable | yes | × | ○ | ログファイルの切り替え時に、過去のログファイルを圧縮するか否かを指定します。圧縮処理はgzip形式となりますのでzcatコマンド等で参照することができます。 |
パラメタ名 | デフォルト値 | 手動 | 自動 | 用途 |
---|---|---|---|---|
param.priority | remote | ○ | ○ | mlupdater.confの設定をローカルにあるmlupdater.confからではなく、mlprmsrvから取得します。この場合、mlprmsrvというホスト名が解決できなければなりません。remote(mlprmsrvから取得)またはlocal(localのものを使用)を指定することができます。 |
アップデータは単独で動作する場合、自らライセンスパスワードの解析を行い、ライセンスの検証を行います。MIRACLE LINUXシステムが多数台存在するような環境において一台一台ライセンスパスワードを設定するには手間がかかるため、リモートライセンス機能が用意されています。リモートライセンスはすべて一つのライセンスサーバで管理されます。アップデータは起動時にライセンスサーバに問い合わせ、ライセンスを一つ占有します。終了時にはライセンスはリリースされます。
また、配布サーバを利用する場合も本ライセンスサーバを利用する必要があります。
ライセンスファイルの書式は以下のようになります。
MLUPD:ライセンス数:ライセンス期限:ライセンスパスワード
ミラクル・リナックス社のmlupdaterライセンス発行ページにて発行された文字列をそのまま記述してください。
以下のように実行してライセンスサーバを起動してください。
# mllmd &
ライセンスに関するログは、/var/log/messagesに記録されます。
以下の注意事項があります。
ご利用のシステム環境によってはパッケージの依存性解決に失敗する場合があります。この場合、パッケージのダウンロード処理は正常に行えますが、アップデートに失敗します。ダウンロードしたファイルは保存されていますので手動にてアップデートを行ってください。
カーネルは必ずインストールモードでインストールされますが、/etc/lilo.confに新しいエントリの追加が行われない場合があります。この場合、手動で編集の上lilo(8)を実行してください。
※MIRACLE LINUX V2.1をご利用の場合。
自動アップデータを利用する場合、ホストが主たる目的で提供しているサービスに関連するパッケージは自動アップデートを避けた方がよい場合があります。パッケージによっては、データマイグレーションが必要なものが存在する場合があります。
ホスト名 | 使用サービス | 用途 |
---|---|---|
mlpkgsrv | mlupdaterd, httpd | 配布サーバのデフォルトのホスト名です。 |
mllicsrv | mllmd | ライセンスサーバのデフォルトのホスト名です。 |
mlprmsrv | -- | パラメタサーバのデフォルトのホスト名です。 ※現在未提供機能です。 |