More from: linux

ubuntuのアップグレード

久しぶりにubuntuをインストールしてるノート(DELL Inspiron 6000)を起動したら、自動でアップグレードのチェックに行ったらしく、ubuntu11.10にアップグレードしてくれるとのこと。
まぁしばらく放っておいたから久々にアップグレードするかぁ、と思って進めていくと、ダウンロード容量が700MB超orz
ダウンロード自体は20分もかからずに終わったらしいが、インストールには2時間以上かかるらしい・・・・・・
というわけで、久々に使おうとしたubuntuノートはしばらく触れない状況になってしまった。
しかもこんな時に限ってオンラインでチェックしなければならないことが出来、仕方が無いのでWindowsの入ったThinkPad(T42)を起動して使うことにした。
別にThinkPadでなくても良かったのだけど、一番手近にあったのがこれだったのでT42を起動した。
こんな時はPCが複数台あって助かるなぁ(笑)。
普段はリビングで使うPCは一度に一台だけなんだけど、今日は特別だね。

と言っても、元々の目的は果たせて無いのには変わりが無いんだけど、取り敢えずアップグレードが終わらないとubuntu機は使えないから終わるまで待つしか無いか・・・・・

←クリックしてくれると嬉しいです。

fetchmail でのサーバ上のメールの削除

4月にもやったけど、今日もメールサーバ上に溜めてあるメールの削除を頼まれた。
1アカウントを複数のPCで使うために普段の受信時にはサーバ上にメールを残すようにしてあるが、大量に溜ると受信時のレスポンスが悪くなってしまうので、ユーザーが我慢できなくなったら削除を依頼してくる。
なにせ前回実施したのが4月の末なので、詳細な手順を忘れている(爆)。
なので、この時の為にと思って当時このブログに手順を書いておいたので、今回はそれを参考にした。
「-Fもしくは–flushオプションだったのね」

今回は約4800通のメールが上記の手順で削除された。

←クリックしてくれると嬉しいです。

awkのメモ

linuxサーバーのmaillogから下記の項目を抜き出す必要が出来た。
・端末のIPアドレス
・ユーザーアカウント
・端末名(名前解決が出来たもののみ)
しかも特定のネットワークからのアクセス分だけという条件付。

で、まずは/var/log/maillog*から特定のネットワークからの分だけを
#grep “ネットワークアドレス(xxx.yyy.zzz)” maillog* > hoge
でhogeというファイルに吐き出した。
次に
#cat hoge | grep pop | awk ‘NF=14{print $12,$13,$7}’ | sort +1 | uniq > hoge2.txt
を実行して結果をhoge2.txtというファイルに書き出した。

#grep “ネットワークアドレス(xxx.yyy.zzz)” maillog* | grep pop | awk ‘NF=14{print $12,$13,$7}’ | sort +1 | uniq > hoge2.txt
のように全部を一度に書いても同じ結果が得られたはず。

awkの中でやっているのは
フィールド数が14ならば(NF=14)12番目と13番目と7番目の項目を書き出す。
ということ。
これで(ほぼ)望みどおりの結果が得られ、数万行にのぼるログファイルから10行少々を切り出すことが出来た。

←クリックしてくれると嬉しいです。

指定したのとは別のプリンタから印刷される

先日仕事で行った先で、
「印刷なんですけど、たまに違うほうのプリンタから出るときがあるんですよ。」
と言われた。
問題の印刷はサーバー上のプログラムから出しているもので、ユーザーが操作するクライアントPC側では出力先のプリンタの指定をすることは出来ない。
しかもサーバ上での設定で違うプリンタを指定しているなら毎回違うほうのプリンタから出るはずなのだが、毎回ではなく”たまに”だということなので単純な設定ミスでは無い。
不思議なこともあるものだと思っていたら、思わぬところに原因があった。
件の印刷は本社のサーバ上で動作するプログラムが出力し、その際に出力先を現場に置いてある別のサーバに定義してあるプリンタを指定している。
この現場のサーバでのプリンタの定義に問題があった。
現場のサーバは古く、印刷システムがlpdなので、プリンタは/etc/printcapで定義している。
この定義の中にはプリンタのエントリが2台分あるのだが、スプールディレクトリの指定(sd=/var/spool/lpd/hogeの部分)が2台とも同じディレクトリになっていた。
仮に1台目をプリンタA、2台目をプリンタBとした場合、プリンタAに対して印刷要求を出した場合もプリンタBに出した場合も実際の印刷データは同じディレクトリに置かれることになる
このためプリンタAに対して印刷要求を出した際に、たまたまプリンタBに対応するデーモンが動作していると、プリンタAに出力する筈のデータもプリンタBに出力してしまい、データをプリンタBに送り終わるとデータを消去することになる。
しかもプリンタは直付けではなくプリンタサーバ経由での接続の為、データの転送はプリンタに直接送るよりも早く終わる。
このため本来印刷する筈のプリンタAではなく、もう一方のプリンタBで印刷されるということが起きてしまっていた。

いやぁ、最初は目的のプリンタにデータを送れない場合に自動で切り替えているのかと思ったが、そんな設定をした覚えはないし、lpdはそんな頭の良いことはしてくれない(爆)。
判明してみれば初歩的な設定のミスだったが、今後は気をつけないとなぁ。

←クリックしてくれると嬉しいです。

sambaサーバに接続できない・・・・・・・

職場のPCの一台からLinuxで構築してあるファイルサーバに接続できない・・・・・・
クライアントのOSはWindows7Proの64bit版(だった筈)。
サーバ側のログを見る限りパスワードが間違っているということになっているが、設定したパスワードと入力したパスワードは同じ(筈、クライアントの操作は他人に依頼している)。
ちなみにXpのPCで同じユーザーアカウントを作成して同じようにアクセスすると問題無く接続出来るので、サーバ側よりもクライアント側に問題があるようだが、自由に触れるPCでは無いので原因調査に時間がかかりそうだ(操作を他人に依頼しているのもそのため)。

駄目元で「guest ok = yes」に設定してもパスワードが違うといってはじかれてしまう・・・・・・
うーん、謎だ・・・・・・・・

こういうことは時折あるが、大抵はちょっとした設定のミスとか見逃しが原因なんだよなぁ、、、、(汗)

←クリックしてくれると嬉しいです。

vacationが動かないぃーーーーーー!!!

職場のメールサーバにvacationプログラムを入れたが、いくら試しても自動返信がされない。
maillogを見ると
“attempt to use “vacation -r 0 hoge” (stat failed)”
と出ている。
デーモンから来たメールには
“smrsh: “vacation” not available for sendmail programs (stat failed)”
となっているので、これをヒントに調べたら”smrsh”で動作を許可するプログラムを置いておくディレクトリにvacationプログラムが入っていなかったのでsmrshがファイルを見つけられなかったためと判明した(このため”stat failed”が出ている)。

職場で使っているサーバではsmrshで動作を許可するディレクトリは
/etc/smrsh
だったので、そこにvacationを置いたところ無事に動作した。
実際はvacationプログラムの本体をそこに入れるのも何なので、
ln -s /usr/sbin/vacation /etc/smrsh/vacation
でシンボリックリンクを張った。

プログラムを入れるディレクトリは環境によって異なるみたいで、
/usr/adm/sm.bin (smrshのソースに付いてくるREADMEファイルに書かれているのはここ)
/usr/libexec/sm.bin (man smrshに書かれているディレクトリはここ)
とかがあるみたいだ。
今回は
#man smrsh
で出てくるのと違うディレクトリだったので見つけるまで時間がかかったよー!

←クリックしてくれると嬉しいです。

Linuxでのパーティション作成メモ

Linux上でのパーティション作成手順のメモ。
/sbin/fdisk  パーティション分割
/sbin/mkfs -t ext3 /dev/sda1 (size:必要なら) フォーマット
/sbin/e2label /dev/sda1 ラベル名  ラベル付け

ここまですれば後は
mount /dev/sda1 マウントポイント
とすれば使えるようになる。
/etc/fstab

LABEL=ラベル名 マウントポイント ext3 defaults 1 2
の行を追加して次回起動時に自動でマウントされるようにしておく。

それにしてもUSBの外付けHDD(ミラーリングユニット)へのアクセスが遅いのかmkfsコマンドの実行にえらく時間がかかるなあ、、、、たった400GBのパーティションなのに・・・・・
この後さらに5つのパーティションのフォーマットもしなくちゃならないんだけど、全部で何時間かかるのやら・・・・・

←クリックしてくれると嬉しいです。

設定忘れてた(爆)

今朝方職場のサーバーを再起動したところ、別ネットワークのPCから接続できなくなってしまった。
route情報を見るとものの見事にrouteが設定されていない。
どうもネットワークを分割した時には手動で/sbin/routeコマンドを使ってroute情報を設定して、その際に設定ファイルには書いていなかったようだ(設定ファイルそのものが存在していなかった)。
なので、以前書いた「ネットワークの分離」の記事を参考にroute情報の設定と設定ファイル(/etc/sysconfig/static-routes)の作成を行った。

今日が土曜日で良かった・・・・・・・・

←クリックしてくれると嬉しいです。

さてと、パーティション構成をどうするかな?

職場のファイルサーバ用に外付けHDDユニットを買ってきたけど、どのように分割するかで悩んでいる。
スペース効率を考えると1つの大きなパーティションだけを作って、その中に各部門用のディレクトリを作れば無駄なく使えるんだけど、そうすると特定の部門が大容量のデータを置いてしまい、他の部門で使える容量が減ってしまう危険がある。
かといって細かく分割すると空きが点在する形になり、効率が悪くなる。
うーん、どうしようかなぁ?
とりあえず、自分達用のパーティションだけは最初に確保しようっと(爆)。

fdisk->mkfsの順だっけか?(爆)
fstabも書き換えなくては・・・・・・・・・

←クリックしてくれると嬉しいです。

PCパーツの中で高価なのは?

10年以上前からPCの組み立てや組み換えをしているけど、当時のパーツの価格は今と比べると高価だった。
例えば3.5インチHDDの価格は最低ラインが2万円程度で、それ以下に下がった製品は市場から消えていった。
CPUもIntelのハイエンドCPU(Pentium Pro)は当初十数万円の価格が付き、メインストリームのCPUも数万円程度だったので、比較的安価な互換メーカー(AMD、Cyrix、IDT等)のCPUを使っていた。
メモリも当時の主流は72pinのSIMMで、最大容量の32MBのモジュールの価格が1枚7~8千円程度だったと思う。
今はHDDが数千円程度の価格で2TB品が買えるし、CPUもローエンドの製品なら同程度の価格で購入が可能(ネットだけならこれでも十分)。
マザーボードの価格は当時と比べてあまり下がってはいないが、それでも1万円以下の製品も多数あり、探せば5千円以下の製品もある。
ビデオカードは価格帯が広く、3~4千円程度のローエンドから数万円のハイエンドまで様々だが、3D性能が必要無くてオンボードビデオを使うのであれば不要になる(これはサウンドカードも同様)。
メモリも現在の主流であるDDR3の価格が下がったので、当時の32M品と同程度の金額で4GBの2枚セットが購入可能。
このようにパーツの価格は劇的に下がっていて殆どのパーツが1万円以下で購入可能だ。
実際私がメインで使っているPCのパーツの大半が1万円以下で購入したもので、CPU(PhenomIIx4 905e)だけが1万円を超える価格だった。
ところがPCを使うために必須となるOSの価格は全くと言っていいほど下がっていない。
ちょっと調べてみたけど、1999年に発表になったWinows98 Second Editionは当時の価格でOEM(DSP)版が1万円台半ばと現在のWindows7ProのDSP版と同程度。
つまり現在PCを組もうと思ったら一番高いパーツ(?)はOSということになってしまうわけだ。
もちろんゲーム等3D性能を重視したりするとビデオカードが一番高価となってしまうし、CPUにIntel製の4コアを入れたりすればCPUが一番高価ということになるが、そうでなければ上記のようにOSの価格が一番ということになる。
OSとしてWindowsを使わずにLinuxにすれば安価に済ませることも可能で、ネットやメールのみの使用であればこれでも問題なく使えると思う。
最近のディストリビューションであればよほど特殊か最新のハードウェアでない限りはドライバ等で困ることも無さそうだし、使い勝手もWindowsとあまり違わないので乗換えもあまり難しくは無いと思うので、OSが高価だと思う人は選択肢に入れても良いと思う。

←クリックしてくれると嬉しいです。