戻る

Tips

Vine Linux の設定や,Solaris の管理に関する簡単なメモです.
変更に伴う動作保証は致しかねますのでご注意を.

コンテンツ

Linux メモ

インストール

Vine Linux 3.2を,ftpサイトからCDイメージを入手して作成したCD-Rからインストールします.
とりあえずインストーラの指示に従って進めていけば,たいてい自動認識でうまくいきます.
自動認識できなかった場合でも,Web で探せばモジュールが公開されている場合があります.
現在研究室で使っているパソコンは,ASUS 製の Intel 945G マイクロ ATXマザーボード(P5LD2-VM)を使っていて,
オンボードのネットワークアダプタと,サウンドが認識されませんでした.
その対処はP5LD2-VM におけるネットワークの設定と,P5LD2-VM におけるサウンドの設定を参照してください.

カーネルの更新

Vine Linux 3.2 から,kernel の更新も apt-get upgrade でできるようになりました.
ただし,initrd の作成と lilo.conf の修正は相変わらず手動でやる必要があります.
kernel-smp の場合は明示してやる必要があるのか…?

initrd の作成

kernel をアップデートした後は,忘れずに initrd を作っておく.
# mkinitrd /boot/initrd-2.4.xx-0vlxx.x.img 2.4.xx-0vlxx.x
とする.

LILOの設定

/etc/lilo.confを編集します.
prompt
timeout=50
vga=0x314
default=linux
boot=/dev/sda
map=/boot/map
install=menu
message=/boot/message

image=/boot/vmlinuz-2.4.xx-0vlx.x
        label=linux
        initrd=/boot/initrd-2.4.xx-0vlx.x.img
        read-only
        root=/dev/sda9

image=/boot/vmlinuz-2.4.31-0vl1.8
        label=linux_old
        initrd=/boot/initrd-2.4.31-0vl1.8.img
        read-only
        root=/dev/sda9

other=/dev/hda1
        optional
        label=win
こんな感じでしょうか.編集し終わったら忘れずに
# /sbin/lilo
を実行してください.
再起動すれば,正常に起動するはずです.

P5LD2-VM におけるネットワークの設定

Vine では,Intel の最新のオンボードのネットワークアダプタをなかなか認識してくれないようです.
Vine 3.1 で,Intel(R) PRO/100 シリーズは認識するようになりましたが,
Interl(R) PRO/1000 PM Network Connectionは,Vine 3.2 でも自動認識してくれません.
そこで Linux* 基本ドライバ READMEを参考に設定してみました.

ドライバのパッケージ作成とインストール

e1000-6.3.9.tar.gzを入手します.
Interl(R) PRO/1000 PM Network Connection は対象として含まれていませんが,
問題なく動いています.
e1000-4.3.15.tar.gzもありますが,これは 2.2 kernel 用なので避けます.
このファイルには,spec ファイルが含まれているので,
$ rpm -tb e1000-6.3.9.tar.gz
とすれば,~/rpm/RPMS/xxxx に e1000-6.3.9-1.xxxx.rpm という rpm ファイルができます.
# apt-get install e1000-6.3.9-1.xxxx.rpm
とすれば,ドライバ・モジュールがインストールされます.
次に念のため,ネットワーク・サービスを停止します.
# service network stop
モジュールを組み込み,IPアドレスをインターフェース(ここでは eth0)に割り当てます.
# insmod e1000
# ifconfig eth0 <IP_address>
その後,
# ifconfig eth0 up
などとしてインターフェースを起動します.
動作が確認できたら,起動時にドライバをロードさせるため, /etc/modules.confに,
alias eth0 e1000
の一行を追加しておきます.
実ははじめ spec ファイルの存在に気がつかず,
Linux* 基本ドライバ READMEの通りに,make install でインストールしてました…….
なので,インストール後の設定には不必要なものも含まれるかもしれません.
rpm で入れた方がかしこいですね.
あと,kernel をアップデートするたびに再構築して,インストールする必要があると思います.

ホスト名・IPアドレスの設定

ホスト名や,IPアドレスの設定を行います.
まず,netconfigコマンドで, IPアドレスネットマスクデフォルトゲートウェイネームサーバを設定します.
あと,必要に応じて,
/etc/hosts
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network
/etc/resolv.conf
をチェックし,ホスト名,IPアドレス,ゲートウェイ,ネームサーバを設定することもできます.

P5LD2-VM におけるサウンドの設定(ALSA を使う)

Vine 3.2 では,ASUS 製の Intel 945G マイクロ ATXマザーボード(P5LD2-VM)のオンボードサウンドも認識されません.
そこで ALSA(Advanced Linux Sound Architecture)を使って音楽を聴けるようにしました.
実は ASUS のサイトに,Realtek ALC882 Linux Audio Driver R3.1 というドライバがあります.
ですが,元のままでは make すら通りません.
さらに,make できるように修正してインストールしてみても,うまく動きませんでした.
このドライバは,古いバージョンの ALSA を元に作られているようでしたので,
最新の ALSA ドライバを使ってみたわけです.

ドライバのパッケージ作成とインストール

ALSA のサイトから最新のドライバalsa-driver-1.0.10.tar.bz2を入手します.
また,Vine の ftp サイトから,VinePlus の alsa-driver-1.0.5a-0vl2.src.rpm をもらってきます.
$ rpm -ivh alsa-driver-1.0.5a-0vl2.src.rpm
として,~/rpm/SPEC/ に展開された spec ファイルをありがたく使わせてもらうことになります.
alsa-driver.specをエディタで開き, Version: 1.0.5a の行を Version: 1.0.10に変更し,
Patch0: alsa-driver-0.9.2-usb_header.patch
の行と,
%if !%usbtest
%patch -p0 -z .usb
%endif
の3行を削除します. また,Release: の行と %changelog を適宜修正します.
alsa-driver-1.0.10.tar.bz2 を ~/rpm/SOURCE 以下に移動させ,
$ rpm -ba alsa-driver.spec
とすることで,alsa-driver-1.0.10-<release>.src.rpm と alsa-driver-1.0.10-<release>.i386.rpm ができます.
# apt-get install alsa-driver-1.0.10-<release>.i386.rpm
としてインストールしてください.
その後,
# snddevices
とすれば,device が作られます.
/etc/modules.confの修正も必要ですが,alsa-libalsa-utils をインストールした後に,
alsaconf を使って自動的に作らせた方が簡単です.
alsa-driver は,kernerl をアップデートするたびに,
$ rpm --rebuild  alsa-driver-1.0.10-<release>.src.rpm
として alsa-driver を再構築し,アップデートする必要があると思います.

alsa-lib のパッケージ作成とインストール

ALSA のサイトから alsa-lib-1.0.10.tar.bz2 を入手します.
また,Vine の ftp サイトから,VinePlus の alsa-lib-1.0.5-0vl1.src.rpm をもらってきます.
alsa-lib のパッケージ作成には alsa-driver が必要です.
あらかじめインストールしておいてください.
$ rpm -ivh alsa-lib-1.0.5-0vl1.src.rpm
としてから,alsa-driver と同様に spec ファイルを修正します.
alsa-lib.specをエディタで開き,Version: 1.0.5 の行を Version: 1.0.10に変更し,
Release: の行を適宜修正します.
alsa-lib 1.0.10 では,alsa-lib 1.0.5 と configure の方法が変わっているようなので,
%configure
を,
libtoolize --force --copy --automake
aclocal
autoheader
automake --foreign --copy --add-missing
autoconf
%configure --prefix=%{_prefix}
と修正します.
%changelog は適宜修正してください.
alsa-lib-1.0.10.tar.bz2 を ~/rpm/SOURCE 以下に移動させ,
$ rpm -ba alsa-lib.spec
とすることで,alsa-lib-1.0.10-<release>.src.rpm と alsa-lib-1.0.10-<release>.i386.rpm ができます.
# apt-get install alsa-lib-1.0.10-<release>.i386.rpm
としてインストールしてください.

alsa-utils のパッケージ作成とインストール

ALSA のサイトから alsa-utils-1.0.10.tar.bz2 を入手します.
また,Vine の ftp サイトから,VinePlus の alsa-utils-1.0.5-0vl1.src.rpm ももらってきます.
alsa-utils のパッケージ作成には alsa-driver と alsa-lib が必要です.
あらかじめインストールしておいてください.
$ rpm -ivh alsa-utils-1.0.5-0vl1.src.rpm
としてから,spec ファイルを修正します.
alsa-utils.specをエディタで開き, Version: 1.0.5 の行を Version: 1.0.10に変更し,
Patch: alsaconf-1.0.1.patch
の行と,
%patch -p0 -z .conf
の行を削除します. また,Release: の行と %changelog を適宜修正します.
alsa-utils-1.0.10.tar.bz2 を ~/rpm/SOURCE 以下に移動させ,
$ rpm -ba alsa-utils.spec
とすることで,alsa-utils-1.0.10-<release>.src.rpm と alsa-utils-1.0.10-<release>.i386.rpm ができます.
# apt-get install alsa-utils-1.0.10-<release>.i386.rpm
とすることでインストールできます.
alsa-utils をインストールすることで,alsaconf が使えるようになります.
# alsaconf
と実行し質問に答えていくと,自動的に音量調節や modules.conf の作成が行われます.
また,alsamixerも便利です.
$ alsamixer
を実行すると,各出力の音量や,ミュートのオンオフを設定できます.

XMMS の設定

ALSA をインストールして音が鳴るようになったわけですが,
Vine Linux 3.2 の XMMS のデフォルトの設定では,変なノイズが入ります.
これを解決するには2つの方法があります.
OSS ドライバを使う方法とALSA 出力プラグインを使う方法です.
OSS ドライバを使う方法は,XMMS のオプションの設定で出力プラグインを変更するだけなのですが,
ALSA 出力プラグイン(xmms-alsa)は,Vine の apt で直接インストールすることができません.
でもせっかくなので,xmms-alsa を使いたい….
そこで XMMS を再構築して xmms-alsa を作ってみました.
Vine の ftp サイトから,xmms-1.2.10-0vl6.1.src.rpm をもらってきます.
$ rpm -ivh xmms-1.2.10-0vl6.1.src.rpm
としてから,展開された ~/rpm/SPECS/xmms.spec をエディタで開き,
#%define with_alsa 1
のコメントアウトをはずし,
%define with_alsa 1
とするだけです.
$ rpm -ba xmms xmms.spec
とすれば,xmms-1.2.10-0vl6.1.i386.rpmxmms-alsa-1.2.10-0vl6.1.i386.rpmxmms-vorbis-1.2.10-0vl6.1.i386.rpmxmms-1.2.10-0vl6.1.src.rpmそして, xmms-devel-1.2.10-0vl6.1.i386.rpmができます.
今回必要なのは xmms-alsa-1.2.10-0vl6.1.i386.rpm だけなので,
# apt-get install xmms-alsa-1.2.10-0vl6.1.i386.rpm
としてインストールします.
他のパッケージは,元々 apt でインストールできるものです.
インストール後に xmms を実行すると,出力プラグインにALSA 出力プラグインが増えています.
選択してください.
ただ,そのままではエラーがでて動かないので,出力プラグインの設定ボタンを押して,
ミキサー設定のオーディオデバイスを HDA Intel: ALC882 Analog (hw:0,0) に変更してください.
必須ではありませんが,ソフトウェアボリュームを使用にもチェックを入れておくと便利です.
これで ALSA を使って XMMS で音楽が聴けると思います.

Linux から Windows のリモートデスクトップを使う.

Linux から Windows のリモートデスクトップを利用するには,rdesktopというプログラムを使います.
Vine Linux では apt-get で簡単に入れることができました.
# apt-get update
# apt-get install rdesktop
利用するときは
$ rdesktop -k ja <server>
とします.
-kはキー配列を指定するオプションで,jaは日本語106キーボードを意味しています.
よく使うと思われるオプションは以下のようなものです. この rdesktop は快適に使えるものの,256色モードでしか接続できないようです.

Solaris メモ

Solaris 推奨パッチクラスタの適用

Solaris にはパッチをまとめて適用するための,推奨パッチクラスタというものが存在します. Sunのサイト からバージョンを選んでダウンロードします. ファイルサイズが非常に大きいので注意しましょう. 実際に適用する際には,README に目を通してから, シングルユーザーモードに移行した後に,
# unzip 8_Recomended.zip
で展開し,
# install_cluster -nosave
を実行します.ここで -nosave は,/var に backout のデータを保存しないようにするオプションです. つけなくても良いのですが,その場合,データが大きくて /var が圧迫されます. 後はひたすら待つだけ…….
実行中
Installation of xxxxxx-xx faild. Return code 2
や,
Installation of xxxxxx-xx faild. Return code 8
のエラーが発生することが有りますが, code 2は,パッチが既に適用済みであることを, code 8は,パッチの対象となる パッケージがインストールされていないことを示すので,気にしなくても良いです.

IP アドレス設定

Solaris で IP alias を行う方法をメモしておきます.

コマンドによる変更

Solarisでは,以下のコマンドでIP アドレスを追加します.
# ifconfig addif <IP_address>
# ifconfig hme0:1 plumb
# ifconfig hme0:1 up
上記のコマンドをセットにして
# ifconfig hme0 addif <IP_address> plumb up
としても同様になります.この場合には" :1 "などの指定はいりません. 割り当てたIPアドレスの削除は
# ifconfig hme0 removeif <IP_address>
で行えます.この場合にも" :1 "などは必要ありません.

ファイルの変更

IP アドレスの設定に関係のあるファイルは, /etc/netmasks/etc/hostname.<device name>等です. /etc/netmasksは,
133.1.xxx.0    255.255.255.0
192.168.1.0    255.255.255.0
のように記述し,/etc/hostname.<device name>には, インターフェイスごとに,/etd/hostsファイルに書いてあるホスト名を記述します.

その他

ssh を使った SOCKS proxy

sshをSOCKS proxyとして利用する方法です.
この方法は,接続可能なhost上でsshサーバが動いてさえいればよく, 利用価値の高いものです.
やりかたは,
ssh -D <port> <remote host>
として<remote host>に接続しておき, ブラウザでProxyとして127.0.0.1:<port> SOCKS5を指定するだけです.
Firefoxなら,
ツール(linux版では編集) > 全般 > 接続設定
 手動でProxyを設定するにチェック
 SOCKSホスト: 127.0.0.1  ポート番号: <port>
 SOCKS v5 にチェック
とします.
これで LAN 内のサイトに外部からアクセスしたりできるようになって,非常に便利です.

VIM-LaTeX で jbibtex を使う.

VIM-LaTeX は,VIM で LaTeX のソースを書く場合に有用なツールです.
コマンド1つで,latex のコンパイルができ,同時に必要であれば bibtex の実行もしてくれます.
latex のコンパイルに使うコマンドや dvi ファイルを表示するプログラムは,設定ファイル(.vimrc や _vimrc)で
let g:Tex_CompileRule_dvi = 'platex --interaction=nonstopmode $*'
let g:Tex_ViewRule_dvi = 'xdvi'
のようにして指定できますが,latexSuite-1.5 では bibtex の設定ができません.
bibtex の代わりに jbibtex を使うためには,VIM-LaTeX のソースを改変する必要があります.
VIM-LaTeX-Dir/ftplugin/latex-suite/multicompile.vim
(VIM-LaTeX-Dir は VIM-LaTeX をインストールしたディレクトリで,~/.vim 等で読み替える)
echomsg "Running bibtex..."
let temp_mp = &mp | let &mp='bibtex'
echomsg "Running " . g:Tex_CompileRule_bib . "..."
let temp_mp = &mp | let &mp=g:Tex_CompileRule_bib
のように変更し,設定ファイルで
let g:Tex_CompileRule_bib = 'jbibtex'
とすれば jbibtex が使えます.
また,Latest Developement version である latexSuite20041219 を使えば
VIM-LaTeX のソースを改変する必要が無くなります.
設定ファイル(.vimrc や _vimrc)で
let g:Tex_BibtexFlavor = 'jbibtex'
とするだけです.

VIM-LaTeX で警告を抑制する.

VIM-LaTeXを使っているとコンパイル時のエラーや警告を,ウィンドウを分割して表示してくれます.
これは便利な機能ですが,無視してもよい警告を表示する場合も当然あります.
エラーを表示する際に,表示するウインドウにカーソルが移動することもあって,
明らかに問題ないと判明している警告の表示は,非常に鬱陶しいものとなります.
これを解決するためには,変数 g:Tex_IgnoredWarningsg:Tex_IgnoreLevel を使います.
これらの変数は,初期設定では,
let g:Tex_IgnoredWarnings =
	\'Underfull'."\n".
	\'Overfull'."\n".
	\'specifier changed to'."\n".
	\'You have requested'."\n".
	\'Missing number, treated as zero.'."\n".
	\'There were undefined references'."\n".
	\'Citation %.%# undefined'
let g:Tex_IgnoreLevel = 7
と定義されています.
g:Tex_IgnoredWarnings は,無視する警告のパターンを格納していて,
g:Tex_IgnoreLevel は,そのうちどこまで実際に無視するのか,そのレベルを定義しています.
初期設定では,7種類の警告のパターンが定義されていて,そのすべてを無視するようになっている訳です.
したがって,これらの変数を,設定ファイル(.vimrc や _vimrc)で適切に定義してやれば,
任意の警告を無視することができるようになります.
例えば,日本語の文章をコンパイルするときにしばしば出てくる,
LaTeX Font Warning: Font shape `JT1/gt/m/it' undefined
LaTeX Font Warning: Font shape `JY1/gt/m/it' undefined
LaTeX Font Warning: Font shape `JT1/mc/m/it' undefined
LaTeX Font Warning: Font shape `JY1/mc/m/it' undefined
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
等の警告を無視するには,
let g:Tex_IgnoredWarnings =
	\'Underfull'."\n".
	\'Overfull'."\n".
	\'specifier changed to'."\n".
	\'You have requested'."\n".
	\'Missing number, treated as zero.'."\n".
	\'There were undefined references'."\n".
	\'Citation %.%# undefined'."\n".
	\"Font shape \`JT1/gt/m/it\' undefined"."\n".
	\"Font shape \`JY1/gt/m/it\' undefined"."\n".
	\"Font shape \`JT1/mc/m/it\' undefined"."\n".
	\"Font shape \`JY1/mc/m/it\' undefined"."\n".
	\'LaTeX Font Warning: Some font shapes were not available, defaults substituted.'
let g:Tex_IgnoreLevel = 12
等と,設定ファイルに記述すれば良いわけです.

vimspell を使う.

vimspell は,VIM で,ispellaspell を使ってスペルチェックを行うスクリプトです.
これを使うと,スペルチェックのためにわざわざ MS Word を起動する必要がなくなります….
しかも,LaTeX のコマンド等もある程度自動で認識して無視してくれるので,非常に便利です.

GNU Aspell のインストール

まず,ispell または aspell をインストールする必要があります.
筆者は aspell の方を使っていますので,それに基づいて説明します.

Vine Linux では apt-get で簡単に入れられます.
# apt-get update
# apt-get install aspell
英語の辞書も同時にインストールされるようです.
英語以外の辞書が必要ならば,別途自分でインストールする必要があります.

Windows の場合は,GNU Aspell (Win32 version) からインストーラを入手し,
インストールしてください.
現時点の最新版は,Binaries:Full installer のリンクから入手できるようです.
Windows 版の場合は,別途辞書をインストールしなければなりません.
同じページの Precompiled dictionaries:から,英語の辞書(必要なら他の辞書)をダウンロードし,
インストールすれば終了です.

vimspell の設定

vimspell のページから,vimspell.vimを入手します.
入手したファイルを VIM-FILES/plugins に入れます.
(VIM-FILES は VIM のスクリプトやプラグインをインストールするディレクトリで,
~/.vim や ~/vimfiles 等で読み替える)
さらに,設定ファイル(.vimrc や _vimrc)に,
let spell_executable = "aspell"
let spell_language_list = "english"
を追加すれば終了です.
コマンド \ss で,スペルチェックが行われます.
コマンド \sn\sp で,誤りのある単語を順にたどっていけます.
(詳細は :help vimspell 参照)
お好みにより,
highlight SpellErrors guifg=Red ctermbg=Red cterm=none
などと追加しておけば,スペルに間違いがある単語の色を変更できます.
ちなみにこの設定では, gvim では文字が,vim では背景が赤くなることになります.

spell_auto_type を適切に設定することで,入力時に自動でスペルチェックを行えますが,
かなり重くなりおすすめできません.
筆者の場合は,
let spell_auto_type = ""
としています.
KANAZAWA Takafumi
Last modified: Wed Jun 13 17:07:39 JST 2007