[cygwin]WinXP+Poderosaでcygwin 1.7接続

Written by uechoco 1月 31

Poderosaは一時期人気を博したターミナルで、いまだに使っている人がちらほらいます。私もそんな一人。Poderosaの謎機能の1つで、cygwinターミナルになることができます。わたしは結構この機能が好きです。最近、いつもと違う環境にcygwinとPoderosaをインストールしたら、Porerosaからの接続ができなくなっていました。

「レジストリキー SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/ がみつかりません。」

ってエラーが出ます。おそらく、cygwinが昔このレジストリにインストールパスを保管していて、Poderosaはそれを読んでいたんでしょう。接続できないと困るので、絶対無糖: Windows 7 RC 64-bit で Poderosa をインストールしてみたを参考に、コマンドプロンプト

TEXT:
  1. >reg add "HKLM\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/" /v native /t REG_SZ /d C:\cygwin

と打って、使えるようにしました。

全く余談ですが、ターミナルって古参のものばかりですよね。何か新時代のターミナルってないんでしょうか?

(追記)コメントを頂きましたが、Poderosaをcygwin 1.7対応させたパッチと、パッチ済みバイナリを配布している方がいらっしゃいます。

[C言語]ゲッツ(gets)はダメ。fgetsが正しい。

Written by uechoco 1月 12

C言語にはいろいろな関数があるが、中にはセキュリティ上使用してはならないと指定されているものもある。

ファイル読み込みで使われるgets()関数もそうだ。仕様上バッファオーバーランが発生してしまうらしい。名前からして使ったらプログラムが滑って空気が寒くなりそうだw

scanf()も通常の使用だとバッファオーバーランが発生してしまうらしい。

スマートに解決するならばfgets()関数がいいらしい。

危ないから外してくれればいいのにとも思うけど、そちらは言語仕様なので関数がなくなることはないでしょう。コンパイラが警告してくれるとかがあるかもしれません。

というわけで、gets()は寒いからダメ。fgets()を使おうという話。

[Linux]CentOS 5.3/5.4のsudoコマンドが曲者。

Written by uechoco 1月 11

CentOS 5.3以降で、sudoコマンドのバージョンが新しくなり、sudoコマンド自体や、今まで使えていたsudoを含むスクリプトなどが使えなくなってしまうケースが出てきました。私も同様の現象にはまりました。私の場合は、スクリプト内で使用しているsudo付のコマンドでPATHが通らなくなってしまったという現象です。

今は以下のURLなどを参考に解決し、今まで通りの運用をしています。

記憶の片隅にでも覚えておいてもらえると役に立ったりするときがくるかもしれません。

[雑記]HDD 1.5TBが1万円切りました

Written by uechoco 1月 02

MacのTimeMachine用のHDDを、今使っている320GBのものから新調しようと思って、新しいのを買いに行きました。1GBあたりの値段がお手頃なのが、今は1.5TBのSATA HDDですね。なんと1.5TBで1万円を切っていました。びっくりです。一応WD15EARSを狙っていたのですが、売り切れていたので、旧モデルのWD15EADSを購入しました。まぁバックアップ用のHDDなので容量さえあればいいです。

少し前まではHitachi Deskstarシリーズをよく買っていたのですが、最近はWestern DigitalのEADS/EARSシリーズを買うようになりました。なんとなく後者のほうが安くて性能がいい感じがしています。

そういえば、昔NAS欲しいって思ってたけど、NAS市場は最近どうなんでしょう?

[mac]WindowsでMac用外部HDD(GPT保護パーティション)を初期化する

Written by uechoco 12月 31

MacのTimeMachineのバックアップに使用していたHDDを、Windows XP用のバックアップHDDに変えようと思って、Windowsにつなげて、ディスクの管理ツールでフォーマットしようとしたところ、GPT保護パーティションという表示になっていて、何も操作を受け付けないようになっていました。

以下の2つのサイトを参考に、Windows XPのコマンドラインアプリケーションのdiskpartツールを使って、Windows XPで使えるHDDとして初期化してみました。

以下がdiskpartツールのログです。

TEXT:
  1. Microsoft Windows XP [Version 5.1.2600]
  2. (C) Copyright 1985-2001 Microsoft Corp.
  3.  
  4. C:\Documents and Settings\hogehoge>diskpart
  5.  
  6. Microsoft DiskPart version 5.1.3565
  7.  
  8. Copyright (C) 1999-2003 Microsoft Corporation.
  9. コンピュータ: hogehogepc
  10.  
  11. DISKPART> list disk
  12.  
  13. Disk ###  Status           Size     Free     Dyn  Gpt
  14. --------  ---------------  -------  -------  ---  ---
  15. Disk 0    オンライン        466 GB      0 B
  16. Disk 1    オンライン        298 GB      0 B
  17. Disk 2    オンライン        298 GB      0 B
  18.  
  19. DISKPART> select disk=1
  20.  
  21. ディスク 1 が現在選択されているディスクです。
  22.  
  23. DISKPART> detail disk
  24.  
  25. Hitachi HDT725032VLA360
  26. ディスク ID: 02AB02AB
  27. 種類       : IDE
  28. バス       : 3
  29. ターゲット : 0
  30. LUN ID     : 0
  31.  
  32. Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  33. ----------  --- -----------  ----  ----------  -------  ---------  --------
  34. Volume 7    H                NTFS  Partition    146 GB  正常
  35. Volume 8    I                NTFS  Partition     83 GB  正常
  36. Volume 9    J                NTFS  Partition     69 GB  正常
  37.  
  38. DISKPART> select disk=2
  39.  
  40. ディスク 2 が現在選択されているディスクです。
  41.  
  42. DISKPART> detail disk
  43.  
  44. Hitachi HDT725032VLA360 USB Device
  45. ディスク ID: B07D94E2
  46. 種類       : USB
  47. バス       : 0
  48. ターゲット : 0
  49. LUN ID     : 0
  50.  
  51. ボリュームがありません。
  52.  
  53. DISKPART> clean
  54.  
  55. DiskPart はディスクを正常にクリーンな状態にしました。
  56.  
  57. DISKPART> exit
  58.  
  59. DiskPart を終了しています...

実行後、初期化が可能なディスクになっていました。