More from: linux

static-routeの記事に間違いが・・・・・・

4/22の記事に書いたstatic-routesの記述。
間違いあったorz、、、、、
>ネットワーク単位の場合は
>インターフェイス host ネットワークアドレス gw ゲートウェイアドレス netmask サブネットマスク
>のようだ。
と書いたけど、本当は
hostのところがnetとなるので、
インターフェイス(全部ならany) net ネットワークアドレス gw ゲートウェイアドレス netmask サブネットマスク
か、
インターフェイス(全部ならany) net ネットワークアドレス netmask サブネットマスク gw ゲートウェイアドレス
か、
インターフェイス(全部ならany) net ネットワークアドレス/マスクビット数 gw ゲートウェイアドレス
となるようだ。
routeコマンドで経路情報を追加する時はtargetのアドレスでクラスを判断する(特にプライベートアドレスの場合)ので、マスクの指定は無くても良いとのことだ。
そのために記述時にネットマスクを忘れてしまいがち。
けっこうstatic-routesで検索してくる人が多いので修正&追加しておくことにしよう。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

Windows用ddコマンド

昔からlinuxで使われているddコマンド。
当blogを探すのに使われている検索ワードでもよく出てくる。
linux(に限らずunix系のOS)では標準的に備わっているので、なんにも気にせずに使っているが、Windows環境でも同じようなコマンドが無いかと思って探してみたら見つかった。
DDforWindows – Silicon Linux Wiki
からダウンロード可能で、まだ試していないがGUIのツールの様だ。
容量にもよるがHDDのバックアップイメージ作成にも使えるかも?
というかHDDのコピーに使ってみたいのが本音。特にノートPCの場合HDDを交換するたびにOSのインストールをし直すのが面倒。
ドライブとして認識できればイメージとして読み出せるようなので、上手く使えないかなと、、、、、

以前、CFベースのlinuxシステムを構築した時に使わせてもらったSilicon-linuxの本家にあるとはねぇ、、、、
当時は32MのCFにシステム一式(DebianLinux2.2ベース)を入れてたものだけど、今ではそんな小容量のCFが手に入らなくなってるなんてねぇ、、、、
コマンドライン用は
http://uranus.it.swin.edu.au/~jn/linux/rawwrite/dd.htm
にあるようだが、どうもつながらないようだ。
2011/04/06追記:2011/04/06現在はリンク先に繋がるようになっていて、そこからddコマンドがダウンロード可能になっている(urlが変更になったようで、変更された先にジャンプする)。
新しいurlはhttp://www.chrysocome.net/dd

そういえばGPSロケータをシリアルで接続して座標データを読み取るのに、4800bpsで接続しなければならないのに、シリアルポートを標準で9600以上にしか設定出来ず、わざわざシリアルコントローラのレジスタを直接書き換えるプログラムを書いて4800で接続したんだっけなぁ、、、、、
#16550A互換のコントローラは(たしか)2ワードのレジスタで速度を設定するのに、OS標準のドライバは1ワードだけしか書き換えてないみたい。
最初設定ファイルを書き換えてもGPSロケータからのデータを読めず、設定時にエラーも出ないからデータの読み方が悪いのかと思っていたら、実はOSのドライバでは4800での接続が出来ないだけだった。
それに気付くのにかなり時間がかかってしまった。自分で速度設定用のプログラムを書いて実行したら、あっさりデータが読めた。
#パラメータで速度を15bps~230.4kbpsまで設定出来るようにしたと思う。
なんか話がddからずれてしまったなぁ(笑)

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

LANカードだったのかなぁ?

昨日のサーバ、メモリテストではエラーが出なかったので、LANカードを交換してみた。
まずは同じ型番のカードと交換したが改善せず。
ドライバファイルかカーネルの一部が破損したのを疑い、カーネルのリコンパイルとモジュールのリコンパイルをして入れ替えてみた。
それでも改善しないので他のチップを使ったカードと交換したところ、OSのブート時にドライバが読み込まれない。
insmodで手動で組み込むとまともに動作するが、起動時にドライバが読み込まれないと、起動の度に<コンソール>での操作が必要になり、遠隔地には置けない。
マザー自体を交換して(メモリも一緒に交換した)元のLANカードに戻したが最初と同じくパケットが飛ばない。
(ifconfigで見るとTXではエラーが無いが、RXでエラーが発生しているので、送信はしているが応答を受信できないみたい)
ということはハードウェアの問題では無いようだ。カーネルもドライバ(モジュール)もリコンパイルしているので、単なるファイルの破損でもなさそう。
ってことは何が悪いんだろうか?
このままでは埒が明かないので動作したLANカードを使うことにして、起動時にドライバを読み込ませる方法を探ったところ、/etc/conf.modulesでalias設定がされているのを発見。
元のカードのモジュール名が指定されているので、それを新しいカードのモジュール名に書き換えて再起動すると無事にドライバが読み込まれて動作するようになった。
なんとか復旧して使えるようになったが、元々の原因がはっきりしないのが気に食わない。一体何が起こっていたのか謎である。
ちなみにパケットが飛ばなくなったカードは3Comの3C905B、代わりに入れたのがRTL8139D搭載の安物カード。
ドライバは3c59x.oとrtl8139.o。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

LANカードか?

職場では沢山のサーバを扱っているが、そのうちの1台経由での印刷が出来ないと連絡が入った。
離れた場所にあるのでリモートで入ると非常に反応が遅い。
pingを打ってもかなりのパケットをlostしてしまう。
これはLANカードの不良かと思い、サーバの設置場所まで行って同じ型番のカードと交換してみたが改善しない。
それどころかLANケーブルの抜き差しをしただけでカーネルがpanicを起こしたり、ハングしたりしてしまう。
考えられるのはメモリの不良、LANカードのドライバファイルの破損、交換したLANカードも不良だった、等々いろいろあるが、どれも現地ではどうしようもないのでサーバを引き取ってきて現在メモリのチェック中。
この後同じ型番のLANカードと再度交換し、駄目なら別のチップを使ったカードに交換して別のドライバを使ってみるつもり。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

SPAM

SPAMと言えばポークランチョンミートの缶詰の商品名の一つ。
自分的にはTULIPのほうが好みだなぁ。

ってな話ではなく、日本語で言うところの「迷惑メール」の話。
職場で受信するSPAMが5000通/日にもなるというので、ブロックするためのアドレス収集を再開した。
2週間程ほぼ毎日受信メールから送信元アドレスを抜き出して/etc/mail/accessに追加する作業をした結果、5000通→1500通程に減少した。
これはsendmailの場合の対処法で、qmail等他のMTAでは別の方法となる。
実際のアドレス収集は自動で行い、その中から受信が必要なアドレスを例外アドレスとして別途収集し、残りを上記のファイルに追加している。
/bin/grep ^From: ”メールスプールファイル名” | /bin/grep @ | /bin/sed “s/^From:.*</From:/” | /bin/sed “s/>//” | /bin/sed “s/ //g” | /bin/sed “s/(.*)//” | /bin/sed “s/$/ DROP/” | /bin/sort | /usr/bin/uniq | /bin/grep -v -f ”例外アドレスを列記したファイルを指定”
上記のようなスクリプトを組んで自動収集をしている。泥臭いやり方だがこれでもアドレスの収集が出来ていて、実際に効果があがっている。
このスクリプトでやっているのは、
1.受信したメールが入っているスプールファイルから送信者のメールアドレス(From行)を切り出す。
2.余分な単語を削除(sedコマンドの繰り返し)した後に行末に”DROP”の文字列を追加。
3.アルファベット順への並び直し(sortコマンドの実行)。
4.同一のアドレスがある場合は一つのみ切り出す(uniqコマンドの実行)。
5.例外アドレスを列記したファイル中にあるアドレスを”grep -v -f”で除去。
これで得られた文字列(”From:hogehoge@geshogesho.com DROP”)をファイルに書き出し新たに例外に追加するアドレスが無いかをチェックした後に/etc/mail/accessファイルに追加してmakeを実行してaccess.dbに反映している。
行の最後を”REJECT”ではなく”DROP”にしているのは余計なトラフィックを発生させないため。
また、たとえREJECTでエラーメールを送り返そうとしても、返す先のアドレスが実在するかどうかが不明で、もしも実在しないアドレスだった場合(むしろそのほうが可能性が高い)にエラーメールが返って来るのを防ぐため。
それにしても相変わらず迷惑メールが多いなぁ。法律が制定されてから初めて適用されたのがつい最近っていうもどうかと思う。
受信者の同意無しに無差別に送るメールにはSubjectに「未承諾広告」と入れなくてはならない筈なのに、最近はそのようなメールを見かけない。
一見まともな内容に見えるメールでも、このような基本的なルールが守られていない。もっと取締りを強化して貰いたいものだ。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

FMVその後

先日購入した中古のFMV-868NUにVINE Linuxの4.2をインストールしてみた。
メール用端末としているA21eに比べてメモリ容量が1.5倍の384Mなので、動作が少々軽いようだが、タッチパッドの感度が良すぎて思わぬところでタッピングされてしまい使い難い。
ハードウェア的に感度調整が可能なものなのか?と思ったが少なくともBIOS設定画面にそのような項目は無い。
ってことはソフト的に(ドライバで)調整しているのかな?ちょっと探してみよう。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

また増えた(笑)

先週末から目をつけていたノートを買ってしまった。もちろん中古である。
久しぶりの富士通のノート。2001年10月発表のものらしく、各スペックもそれなり。
CPUのクロックがまだ*メガヘルツ*で表示されている位古い。
(ラインアップ上には1GHz以上のCPU搭載PCもある)
それでも144ピンの256Mのメモリが載っていたり、HDDも60Gのものが載っていたりと前所有者が増設したらしく、それらのパーツ欲しさでゲットしてしまった。
チップセットも830MGと私の持っているノートの中では新しめで、256Mbitチップのモジュールが使え、さらに最大メモリ容量が1Gと大きいのが良い。
最大メモリ容量はX40に次いで大きく、CPUのクロックもX40,T22に次いで3番目に速い。FSBもX40に次いで速いので、どう使おうかが悩みどころ。

メール用の端末として使っているA21e(2655-92J)は最大メモリ容量が256Mと少なめで、Linux上でX-Windowシステムを動作させるには苦しいので、それとの置き換えを考えている。
問題はトラックポイントではなくスライドパッドだということ。どうしようかなぁー?

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

もう1台のA20m

昨日書いた日記の続き。
先日ジャンクとして購入してきたA21m(2628-31J)の内「勝手に電源が切れる時がある」ほうのものは、CPUをPentiumIII750MHz(以前T22に載せていて、T22のCPUを交換した際に余って出てきたもの)に載せ換えた。
こちらもCPUの冷却機構としてLCDユニットの裏側に放熱板が必要なので、もとのLCDユニットから放熱板を(文字通り)剥がして移植した。
放熱板がLCDユニットのケースに両面テープで貼り付いていたので、剥がすのに苦労したがなんとか移植は出来た。
移植完了後に電源を入れるとCPUをPentiumIII600MHzとして認識している。SpeedStepに対応していないのは先の1台で判っているので予想はできた。
HDDを搭載して起動するとOS(Linux)の起動途中で突然電源が切れてしまう。
何度試してもbootプロセスの同じ箇所で落ちてしまうことから、ソフトウェア的な原因があるのでは無いか?
購入直後にWindows2000の入ったHDDから起動した際は、起動途中でブルースクリーンが出て止まってしまう(チップセットが違うためbootデバイスであるHDDにアクセスできないとのエラーが発生してしまう)状態だった。
同じことがLinuxでも起きているのかと思い、Linuxインストール用CD-ROMから起動したが、やはり起動途中で電源が落ちてしまう。
やはりこちらもジャンクだったかということで、それ以上は検証していないが、こちらも復活させることが出来ないかいろいろ試してみよう。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

HDD破損?

職場でファイルサーバにしているLinuxPC内のデータにアクセスできないとの連絡があったので、管理している担当者に連絡しておいた。
勤務後に買い物にいくつもりだったので、そろそろ帰ろうかとしていたタイミングでその担当者から連絡が来た。
聞いてみるとユーザーデータを入れてあるパーティションがmount出来ないとのこと。
fsckをかけてもエラーになり、ディスクのチェックが出来ないと言う。
試しにe2fsckをかけてみると、super blockが読み込めないので替わりのsuper blockを指定しろとのこと。
代替super blockの位置が判らないので、「mke2fs -n」で表示させてみると1ブロックサイズが4Kだったので32768にあることが判明。
そこで「e2fsck -b 32768 /dev/*****」で再度ディスクのチェックを実行すると、複数のエラーが存在したが、それらを修復したところ、無事にmountが出来た。
あとは担当者にデータのバックアップと移動をしてそちらをユーザーに公開するように指示して自分の作業は終了。
でも予定していた買い物には行けなかった(涙)。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。

経路情報

先日再起動時に一部の経路情報を忘れてしまったサーバ。
ここにも書いたように設定を修正したので、起動時に反映されるかをチェックしたら無事に反映されていた。
やはり最初の記述方法が誤っていたようだ。
また追加したSWAPファイルも/etc/fstabに記述を追加しておいたので、
ちゃんとSWAPファイルとして認識されて一安心。

”人気ブログランキングへ"←クリックしてくれると嬉しいです。