vi のビジュアルモード

vi にはビジュアルモードがあります
vi を立ち上げ
v
を入力するとビジュアルモードになります
この状態では
コピペするときに、マウスで文字列を反転させたような状態になりますので
カーソルで任意の範囲を選び
コピー、削除を行えます
ビジュアルモードの主なコマンドには
d
選択範囲のテキストを削除
D
選択範囲を含む行ごと削除
y
選択範囲をヤンクバッファに格納
Y
選択範囲を行ごとヤンクバッファに格納
c
選択範囲を削除し、書き込み可能なインサートモードにする
C
選択範囲を行ごと削除し、書き込み可能なインサートモードになる
ESC
コマンドモードに戻る
があります
ビジュアルモードは3種類あり
今回つかったようなノーマルビジュアルモードの他に
行単位で設定できる
ラインビジュアルモード
そして
まだ使ったことはないのですが
ブロックビジュアルモードがあります
ノーマルビジュアルモードにするには
v
を入力しますが
ラインビジュアルモードにするには
V
を入力します
ブロックビジュアルモードを使うには
Ctrl + v
を入力します

vi とヤンクバッファ

d や x などで削除した文字は
じつはヤンクバッファに一時格納されています
このため、pを使い、削除した文字列をコピーできます
このときに、削除したのが文字単位
つまり
d
x
dw
もしくは
d~ でカーソルから
行頭まで削除
などの場合カーソルの直後にコピーされますが
行単位、つまり
dd
などの場合、次の行にコピーされます
これを忘れると
yy
でコピーした後に、なぜか
d で削除した文字がコピーされていると
いうようなことがおきます
また、コピーするときに
pでは
カーソルの後になりますが
Pとすれば、カーソルの前になります

ClipBucket その4

今回も引き続き、ClipBucket の設定の続きです
今回は、crontab を使って自動制御するように設定します
* * * * * * /opt/lampp/bin/php -q /opt/lampp/htdocs/clipbucket/actions/video_convert.php
* * * * * * /opt/lampp/bin/php -q /opt/lampp/htdocs/clipbucket/actions/verify_converted_videos.php
0 0,12,23 * * * /opt/lampp/bin/php -q /opt/lampp/htdocs/clipbuket/actions/update_cb_stats.php
を追記することで
自動処理するようになります
ちなみに、
*
はすべての条件を意味します
0,12,23 は実行する時間の指定です
もし、時間を8時、19時、21時に実行するように設定するなら
0,12,23
の部分を
8,19,21
へ変更します
crontab で設定している
* * * * *

左から、分、時、日、月、曜日
となっています
記入が終わったら、vi で設定を編集している時のように
:wq
で書き込みして終了します
また、設定を反映するために
/etc/init.d/crond reload
を実行し、設定を反映させます
ここまで完了したら
ようやくインストール開始になります
http://サーバーIPアドレス/clipbucket/
でアクセスし、設定していきます
localhost でアクセスすると、バグの原因になるようなので
http://192.168.10.100/clipbucket/
というように、IPアドレスでアクセスするようにします
この状態でアクセスしたら
まず、最初の画面で
Fresh Instalation
を選択
ライセンスを確認し、I Accept をクリック
次のパーミッション確認で writeable になっているのを確認し
Continue を選択
次に、データベース接続情報を入力
Host: localhost
Database Name: clipbucket
username: username
password: password
Database Prefix: cb_
以上を入力したら、check Connection を選択
Connected to database successfully
と表示されているのを確認し、
Contenuie Instalation
を選択
user : admin
password : admin
You can access admin area by Clicking Here
とかかれている行の
Clicking Here
をクリック(XAMPP でメールサーバー設定されていないため)
ログイン画面が表示されるので
ユーザ名: admin
パスワード: admin
でログイン
ログインしたら、設定をカスタマイズします
左側のところにある
Stats And Configulation
をクリックし
Website Configulation
をクリック
Website title
にサイト名を入力
Default Time Zone
でタイムゾーンを日本標準時にするため
(GMT +9:00 Tokyo,seoul,Osaka,Sapporo,Yakutsk
に設定
次に、Uploding and Convertion Setting タブをクリック
動画変換に crontab を使用するので
Use Crons
をno から yes に変更
PHP Binary Path

/usr/bin/local/php から
/opt/lampp/bin/php へ変更
crontab で制御するので
Turn on Quick Conversion
のチェックを外します
また、メールの確認を無効化するため
User Settings & registration タブをクリックし
Email verification のチェックを外します
すべて完了したら、画面右の一番下にある
Update Setting をクリックします
これでようやく、インストールと初期設定が完了になります
なお、作成したデータベースの確認には
/opt/lampp/bin/mysqlshow -uusername -p clipbucket
を実行し、パスワードを入力することで見ることができます

ClipBucket その3

ひき続き、コーデック、変換ツールの導入をします
ClipBucket は投稿した動画を flash ムービーに変換し
格納しています
これに必要なのが
FFmpeg 、LFVTool2、MP4box などなのですが、残念ながら、標準で入っていない上
CentOS の標準レポジトリでもサポートされていません
今回は、fedora 13 32bit を使っているので
rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
を実行し
RPMFusion をレポジトリに追加します
yum -y install ffmpeg ffmpeg-devel
で ffmpeg 関連をインストール
yum -y install flvtool2
でFLVTool2 をインストール
yum -y install gpac
yum -y install freeglut-devel
でOKです
MP4Box は gpac の中に含まれるようです
ちなみに、ubuntu の場合、標準パッケージでOkらしいです
CentOS の場合は
【Linux】Gpac(MP4Box)のコンパイル→インストールメモ

CentOS5.5にMP4Boxをインストールする
が参考になります
ここまで終了したら、定期的に動画変換を自動で行うように
crontab の設定となります

ClipBucket その2

引き続き、ClipBucketの設定です
今回は、MySQL でデータベースの設定を行います
動画データはファイルとしてサーバー内部に保存されます
タイトル、コメントなどの属性情報は
データベースに格納されるようです
これだけ設定すれば、あとはClipBucketのほうで
インストーラがやってくれるとのこと
なんとも便利です
さて、ここでXAMPPで設定するのですが
すでにセキュアにした場合、
mySQL へアクセス可能なのは
localhost だけになっています
まずは、mysql クライアントを起動します
/opt/lampp/bin/mysql -uroot -p
を実行し、mysql のroot 権限で実行できるようにします
このときに入力するパスワードは、mysql root のパスワードです
続いて
CREATE DATABASE clipbucket CHARACTER SET utf8;
でデータベースを作成し
GRANT ALL PRIVILEGES ON clipbucket.* TO username@localhost IDENTIFIED BY ‘password’;
でユーザ権限を設定
FLUSH PRIVILEGES;
で設定を反映します
あとは、mysql 設定は終了なので
quit
でmysql を抜けます
これで、MySQL 設定は終了です
今回入力した
データベース名
ユーザ名
パスワード
この3つは後でインストールするときに使用します
次に、XAMPP の設定ファイルを変更します
デフォルト設定では
アップロード、ダウンロードに制限がかかっているので
vi /opt/lampp/etc/php.ini
で設定ファイルの内容を変更します
post_max_size = 8M
upload_max_filesize = 2M
の部分を変更します
この部分を好きな値に変更したら、
/opt/lampp/lampp reloadapache
とすることで、
apache のみ再起動します
/opt/lampp/lampp reload apache
とすると、すべて再起動します
ちなみに、Clipbucket の動画配信の視聴をするには
youTube のように
flash-plugin が必要になります
もし、大抵の場合、ネット閲覧のために
インストールしていますが
CentOS などのサーバー用途の場合はインストールしていないことが多いと思います
そんなときには
yum -y install flash-plugin
でインストールできます

iPod touch 4G の初期化と復元

今日、iPod touch 4G を 使ってたのですが
突然、iPod touch の画面が 再起動してしまい
最初に表示される りんご の画面の読み込みのまま止まってしまいました
以前にも似たような症状があったのですが
すぐに元通りなので、気にしませんでした
しかし、今日の場合、いつまでたっても再起動しないため
さすがに待っていても仕方ないので
一度 iTune で様子をみてみようとしたのですが
iPod touch をWindows XP に接続すると iTune がフリーズしてしまいます
仕方ないので、一度
Ctrl + Alt + Delite キーでタスクマネージャを起動し
応答しなくなってしまった iTune を終了
そして、対応策を調べることになりました
幸い、
iPod touch 4G フリーズ と検索することで
iPod touchの初期化とか復元とか。
というサイトに、フリーズ時の対処方法が載っていたため
初期化することができました
しかし、いざというときのことも考え、写真などのバックアップはとっておきたいものです
アプリは再インストールですみますが、
写真や動画などの思い出のものはバックアップがないと完全に
なくなってしまいます

ClipBucket

今月も、先月に引き続き、日経Linux の内容を実践しています
今回の参考書籍は 日経Linux 2011-2です

今回、挑戦するのは
ClipBucket というソフトを使い、動画配信サイトをつくってみる
というものです
いつもなら、日経Linux 付属のディスクに
ソフトウェアが入っているので、これをHDDへコピー
でよいのですが、残念ながら今回は入っていないため
donload サイトである
http://clip-bucket.com/download
から直接ダウンロードします
今回、ダウンロードするのは、雑誌で紹介されたものと同じバージョン
となる clipbuket_2.0.91.zip をダウンロードします
ただ、ダウンロードの時に、メールアドレスの登録が必要になります
このため、あらかじめ G-mail などのアカウントを取得するほうがよいです
Email Address
と書いてある横の空欄に、自分のメルアドを入力し
Click here to download Now をクリック
そして、自分のメールに届いたら
Please click here to confirm your subscription
をクリックすることで、メールアドレスの確認が終わり
登録ありがとうございました、というような内容の英文メールが
きます
あとは
メールに記述されているリンク先へアクセスし
ダウンロードする
という流れになっています
フリーソフトの中には、このようにメールアドレスを登録することで
ダウンロード可能となるようなものもあります
これは、おそらくハウスリストを作成し
マーケティングに使うのかな?というかんじですが
どの程度のニーズがあるかを調べたり、顧客管理もできたりして
かなり便利な手法だと思います
このあたりの事情があって、収録されていないのかもしれませんが
これで無事にダウンロード完了です
今回も、実験的要素で行いますので
使用環境は
XAMPP のセキュアを行ったものを使います
/opt/lampp/lampp start
で XAMPP を起動します
次に、ダウンロードしたディレクトリ(デフォルトではダウンロードディレクトリ)
に移動し
unzip clipbucket_2.0.91.zip upload/*
で解凍し
mv upload /opt/lampp/htdocs/clipbucket
で解凍したファイルを
XAMPP のドキュメントルートディレクトリに移動します
ドキュメントルートディレクトリは
apache をインストールし、設定をかえていないなら
/var/www/html
になります
XAMPP の場合
/opt/lampp/htdocs
となります
次に、設定ファイルなどを書き込めるように
所有者の権限を変更します
cd /opt/lampp/htdocs/clipbucket/
でディレクトリ移動し
chown -R nobody ./files
chown -R nobody ./images
chown -R nobody ./cache
chown -R nobody ./install
chown -R nobody ./includes
でその他ユーザの nobody に変更します
ここまで終了したら
次にデータベースの設定をしていきます

電子書籍統合管理ソフト

今回、購入した日経Linux 2011 2月号に
フリーソフト
Calibre の紹介が載っていました
紹介されていた記事によれば
自分のブログサイトをもとに、オリジナルの電子書籍を作成し
iPhone Android 向けに公開も可能とのことでした
さっそく、実験をしてみたのですが
ubuntu 10.10 32bit の方では
インストール、起動には問題がないのですが、
google リーダーでの読み込みにニュースしか読み込みません
自分の登録したRSSは反映されませんでした
また、自分のブログについては
ソースコードが表示され、とても読めません
また、fedora13 でテストしたのですが
サイトを読み込み途中でクラッシュしてしまうため
使えませんでした
今回は、fedora は yum -y install calibre
ubuntu は apt-get install calibre
でインストールしました
この結果、古めのバージョンがインストールされています
現状では解決策がないため、時間があるときに
fedora14 で実験してみようと思います

sed コマンドで文字の置き換え

sed コマンドを使ってファイルの置き換えができます
sed コマンドについての解説については
【 sed 】 文字列の置換,行の削除を行う
に載っています
ただ、ここに載っている限りでは
-i オプションというものがありませんでした
sed コマンドは、ファイルの置き換えなどをしますが、その結果を
オリジナルのファイルに書き込んでくれないので、
結果として別のファイルに出力していました
しかし、
sedで同じファイルに書き戻す
という記事を発見し、
どうやら -i オプションをつけて実行すると
そのまま書き込めるようです(CentOS,Fedora ではできました)
また
$ sed -i.org s/abc/def/g a.txt
a.txt – 処理したファイル
a.txt.org – 元のファイル
というように、バックアップの作成も可能なようです
-i オプションをつけた実行例が
ファイアウォール構築(iptables)
の中に記述されていました
探すには大変なので、
Firefox を使用している場合
「編集」>「検索}
で検索欄を表示し、空欄のところに
sed -i
と記入し、「次を検索」
を続けると見つけることが簡単になります
まだまだ、シェルスクリプトについては勉強中ですが
こういう短縮手段が使えるようになると
vi で開いて設定せずに、シェルスクリプトで
設定ファイルの設定ができるようになれると思います

便利なiPod touch のアプリ

手のひらサイズの iPod touh にアプリを追加してみました
今回、追加したのは
Snap
というアプリです
前回、SSH接続できるアプリを購入したのですが、
あらかじめ接続するIPアドレスなどを知っておかないと接続できません
自宅で、IPアドレスをうっかり忘れたときなどや
いちいち ログインして ifconfig して調べる手間が省けます
WiFi 環境が必要になりますが、このツールを使うことで
接続可能なマシンのIPアドレスやMACアドレス、ping の可否が
判明します
Windows 関連のOSに関してはデフォルトの設定でping が通りません
もう一つ、便利なのが、RSSリーダーで
google リーダーとリンクできる
Bykube のフリー版です
これを使うことで、RSSリーダーを使って効率的に情報を
収集できます
おそらく、探せば ポートスキャンなどの
アプリもあると思います