Top | Wiki | Blog | Github  

Vine Linux

Vine Linux は,シミュレーション端末として利用しています.サーバとしても利用しやすいのでずいぶんとお世話になっています.

管理

便利コマンド

  • HDDの転送速度を調べる.
$/sbin/hdparm -tT /dev/hdX

次のような出力が得られる.

Timing cached reads: 1488 MB in 2.00 seconds = 742.90 MB/sec
Timing buffered disk reads: 172 MB in 3.01 seconds = 57.07 MB/sec

cron

  • 登録されている設定を確認する
$crontab -u hoge -l
  • 設定を編集する
$crontabl -u hoge -e

エディタが立ち上がるので,次の書式で記述する.

分 時間 日 月 曜日 コマンド名

例えば,

00 12 * * * /home/hoge/do.pl

これは毎日正午に,ホーム以下のdo.plを実行する,という意味.

ntpdate

NTPサーバに接続して,ローカルの時計を正確な時刻に同期させる.

#ntpdate -s ntp.nict.jp
#clock -w // ハードウェアクロックの更新

以上の内容を,cron に登録しておけば,定期的に時刻の同期が行われる.

上記のコマンドは,iptables の設定がただしく行われていないとだめ.NTPのポートは,udp/123.

ディストリビューションのアップデート

apt-get dist-upgrade

uname -r
rpm -q kernel-headers

カーネルパッケージとして /boot/vmlinuz-X.X.XX-0vlX.XXsmp をapt-get install したら、initrd 用の起動ドライバを作成し、/etc/lilo.conf を編集し、/sbin/lilo を発行する

mkinitrd /boot/initrd-X.X.XX-0vlX.XXsmp.img X.X.XX-0vlX.XXsmp
vi /etc/lilo.conf
/sbin/lilo

dd if=/dev/hdc1 of=/root/linux.pbr bs=512 count=1

/dev/hdc1 は /boot のあるパーティション.これを Windows 側から参照できるようにしておく.(FTP,共有フォルダなどで)

nmap

パケットフィルタリングの状況を調べるツール.ただし,クラックツールとしても利用できるため,管理下にあるホストのセキュリティをチェックするためだけに利用すること.

  • XXX.XXX.XXX.XXX に対して,ポート22,25,587のTCPが有効かを調べる.
# nmap -P0 -p 22,25,587 -sT XXX.XXX.XXX.XXX

より詳しい内容は,@IT でどうぞ.

hping2

tar

解凍先を指定するには,-C オプションで指定すればよい.

.htaccess

一般的には次のような内容を .htpasswd として,認証をかけたいディレクトリに置けばよい.認証の効果は,サブディレクトリまで影響する.

1: AuthUserFile /(path to the directory)/.htpasswd
2: AuthGroupFile /dev/null
3: AuthName "Please enter your ID and Password"
4: AuthType Basic
5: require valid-user

次に,.htpasswd を生成し,.htaccess に記述したディレクトリに配置する.ただし,外部から参照できる場所(例えば,HTTPで見えてしまう場所)に置くべきではない.場合によっては,パーミッションに気をつける必要がある.

1: htpasswd -c .htpasswd (username)

上記コマンドを発行すると,パスワードを聞かれる.任意のパスワードを入力すれば,.htpasswd が生成される.

Adobe Reader

Adobe Reader for Unixからダウンロードできる.パッケージの種類を選択でき,rpmとJapaneaseの組合せを選べば,楽にインストールできる.

rdesktop

Linux から Windows のリモートデスクトップ機能を利用できます.

rdesktop から最新版をダウンロードできます.Vine 3.2 で apt-get すると,1.3.1がインストールされます.

使い方は簡単で,

rdesktop -g 1024x768 -a 16 -k ja XXX.XXX.XXX.XXX

とすれば OK です.オプションを指定しなくとも接続はできます.

Netcat

SSHを利用したNAT+FW越えです.

Host X,Y,Z間の通信で,YがFWの経由ホストとします.この場合,XからZへの直接ログインができない状況であるとします.

Netcatのインストール

Netcatを正しく利用するとSSH通信を利用してFWを越えられます.一方でハッカーのツールとして利用できるほどに強力なツールなので,使用するときには十分に注意が必要です.現在はGNU Projectとして公開されています.Netcat

apt-get を利用する場合,/etc/apt/source.list に extras を追加しておく必要があります.

基本設定

X→Y→Z という流れで接続することを想定します.

  1. YにNetcatをインストールする.
  2. Xの .ssh/config (無ければ新規作成する)に次を追記する.
1: Host Z
2: ProxyCommand ssh Y nc Z %p

注意)行頭の数字とコロンはここでの表記に依存しています.設定ファイルには書き込みません.

SSHの認証をKEYベースにしたり,config の設定を改良するなど,まだまだ便利な使い方があるようです.

SuSE では,nc ではなく,netcat と書かないとだめでした.

GnuCash

各パッケージが安定した(古い)パッケージで構成されている Vine Linux 3.2GnuCach 2.0.1 を入れた時のメモです.凄まじく時間を消費したので,それなりに価値のある情報のハズっ

パッケージの依存関係

GnuCach 2.0.1 をインストールするためには,まず GConfやGLIB のパージョンをあげることから始める必要があります.さらに,次表のパッケージが必要となります../configure を実行中にコンソールでチェックできた依存性です.

パッケージ名 バージョン
gconf-2.0
libgnomeui-2.0 >= 2.0.0
libgsf-gnome-1 >= 1.12.2
glib-2.0 >= 2.4.7
gobject-2.0 >= 2.4.7
gmodule-2.0 >= 2.4.7
libxml-2.0 >= 2.4.12
pango >= 1.6.0
pangoft2 >= 1.6.0
gtk+-2.0 >= 2.4.13
libglade-2.0 >= 2.3.6
libgnomeprint-2.2 >= 2.8.0
libart-2.0 >= 2.3.11

インストール手順

必須パッケージの入手

GnuCash では,次のパッケージが必須.

自分の環境では SLIB は必要なバージョンが入っていた.g-wrap については,apt で取得できるバージョンは古かった.そこでソースからコンパイルした.

apt でお取り寄せ

1: apt-get install libgnomeui-devel
2: apt-get install cups-devel
3: apt-get install bison
4: apt-get install flex
5: apt-get install openssl-devel

cups-devel, bison, flex, openssl-develは,libgnomeprintのインストール時に必要.

以下のパッケージについては,./configure –prefix=/usr/local としてからコンパイルする.

また,次の環境変数を設定しておく.

1: export LD_LIBRARY_PATH=/usr/loca/lib
2: export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

glib のコンパイル,インストールが終わったら,/etc/ld.so.conf に,/usr/local/lib を追加して,

1: /sbin/ldconfig

を実行する.このあたりの設定は,GTK+2 Memoを参考にした.

tar.gz をお取り寄せ

以下,一応順番が関係するが正しい順番かの検証はしていません.

  1. glib-2.12.2 (pkgconfig → glib の順)
  2. gtkhtml3 (libsoup → gtkhtml3 の順)
  3. pango-1.14.2 (cairo → pango の順)
  4. libgnomeprintui-2.12.1 (pango → libgnomeprintui の順)
  5. libgnomeprint-2.12.1 (libgnomecups → libgnomeprint の順)
  6. goffice-0.3.0 (libgsf → goffice の順)

goffice については,./configure –prefix=/usr/local –with-cairo としてコンパイル・インストールを行う.そして,gnucash のconfigureで新しくインストールしたgofficeをNativeとして有効化するために,

1: cd /usr/local/lib/pkgconfig
2: ln -s ./libgoffice-0.3.pc ./libgoffice-1.pc

とした.

シンボリックリンク

次のパッケージについては,/usr/lib/pkgconfig 内の *.pc ファイルのシンボリックリングを /usr/local/lib/pkgconfig 内に作ればよい.

<codeo> 1: cd /usr/local/lib/pkgconfig 2: ln -s /usr/lib/pkgconfig/ORBit-2.0.pc ./ 3: ln -s /usr/lib/pkgconfig/libxml-2.0.pc ./ 4: ln -s /usr/lib/pkgconfig/freetype2.pc ./ 5: ln -s /usr/lib/pkgconfig/fontconfig.pc ./ 6: ln -s /usr/lib/pkgconfig/xrender.pc ./ 7: ln -s /usr/lib/pkgconfig/libgnomeui-2.0.pc ./ 8: ln -s /usr/lib/pkgconfig/libbonobo-2.0.pc ./ 9: ln -s /usr/lib/pkgconfig/bonobo-activation-2.0.pc ./ 10: ln -s /usr/lib/pkgconfig/libart-2.0.pc ./ 11: ln -s /usr/lib/pkgconfig/libglade-2.0.pc ./ 12: ln -s /usr/lib/pkgconfig/gnome-vfs-module-2.0.pc ./ </code>

/usr/lib/pkgconfig 内に該当する *.pc が存在しない場合は対応するパッケージを apt する必要がある.

gnucash 2.0.1 のインストール

以上のように,予め依存関係を解消しておいてから,

1: ./configure --prefix=/usr/local
2: make ; make install

でインストールできる.コンパイルには,結構時間がかかるので気長に待つ.実行は,

1: /usr/local/bin/gnucash

とすればよい.

:gnucash_installed.gif

見事に Vine Linux 3.2 上で起動!でも,coLinux 上で動かすと反応が鈍く,ちょっと実用的でないかもしれません・・・

トラブルシューティング

gnucash をソースからインストールすると,gtk+ 関連のソースを用いたコンパイルでこけた.そこで,gtk+ のバージョンを換えてみる.エラーが起きたバージョンは,2.4.13 なので一つ上げて,2.5.6を使用した.(2.5.6をインストールしなくてもOKの場合,pangoのバージョンは1.6.0でもOK.)

ここの情報によれば,gtk+のエラー(GMemChunkに関するエラー)は,新しいバージョンで正しく実装されたとのこと.glibは,2.10.1を,gtk+は,2.8.16をインストールすれば良いとしている.

cairo は,pango のコンパイルの前に設定されていなければならない.

GnuCash 2.0.1 のmake時に,次のエラーが出た.

1: (略)/lib/goffice-0.0.4/goffice/.libs/libgoffice-1.so: undefined reference to 'gnome_print_pango_layout'
2: (略)/lib/goffice-0.0.4/goffice/.libs/libgoffice-1.so: undefined reference to 'gnome_print_pango_create_layout'

goffice を別途入れ,それにより生成される*.pcをlibgoffice-1.pcとした.また,gtkhtml3を最新版でコンパイルし直した.その時,新たにlibsoupを要求された.以上の2つを実行した結果エラーは解消され,無事 gnucash 2.0.1 のインストールに成功した.

Vine Linux 4β でGnuCash

とりあえず,apt でどのバージョンが入るのかをチェックしてみると,1.8.12 でした.

その時に依存性があるとして追加インストールされたパッケージは,次のようになっています.画像でお楽しみ下さい.

:vine4_gnucash.gif

起動しないXアプリがある場合

xorg.conf にフォントパスを設定すると治ることがある.

たとえば,

 1: Section "Files"
 2: RgbPath "/usr/X11R6/lib/X11/rgb"
 3: FontPath "/usr/X11R6/lib/X11/fonts/misc/"
 4: FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled"
 5: FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
 6: FontPath "/usr/X11R6/lib/X11/fonts/Type1/:unscaled"
 7: FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
 8: FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
 9: FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
10: FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
11: EndSection

以上の情報はこちらにあります.