So-net無料ブログ作成

cactiの導入 その2 (FreeBSD11.1R、2018/04/09) [ports]

下記問題については解決した…かもしれません。
root@mybsd:~ # mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Enter password:********
ERROR 1406 (22001) at line 32512: Data too long for column 'Abbreviation' at row 1
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
情報をいろいろ検索していると、FreeBSDで同様の問題で困っている人がいました。
https://github.com/tomolimo/timezones/issues/8

回答は「This issue is not related to timezones plugin, but to your system+mySQL, and unfortunately, I cannot help you on this system :(.」とのことで、ざっくり言うと「あんたのシステム側の問題なので、どうにもならないよ」ということでした。

まぁ、MySQLはきっとFreeBSDの細かい部分の動作チェックなんてしていないでしょうから、仕方のないことかもしれません。zoneinfoについて不勉強でよく分かってないのですが、世の中でほとんど不具合報告がないことから、Linuxのzoneinfoでは問題なく動作することはほぼ確実と思われます。
そうすると、FreeBSDのzoneinfo一式と、Linuxのzoneinfo一式の違いってなんだろうと思いつつ、閃きました。そう、compat/linux関係からzoneinfo一式をインストールし、それを参照させればうまくいくのではないかと。

compat/linux関係のどれをインストールすればzoneinfo一式が導入されるのか分からず、当てずっぽうで下記をインストールしてみました。が、どこにもzoneinfo一式が導入されません。
・linux-kernel-4.13.14_1
・linux_base-c7-7.4.1708_5

困っていろいろと探しているうちに、zoneinfo-2018.dなるものがあることに気付きました。説明を読むと、インストールによって/usr/share/zoneinfoが最新にアップデートされるようですね。
root@mybsd:~ # pkg search zoneinfo
java-zoneinfo-2018.c           Updated Java timezone definitions
zoneinfo-2018.d                Updated timezone definitions

というわけでzoneinfo-2018.dを導入して、改めて最初のコマンドを実行してみました。
root@mybsd:~ # mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Enter password:********
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.

今度はエラーが出なくなりました。細かな確認はできていませんが、少し進展がありました。

nice!(0)  コメント(0) 
共通テーマ:日記・雑感

cactiの導入 その1 (FreeBSD11.1R、2018/04/07) [ports]

cactiは以前もインストールして運用していたのですが、ブログとして記録が残っていないので、改めて記載を残すことにしました。
導入はいつも通りpkg installでサクッと終わらせます。cacti-1.1.36ですね。データベースが必要となるため、mysql56-server-5.6.39_1も手動で導入します。

cactiのインストール時に、データベースに関する初期手順が表示されるので、その通りに実施します。
まずはデータベースの作成です。
root@mybsd:~ # mysql -u root
mysql> CREATE DATABASE `cacti`;
Query OK, 1 row affected (0.02 sec)

次にユーザの作成と権限の割り当てです。
mysql> CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'password123';
Query OK, 0 rows affected (0.05 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON `cacti`.* TO 'cacti'@'localhost';
Query OK, 0 rows affected (0.01 sec)

データベースにひな形を描き込みます。
root@mybsd:~ # mysql --database=cacti -ucacti -p < /usr/local/share/cacti/cacti.sql
Enter password:********

手順には下記のように記載されています。
  If you haven't already imported your MySQL timezone data, you need to do this:
      mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
これをやろうとしたら、下記のようにエラーとなってしまい、うまくいきませんでした。
root@mybsd:~ # mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Enter password:********
ERROR 1406 (22001) at line 32512: Data too long for column 'Abbreviation' at row 1
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
キーワードを引っかけて検索すると、MySQLのバグと出てきてしまい、どうすることもできないのでとりあえず保留です。

phpのタイムゾーンを設定します。
root@mybsd:/usr/local/share/cacti/include # cp config.php.sample config.php
root@mybsd:/usr/local/share/cacti/include # cat config.php
/* timezone */
date_default_timezone_set('Asia/Tokyo');

cronにcacti向けの設定を追加します。
root@mybsd:~ # cat /etc/crontab
# cacti
*/5 * * * * /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1

cactiがMySQLのデータベースにアクセスできるように下記を編集します。
root@mybsd:~ # cat /usr/local/share/cacti/include/config.php
$database_username = 'cacti';
$database_password = 'password123';


とまぁ、インストール後の画面は無事表示されるようになりました。
20180408_Cactiインストール_01.png


が、当然のごとく無視した部分で怒られています。PHPのタイムゾーンのところもおかしいようですね。
20180408_Cactiインストール_021.png


そして圧倒的な指摘箇所。PHPはデフォルト設定そのままなので、ちゃんとチェックしないといけないようですね。cactiは以前導入して運用していた記憶があるのですが、こんなに面倒だったのかなぁ。
20180408_Cactiインストール_031.png

nice!(0)  コメント(0) 
共通テーマ:日記・雑感

自動車AI化とその後の世界(未来予測) (2018/03/18) [雑記]

自動車のAI自動運転に関する研究がどんどんと進んでおり、実用化間近といったところですね。まぁ、これだけコンピュータ化が進んでいる現代社会なので、早かれ遅かれ、いずれそういったAI制御された世の中になるのでしょう。

今は車単体での研究および実証実験が盛んなようですが、AIが普及した後の動きを考えると、必ずAI同士の連携が行われるようになると思います。つまり、いろいろな車に搭載されているAI同士がリアルタイムに情報交換する世の中になるということです。

まずは手軽なところで自社の車同士の連携が行われるようになり、それが拡大していくと、国際統一規格が策定され、メーカーを問わず連携できるようにることになると思われます。(以後、この情報連携のことを「リンク」と呼ぶことにします)

■第一段階 範囲拡大と精度向上
自分の車が検知できる範囲の情報のみを使って制御していますが、周囲の車とリンクすることによって、近くで併走している車の情報、つまりより広い範囲の情報を活用できるようになり、制御の質や精度が飛躍的に上昇します。
悪意ある誤情報によって、制御を混乱させる情報テロのような行為を防止する研究も進むものと思われます。


やがて、車が情報デバイス(IoT)の一部として認識されるようになり、車に限らず世界中の情報機器と相互に情報疎通できるようになります。


■第二段階 公共機関での活用
リンク情報を公共機関が活用できるようになります。

例えば、
・100メートル先で発生したばかりの事故が連携され、AI運転に減速や停止が連携される
・後方から緊急車両が近づいていること通知され、自動的に道を空ける
・スピード違反やシートベルト付着用履歴などの情報が車のログから吸い出され、警察の検挙(立件)に使用される
・車の混雑状況がリアルタイムに収集され、信号の切り替えタイミングが可変タイミングになる
・第三者のドライブレコーダーの情報が、事故時に参照される(裁判の証拠として採用される)

■第三段階 民間での活用
リンク情報を民間機関が活用できるようになります。

例えば、
・商用車(運送関係、バス、タクシー)に道路を優先させる
・数値化された不具合情報(燃費が悪化、サスペンションの効きの悪化など)を、ディーラー等が参照できるようになり、修理や車検時に活用される
・大型ショッピングモール等に入った時点で駐車場所が決定し、指示され、駐車場所を探してぐるぐる回るようなことがなくなる

■第四段階 自動車の意義の変化
車そのものの意義が大きく変化します。

例えば、
・運転席を除き、室内が居室化し、移動するためのコックピットではなく、日常生活を送る場所になる(内装が住居化する)
・リンク機構を持たない古い車がクラッシックカーとして価値を持つようになる
・ファミリーカーが、基本的にキャンピングカーのような風貌になる

とまぁ、こんな感じでしょうか。こうやって想像を巡らすのも、わくわくしますよね。
nice!(0)  コメント(0) 
共通テーマ:日記・雑感