ZZRでツーリングマップル(中四国版)全制覇への道 〜ついでにLinuxハッカーも目指してます〜

どうも。ここは、バイクを買って一年ちょっとの駆け出しライダー兼Linux狂のITサラリーマンのブログです。 ツーリングマップルの全ページ制覇の記録と、日々のLinuxハッキングの記録を記します。

[Gentoo] [Linux] Gentoo Linux で ATAPI 接続の CD-R を使う

方法は2通りある。一つは SCSI Emulation で ATAPI ドライブを SCSI ドライブとして扱えるようにする方法、もう一つは、 cdrecord(Ver 2.0 以降) などのコマンドから、直接 ATAPI デバイスを操作する方法である。ここでは、後者の方法を記す。 SCSI Emulation は Plamo Linux の Webサイト( http://plamo.linet.gr.jp/%7Ekmoue/plamo/3.3/p3inst-8.html#ide-scsi)に詳細な説明があるので、そちらを参照してください。

■操作可能なデバイスの確認
"dev=ATAPI" オプションを利用する。cdrecode 2.0 以降であれば直接 ATAPI デバイスを扱うことができる。

======================================================================
# cdrecord -scanbus dev=ATAPI
Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 J旦rg Schilling
scsidev: 'ATAPI'
devname: 'ATAPI'
scsibus: -2 target: -2 lun: -2
Warning: Using ATA Packet interface.
Warning: The related Linux kernel interface code seems to be unmaintained.
Warning: There is absolutely NO DMA, operations thus are slow.
Using libscg version 'schily-0.8'.
scsibus0:
0,0,0 0) 'HL-DT-ST' 'DVDRAM GSA-4160B' 'A301' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
======================================================================

■ATAPI ドライブへの 書き込み
デバイスの指定は、 dev=ATAPI:0,0,0 とする。
======================================================================
# cdrecord dev=ATAPI:0,0,0 -v speed=16 -isosize -data hoge.iso
======================================================================

■参考文献
ATAPI CD-R ドライブの使い方
(http://www.netfort.gr.jp/~matsu/plamo/doc/atapi_cdr.html)

Plamo Linux 3.3 インストール & 種々設定あれこれ
(http://plamo.linet.gr.jp/%7Ekmoue/plamo/3.3/p3inst-8.html#ide-scsi)

[Gentoo] LinuxでUSBメモリカードリーダを使いたい

LinuxでUSBメモリカードリーダを使えるようにする。
使用機種:BUFFALO MCR-C28/U2

■カーネルパラメータの設定(カーネル2.6の場合)
以下のカーネルパラメータを有効にして、カーネルを再構築する。

[Device Drivers]->[SCSI device support]->[Probe all LUNs on each SCSI device]

■USBメモリカードリーダが認識されたか確認
カードリーダをマシンに接続して、dmesgコマンドを実行する。
以下のように、いろいろ表示されればOK

----------------------------------------------------------------------
$ dmesg
usb 1-5: new high speed USB device using ehci_hcd and address 2
usb 1-5: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
Vendor: BUFFALO Model: SD MMC Card Rev: 1.00
Type: Direct-Access ANSI SCSI revision: 00
sd 0:0:0:0: Attached scsi removable disk sda
Vendor: BUFFALO Model: CF MD Card Rev: 1.01
Type: Direct-Access ANSI SCSI revision: 00
sd 0:0:0:1: Attached scsi removable disk sdb
Vendor: BUFFALO Model: SM XD Card Rev: 1.02
Type: Direct-Access ANSI SCSI revision: 00
sd 0:0:0:2: Attached scsi removable disk sdc
Vendor: BUFFALO Model: MS MS PRO Card Rev: 1.03
Type: Direct-Access ANSI SCSI revision: 00
sd 0:0:0:3: Attached scsi removable disk sdd
usb-storage: device scan complete

----------------------------------------------------------------------

■マウント
上記dmesgの結果からデバイス名の当たりをつける。
とりあえず
----------------------------------------------------------------------
$ ls -l /dev | grep sd
----------------------------------------------------------------------
とか実行して、引っかかったデバイスを片っ端から試せばどれか当たるはず。

マウント実行時はオプションに注意
----------------------------------------------------------------------
# mount -t vfat -o iocharset=euc-jp,codepage=932 /dev/sda1 /mnt
----------------------------------------------------------------------


これでデジカメの写真もLinuxで取り込める。

[Gentoo] bashref.info.gz に関するエラー

なんだか portage で気になるエラーメッセージが、、、

例: gdb のインストール
================================================================================
>>> No outdated packages were found on your system.
* Regenerating GNU info directory index...
* Processed 212 info files; 1 errors.
install-info: No such file or directory for /usr/share/info/bashref.info.gz
================================================================================

ぐぐるとこんな話題が。

http://forums.gentoo.org/viewtopic-t-539481-highlight-bashref.html


================================================================================
$ ls -l /usr/share/info/bashref.info.gz
lrwxrwxrwx 1 root root 12 2006-11-26 12:43 /usr/share/info/bashref.info.gz -> bash.info.gz
$ ls -l /usr/share/info/bash.info.gz
ls: cannot access /usr/share/info/bash.info.gz: そのようなファイルやディレクトリはありません
================================================================================

うむ、確かにリンク先のファイルがない。これは一体。。。

上記の掲示板のアドバイスに、シンボリックリンクを削除せよとある。

================================================================================
# rm /usr/share/info/bashref.info.gz
================================================================================

しかし、この方法でいいのか結果確認方法がわからない。別にインストールできなかったわけじゃないし…

削除後、適当なアプリをインストールしてみたが、上記のエラーは出なかったのでいいのだろう。たぶん。

とゆーか、今日は media-sound/grip-3.3.1 をインストールしたけど、エラーが出て起動できなかったんだよね〜。まさか、これのせいじゃないよね?

================================================================================
$ grip &
[1] 19083
$
(grip:19083): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_WIDGET (widget)' failed
[1] + exit 1 grip
================================================================================

gtkなんだよね。ちょっと時間かかりそう。また明日ですな。

[Gentoo]緊張の初emerge -u system

はじめて emerge -u system してみた。
しかし、やっぱり、エラー発生。まあ、いつものこと。ブログに書くネタができたと思えばよし。
Linuxを使いはじめて数年になるが、最近になってやっと、「一発目でうまくいくことはないだろう」という悟りを開けた気がする。

■ エラー内容
----------------------------------------------------------------------
!!! ERROR: sys-libs/db-4.2.52_p4-r2 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 4703: Called src_compile
db-4.2.52_p4-r2.ebuild, line 101: Called die

!!! configure failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-libs/db-4.2.52_p4-r2/temp/build.log'.

!!! When you file a bug report, please include the following information:
GENTOO_VM=sun-jdk-1.5 CLASSPATH="" JAVA_HOME="/opt/sun-jdk-1.5.0.09"
JAVACFLAGS="-source 1.4 -target 1.4" COMPILER=""
and of course, the ohttp://utput of emerge --info
----------------------------------------------------------------------

うーん、javaまわりか?

■以下の情報を発見
http://www.archivesat.com/Gentoo_Linux_users/thread2810188.htm

コメント通り、 java-check-enviroment を実行してみる
----------------------------------------------------------------------
$ java-check-environment
* === Java Environment Checker ===
* The purpose of this script is to check the sanity of your Java Environment.
* We have significantly changed and improved the way Java is handled in many respects.
* Please refer to http://www.gentoo.org/proj/en/java/java-upgrade.xml for details

* Checking vm_environment_files ... [ ok ]

* Checking user_settings ... [ ok ]

* Checking generation_1_system_vm ...
* No Generation-1 System VM is set! (no /etc/env.d/20java)
* It doesn't look like java-config-1 sees any installed VMs.
* It is most likely because you don't have a 1.4 JDK installed
* This is required for generation-1 to work properly.
* You will want to emerge =virtual/jdk-1.4* [ !! ]

* Some problems were found. Please follow the instructions above, and rerun java-check-environment
----------------------------------------------------------------------

JDK1.4がいるんですか〜?? 1.5入ってるけど、それ使えないのかな?


■関係ありそうな設定ファイルをいろいろ見てみる
----------------------------------------------------------------------
$ cat /etc/env.d/20java-config
MANPATH=/etc/java-config/system-vm/man/
CONFIG_PROTECT_MASK="/etc/java-config/vms/ /etc/env.d/java/"

$ ls /etc/java-config-2
build/ current-system-vm@ virtuals

$ ls -l /etc/java-config-2/current-system-vm
lrwxrwxrwx 1 root root 24 2006-12-25 21:06 /etc/java-config-2/current-system-vm -> /usr/lib/jvm/sun-jdk-1.5

$ls -l /usr/lib/jvm/sun-jdk-1.5
lrwxrwxrwx 1 root root 21 2007-01-23 01:56 /usr/lib/jvm/sun-jdk-1.5 -> /opt/sun-jdk-1.5.0.09

$ ls -1 /opt |grep jdk
jdk1.5.0_11/
----------------------------------------------------------------------

どうやら、インストールしているJDKへのシンボリックリンクが正しく設定されていないようだ。JDK1.5はemergeではなく手動でインストールした。
シンボリックリンクの変更で解決を試みる。

----------------------------------------------------------------------
# ln -sf /opt/jdk1.5.0_11 /usr/lib/jvm/sun-jdk-1.5

一応、emergeのエラーメッセージへの対策として、以下もやっておく。
# ln -s /opt/jdk1.5.0_11 /opt/sun-jdk-1.5.0.09
----------------------------------------------------------------------

■再チャレンジ
# emerge -u system

* IMPORTANT: 51 config files in '/etc' need updating.
* Type emerge --help config to learn how to update config files.

うまくいった!!

■/etc以下の更新
# etc-update

33個も更新があるじゃないか(泣)

「51 config files in '/etc' need updating.」とファイル数が違うがいいのか?

差分を見ると、コメントの細かい内容とか、スクリプトの文法の修正とかあって、開発者の苦労と性格がわかりそうですね。

[Gentoo]PostgreSQLインストール

GentooにPostgreSQLをインストール。
初期設定のやり方がGentoo独特なのでちょっと戸惑う。

■まずはインストール。
# emerge postgresql
今回は8.0.12がインストールされる。

■初期設定
とりあえず、自分でやってみた。
# passwd postgres
# mkdir -p /opt/pgsql/data
# initdb -D /opt/pgsql/data
# /etc/init.d/postgresql start
* Directory not found: /var/lib/postgresql/data
* Please make sure that PGDATA points to the right path.
* You can run 'emerge postgresql --config' to setup a new database cluster.

どうやら、設定ファイルを置く場所は既に決まっているようだ。
しょうがないので、Gentooのやり方で初期設定を行う。

# emerge postgresql --config
.
.
Success. You can now start the database server using:

/usr/bin/postmaster -D /var/lib/postgresql/data
or
/usr/bin/pg_ctl -D /var/lib/postgresql/data -l logfile start

*
* You can use the '//etc/init.d/postgresql' script to run PostgreSQL instead of 'pg_ctl'.
*

/var/lib/postgresql以下にファイルが作成された。

# ls -l /var/lib/postgresql
data

あとはcreateuserでアカウントを作って、 createdbでDBを作る。


そういえば、前にDebianにPostgreSQLをソースからインストールして死ぬ程苦労したので、その時の記録をまたアップします。
次のページ

ホームページ アフィリエイト レンタルサーバー FC2ブログ