カテゴリー「Linux」の11件の記事

2009-08-19

grubブートフロッピーからの起動と復旧

なんでしょうか、先日Linuxをいじっていたら変なメッセージが . . . 。
で、この機械自体が物凄く古くて、始めは富士通のFMV DESKPOWER SII165でした。
CD-ROMとかCPUとか色々な物を色々な壊れたコンピュータから外して使っているうちに、自分でも構成すら判らなくなってしまっていました。
ただ、今回はHDDがリズミカルに、「カッチャンカッチャン」とHDDの音としては初めて聞く音を出していたので、明らかに壊れたと判りました。

で、Knoppixで起動してHDDを調べてみると、どうやら壊れたドライブでは、対したことをしていなかったようです。 プライマリマスターが壊れたのですが、随分前にWindowsをいれていたドライブらしいです。
その後、FAT32のままマウントして特に用途もなく使っていたようです。
という訳で、/(ルート)がプライマリのスレーブにありました。

復旧の構想としては、スレーブをマスターに付け換えて、mbrにブートローダーをインストールする。

まずは、grubブートフロッピーを作成します。
ftp://alpha.gnu.org/gnu/grub/ここで、grub-0.97-i386-pc.ext2fsをダウンロードして

dd if=grub-0.97-i386-pc.ext2fs of=/dev/fd0

でFDに書き込んだと思います。
このフロッピーから起動します。
このコンピュータのディストリビューションはVine4.2です。
vmlinuzという最新カーネルへのシンボリックリンクが作られています。

grub> kernel (hd0,0)/vlinuz ro root=/dev/hda2 [Enter]
grub> boot [Enter]

これで起動はできました。
実際にはLBAが効いていないためだと思いますが、8Gの壁でパーティションに問題が発生したので、スワップ領域を削除しておきました。

この状態で、/etc/lilo.confを編集します。
このコンピュータはずっと使っているので、liloのままでした。
面倒なのでこのままliloを使います。
今までroot=/dev/hdb2などとなっていた、変更部分を適宜環境に併せて編集しました。また、サスペンド用のデータ保存領域にスワップ領域が指定されているので、コメントアウトしました。
で、インストールします。

# lilo

エラーがでなくなればとりあえず大丈夫だと。

# reboot

ちゃんと起動しました。
LBAも効いているので、この状態であればfdiskで再度スワップ領域を作成できました。
なので、/etc/fstabや/etc/mtabなども編集しなおして、スワップ領域を使えるように変更。
やっと動くようになりました。

支離滅裂な文章なので、後日まとめ直します。

| | コメント (0) | トラックバック (0)

2009-05-29

XMLRPC::Liteで更新Ping

更新Pingを手動で送信したかったのですが、なかなかどうして、うまくできていない様子です。

perlソースはeucなので、タイトル部分はJcode->new ('ブログタイトル')->utf8;とかして、UTF8にしているつもりです。
XMLRPC::Transport::HTTP::CGIを使って、簡単なサーバーCGIを作って、ログを取ってみたりすると、ブログタイトルはUTF8だし、URLもちゃんと取得できているような気がする。
で、http://ping.bloggers.jp/rpc/とかに送信してみると、Thanks for the pingとか、Thanks for your pingとかなんとか、メッセージが戻ってきてる。
かといって、自分でブラウザで見てても、新着とかに表示されていない。

はて。何が原因なんだろうか。もしかして、そもそも、何かの制約があって、pingを受け取っても表示しないとか、送り元のIPで許可があるとか?

色々と調べた結果、どうやらうまくいっているようす。

で、このブログから適当なサーバーのCGIに更新Pingを送信させて、受信したXMLをファイルにログとして書き出させてみます。

以下のような簡単なCGIを一時的に設置してテストしてみました。

read (STDIN, $xml, $ENV{CONTENT_LENGTH});
open OUT, ">> ping.xml";
print OUT $xml . "\n\n";
close OUT;

で、受信した更新Pingをファイル出力します。

結果は、以下を標準出力に出力しました。

content-type: text/xml

<?xml version="1.0"?>
<methodResponse><params><param><value><struct>
<member><name>flerror</name><value><boolean>0</boolean></value></member>
<member><name>message</name></value><string>Thanks  for the ping.</string></value></member>
</struct></value></param></params></methodResponse>

さしあたて、この記事の更新Pingが送られるようにしてみました。
受信側のCGIレスポンスは、何でもかんでもベタに成功時のXMLを出力するようにしてあります。

結果、自分で送信してる物と、同じXMLが送られている事がわかりました。

MetaGatewayからの結果

<?xml version='1.0'?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param>
<value><string>TagoSuckのプログラム日記 たごろぐ</string></value>
</param>
<param>
<value><string>http://tagosuck.cocolog-nifty.com/tagolog/</string></value>
</param>
</params>
</methodCall>

という事は、レスポンスのメッセージを見ても、成功しているという事だと思います。
表示されないのは、送信しているXMLの問題ではないのではないか?という結論にしようとおもいます。

あまり頻繁に送っているつもりはないのですが、スパム扱いになってフィルタリングされてしまっているか、RSS参照で記事の更新を伴っていないという事か。
ハッキリは分かりませんが、この辺りで納得する事にしました。

実際、効果の程はわかりませんが、時々使ってみようと思います。



| | コメント (0) | トラックバック (1)

2009-04-15

unameコマンドでLinuxのシステムの情報を得る

Linuxのカーネルのバージョンを調べたりする事はよくある。

カーネルのバージョンアップや、バージョンアップ後の反映確認など。
そんな時に、unameを利用する。

使用法: uname [オプション]...
Print certain system information. With no OPTION, same as -s.

-a--allprint all information, in the following order except omit -p and -i if unknown:
-s--kernel-nameprint the kernel name
-n--nodenameprint the network node hostname
-r--kernel-releaseprint the kernel release
-v--kernel-versionprint the kernel version
-m--machineprint the machine hardware name
-p--processorprint the processor type or "unknown"
-i--hardware-platformprint the hardware platform or "unknown"
-o--operating-systemprint the operating system
--helpこの使い方を表示して終了
--versionバージョン情報を表示して終了

kernelのバージョンを調べる
CPUのタイプを調べる (i686とか)

などに使える

| | コメント (0) | トラックバック (0)

2007-10-22

仮想端末ツール screen

古いノートパソコンにLinuxを入れて使っている。
メモリもHDDも増設していないので、
GUIにせず使っています。

Alt+F2とかで別の端末?としてログインする事もできますが、
このひとつひとつを更に、screenで仮想化して
複数のプロセスを走らせてます。

screenのコマンドはCtrl+Aが使われるので、
emacsで行の先頭に移動したい時にうまく機能しません。
そこで、emacsはtty1でログインして使っておいて、
コンパイラやsshはtty2で使うというような使い方をしています。

screenでよく使うコマンドを簡単にまとめてみます。
  • 端末の追加 Ctrl+A c
  • 次の端末へ切り替え Ctrl+A n
  • 前の端末へ切り替え Ctrl+A p
  • 現在の端末を消去 Ctrl+A K
すべての端末を消去すると、screenは終了し、通常の端末に戻ります。

| | コメント (0) | トラックバック (0)

2007-08-22

サムネイルを一括作成 ImageMagick

私の環境Vine Linux4.1では、
ImageMagick6.3.0 Q16がインストールされています。
Windowsの方は、6.3.5 Q16です。
convert -resize 128x96 *.jpg thumbnail/thumb%03d.jpg
カレントディレクトリのすべてのJPEG画像のサムネイルを
サブディレクトリthumbnailに作成します。
作成されるファイル名は、thumb000.jpg, thumb001.jpg, thumb002.jpg . . .
と連番になります。

続きを読む "サムネイルを一括作成 ImageMagick"

| | コメント (0) | トラックバック (0)

2007-08-01

IPv6を停止する - Vine Linux 4.1

最近、気がついた。
eth0: freeing mc frame
no IPv6 routers present
などのメッセージがdmesgに出てる。
どうやら、IPv6対応のルーターが存在しないのが原因?
まぁ、とにかく、IPv6を止めたい。
/etc/modprobe.confに以下を追加した。

続きを読む "IPv6を停止する - Vine Linux 4.1"

| | コメント (0) | トラックバック (0)

2007-07-20

Linuxで仮想CDドライブ

CDをハードディスクに保存して、
そのCDをマウントして使う。
仮想CDって言うんですか?
Windowsの携速?
とかVirtualCD?
みたいな事をしてみる。
CDをファイルにコピーして、
それをマウントする。
CDの内容を
/home/tagosuck/tagosucd.iso
にコピーします。

続きを読む "Linuxで仮想CDドライブ"

| | コメント (0) | トラックバック (0)

2007-07-15

LinuxでCDを焼く

LinuxからCD-Rに焼き付けます。
普段、
自宅でCDを焼く事などないのですが、
この所のデジカメの画像が
全部Linux機に入っているので、
Windowsで焼くには、
  1. Linuxのままftpでサーバーに転送
  2. リブート
  3. Windowsで起動
  4. ftpで、サーバーからダウンロード
  5. Windowsで焼き付け
  6. リブート
  7. Linuxで起動
となる。面倒臭い。

続きを読む "LinuxでCDを焼く"

| | コメント (0) | トラックバック (0)

2007-07-03

ウェブカメラ設置 #3

画像を頻繁にHDDに
書き出しを繰り返すのでは、
HDDへの負担が
大きくなり過ぎるのではないか?
と考え、
RAMディスクに
画像を作成する事で
HDDを使わないことにしてみた。
256kbyte分の
RAMディスクを作成して、
マウントする。
マウントしたディレクトリは
rootになってしまうので、
所有権を変更する。

続きを読む "ウェブカメラ設置 #3"

| | コメント (0) | トラックバック (0)

2007-07-02

ウェブカメラ設置 #2

翌日、画像を見て気がついた。
赤と青が逆転していた。
しかたないので、
ソースをダウンロードして、
修正する事にした。
ちなみに、
調べてみたら、
この問題はstv680の
カメラだけに起きる問題らしいので、
複数のカメラを利用する場合には、
ファイル名を変更するとかで、
stv680用のwebcamと
通常のwebcamを
用意する必要があるかも知れない。

続きを読む "ウェブカメラ設置 #2"

| | コメント (0) | トラックバック (0)

2007-07-01

ウェブカメラ設置 #1

トイカメラChe-ez SPY(Z)で、
TeXを書きながら駐車場を監視してた。
そのために、xawtvをインストールした。
aptを使ったので、面倒は無かった。
さて、
せっかく、インストールしたので、
ウェブカメラにしてみよう。
で、自宅サーバに転送すれば、
外からでも家の様子がわかる!
さて、私の環境ですが、
デスクトップとして使っているのもVine4.1で、
物置的な部屋にVine4.1のサーバを置いてある。

続きを読む "ウェブカメラ設置 #1"

| | コメント (0) | トラックバック (0)