インストールに必要なパッケージの情報を一括で取得するコマンド

パッケージの情報を確認するにはrpmコマンドを使用しますが、

rpm -q xscreensaver

というように一回一回やっていくのは非常に手間です。

下記のコマンドを使用すれば一発で情報を取得することが可能です。

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio compat-libstdc++-33 glibc-kernheaders glibc-headers libaio glibc-devel ORBit gnome-libs


実行すると下記のように表示がされます。

binutils-2.15.92.0.2-22 (i386)
compat-db-4.1.25-9 (i386)
control-center-2.8.0-12.rhel4.5 (i386)
gcc-3.4.6-8 (i386)
gcc-c++-3.4.6-8 (i386)
glibc-2.3.4-2.36 (i686)
glibc-common-2.3.4-2.36 (i386)
gnome-libs-1.4.1.2.90-44.1 (i386)
libstdc++-3.4.6-8 (i386)
libstdc++-devel-3.4.6-8 (i386)
make-3.80-6.EL4 (i386)
pdksh-5.2.14-30.3 (i386)
sysstat-5.0.5-15.0.1.el4 (i386)
xscreensaver-4.18-5.rhel4.14 (i386)
libaio-0.3.105-2 (i386)
compat-libstdc++-33-3.2.3-47.3 (i386)
glibc-kernheaders-2.4-9.1.100.EL (i386)
glibc-headers-2.3.4-2.36 (i386)
libaio-0.3.105-2 (i386)
glibc-devel-2.3.4-2.36 (i386)
ORBit-0.5.17-14 (i386)
gnome-libs-1.4.1.2.90-44.1 (i386)

IMAPコマンドでメールボックスを確認する

コマンドラインIMAP対応のメールクライアントからできることと同じことをできることを先週はじめて知りました。

基本となるログインから、メールボックスの確認についてメモしておきます。

telnetIMAPサーバーにアクセスします。

telnet imap.example.com 143

成功すると以下のようなメッセージが出力されます。ここからIMAPコマンドが有効になります。

Escape character is '^]'.
* OK Dovecot ready.


ログインしてみます。
(ユーザー名:imapusr パスワード:imappwd)

1 LOGIN imapusr imappwd

ログインに成功した場合は以下のようにメッセージが出力されます。

1 OK Logged in.

次にメールボックスを確認してみます。

1 LIST ""*

メールボックスの取得に成功した場合は以下のようにメッセージが出力されます。

* LIST (\HasChildren) "." "INBOX"
* LIST (\HasNoChildren) "." "Sent"
* LIST (\HasNoChildren) "." "Trash"
* LIST (\HasNoChildren) "." "Drafts"
* LIST (\HasNoChildren) "." "JunkMail"
* LIST (\HasNoChildren) "." "INBOX.Sent"
* LIST (\HasNoChildren) "." "INBOX.Trash"
* LIST (\HasNoChildren) "." "INBOX.Spam"
* LIST (\HasNoChildren) "." "INBOX.Drafts"

VistaマシンからXPや2003の入ったリモートマシンのタスクを管理することはできません

Windows Vistaのあるマシンからリモートマシンのタスクを操作しようすると

schtasks /run /s \\192.168.0.20 /u Administrator /p password /tn test_task

結果むなしく

この要求はサポートされていません

と出力されてしまいます。

日本語のヘルプではこの件に関する記述は無く、米国本家のページにその記述がありました。

http://technet2.microsoft.com/WindowsVista/en/library/d758ff5d-27d3-4090-b1c2-14ecaa83ff121033.mspx?pf=true

 • Allow task to be run on demand

 You can specify whether a task can be run manually before or after it is
 scheduled to run by allowing the task to be run on demand. The default
 setting allows a user to run the task at any time on demand. For more
 information about how to run a task on demand, see Run a Task on Demand
 [http://technet2.microsoft.com/WindowsVista/en/library/85565ded-c9fc-
 44bc-9091-abba6507ecae1033.mspx].

 Note:
 This setting is not available for tasks configured for Windows 2003,
 Windows XP, or Windows 2000.


下位互換性がないのは有り得ないですね。

jsessionidに特定の文字列を付加させる

ロードバランサーで複数のAPサーバーへリクエストを振り分ける場合、セッション維持する必要があります。

Tomcatでは設定ファイルを編集することでjsessionidにサーバー固有の文字列を付加させることができます。ロードバランサー側でURLの文字列を判断して、振り分け処理が出来る場合は、Tomcat側で付加させた文字列を判断して振り分け処理をすればセッション維持は可能ということになります。


jsessionidに「tomcat1」という文字列を付加させたい場合は$TOMCAT/confにあるserver.xmlについて下記のようにjvmRouteの後に付加させたい文字列を記述することでOKです。
(例)

    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

実際にURL上に出てくるjsessionidは以下のようになります

jsessionid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.tomcat1

データベースリンクの設定方法、使用方法

DatabaseLinkというリモートDBをローカルDBと透過的に使用できる機能があることを先日初めて知りました。設定方法および使用方法について簡単にまとめたので紹介したいと思います。

ローカルDBがあるOracleのtnsnames.oraにリモートDBへの接続情報を記述します。

RMTDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = RMTSVR)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = RMTDB)
    )
  )

実際にデータベースリンクを作成するユーザーにデータベースリンクを作成する権限を与えます。

CONN system/manager@localdb

GRANT CREATE DATABASE LINK TO localusr;

データベースリンク名およびリモートDBの接続に使用するユーザー名、パスワードを指定します。

CONN localusr/localpwd@localdb

CREATE DATABASE LINK testlink CONNECT TO rmtusr IDENTIFIED BY rmtpwd USING 'RMTDB';


実際にリモートDBに接続しにいく場合はテーブル名の後に@{データベースリンク名}を付加します。

SELECT * FROM rmttbl@testlink;

ロールバックやコミットについてはローカルDBと同じようにできます。