2015年1月13日火曜日

パソコンには、Ubuntu14よりCentOSの方が楽でいい

CentOS7が出たらしいので古いCF-T5にインストールしたいと思った。が、CentOS7からは32ビット版が存在しないので、CF-T5にはインストールできない。入れるつもりになったので、古いバージョンの6.6でもいいと思いインストールした。

実は、2014年に一度このCF-T5にはUbuntu14をインストールした。会社のサーバーはずっとCentOSだったので、CentOSの使い勝手はわかっていたが、世間で評判のUbuntuを触ってみようとインストールしたものだった。

今回、CentOSをサーバーではなく、CentOSをパソコンとしてインストールした。サーバーアプリの代わりに、Officeアプリなどをインストールしただけ。サーバーの設定が不要な分手間が無い。

Ubuntu14とCentOS6.6(CentOS7が最新)を比べると、CentOS6.6の方が、インストールが簡単だ。日本語関連でさえ何もしなくてよい。日本語と英数の切り替えはWindowsと同じでいい。何の手間も無い。

無線LANもWLI-UG-GNMならUSBに差し込むだけでつながる。

動作速度も、Ubuntu14より、CentOS6.6の方が軽快だ。

インストールが簡単、日本語設定が何も必要ない、無線LANは差し込むだけ、動作も軽快、全体の使い勝手もいい。

これほどにいいCentOSをなぜ、日経LinuxなどのLinux系雑誌は、ユーザーに奨めないのだろう。Ubuntuばかり奨める。無知なのか、何か特別な利害関係でもあるのか。

僕は声を大にしていいたい、パソコンにLinuxをインストールするなら、初心者からベテランまでCentOSを使いましょう。楽ですよ、楽。



2014年11月18日火曜日

Laravel4 Migrations Tips

As we read programming books or homepages, we sometimes encounter the confusion because of the different explanations from authers to authers.

Laravel's Migrations is in that case. Let's me explain the best use of migrate:make command.

First, here are three lines for migrate:make command. You will see which is the best way to write seeing the results.

Laravel4 Formal Documentation

1. $ php artisan migrate:make create_users

2. $ php artisan migrate:make create_users --table=users
2-2. $ php artisan migrate:make create_users --table="users" //Double quotations are not required. This line shoud be like upper one.

Sorry, I made a mistake. 3-2 is wrong. 3 is a true line I intended. Originally, I wrote this blog in august.
3. $ php artisan migrate:make create_users --create=users
3-2. $ php artisan migrate:make create_users --create --table=users

The results for each command are like below.

The result for the first command line.
------------------------------
<?php
use Illuminate\Database\Migrations\Migration;
class CreateUsers extends Migration {
/**
* Run the migrations.
*
* @return void
*/
 public function up()
 {
  //
 }
/**
* Reverse the migrations.
*
* @return void
*/
 public function down()
 {
  //
 }
}
-------------------------------


The result for the second command line.
-------------------------------
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsers extends Migration {
/**
* Run the migrations.
*
* @return void
*/
 public function up()
 {
  Schema::table('users', function(Blueprint $table) {
  });
 }
/**
* Run the migrations.
*
* @return void
*/
 public function down()
 {
  Schema::table('users', function(Blueprint $table) {
  });
 }
}
-----------------------------


The result for the last command line.
-----------------------------
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsers extends Migration {
/**
* Run the migrations.
*
* @return void
*/
 public function up()
 {
  Schema::create('users', function(Blueprint $table) {
   $table->increments('id');
   $table->timestamps();
  });
 }
/**
* Reverse the migrations.
*
* @return void
*/
 public function down()
 {
  Schema::drop('users');
 }
}
------------------------------


The last line is the best for us. The migrate:make command make more job for us with the last. It's result makes us saving the coding time with less errors.

2014年11月1日土曜日

画像の歪みを簡単に補正できるGIMPはフリーソフトです

パンフレットなどに使う写真は、建物や機器が菱形(昔、高校の先生がひしがたなどと読むな、りょうけいと読めと言っていた)や台形に写っていると見栄えがよくないという経験を多くの人がしていると思う。

火曜日の朝、お友達の会社から11月5日からの展示会用パンフレットを作ってくれと電話があった。素人写真なので歪みや傾きがひどい。何かいいソフトはないかとググッて、いくつか試した。その中で、GIMPが圧倒的にすばらしかった。

GIMPは昔使ったことがあったが、当時、PhotoShopLE3.5を使っていたので、GIMPを継続して利用することはなかった。

GIMPには画像の歪みを修正する機は以前からあったようだが、現在のGIMPの性能はまったく驚くべきもので、GUIで簡単にあっという間に歪みが修正できる。必要に応じて画像の四隅のどこかを引っ張るだけで四隅が90度の画像ができる。しかも、品質のいいきれいな画像だ。オープンソースソフトウェアの世界はまったくもって賞賛され尊敬されるに値するものだ。

最新のGIMPは起動すると、独立した3つのウィンドウが表示される。真ん中のウィンドウに画像を読み込む。左のウィンドウは各種のツール類がアイコンになって並んでいる。その中の補正用のアイコンをクリックして、中央に表示された画像の四隅を適当に引っ張る。これだけのことです。画像の歪みの補正を考えている人は、絶対にGIMPがお勧めです。

最後に一つ、インストールに関して。GIMPのインストールの前にGTK+をインストールすることと書いているページがあるけど、現在はGIMPをダウンロードしてそれをインストールすればGTK+も自動的にインストールされる。

2014年10月17日金曜日

FedoraCore6のbashをShellshockに対応させる

Shellshockと呼ばれるbashの脆弱性が発表された。今年は、HeartbleedとPoodleのOpenSSLの脆弱性などたて続けにサーバー関連の脆弱性が世界中を駆け巡った。

その他、NASやネット接続電力計、ネット家電などコンピュータ以外の脆弱性もたくさん発表された。2014年は、ネット接続機器の脆弱性元年と言われるに違いない。

さて、bashのShellshockであるが、新しいOS、たとえばCentOS6などは、yum update bashで一発で完了するので、管理者の手間はほとんどかからない。

ところが、FedoraCore6になると、yumでアップデートできるパッチが用意されていない。バージョンアップアップをあきらめている管理者も多いと思う。


そのFedoraCore6のbash3.1をbash3.1.23にアップデートできる方法があるので紹介します。

1.影響を受けるバージョン(3.1はパッチの18までとしているページもある)
  Redhatは、日本のJPCERTと対策済みのバージョンが違う 3.1はここには出ていないけど。

2.bash3.1のパッチの場所。最新パッチをここで確認(2014/10/17現在23が最新)

3.基本的に下記の方法で3.1にパッチをあてて、bash3.1.23にバージョンアップする
(できれば、まずはテストサーバー機で実施してから本番サーバーで行ってください。自己責任)

(1)bash-3.1.tar.gzとパッチファイルをダウンロードする
wget http://ftp.gnu.org/gnu/bash/bash-3.1.tar.gz
wget http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-00{1..9} http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-0{10..19} http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-0{20..23} (一行で続いています)

(2)解凍しパッチを適用する
tar -xvf bash-3.1.tar.gz
cd bash-3.1
find ../bash31-??? -exec /bin/sh -c 'patch -p0 <{}' \;

(3)Configし、 Make、Make Install
./configure --prefix /tmp/bash23 && make && make install

(4)インストールしたbashを起動してみる
/tmp/bash23/bin/bash と、コマンドラインから直接起動する
echo $SHELL を実行すると
/tmp/bash23/bin/bash と表示されるはず(以後、しばらくこのbashが使われる)

(5)bashのバージョンを確認する
echo $BASH $BASH_VERSION
このように表示される: /tmp/bash23/bin/bash 3.1.23(1)-release

(6)Shellshockのテストをしてみる
env X="() { :;} ; echo vulnerable" /bin/bash -c "echo this is a test"
たぶん下のように表示される(/bin/bashと古いままのbashなので)
vulnerable
this is a test

(7)bashを入れ替える
・ tcsh  #念のため、使うシェルを変えておく
・ cd /bin/
・ cp bash bash.old  #念のためバックアップしておく
・ cp /tmp/bash23/bin/bash ./bash
・ exit #これで、/tmp/bash23/bin/bashへ戻る
・ bash #これで、/bin/bashへ切り替わる (/bin/bashとすることになるかも)

覚:shellの切り替え方法
1.コマンドラインで、chsh -s /bin/tcsh等とすると、/etc/passwdの中身が書き換わる。
  書き換わるが、再ログインしないとshellは切り替わらない。
2.コマンドラインで、tcsh等とすると、その時点で使うshellが切り替わる。
  exitで元に戻る。
echo $SHELLを実行してみると、使っているshellがわかる。

注:下記の処理をすることもあるかも
/etc/shellsファイルに/tmp/bash_patched/bin/bashを追加する
echo $PATH パスを通す
PATH=$PATH:/tmp/bash23/bin
export PATH

(8)bashのバージョンを再度確認する
echo $BASH $BASH_VERSION
このように表示される: /bin/bash 3.1.23(1)-release

(9)再度Shellshockのテストをしてみる
env X="() { :;} ; echo vulnerable" /bin/bash -c "echo this is a test"
下のように表示されればOK
bash: warning: x: ignoring function definition attempt (この行はでない時も)
bash: error importing function definition for `x' (この行はでない時も)
this is a test


CentOS6にて、yumでPHPをupdateバージョンアップする方法

CentOS6にデフォルトで付属しているPHPはバージョンが古いのでバージョンアップしたい。が、しかし、yumでPHPをupdateしようとしてもうまくいかない時がある。その対処方法を記しておきます。

基本的には、remiレポジトリepelレポジトリを追加(場合によっては、rpmforgeレポジトリも追加。PHP5.5にはremi-php55レポジトリがあるようです。)して、yum --enablerepo=epel,remi update phpでバージョンアップできる。
しかし、MySQL関連のファイルなどとのバージョンの整合性で、バージョンアップできないとはねられる場合がある。

そのような時は、/etc/yum.repos.d/CentOS-Base.repoのpriority=1が原因の場合がよくある。各申す私もしばらく気づかず悩んだ。CentOS-Base.repoの中の[base][updates][extras]の3つに、priority=1が書かれていたものを、#priority=1とコメントアウトして、yum --enablerepo=epel,remi update phpを実行すると、魔法のごとくPHPがアップデートされた。


2014年10月16日木曜日

HDD完全消去のcipher.exeはWindows7でも使える

cipher.exeは、HDDの空き領域のデータを、復元ソフトで読めないように、完全消去してくれる。Windows2000の時は使っていたが、Windows7でも使えることを知った。しめしめ。
ファイルフォーマットはNTFSのみ。USBでもNTFSでフォーマットできれば、完全削除可能だと思う。

コマンドプロンプト上で、cipher /w:[drive]:\[folder]と打ち込んで行う。個人的には今まで、フォルダーを指定したことはない。(WでもwでもEでもeでもよい)
例としては、cipher /W:E:改行、のように使う。実行すると、下記のように進行していく。
(スタート ⇒ プログラムとファイルの検索、に記述しても実行できる場合あり)

C:\>cipher /W:E:
できるだけ多くのデータを削除するために、CIPHER /W の実行中
はほかのアプリケーションをすべて終了してください。
0x00 に書き込み中
...................... (中略) .............
0xFF に書き込み中
...................... (中略) .............
乱数 に書き込み中
...................... (中略) .............
C:\>

マクロの世界での磁気データパターンの完全消去のためには、このように異なったデータで3回は書き込む必要があるそうで、米国防総省(DOD)などで決められた消去手順になっている。

■完全消去のポイント:cipherは空領域に書き込むので、cipherの実行前に、HDDをNTFSでフォーマットして、HDD全体を空領域にしておく。それによってHDD全体を確実に消去できる。(これを行うには、完全消去したいHDDを外付けか何かにしておく必要がある。OSの入ったCドライブ全体を完全削除はできないから)


2014年10月15日水曜日

パソコン画面の動画キャプチャーソフト

パソコンの画面をいろいろ操作している状況を音声付の動画にしたくて、無料ソフトウェアを使った。いわゆる動画キャプチャーソフト。簡単に利用できるかと思いきや、以外に時間がかかった。

うまくいかなかったのは、説明音声の録音機能。特別難しい設定はなく、ごく常識的な設定で使った。

Bandicamはまったく録音されない。

AG-デスクトップレコーダーもまったく録音されない。

CamStudioは極短いものは録音されたが、役立つ長さの録画になると、最後に保存するときにエンコードができないようなメッセージを出してエラー終了する。

アマレココは、有料のシェアウェアを一緒に入れないと使えないように書いてあるので使わなかった。

4つ目に、BB FlashBack Expressを使った。やっと録音もできた。録画動画は普通に見られる品質だ。やれやれ、Blueberry Software Ltd.さん、タンダコンピュータさんありがとう。

BB FlashBack ExpressのVectorでのDownloadページ