Vine Linux 4.0
2006年11月22日にVine Linux 4.0がリリースされました(Vine Linux 3.1からみた4.0のリリースニュース)。
Vine LinuxのFTPサイトでは徐々にCDイメージ(Vine40-i386.iso)もアップされてきています(FTPサイト例)。
Vine Linux 3.2まではKernel 2.4系、LILO、Mozilla、Canna/kinput2等といういささか古い印象の(よく言えば枯れた)システム構成でした。
※Vine Plus/Vine Seedにはその後継/代替パッケージもあります。
Vine Linux 4.0ではそれらが標準でKernel 2.6系、GRUB、Firefox(2.0:Bon Echo)、Anthy/SCIM等に刷新されました。
それでも他のディストリビューションに比べると新規性を追い求めない地味なディストリビューションと言えるかと思います。
ここでは新しくなったVine Linux 4.0デスクトップ環境を紹介します。
(1)インストールの流れ
インストールの流れ自体はVine Linux 3.x系とほぼ同じですが違う点は補足込みで紹介します。
※2006年12月中旬には「Vine Linux 4.0 スターターキット」という書籍もインストールCD付きで発行されるようです(予告サイト)。
- CD-ROMからブート
- Vine Linuxへようこそ
従来に比べて読みやすいゴシックフォントで表示されます。
- 言語の選択
Vine Linux 4.0ではVine Linux 3.2の場合の「Language Selection」画面とは異なり日本語メニュー画面で表示されます(少し違和感あり)。
- キーボードの選択
- インストールの種類
インストールの種類に「デスクトップ」と「サーバ」が追加されました(Vine Linux 3.2の場合の「インストールの種類」画面)。
<全てインストール>を選択するとHDD容量は1935MB(約2GB)消費します(Vine Linux 3.2の場合はフルインストールで1634MB消費)。
- ディスクパーティションの設定
- ブートローダの設定
デフォルトではGRUBがMBRにインストールされる設定となります。
- ネットワークの設定
- ファイアウォールの設定
ファイアウォールなしの指定も行えます。
- 追加言語
- タイムゾーンの選択
- rootユーザパスワード設定と一般ユーザの追加
- インストールパッケージの確認
- パッケージの実際のインストール
- インストール後のシステム設定(自動設定)
- 画面解像度の指定
- インストール完了
- 自動リブート
- GRUBメニュー画面
Current Kernelでブートします。
- gdm(GUIログイン)画面
GUIログイン画面はカスタマイズ可能でユーザ一覧(フェイスブラウザ)を表示することも可能です。
ユーザ一覧からログインユーザを選択すればパスワードだけの入力でログインできます。
- GNOMEデスクトップ
GNOMEデスクトップではメニュー配置がVine Linux 3.2のメニュー配置と変わっています。
- フルインストールされたパッケージ一覧
- Vine Linux 4.0で追加・削除された主なパッケージ
Vine Linux 4.0で追加・削除された主なパッケージは以下の通りです。
※尚、ここでの「Vine Linux 4.0で追加・削除された」とは、あくまでも「インストールCDに追加・削除された」という意味です。
- Vine Linux 4.0で追加された主なパッケージ
(1)Vine-manual
(2)anthy
(3)apache2
(4)beepmp ※Beep Media Player
(5)dbus
(6)dvd+rw-tools
(7)evince
(8)firefox
(9)gnome-menus
(10)gnome-mount
(11)gnome-netstatus
(12)gnome-power-manager
(13)gpdf
(14)gpg-pubkey
(15)grub
(16)htmlview
(17)kasumi
(18)openldap
(19)parted
(20)rdesktop
(21)samba-client
(22)scim
(23)system-config-securitylevel
(24)timeconfig
(25)totem-common
(26)totem-gstreamer
(27)vino ※GNOMEのVNCサーバ
- Vine Linux 4.0で削除された主なパッケージ
(1)Canna
(2)XOrg-100dpi-fonts
(3)apache
(4)ggv
(5)gimageview
(6)gnome-games
(7)inetd
(8)kinput2
(9)kterm
(10)lilo
(11)mozilla
(12)murasaki
(13)openMotif
(14)sndconfig
(15)syslinux
(16)xmms
(17)xpaint
- カーネルバージョン確認
カーネルは2.6.16です。
(2)デスクトップアプリケーション
- Evince (バージョン 0.6.4)
EvinceはPostscript/PDFファイルビューアです。
(3)Apache2 (2.2.3)
Vine Linux 3.2の場合はApache 1.3系が付属していてデフォルトでhttpdが自動起動するようになっていました。
一方のVine Linux 4.0にはApache2が付属していますがそのWebサーバが自動起動するデフォルト設定にはなっていません。
Apache2の自動起動設定は「chkconfig --level 345 apache2 on」のように行います。
また手動起動は/etc/rc.d/init.d/apache2 startでOKです。
※尚、デフォルトのドキュメントルートは/var/www/htmlですが初期状態では空です。
(4)Proftpd
Vine Linux 4.0にはVine Linux 3.2同様にProftpdというFTPサーバが付属していています。
Vine Linux 3.2同様に以下の操作でFTPサーバが使用できるようになります。
# chkconfig --level 345 proftpd on
# /etc/rc.d/init.d/proftpd start
(5)sshでのroot接続許可設定
セキュリティ上問題のあるtelnetはあまり使用されなくなっておりssh利用が増えています。
rootでのssh接続が必要な場合はVine Linux 3.2同様に/etc/ssh/sshd_config中のPermitRootLogin noをyesに変更します。
その後、/etc/rc.d/init.d/sshd restartでrootでのssh接続ができるようになります。
(6)telnetサーバ
セキュリティ上問題のあるtelnetはあまりお勧めではないのですがVine Linux 4.0上でtelnetサーバを動作させる場合、その導入形態は大きく二種類あります。
inetd経由接続とxinetd経由接続の形態です。
- inetd経由接続用telnetサーバの導入手順
inetd経由接続用telnetサーバの導入手順はVine Linux 3.2とほとんど同じです。
# apt-get install telnet-server
(Vine Linux 4.0ではこのapt-getでinetdも同時にインストールされます)
# chkconfig --list inet による自動起動設定の確認
# vi /etc/inetd.confの編集
「#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd」の先頭#を削除します。
# /etc/rc.d/init.d/inet restart
- xinetd経由接続用telnetサーバの導入手順
下記手順はパッケージの相互関係が不適切になってパッケージの追加インストール等に支障を来たすためお奨めはできないことを予め申し上げておきます。
まずapt-getでxinetdをインストールします(インストール時にxinetdの自動起動設定もされます)。
次にtelnet-serverパッケージを依存関係無視のオプション指定でインストールします。
※Vine Linux 3.2と同様にtelnet-serverパッケージは/etc/xinetd.d/telnetファイルを含みます。
そこで/etc/xinetd.d/telnet中の「disable = yes」を「disable = no」に変更します。
最後に以下のコマンドでtelnetサーバが起動できるようにします。
# /etc/rc.d/init.d/xinetd reload ※設定ファイルの再読み込みを行うコマンドです
xinetd経由でのtelnet localhost接続の様子。
(7)vino (GNOMEのVNCサーバ)
vinoは従来からあるVine Linuxのvncserverとは別のVNCサーバパッケージです。
vinoにおけるVNCサーバ設定は[デスクトップ]−[設定]−[リモートデスクトップ]で行います(設定プログラムは/usr/bin/vino-preferencesです)。
尚、vinoにおけるVNCサーバプログラムは/usr/libexec/vinoserverで、ポート5900でListenします。
(1)<他のユーザーがデスクトップ>を見れるようにする>:チェックを入れます。
(2)<他のユーザーがデスクトップをコントロールできるように>:チェックを入れます。
※これにチェックが入っていないとVNCクライアントからの操作はできず、VNCサーバ側の画面がVNCクライアント側に単にリアルタイム表示されるだけとなります。
(3)<承認が必要>:チェックを外します。
※<承認が必要>にチェックが入っていると接続要求があった場合にVNCサーバ側に接続を許可するかどうかのダイアログが出てしまいます。
(4)パスワード欄:最大8文字までのパスワードを指定します。
VNCクライアントからは「VNCサーバホスト:0」指定で接続します。
VNCクライアントから接続要求を発行するとパスワード指定前にポート4106,4107,...等も割り当てられます。
画面解像度にもよると思いますが描画速度はかなり遅く感じます。
(8)OpenOffice.org 2.0.3
apt-getでopenoffice.orgパッケージをインストールするとGNOMEメニューにオフィスが自動追加されます。
(9)WindowMakerデスクトップ
WindowMakerをapt-getでインストールし、メインメニュー等を若干カスタマイズして使用してみました。
デスクトップの右クリックメニューは~/GNUstep/Defaults/WMRootMenuに定義されていますがプレーンテキスト形式にはなっていないため日本語編集もできません。
実はそのプレーンテキストメニュー自体は~/GNUstep/Library/WindowMaker/menu.jaに定義されています。
そこで~/GNUstep/Library/WindowMaker/menu.jaの内容変更が実際のメニューに簡単に反映されるようにするためには以下のように操作します。
# cd ~/GNUstep/Defaults
# mv WMRootMenu WMRootMenu.org
# cp WMRootMenu.menu WMRootMenu
# vi WMRootMenu
viで「"~/GNUstep/Library/WindowMaker/menu"」を「"~/GNUstep/Library/WindowMaker/menu.ja"」に変更します。
# cd
# vi ~/GNUstep/Library/WindowMaker/menu.ja
viでこのmenu.jaを実際にカスタマイズします(KtermをGNOME Terminalに変更したりRxvtをXtermに変更する等)。
デスクトップの例を以下に示します。
実寸画像はこちらです。
(10)DB2 Express-C V9.1版の導入・利用
DB2 Express-Cの推奨ディストリビューションにはVine Linuxは含まれていません。
Vine Linux 4.0でのカーネルがkernel 2.6になったことでもありDB2 Express-Cを導入してみました。
今回導入したのはDB2 Express-C V9.1版(2006年7月リリース版)です。
- ダウンロードファイル
(1)db2exc_91_LNX_x86.tar.gz(DB2サーバ&クライアント:約254MB)
(2)db2_v9_linux_nlpack.tar.gz(National言語パック:約283MB)
(3)dwb_linux.zip(Eclipseベースの開発ツール:約510MB)
- インストール方法
DB2 Express-Cは多言語対応されていないため日本語モードでインストールしたりdb2cc等のGUIツールを日本語化するにはNational言語パックが必要となります。
IBMが公開している日本語対応化の手順はVine Linux 4.0にもそのまま適用できます。
- DB2サーバ本体のインストールの様子
インスタンス所有者はデフォルトのdb2inst1にしています。
- National言語パックのインストールの様子
- Workbenchのインストール
画像略
- サンプルデータベースの作成
サンプルデータベースはdb2fsからGUIで作成したりdb2samplコマンドで作成したりできます。
今回はまずXMLデータを含まないサンプルデータ(sample)をGUIで作成しました。
次にXMLデータを含むサンプルデータベース(xsample)をきめ細かいオプション設定のできるdb2samplコマンドで追加作成しました。
$ db2sample -name xsample -sql -xml
- XMLデータを含まないサンプルデータのCLPアクセス(コマンド行プロセッサ利用)
- XMLデータを含むサンプルデータベース
XMLデータを含むサンプルデータベースではCATALOG, CUSTOMER, PRODUCT, SUPPLIES等のテーブルにXML属性のカラムが存在します。
ほとんどが空の状態ですがCUSTOMERテーブルのINFOカラムがXQueryを試行するのに適したデータを保持しているようです(HISTORYカラムは空)。
- XQuery
Workbench(Eclipseベースの開発ツール)にはXQueryビルダが付いていますので比較的簡単にXMLデータの条件検索結果が得られます。
- JDBC
TYPE4のJDBCをドライバを使用した簡単なサンプルプログラムをコンパイルして実行してみました。
※上記のWorkbenchもJDBCを使用したアクセスを行っています。
- db2inst1の.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# addpath $HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME=""
export JAVA_HOME=/opt/ibm/db2/V9.1/java/jdk32
export CLASSPATH=/opt/ibm/db2/V9.1/java/db2jcc.jar:/opt/ibm/db2/V9.1/java/db2jcc_license_cu.jar
PATH=$JAVA_HOME/bin:$PATH
export USERNAME BASH_ENV PATH LESSOPEN
- サンプルプログラムソース(myselect.java)
//*********************************************************************
// This is a sample program using DB2 Express-C JDBC Driver (Type 4). *
//*********************************************************************
import java.sql.*;
class myselect
{
public static void main(String args [])
throws SQLException
{
// Loading DB2 JDBC driver
DriverManager.registerDriver(new com.ibm.db2.jcc.DB2Driver());
Connection con =
DriverManager.getConnection("jdbc:db2://localhost:50000/SAMPLE","db2inst1","パスワード");
// クエリ実行
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select DEPTNAME from ORG");
// カラム値表示
System.out.println("[ DEPTNAME ]");
System.out.println("--------------");
while (rs.next ())
System.out.println(rs.getString(1));
// クローズ処理
rs.close();
con.close();
}
}
- コンパイル&実行
(11)Oracle Database 10g Express Editionの導入・利用
Vine Linux 4.0にOracle Database 10g Express Edition(Oracle XE)を導入してOpenOffice.orgのBaseからJDBCアクセスしてみました。
- Oracle Database 10g Express Edition(Oracle XE)の導入
Oracle Database 10g Express Editionのインストーラはかなり簡素化されています。
インストールに備えてのカーネルパラメータの手動変更や環境変数設定(ORACLE_xxx類)は一切不要です。
- Oracle Database 10g Express Editionのダウンロード
Oracle社のOTNサイトからoracle-xe-univ-10.2.0.1-1.0.i386.rpmをダウンロードします。
と同時に解りやすい説明書であるb25144.pdf(Installation Guide 10g Release 2 (10.2) for Linux)もダウンロードすることをお奨めします。
- パッケージのインストール
oracle-xe-univ-10.2.0.1-1.0.i386.rpmはlibaioのバージョン0.3.96以上のパッケージが必要ですがVine Linuxのサイトにはlibaio自体が存在しません。
Fedore Core 2以降にはlibaio-0.3.96以上のものが含まれており、今回はFedora Core 4付属のlibaio-0.3.104を使用しました。
# rpm -ivh libaio-0.3.104-2.i386.rpm
# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm ※インストールされたファイル一覧
Oracle Database 10g Express Edition本体のインストール自体はこれで終了です。
このインストール操作だけでカーネルパラメータ(/etc/sysctl.conf)も自動変更されます。
またdbaグループとそのグループのoracleユーザも自動作成されます(oracleユーザのホームディレクトリ:/usr/lib/oracle/xe)。
更にGNOMEメニューに[Oracle Database 10g Express Edition]メニューも追加されます。
- Oracle XEの設定
rootユーザで「/etc/init.d/oracle-xe configure」を起動していくつかの質問に答えます。パスワード以外はすべてデフォルトで構いません(Enterキー押下だけです)。
※/etc/init.d/oracle-xeの中に「ORACLE_SID=XE」等の環境変数が定義されています。
# /etc/init.d/oracle-xe configure
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press <Enter> to accept the defaults.
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:パスワードを入力
Confirm the password:同じパスワードを入力
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
※上記で指定したパスワード以外の値は/etc/default/oracle-xeファイルに設定されます(RedHat系やSUSE系では/etc/sysconfig/oracle-xeファイルに設定)。
ps -efコマンドで確認するとoracleというユーザのプロセス(xe-pmon-XE等)が多く起動されているのが分かります。
- /etc/init.d/oracle-xeについて
/etc/init.d/oracle-xeはXEの設定だけでなく起動・停止なども行うスクリプトです。
引数にはconfigure, start, stop, restart, reload, force-reload, statusが指定できます。
- Oracle XE利用ユーザの設定ファイルの手動変更
Oracle XE利用ユーザの.bash_profileに「. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh」という行を追加します。
このoracle_env.shにはORACLE_HOME, ORACLE_SID, NLS_LANG, PATH環境変数設定が含まれていますのでその設定を一旦有効にします。
- サンプルユーザのロック解除
Oracle XEのインストール/設定によってサンプルユーザ/データベースが自動作成されます。
サンプルユーザの代表格はHRというユーザ(即ちHRスキーマ)ですが初期状態ではロックされたステータスになっています。
このサンプルユーザHRのロック解除とパスワード設定は以下の手順で行います。
(1)GNOMEの[アプリケーション]−[Oracle Database 10g Express Edition]−[データベースホームページに移動]の実行。
(2)それによってApplication Expressページ(http://127.0.0.1:8080/apex/)が開きます(apexはApplication Expressを指します)。
※Application Expressページは別マシンからもhttp://Oracle XEホスト:8080/apex/指定で開けます(別ホストからのアクセス例)。
※Application ExpressはOracle Enterprise Manager(通称em)の簡易版です。
(3)Application Expressページでsystemユーザでログインします(パスワードは上記の「/etc/init.d/oracle-xe configure」で指定した値)。
(4)ホーム画面から、「管理」画面、「データベースユーザ」画面の順に遷移させます。
(5)HRユーザのアイコンが表示されますのでそのアイコンをクリックしてHRユーザの設定画面に遷移します。
(6)HRユーザの設定画面ではHRユーザのパスワードを設定し、更にアカウントステータスを「ロック済」から「ロック解除済」に変更します。
(7)<ユーザの変更>ボタンを押すと変更設定が有効になります。
(8)Application Expressからログアウトします。
尚、HRはHuman Resourcesの意味でOracle XE以外のOracle Database 10gにも標準で含まれています。
(Fedora Core 4上のOracle Database 10g Enterprise Edition付属のHRユーザのJOB_HISTORY検索例)
- サンプルテーブルのアクセス
sqlplusでhrユーザでOracle XEに接続してみます。
尚、sqlplusの起動は「sqlplus hr」で行います。
※リスナー経由の接続テストは「sqlplus hr@XE」で行えます(ここでのXEは接続名です)。
- OpenOffice.orgからのJDBC接続
Oracle XEへのJDBCアクセスを実施するためにまずJRE 1.5をインストールし、OpenOffice.org 2.0.4を手動でインストールします。
次にOpenOffice.org 2.0.4のCalcを起動して、[ツール]−[オプション]−[Java]で下記のクラスパスを指定します。
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/jdbc/lib/ojdbc14.jar
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/jdbc/lib/ojdbc14_g.jar
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/jlib/orai18n.jar
Baseを起動してデータソースの作成ウィザードで下記の内容のものを定義します。
(1)データソースのURL:jdbc:oracle:thin:@localhost:1521:XE
(2)JDBCドライバクラス:oracle.jdbc.driver.OracleDriver
ここで<テストクラス>ボタンを押すと「JDBCドライバが正常に読み込まれました。」と表示されます。
その後はユーザ認証のセットアップでhrユーザを指定します(<必須パスワード>にチェックを入れます)。
接続テスト画面でhrユーザのパスワード指定で「接続が正常に確立できました」と表示されます。
データソースの定義はMyOracleXEのような名称を付けて保存します。
最後にhrユーザのテーブルを選択してデータ表示させます(下記画面参照)。
- SCOTT.DEPTの作成とアクセス
Oracle Database 10g Enterprise Edition付属のSCOTTユーザと同じSCOTTユーザを作成し、
そのユーザのDEPTテーブルを作成してみました(sqlplusによるDEPTテーブル検索の様子)。
更にそのテーブルをCalcからJDBC接続してデータの取り込みを実施してみました。
(12)Vine Linux 4.0のLiveDVD化
少し使用したVine Linux 4.0をそのままDVDからブートして使用できるようにLiveDVD化してみました。
DVDイメージはメジャーなlinux-liveツールを使用して作成しました(DVDイメージサイズは727,511,040バイトとなりました)。
下記はそのLiveDVDからブートした際の動作確認画面です。
搭載メモリ3GBのPCでのLiveDVD動作検証は、高速化を考慮してbootプロンプトで「linux copy2ram」を指定してみました。
※「linux copy2ram」はイメージをメモリにコピーするオプションです(ブート時のコンソール表示例)。
apt-getでパッケージのインストールも実施してみました。