「コンピュータ」カテゴリーアーカイブ

自分のグローバルIPアドレスを知る方法

モバイル環境やNAT内からのアクセスなどで、自分が今インターネットにアクセスしているグローバルIPアドレスを知りたいことがあります。そんな時のためにスクリプトを作ってみました。(というか、5年以上前からこっそり動かしているんだけど)

http://ipaddress.khz-net.co.jp/

アクセスすると、HTMLなど一切無しでIPアドレスだけを吐き出します。従って、PHPなんかのスクリプトからアクセスしてIPアドレスを取得するとき、タグ除去などの面倒な作業が一切不要で便利かと思います。…というか、仕事上そういう必要性があったから自分用に作っただけなんだけどね。

使いたい方はご自由にどうぞ。もちろん、結果や正常動作については一切無保証です。過剰にアクセス負荷を掛けたりしないでね。

smb.confのアクセス制限落とし穴

色々な権限を持っている複数のユーザーが存在している状況下で、ユーザグループごとにアクセス制限を掛けているsamba共有フォルダの設定方法。

複数のユーザが同一の権限でアクセスできる共有フォルダ(force user/force group)のアクセス権限を、valid users=で設定するとうまく行かない。

その場合は、invalid usersを用いて排除するユーザを記述する。システムのグループで分けて、invalid users = +グループ名で設定すると楽。

CF-RZ4 SSD交換

一年前、33万円の大金をはたいて購入したパナソニックのレッツノート、CF-RZ4なのですが、稀にフリーズする現象が起き、そのせいでどうしても第一線として活用するのはためらわれるという何とも辛い状態にありました。これがまた悪いことに、現象が再現する明確な法則はなく、ダメなときはすぐダメになるし、調子がいい時は丸一日、二日でも動き続ける。これでは修理を頼んでも、「再現性なし」で戻ってくるのは明白なので、何ともストレスを抱えておりました。

これまでの経験上、こうなる理由はメインメモリかストレージのSSDである可能性が高く、一か八かSSDを交換することにしました。

新しいSSDは、トランセンドのTS512GMTS800の512GB。少し古い製品ですが、逆に言えば時間が経って枯れているため安定動作するんじゃないか?という期待も籠もっています。512GBのM2のSSDが2万円台で買えるとは、なんと有難い時代なのでしょうか。

今までのSSDは、サムスンのMZNTE512HMJH-00000。コイツはTLC、対するトランセンドはMLCというあたりも安定動作を期待した理由となっております。

換装方法は、まず今までのSSDを取り出し、M2⇔SATA変換基板を介してデスクトップPCに接続、そしてDD For  Windows で物理ダンプ。その結果出来上がったファイルを、今度は新しいSSDに書き戻し、ノートパソコンに戻すという、Unixユーザー的には当たり前だけどやり方を知らない人にとっては難しい(?)手段で行いました。

今現在、これを新SSDに換装したノートパソコンで打っていますが、今のところフリーズはなく快適です。多分これで治ってくれると思うんだが…いや、治ってくれ!そうじゃないと困るんですよ;;

 

追記

TS512GMTS800に交換後もフリーズの症状が出たため(但し、感覚的には元よりは大分良くなった気がする)、行く所まで行ってみよう!ってことで1TBのSSD、CT1050MX300SSD4に再換装してみました。

その後メチャクチャ使い込んでいる訳ではないものの、非常に稀にしかフリーズしなくなりました。ただし、たまたまという可能性もあるので気を付けないと。

gmirrorしているHDDに新HDDを追加・HDDの削除

  • 新しく買ってきた真っ新なHDDをミラーリングプールに追加

 # gmirror status

Name    Status  Components

mirror/8tbhdd0p1  COMPLETE

ad8p1 (ACTIVE)
ad11p1 (ACTIVE)

#  gpart create -s GPT ad12
ad12 created
# gpart add -t freebsd-ufs ad12
ad12p1 added
# gmirror insert 8tbhdd0p1 ad12p1
# gmirror status

Name    Status  Components

mirror/8tbhdd0p1  DEGRADED  ad8p1 (ACTIVE)
ad11p1 (ACTIVE)
ad12p1 (SYNCHRONIZING, 0%)

  • 今までのミラーリングプールから1台離脱

# gmirror remove 8tbhdd0p1 ad8p1
# gmirror status
Name    Status  Components
mirror/8tbhdd0p1  DEGRADED  ad11p1 (ACTIVE)
ad12p1 (SYNCHRONIZING, 0%)

  • 離脱させたHDDで別のミラーリングプールを作成

# gmirror label -v -b round-robin 8tbhdd1p1 ad8p1
Metadata value stored on ad8p1.
Done.
# gmirror status
Name    Status  Components
mirror/8tbhdd0p1  DEGRADED  ad11p1 (ACTIVE)
ad12p1 (SYNCHRONIZING, 0%)
mirror/8tbhdd1p1  COMPLETE  ad8p1 (ACTIVE)

wordpress更新エラーの件

「ダウンロードに失敗しました。 要求されたリクエストを完了できる HTTP トランスポートがありません。

というエラーでWordpress本体がアップデートできない件の対応。

原因は、curl

https://curl.haxx.se/

が入っていなかったこと。従って、curlのライブラリをインストールした上で、新しいバージョンが出ていたApacheと併せてPHPを更新。

Apacheのconfigureは、

./configure –enable-so –enable-authn-dbd –enable-ssl –enable-rewrite

PHPのconfigureは、

‘./configure’  ‘–with-pgsql’ ‘–with-apxs2=/usr/local/apache2/bin/apxs’ ‘–with-gd’ ‘–enable-exif’ ‘–with-jpeg-dir=/usr/local/’ ‘–with-png-dir=/usr/local/’ ‘–with-zlib-dir=/usr/local/’ ‘–enable-mbstring’ ‘–with-mysql’ ‘–with-curl’

FreeBSDのgmirrorを正しく停止する方法

gmirrorでミラーリングディスクを作成した後、何らかの理由でHDDを外したい時がある。そういう時に

#gmirror stop 6tbhdd0p1

#gmirror clear ad24p1

とかやっても上手くいかない。

mirror/4tbhdd0p1  COMPLETE  ufsid/54c55d2c058967b9 (ACTIVE)

↑こんなのが残って、ddでハードディスクの管理領域を消そうとしても上手くいかない。そんな時の対処法。

#gmirror deactivate 4tbhdd0p1 ad9p1

こんな感じにして、

#dd if=/dev/zero of=/dev/ad9 bs=1

#dd if=/dev/zero of=/dev/ad9 seek=78140371067

とかしてやればOK。seek=の値は、

#gpart list

ってやって出てきたセクタ数を512で割って求める。

FreeBSDのシリアルポートからCiscoのルーターにつなげる方法

久しぶりにcuなんかを使ったのでメモ。

FreeBSDサーバーのシリアルポートにロールオーバーケーブルを接続し、ネットワーク経由(ssh)でサーバーにログイン、そしてそこからシリアルポート経由でルーターにログインする方法。

rootになってから、

# cu -s 9600 -l /dev/cuau0

9600はシリアルポートの速度。/dev/cuau0は物理ポートのデバイス。

cuを終了するためには

~.(チルダ+ドット)

を送信。以上。

FreeBSDなマシンに6TBのHDDを追加してgmirror

# gpart create -s GPT ad24

# ls -la /dev/ad24*
crw-r—–  1 root  operator    0,  70 Oct 18 12:33 /dev/ad24

# gpart add -t freebsd-ufs ad24
ad24p1 added

# ls -la /dev/ad24*
crw-r—–  1 root  operator    0,  70 Oct 18 12:33 /dev/ad24
crw-r—–  1 root  operator    0, 159 Oct 18 12:34 /dev/ad24p1

# gmirror label -v -b round-robin 6tbhdd0p1 ad24p1
Metadata value stored on ad24p1.
Done.

# gmirror status
Name    Status  Components
mirror/6tbhdd0p1  COMPLETE  ad24p1 (ACTIVE)

# newfs  /dev/mirror/6tbhdd0p1

☆ポイント

  • 最初にgpartでパーテション作成してからgmirrorする。
  • gmirrorはディスク全体ではなく作成したパーテションをmirrorする。

 

WordPress再インストール

結局PostgreSQLベースで稼働させるパッチはWPアップグレード時に動かなくなってそのまま二進も三進もいかなくなったので、MYSQLをインストールしてWP最新版インストール。

非力な鯖にDB2本も立てたくないんだけどまあ仕方がない。

今日は大阪出張二日目。仕事の出来はまあまあ。