Linuxに関する覚書

コンピュータに接するということはハマっては乗り越えることの連続ですが、どうも乗り越えたとたんに安心してしまうのか、苦労の末にわかった解決方法もいつの間にか忘れてしまい、次に同じ状況に接した時にまたもや苦労してしまうということがよくあります。ほとんど個人的なメモですが、お役に立つことがあるかもしれません。



暗号化USBメモリを使う (Vine 4.1)

新しいUSBメモリを入手したので、保存されるデータが暗号化されるようにした。 ソフトウェアは TrueCryptを使用す る。
Vine Linuxはバイナリが提供されていないので、ソースからコンパイルする ことになる。手順はおおむね@ITの「USBメモリに暗号化した仮想ドライブを作成するには」の記事に書かれているとおりだが、build.shを走らせると"/lib/modules/2.6.16-0vl76.3/source/drivers/md/dm.h not found"というエラーメッセージが出る。 /lib/modules/2.6.16-0vl76.3/source/drivers/md/ディレクトリはほとんど空で、 実際にはdm.hは/usr/src/linux-2.6.16/drivers/md/以下にある。私は暫定的に /usr/src/linux-2.6.16/drivers/md/にシンボリックリンクを張って処理した。 そのかわり、@ITの記事にあるようなdm.hの修正は必要なかった。
@ITの記事ではファイルシステムをFATにするようだが、ext3を使うには一工夫必 要になる。これについてはhttp://blogs.dion.ne.jp/road_stardust/archives/cat_274616.htmlの記事が役に立った。要約すると、1)ボリュームを作成する時にファイルシステムは"None"を選ぶ。2)マウントポイントを指定せずにtruecryptでマウントする(マウントポイントを指定するとエラーになる)。3)"truecrypt -vl"でデバイス名を確認して、ext3でフォーマットする。
(2007/12/07)

AdobeReader8.1.1のインストール (Vine 4.1)

AdobeReader8.1.1をインストールしたが、"libstdc++.so.6: cannot handle TLS data"というメッセージが出て起動しない。libstdc++.so.6 は libstdc++34 パッケージに含まれているが、ふと気がつくと libstdc++34 はインストールしていない。このメッセージを出しているのは、実は /opt/Adobe/Reader8/Reader/intellinux/lib/libstdc++.so.6 であることが判明する。libstdc++34 パッケージをインストールしても状況は変わらない。/opt/Adobe/Reader8/Reader/intellinux/lib/libstdc++.so.6 は同じディレクトリの libstdc++.so.6.0.7 へのシンボリックリンクであり、libstdc++34 でインストールされる /usr/lib/libstdc++.so.6 は、やはり同じディレクトリの libstdc++.so.6.0.6 へのシンボリックリンクである。/opt/Adobe/Reader8/Reader/intellinux/lib/libstdc++.so.6 のリンク先を /usr/lib/libstdc++.so.6.0.6 に変更すると無事起動するようになる。
(2007/11/04)

updatedbが中断してしまう (Vine 3.2)

ふと気がつくと、自動的に走るupdatedbが中断してプロセスが残っている。こうなると、locateコマンドがワーニングを出すだけでなく、apt-getによるupdateにも支障が出る。最初は1台だけだったのでディスクに問題があるのかと思っていたが、ある日から別の機械でも同じ症状が出だした。updatedbはslocateへのシンボリックリンクで、slocate -u -c -vで実際に起こっていることを確認することができる。
slocateは、/mnt/Mass_stroage____-sda1/にアクセスした時点で停止した。このディレクトリはUSBメモリを使用した時などに自動的に作成されるが、なぜかUSBポートを使用していないのにマウントされた状態で残っていた。ディレクトリをumountして削除するとupdatedbは正常に動作する。
(2006/01/21)

HP CD-Writer+ 8100とX-CD-Roast (Sarge)

SargeのX-CD-RoastでCD-Writer+ 8100を使って700MBのCD-RWにKnoppixを焼こうとしたところ、最後にエラーが出てしまう。デフォルトの書込みモードがDisk at onceになっているのが原因。Track at onceにすれば正常に書き込める。そういえば、WoodyのX-CD-RoastのデフォルトはTrack at onceになっていたような気がする。
(2005/09/22)

TrueTypeフォントの追加インストールとプリンタ出力 (Vine 3.1)

FTP版のVine Linux 3.1にTrueTypeフォントを追加インストールしても、xdviには反映しなかったり、ソフトによっては画面上はTrueTypeフォントになっていてもプリンタの出力は変わらなかったりする。これは、/usr/share/fonts/alias/TrueTypeディレクトリのフォントのシンボリックリンク先が/usr/X11R6/lib/X11/fonts/TrueType/sazanami-gothic.ttfなどに残ったままになっているのが原因。目的のフォントにリンクしなおせば解消する。
(2005/08/14)

libstdc++-libc6.2-2.so.3が見つからない (Vine 3.1)

Vine Linux 3.1でFluxBoxの背景色を設定しようとした場合など、libstdc++-libc6.2-2.so.3がないというメッセージが出ることがある。libstdc++2_10-2.10.0-2vl24.i386.rpmかと思ってインストールしようとすると、既に最新バージョンがインストールされているというメッセージが出る。この場合、libstdc++2_10-compat_2.10.0-0vl4_noarch.rpmをインストールする。このパッケージは、単にlibstdc++-3-libc6.3-2-2.10.0.soなどにシンボリックリンクを張るだけのもの。
(2005/04/21)

Firefoxで画像のアニメーションをさせない

Firefoxでは、設定メニューに画像のアニメーションを制御する項目がない。画像のアニメーションを制御するにはアドレスバーに about:config と入力し、image.animation_mode の項目をダブルクリックして設定する。入力できる内容は normal, once, none で、通常の繰返し、1度だけ、なし、に対応する。
(2005/03/20)

Muttでスレッド表示しない

Muttのインデックス画面では、メッセージは通常はスレッド表示される。これを日付順に表示するには、~/.muttrc あるいは /etc/Muttrc で"set sort=threads"となっているところを"set sort=date"とする。日付の逆順にするには"set sort=reverse-date"とするらしい。
(2005/03/12)

Cannaの単語登録 (Woody)

Cannaの単語登録は、kinput2経由の場合はよく F1 キーを押すと書かれているが、Woodyの場合には Home キーになっている。Emacsの場合には M-x canna-touroku と説明されているが、WoodyにデフォルトでインストールされるEmacs20ではこの機能は利用できない。使えるようにするには、emacs20-dlとemacs-dl-cannaに置き換える必要がある。
(2005/02/17)

X Windows上で欧文入力

X Windows上で欧文特殊文字を入力するには、キーボードの配列をその言語のものにしてしまう。たとえばドイツ語のウムラウトのついた文字は、
setxkbmap de
とすると、ドイツ語キーボードどおりに入力できる。同じことは
xmodmap /usr/share/xmodmap/xmodmap.de
でも可能。xmodmapだと、自分のオリジナルのキー配列をローカルに持つことができる(方法は「LinuxでDvorakキーボードを使う」に詳しい)。
日本語キーボードに戻すには jp あるいは xmodmap.jp を指定するが、キーボードが完全にその言語になっているので、キー配列をよく知らないと苦労するかもしれないので注意。
(2005/02/17)

latex2htmlでsubsection等でページが改まらないようにする

latex2htmlをデフォルトで実行すると、subsectionやsubsubsection毎にhtmlのページが改まってしまう。sectionだけでページが改まるようにするには、"latex2html -split 4"とオプションを付けて実行する。
(2004/07/03)

ME6000とmurasakiのバージョン (Vine 2.6)

かなり以前のことになるが、Vine Linuxのmurasakiのパッケージがmurasaki_0.6.12-0vl1_i386.rpmになった。しかし、このバージョンのmurasakiでは、なぜかME6000がブートしない。apt-getでパッケージをアップデートした後は、古いmurasakiのパッケージのあるディレクトリで"rpm -Uvh --oldpackage murasaki-0.5.4-1vl4.i386.rpm"を実行して戻している。
(2004/05/30)

ME6000でxDSLサーバ (Vine 2.6)

ME6000にもう1枚NICを差して、VDSLサーバ兼ルータとして利用する。VDSLモデムと接続されるNICはブート時に稼働しないようにする必要があるが、この時オンボードのインターフェース(eth0)を稼働しないようにすると、PPPoEの接続ができない上に、なぜか2枚目のNIC(eth1)まで認識しなくなった。eth0をブート時に稼働するようにし、eth1を稼働しないようにすると、順調に接続できた。
(2004/01/19)

fetchmailとPostfixの相性 (Vine 2.6)

プロバイダのPOPサーバから、自宅のサーバ(Vine/Postfix)にfetchmailでメールを取り込む。それを別アカウントにforwardして、他のクライアントマシン(Vine/Postfix)でfetchmailを使って取り込む。すると、取り込んだはずのメールは"mail forwarding loop for XXX"というPostfixのメッセージとともに差出人に返送されてしまい、慌てふためく。
自宅サーバがDebian(Exim)の時はこんなことは起こらなかった。どうやら、fetchmail+Postfixで自宅サーバにメールを取り込んだ時、メールヘッダに余計な"Delivered-To:"が挿入されるのが原因らしい。クライアントマシンのfetchmailconfで、"Drop Delivered-To lines from forwarded messages"の項目を有効にすることで解決(.fetchmailrcには"options dropdelivered"の項目が挿入される)。
(2004/01/19)

latex2htmlの文字コードを設定する (Woody)

latex2htmlでファイルを作成すると、文字コードがiso_8859_1になってしまう。/etc/latex2html.configか~/.latex2html-initで文字コードを設定できるが、なぜかmanにあるように"$CHARSET = 'euc-jp';"としても反映しない。"$CHARSET"ではなく"$charset"としなければならないらしい(http://lists.debian.or.jp/debian-users/200012/msg00082.html)。
(2004/01/19)

Mozilla環境にRealPlayer8をインストールする (Vine 2.6)

Vine Linux 2.6 に RealPlayer8 (rp8_linux20_libc6_i386_cs2_rpm) をインストールした。インストールオプションを選択する画面が出るが、"Netscape Plugin"のところで"Install Plugin"を選択しても関係ないところにインストールされるし、"Mime Types"のところでインストールを選ぶと相当いじりたおされる。
Mozilla で RealPlayer8 のプラグインを有効にするには、/usr/lib/RealPlayer8/ 以下から"rpnp.so"と"raclass.zip"を /usr/lib/mozilla-version/plugins/ 以下にコピーする。
(2003/11/14)

Air Stationの初期設定をLinuxから行う

Air Station (WLA-L11)の初期設定は特定のOSに専用ソフトをインストールしなければできなかった経験があったのだが、動作が不安定になったので仕方なく初期化した。特定のOSを捨ててずいぶん経つのでどうしようかと思ったが、実はAir StationのIPアドレスは初期設定では"1.1.1.1"とか"192.168.0.1"になっていることをMac関係のページで知る。
私の場合、WLA-L11のIPアドレスは"1.1.1.1"に設定されていた。クロスケーブルでつないだ機械のIPアドレスを"1.1.1.2"に設定して、ブラウザで"1.1.1.1"にアクセスして無事設定を済ませることができた。それにしても、なぜこんな仕様でしかも非公開なのか、理解に苦しむ。
(2003/09/15)

追記(2003/11/14):相手方のMACアドレスがわかっていれば、arpテーブルを書き換えて、適当なIPアドレスを設定して繋ぎにいってしまうという技をプロの方から伺った。

iptablesでMASQUERADEを有効にする (Woody)

iptablesでIP MASQUERADEやNATを有効にするには、/proc/sys/net/ipv4/ip_forwardの値が1でなければならない。起動時から有効にするには、/etc/network/optionsで"ip_forward=yes"にする。
これはWoodyに限ったことではないし、ipchainsにもあてはまるはずだが、ずいぶんipchainsのお世話になっているのに初めて知った気がする。
(2003/09/15)

追記(2005/08/14):Vine Linux(2.6, 3.1)では、/etc/sysctl.confで"net.ipv4.ip_forward = 1"にする。

Vine Linux 2.6でblackboxのメニューが出ない

Vine Linux 2.6のカーネルをアップデートしたせいか、ノートパソコンでblackboxのメニューの一部が表示されなくなった。原因は、"wmconfig --output=blackbox"がセグメンテーション違反で中断してしまうためらしい。同じソフトウェア環境のデスクトップでは問題が生じないし、ノートパソコンでも問題が生じるのは--output=blackboxを指定した場合に限られる。とりあえず環境変数のPATHから/usr/local/binを取り除くとエラーが生じなくなるが、原因は不明。
(2003/04/30)

Vine Linux 2.6でapmdを有効にする

Vine Linux 2.6はデフォルトでacpiを有効にするためapmdが動作しない。そのため、shutdownしても電源が落ちなかったりする。対応としては/etc/lilo.confにappend="acpi=off apm=on"を記入する。
(2003/04/30)

DynaBook SS 3410でpcmciaを認識しない (Vine 2.6)

DynaBook SS 3410にVine Linux 2.6をインストールしたところ、pcmciaを認識で きずにブート途中でハングアップしてしまう。
BIOSの第2画面のPC CARDのところで、Controller Mode=Auto-Selectedとなっ ているのを,CardBus/16-bitにすると認識される。
(2003/04/30)

gnumericの日本語表示 (Woody)

Woodyを最初にインストールした機械では、gnumericで問題なく日本語を扱うことができている。しかし、それ以降にインストールした機械では、なぜかgnumericで日本語が文字化けしてしまい、どこに原因があるのかずっとわからなかった。
ついに、http://tsukushi.nucl.phys.tohoku.ac.jp/~m_isihar/Text/koriyama/gnumeric.htmlで解答を発見。/etc/gnome/fonts/gnome-print.fontmapに日本語フォントが登録されていないのが原因らしく、
# dpkg-reconfigure libgnomeprint-data
でインストールされているフォントが自動的に登録される。
(2003/03/14)

Display Managerと日本語環境 (ME6000/Woody)

Woodyのインストールが完了すると、デフォルトでgdmが立ち上がるようになった。この時点で言語を日本語にしてGNOMEを立ち上げても、文字化けしてうまく表示できない。kdmの方が融通がきくのでDisplay Managerをkdmにするが、下にも書いたようにKDEは立ち上がらないし、GNOMEやBlackboxではタイトルバーが文字化けしたり、日本語入力ができなかったりで、少し途方に暮れた。
ふと、Display Managerから立ち上げるとuser-ja-confでの設定が反映しなかったことを思い出す。コンソールからloginするようにすると、GNOMEやBlackboxで無事set-language-envが反映した日本語環境になった。
(2003/03/14)

EPIA-ME6000とKDE (Woody)

Woodyのインストールが完了したが、GNOMEやBlackboxは正常に立ち上がるのに、なぜかKDEだけは途中で落ちてしまって立ち上がらない。KDMも正常に動作し、GNOMEやBlackboxからKDEのアプリも問題なく利用できるが、KDEを起動時に設定する特定の段階でエラーが発生するようである。
いろいろ試行錯誤を繰り返した結果、/etc/X11/XF86Config-4ファイルのModuleのセクションで、extmodをロードしないようにすると立ち上がることが判明した。ただし、起動時に中央に現れるウィンドウの下のメッセージは空白になってしまうし、Sawfishは動かなくなってしまうようである。
(2003/03/14)

EPIA-ME6000とディストリビューション

EPIA-ME6000というMini-ITXの省電力マザーの機械にLinuxをインストールした。RedHat Linux 8.0は、インストールの時点から正常に動作した。X-Windowも正常に立ち上がったが、設定に時間をかけられなかったせいもあるのか、サウンドだけは鳴らなかった。VineLinux 2.6r1は、インストール時にグラフィックスをちゃんと認識できなかったが、インストールは完了した。しかしブートしようとすると途中でリセットがかかってしまい、結局ブートすることができなかった。Debian (Woody)は、最小限のファイルを焼いたCD-RWからインストールしたが、ちゃんとブートした。ただ、やはりグラフィックスは難関らしく、うまく動作するまでにかなり苦労した。
(2003/03/14)

追記(2003/09/29):RedHat Linux 9では、インストールの時点でサウンドのチップが正確に認識された。VineLinuxは、インストール直後は古い方のカーネルで立ち上げ、i586用のカーネルをインストールすると動作するという情報があり(http://www.miloweb.net/vinetoe533.html)、試してみたところ順調に動作するようになった。Xも安定しており、サウンドもsndconfigでvia82cxxx_audioが正しく認識された。

 

RedHat Linux 7.3でハードディスクを増設

RedHat Linux 7.3の機械にIDEのハードディスクを増設した。ハードディスクの認識・フォーマット・マウントは問題なく進んだが、最後に/etc/fstabを編集しようとしてちょっと驚いた。最初のフィールドが"/dev/hda3"とかではなく、"LABEL=/usr"とかになっている。
RedHat Linuxでは、ファイルシステムにラベルをつけて、/etc/fstabではラベルで指定するようになっているらしい。ラベルの表示や変更は、"e2label"コマンドで行う。ラベルを用いずに最初のフィールドに従来どおりデバイス名を書いても問題ないような気もするが、試してみなかった。
(2002/12/09)

emacsでcannaを使う (Woody)

set-language-envでemacsの日本語入力としてcannaを指定しても、サーバと接続できない旨のメッセージが出て日本語変換できない。/usr/share/doc/language-env/README.ja.eucJP.gzには、以下のように/etc/init.d/cannaファイルを編集するよう書かれている。
CANNA_SERVER_OPT="-inet -u canna"  (「-inet」を追加)
指示どおりにしてcannaサーバを再起動しても、やはり日本語変換できない。いろいろ情報を探した結果、 http://www.melt.kyutech.ac.jp/~ueno/HowTo/emacs-canna.htmlで、/etc/hosts.cannaにlocalhostが記述されていないと通信できないことが判明。
(2002/11/20)

追記(2004/05/13):/etc/hosts.cannaにはunixとだけ書かれているが、localhostはunixの上の先頭部分に書かなければならない。

スキャンした画像で横長のpdfファイルを作る (Woody)

A4横長で作成されている文書をスキャンしてpdfファイルを作ろうとする場合、ちゃんと横長のPostscriptファイルを作っているのに、ps2pdfでpdfにすると縦長のものしか作成されず、画像が欠けてしまう。スキャンした画像をまとめてepsファイルを作り、epstopdfで作ると、ちゃんと横長のものができる。
(2002/11/01)

ipplのホスト名解決 (Woody)

Potatoのipplでは、/etc/ippl.confの"noresolve all"がコメントアウトされたデフォルトの状態ですべてのタイプのパケットについてホスト名の解決をしてくれたが、Woodyでは"resolve all"と指定しないと解決してくれないようになっている。
(2002/08/07)

w3mのcookie (Woody)

Potatoの頃のw3mはデフォルトでcookieを使用しないようになっていたが、Woodyでは逆に使用するようになっているので注意が必要。
(2002/08/07)

古めのgnumeric (Vine Linux 2.1 = gnumeric-0.56)でCSVファイルを読み込む

古いバージョンのgnumericでは日本語CSVファイルが読み込めないというようなウワサがあるが、以下のようにすれば読み込むことができる。
CSVファイルの文字コードをnkfなどでEUCにする。ファイル名に拡張子はつけない。メニューの「ファイル」から「開く」ではなく「挿入」を選んでファイルを指定する。読み込みフィルタの選択ウィンドウが出るので、「テキストファイルの読み込み」を選ぶ。「構造化テキストの読み込み」というウィンドウが開くので、日本語が正しく表示されないのを気にせずに「次」ボタンを押していくと、ちゃんと読み込める(2画面目に「セパレータ」を選ぶ項目があるので、"Comma"を指定する)。
(2002/06/14)

DMA転送を起動時から有効にする (Woody)

DMA転送を有効にするには "hdparm" を使うが、Debian GNU/Linux では標準でインストールされないので、まず hdparm のパッケージをインストールする。起動時に自動的に有効にするためにどこにスクリプトを書くかについてはいろいろ考え方があるが、 "hwtools" というパッケージ(hdparm も以前はこのパッケージに含まれていたらしい)をインストールすると、/etc/init.d/hwtools というのが作成され、/etc/rcS.d からそこにリンクが張られる。たぶん Potato でも同じだと思う。
(2002/05/20)

スキャナで画像を取り込む

スキャナで画像を取り込む場合、SANEを使う。xsane-gimp を使えば、GIMPに直接画像を取り込むこともできる。設定でハマったのが、デバイスのパーミッション。
sane-find-scanner
で表示されるデバイスを "/dev/scanner" にリンクしたのだが、一般ユーザもスキャナにアクセスできるようにするには、さらに
# chmod 666 /dev/xxx
としなければならない。
(2002/04/23)

追記(2002/11/01):スキャンした画像からpdfファイルを作る機械をコスト0円で製作するため、1997年頃のDELLに、MELCOの98・DOS/V兼用のSCSIカード経由でEPSONのGT-9500を接続し、ftp版Vine Linux 2.5をインストールした。Vineにはxsane-gimpのパッケージがなく、/usr/lib/gimp/1.2/plug-ins/ 以下にxscanimageなどがインストールされるが、スキャナも正しく認識し、xscanimageやxsaneも単体ではちゃんと動作するのに、どうしてもGIMPで画像を取り込むことができない。結局ftp版RedHat Linux 7.3をインストールして動かしている。

追記(2004/04/24):Vine Linux 2.6r4をインストールした機械にEPSONのGT-7000を接続した。VinePlusからsaneのつくものをすべてインストールしたが、"sane-find-scanner"ではスキャナが認識されるが、"scanimage -L"では認識されず、GIMPからも利用できない。/etc/sane.d/dll.conf の epson の行のコメントアウトをはずすと、認識されるようになった。

 

gPhotoでOLYMPUS C-3040ZOOMの写真を取り込む

gPhoto 0.4.2でOLYMPUS C-3040ZOOMの写真を取り込む場合に(私の環境はシリアルケーブル経由)、Camera Modelを"Olympus C-400L"に設定すると認識する。
(2002/04/10)

追記(2004/01/19):C-3040ZOOMをUSBケーブルで接続すると、そのままSCSIドライブとして認識される(私の環境では/dev/sda1)。これをどこかにマウントすると、その速度や安定性は比較にならない。

Emacsで欧文入力

M-x iso-accents-mode
で入力可能なモードになる。たとえば""" のあとに"a"とか入力するとウムラウトのついたドイツ語の文字が入力できる。その他の言語特有の文字も最初に押すキーによっていろいろ入力できる。
(2002/03/19)

漢字Talk7のCDをマウントする

なぜそんなことをする必要がある? という疑問はさておき、filesystem の type を hfs に指定する。
# mount -t hfs /dev/(以下略)
(2002/01/17)

PotatoとAPC BK-500

APCのBK500は手頃な価格のUPSだが、なんせDebian GNU/LinuxのPotatoとは相性が悪い。ソフトとしてはapcupsdが定番だろうが、Woodyからソースを持ってきてやっと動いたなどという話も聞いたことがある。しかも現在のapcupsdはかなり多機能なUPSを前提としているようで、単純な機能のBK500のために走らせるのも無駄が多そう。そこでgenpowerdを試してみたところ、すごく快適。
私の環境は、ケーブルは940-0020B、/etc/init.d/genpowerでupstype=apc2-ntに指定して順調に動いている。
 
(2001/12/07)

原稿の文字数

原稿を書く時、今でも基準は200字詰原稿用紙○○枚だったりする。完成した原稿を原稿用紙の枚数に換算するのはまだしも、書いている途中で換算するのは論理行数を前提としてる環境ではなかなか面倒。
    fold -w 40 xxxxx.txt | less -N
とすると、1行20字で何行になるかがわかる。
(2001/11/02)

追記(2002/03/19):上のやり方だと、行番号のついたテキストが表示される。純粋に行数だけを表示するなら
    fold -w 40 xxxxx.txt | wc -l

 

Apacheの文字化け

Apacheのあるバージョンではデフォルトの文字コードをiso-8859-1として送るらしく(セキュリティ上の理由らしい)、ページをリロードして初めて指定した文字コードが反映するので、最初に表示した時に文字化けすることがある。
解決するには、/etc/apache/access.confで
    AddType "text/html; charset=EUC-JP" html
を指定する。その後もテキストファイルが文字化けして困ったが、
    AddType "text/plain; charset=EUC-JP" txt
を指定して解決。
.htaccessファイルに記述してもいいらしい。

参考ページ:

(2001/10/21)