データベース別管理ツール

このサイトへのリンクはご自由にお貼りください。

データベースおすすめ無償有償
MariaDB/MySQL・A5:SQL Mk-2
・かねやんMySQLAdmin
・HeidiSQL
・phpMyAdmin(WEB)
・A5:SQL Mk-2
・かねやんMySQLAdmin
・MySQL Workbench
・HeidiSQL
・phpMyAdmin(WEB)
・Navicat for MySQL
PostgreSQL・A5:SQL Mk-2
・pgAdmin III
・A5:SQL Mk-2
・pgAdmin III
・phpPgAdmin(WEB)
・PostgreSQL Studio
・Webmin(WEB)
・PowerGres Plus
・Navicat for PostgreSQL
・SQLMaestro
・Database Master
SQLite・SQLite Administrator
・PupSQLite
・SQLite Administrator
・SQLite Manager
・SQLite Database Browser
・Sqliteman
・PupSQLite
・Navicat for SQLite
・SQLite Expert Professional

pgAdmin IIIのインストール方法

百度「Baidu IME」「Simeji」の無断で外部送信について

企業内のPCにこの手のソフトが入っている場合、最悪な情報漏えいになります。
速やかに削除する事をおすすめします。

入力ソフトは、グーグルや日本のジャストシステムなども提供していますが、情報を外部に送るのは利用者が許可した場合だけで、具体的な内容は分からないようにしています。これについて百度の日本法人は、情報を送信し、一定期間保存していることを認めたうえで、「ネットを使って変換の候補を表示したり、変換の精度を向上させるために利用している。説明が不十分な点は、利用者が安心できるよう分かりやすく改善していきたい」と話しています。

調査に当たったセキュリティー会社、ネットエージェントの杉浦隆幸社長は、「入力情報とパソコンのIDを一緒に送信していることから、利用者のことを詳しく分析することができてしまう。企業の機密情報などが漏れるおそれもあり、利用する際には注意が必要だ」と話しています。

(NHKニュース「中国製の日本語入力ソフト 入力情報を無断送信 NHKニュース」より 2013/12/26 04:17)

「Baidu IME」サイト

http://ime.baidu.jp/type/

この内容については一言も触れていないことに違和感を覚えます。

XPパソコンの仮想化

XPパソコンの残留する対策として仮想化(VM)する事をおすすめします。
理由として以下の通りです。

  1. 実機が故障した場合、修理できない
  2. 何らかの原因不明な現象時にHDDの回復が簡単

よく故障するハードディスクはファイル化されているので、回復は可能。
たまに故障するマザーボード・メモリーも仮想環境になれば、皆無です。
スーパーバイザ側のPCが故障した場合は仕方ありませんが、バックアップ機を作成する事で対応できます。

仮想化できる条件もいくつかあります。
・専用ボードなどがない。
・ライセンス違反にならない。
・HDDをイメージ化できる

今回選んだ仮想化ソフトはHyper-Vです。OSSではないのが残念です。
仮想化ソフトではいろんなソフトがあります。
・VMWare
・XenServer
・KVM
・Hyper-V

選ぶ条件としていくつかあります
・Windowsが仮想化できる事(VMWare,Hyper-V)
・Linuxが仮想化できる事(すべて)
・安定していること(VMWare,KVM,Hyper-V)
・無償であること(Hyper-V,XenServer,KVM)

条件からHyper-Vがいいことになる。Windowsが仮想化できる事を除けばKVMが一番いいのですが、やはりXPパソコンを仮想化する目的では外せないです。

XPパソコンの仮想化する際に必要なのはHDDのイメージ化です。今回アクロニスを使用した。
しかしアクロニスのBootCDは、Hyper-Vで動作しない。(できるがうまくいかないケースがある)

アクロニスはVMWareで動作できる。そこでVMWareで一度復元してから、HDDをイメージ化してvmdkからvhdに変換する方法を行った。
StarWind V2V Image Converter

出来上がったvhdをHyper-Vで利用可能になっているので、仮想VMで使用する。

最初の起動時にデバイスドライバのインストールでいろいろと聞かれるが、それが終わり再起動すると以外にもうまく動作した。

XPパソコンの残留・・・。

多くの企業でXPパソコンからWindows7または8への移行を行っていると思います。

しかしXPでしか動作しないプログラムがある場合、移行する事ができません。

なぜそのような事が起きるのでしょうか?
わが社ではXPを移行できない理由は次のようになっております。

  1. 業者で作成した設備とハンドルされているパソコン
  2. お客様から依頼された専用納品書を発行や発注システムなどを行うパソコン
  3. パッケージソフトでカスタマイズされている為、移行するには高額(1000万円程度)になっているパソコン
  4. 移行はできるが、それほど使用しておらずそこそこ高い(大体50万円~100万円)パソコン

詳しい内容は以下の通りです。

1.業者で作成した設備とハンドルされているパソコン

通常保守契約でバージョンアップがついてくるが、行っていない場合があり、スポットとなるケースがある。
保守契約が高く契約を行わないと、スポットでバージョンアップではそれ以上に高くなる場合がある。
こうなるとバージョンアップなどほど遠い・・・。しかしこれは払わないといけない。

2.お客様から依頼された専用納品書を発行や発注システムなどを行うパソコン

問い合わせはするが、返答なしでとりあえずPCをそのままにしている。
故障した場合はアウトになる為、バックアップは行っているが、いつまでも使い続けるわけにはいかない。

3.パッケージソフトでカスタマイズされている為、移行するには高額(1000万円程度)になっているパソコン

どの企業でもこの手のソフトが多いと思います。一番厄介なソフトです。
これはソフトウェア会社が儲かる仕組みに入ってしまった為、払わないといけないでしょう。

4.移行はできるが、それほど使用しておらずそこそこ高い(大体50万円~100万円)パソコン

そのうち使わない事を祈るだけです。しかし重要度によって更新を行う。

多くの原因は業者が作成したソフトウェアであることです。
スキルがなく外部委託するところは多いと思いますが、バージョンアップで多くの金額が必要になりますので、その辺を考慮して作成を依頼する事をおすすめします。
できれば自分で作成するのが一番です。

ノートパソコンのフタを閉じたときに画面ロックを無効にする

現場用PCでなるべくトラブルを無くす為の対応です。

現場にノートパソコンを設置するケースがあります。理由は小スペースにしたいなどです。盗難防止を行う事が条件ですが、重宝するアイテムです。

設置後、あるとき電話があり画面が開けないというものでした。ノートのフタを閉じたら真っ黒い画面に四角い画面が表示されている。

Xscreensaverが起動しているようでした。毎回こんなことでは大変ですので、無効にするようにします。

ノートPCのフタを閉じたときのイベントを確認する。

# acpi_listen
button/lid LID close
button/lid LID open

lidイベントで発生しているようです。
イベントを駆動する設定は、/etc/acpi/events内にある。

# ls -a /etc/acpi/events
                     lenovo-undock          thinkpad-volume-up
..                    lidbtn                 thinkpad-wireless-wlan
ac                    panasonic-lockbtn      tosh-battery
asus-brightness-down  powerbtn-acpi-support  tosh-hibernate
asus-brightness-up    sleepbtn               tosh-ibutton
asus-f8sv-touchpad    sony-brightness-down   tosh-lock
asus-media-eject      sony-brightness-up     tosh-mail
asus-rotate           sony-eject             tosh-media
asus-touchpad         sony-mute              tosh-next
asus-video            sony-sleep             tosh-play
asus-wireless-off     sony-volume-down       tosh-prev
asus-wireless-on      sony-volume-up         tosh-stop
asus-wireless-wlan    suspendbtn             tosh-wireless
battery               thinkpad-cmos          tosh-www
ibm-wireless          thinkpad-mute
lenovo-touchpad       thinkpad-volume-down

lidbtnというファイルがふたを閉じたときのイベント記述しているようである。

# /etc/acpi/events/lidbtn
# Called when the user closes or opens the lid

#event=button[ /]lid   <-コメントにする
#action=/etc/acpi/lid.sh <-コメントにする

ファイルを保存後、再起動が必要です。

PHPのPDOでPostgreSQLへ接続方法

PHPからデータベースをアクセスする際にエクステンションを使用しますが、抽象化されたPDOを使う事が推薦しているようですので、使ってみました。
サンプルコードは以下の通りです。

$system_database_server="127.0.01";
$system_database_name = "TEST";
$system_database_user="postgres";
$system_database_password = "XXXXXX";

//PsotgreSQLに接続する
$db = new PDO( "pgsql:host=".$system_database_server." port=5432 dbname='".$system_database_name."'", $system_database_user,$system_database_password);
$query  = "SELECT test_1";
$query .= "FROM   test_table ";
$query .= "WHERE (test_1= '1') ";
$res = $db->prepare($query);
$res->execute();
if (!$res) print_r($db->errorInfo());  //エラーの場合、内容を表示する
while($row = $res->fetch()) {
    $test_1=$row['test_1'];
    echo $test_1;
}
unset( $db );

これを応用すればいろんな処理ができそうです。

OSSのライセンスについて

OSSを利用するに当たり、ライセンスがどのようになっているか確認する必要があります。やはり企業で利用するのであれば、OSS=無料と決めつけるのはとても危険なことです。
たとえばMySQLの場合、GPLではありますが、ソフトウェアを作りそれを
販売することも可能ですが、デュアルライセンスでライセンスを購入することが可能です。しかし最近では社内で使用する場合でもライセンスを購入する必要があるらしいです。そのためMariaDBへに移行する人たちが多いということです。
どこまでが本当なのか正直わかっていません。
かねやんMySQLAdminもソースを公開した理由はライセンスにあります。GPLであるMySQLがソースコードの公開をする義務であるため、販売するつもりはありませんでしたが、なんらかの理由でライセンス違反を犯してまで金銭トラブルが発生するリスクを考えれば、ソースコード公開と早々と開発収束をすることがいいと決めました。

しかし、GPL以外にもBSDライセンスなど様々なライセンス体系がありますので、企業で利用する場合、注意してください。

システム開発における文字コードについて(UTF-8)

今までのシステム開発では文字コードがSJISで開発されてきました。

日本だけの開発なら問題はないのですが、海外を視野に入れた場合、文字コードの障害が大きくなってきます。

また商品名などでも日本語にないものが多かったりします。運用での逃げでは英語表記にする事で対応できますが、

現地化などを進めるうえで現地の言葉をつかえないのはとてもやりにくいです。

この問題にぶつかったのは中国語(北京語)でした。SJISではあったのですが、印刷ができなかったりいろいろなライブラリで対応できない事がありました。

今ではUNICODEによるUTF-8が進んでいて、これを使えばいいのですが、当時(10年前)ではそんな事は知らず勉強不足であったことは認めます。

スペイン語のシステムを作るときに問題になったのですが、SJISではどうしても対応できずとりあえず英語表記のみという制限に落ち着きましたが、悔しい思いをした為、

今回実験でUTF-8の文字コードをテストして見ました。

開発環境はApache2.2+PHP5.4+PostgreSQL9.3です。

UTF8_TEST

PostgreSQL9.3にデータをUTF-8で保存し、PHPで出力してみました。 スペイン語・韓国語・タイ語・北京語が同じ画面で表示できるようです。

HTMLでUTF-8であることの設定はmetaタグでcharset=UTF-8を宣言しておけばUTF-8とブラウザが認識してくれます。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

ファイルの中の文字コードもUTF-8にする事をお忘れなく!!

DebianにNTPを入れる

時間のずれを自動で修正する機能のntpをDebianにいれてみる。

# aptitude install ntp

以下の新規パッケージがインストールされます:
libopts25{a} ntp
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
614 k バイトのアーカイブを取得する必要があります。展開後に 1,394 k バイトのディ スク領域が新たに消費されます。
先に進みますか? [Y/n/?] Y

取得: 1 http://ftp.jp.debian.org/debian/ wheezy/main libopts25 i386 1:5.12-0.1 [72.2 kB]
取得: 2 http://ftp.jp.debian.org/debian/ wheezy/main ntp i386 1:4.2.6.p5+dfsg-2 [542 kB]
Fetched 614 kB in 0秒 (898 kB/s)
以前に未選択のパッケージ libopts25 を選択しています。
(データベースを読み込んでいます … 現在 79181 個のファイルとディレクトリがイン ストールされています。)
(…/libopts25_1%3a5.12-0.1_i386.deb から) libopts25 を展開しています…
以前に未選択のパッケージ ntp を選択しています。
(…/ntp_1%3a4.2.6.p5+dfsg-2_i386.deb から) ntp を展開しています…
man-db のトリガを処理しています …
libopts25 (1:5.12-0.1) を設定しています …
ntp (1:4.2.6.p5+dfsg-2) を設定しています …
[ ok ] Starting NTP server: ntpd.

完了後、設定を行う。

# vi /etc/ntp.conf

# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool: &lt;http://www.pool.ntp.org/join.html&gt;
#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst  コメント
#server 2.debian.pool.ntp.org iburst  コメント
#server 3.debian.pool.ntp.org iburst コメント

server ntp.nict.jp  #追加

設定を反映する為、ntpサービスを再起動。

# /etc/init.d/ntp restart

動作確認

# ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp-a2.nict.go. .NICT.           1 u   51   64    3    2.751   -0.845   0.116

# date
2014年  5月 19日 月曜日 16:03:12 JST

FreeNASのSambaバージョンを確認してみる

現在使用しているFreeNASは本番で8.3.1でバックアップが9.1.1を使用している。

基本的にSambaを使用しているので、本番を9.1.1にした場合、Sambaのバージョンはどにょうに変化するのか確認してみた。

# smbd –version

FreeNAS 8.3.1では3.6.12

FreeNAS 9.1.1では3.6.17

大きなバージョンの変化はないが、sambaのサイトで確認した結果、いろいろなバグが改善されているようです。

Changes since 3.6.12:
--------------------
o   Jeremy Allison <jra@samba.org>
    * BUG 9519: Samba returns unexpected error on SMB posix open.
    * BUG 9585: Samba 3.6.x not correctly signing any but the last response in
      a compound request/response.
    * BUG 9586: smbd[29175]: disk_free: sys_popen() failed" message logged in
      /var/log/messages many times.
    * BUG 9587: Archive flag is always set on directories.
    * BUG 9588: ACLs are not inherited to directories for DFS shares.
    * BUG 9637: Renaming directories as guest user in security share mode
      doesn't work.
o   Björn Baumbach <bb@sernet.de>
    * BUG 9568: Add dbwrap_tool.1 manual page.
o   Ira Cooper <ira@samba.org>
    * BUG 9646: Make SMB2_GETINFO multi-volume aware.
o   Günther Deschner <gd@samba.org>
    * BUG 9474: Downgrade v4 printer driver requests to v3.
o   David Disseldorp <ddiss@samba.org>
    * BUG 9378: Add extra attributes for AD printer publishing.
    * BUG 9658: Fix initial large PAC sess setup response.
o   Björn Jacke <bj@sernet.de>
    * BUG 7825: Fix GNU ld version detection with
      old gcc releases.
o   Daniel Kobras <d.kobras@science-computing.de>
    * BUG 9039: 'map untrusted to domain' treats WORKSTATION as bogus domain.
o   Guenter Kukkukk <kukks@samba.org>
    * BUG 9701: Fix vfs_catia module.
o   Volker Lendecke <vl@samba.org>
    * BUG 9541: Add support for posix_openpt.
o   Stefan Metzmacher <metze@samba.org>
    * Bug 9625: wbcAuthenticateEx gives unix times.
o   Andreas Schneider <asn@samba.org>
    * BUG 9574: Fix a possible null pointer dereference in spoolss.
    * BUG 9684: Fix two resource leaks in winbindd.
    * BUG 9686: Fix a possible buffer overrun in pdb_smbpasswd.
o   Pavel Shilovsky <piastry@etersoft.ru>
    * Bug #9571: Unlink after open causes smbd to panic.
Changes since 3.6.13:
---------------------

o   Jeremy Allison <jra@samba.org>
    * BUG 9130: Certain xattrs cause Windows error 0x800700FF.
    * BUG 9724: Use is_encrypted_packet() function correctly inside server.
    * BUG 9733: Fix 'smbcontrol close-share' is not working.
    * BUG 9747: Make sure that we only propogate the INHERITED flag when we are
      allowed to.
    * BUG 9748: Remove unneeded fstat system call from hot read path.
    * BUG 9811: Fix bug in old create temp SMB request. Only use VFS functions.
o   David Disseldorp <ddiss@samba.org>
    * BUG 9650: New or deleted CUPS printerqueues are not recognized by Samba.
    * BUG 9807: wbinfo: Fix segfault in wbinfo_pam_logon.
o   Volker Lendecke <vl@samba.org>
    * BUG 9727: wkssvc: Fix NULL pointer dereference.
    * BUG 9736: smbd: Tune "dir" a bit.
    * BUG 9775: Fix segfault for "artificial" conn_structs.
    * BUG 9809: RHEL SPEC: Package dbwrap_tool man page.
o   Andreas Schneider <asn@samba.org>
    * BUG 9139: Fix the username map optimization.
    * BUG 9699: Fix adding case sensitive spn.
    * BUG 9723: Add a tool to migrate latin1 printing tdbs to registry.
    * BUG 9735: Fix Winbind separator in upn to username conversion.
    * BUG 9766: Cache name_to_sid/sid_to_name correctly.

Changes since 3.6.14:
---------------------

o   Andrew Bartlett <abartlet@samba.org>
    * BUG 9746: Fix "guest ok", "force user" and "force group" for guest users.
o   David Disseldorp <ddiss@samba.org>
    * BUG 9830: Fix panic in nt_printer_publish_ads.
o   Volker Lendecke <vl@samba.org>
    * BUG 9854: Fix crash bug in Winbind.
o   Andreas Schneider <asn@samba.org>
    * BUG 9817: Fix 'map untrusted to domain' with NTLMv2.

Changes since 3.6.15:
---------------------

o   Michael Adam <obnox@samba.org>
    * BUG 9881: Link dbwrap_tool and dbwrap_torture against libtevent.
o   Jeremy Allison <jra@samba.org>
    * BUG 9722: Properly handle Oplock breaks in compound requests.
    * BUG 9822: Fix crash bug during Win8 sync.
o   Anand Avati <avati@redhat.com>
    * BUG 9927: errno gets overwritten in call to check_parent_exists().
o   David Disseldorp <ddiss@samba.org>
    * BUG 8997: Change libreplace GPL source to LGPL.
    * BUG 9900: is_printer_published GUID retrieval.
o   Peng Haitao <penght@cn.fujitsu.com>
    * BUG 9941: Fix a bug of drvupgrade of smbcontrol.
o   Volker Lendecke <vl@samba.org>
    * BUG 9868: Don't know how to make LIBNDR_PREG_OBJ.
o   SATOH Fumiyasu <fumiyas@osstech.co.jp>
    * BUG 9688: Remove "experimental" label on "max protocol=SMB2" parameter.
o   Andreas Schneider <asn@samba.org>
    * BUG 9881: Check for system libtevent.

Changes since 3.6.16:
---------------------
o   Jeremy Allison <jra@samba.org>
    * BUG 10010: CVE-2013-4124: Missing integer wrap protection in EA list
      reading can cause server to loop with DOS.