ラベル Linuxコマンド の投稿を表示しています。 すべての投稿を表示
ラベル Linuxコマンド の投稿を表示しています。 すべての投稿を表示

2010年9月28日火曜日

Ubuntu+Wicd(無線LAN接続ツール)の設定覚書

OS Ubunto上のWicdを使って無線LAN接続を試みるが接続先がステルスAPのためデフォルトでは接続できない。
その対策を書き留める。

A.Wicdでの設定

参考URL:デジモノ買い物欲しいもの

  1.  Wicd Network Managerを起動する。
  2. アクセスポイントがESSIDをブロードキャストしないステルスモードになっているときは、hiddenをクリックしてESSIDを入力。そうでない場合は、高度な設定でキー他を入力。
  3. 「このネットワークに自動的に接続」をチェック。
以上で、以後再起動しても自動的に接続されるようになるらしい。


B.テンプレートの修正で対応

参考URL:幻想熊日記


「sudu gedit」で以下のファイルを開く。

/etc/wicd/encryption/templates/wpa-psk

※赤字部分は使用している環境に合わせて変える(wpa等)。

以下の通り修正する。

修正前:scan_ssid=$_SCAN
修正後:scan_ssid=1
保存して終了する。

C.confファイルを修正

参考URL:Ubuntuを入れてみた。

1. /etc/wpa_supplicant.confがこんな感じ↓
network={
        scan_ssid=1
        ssid="ssid name"
        key_mgmt=WPA-PSK
        proto=WPA
        pairwise=TKIP
        group=TKIP
        psk=WPAキー(16進数で)
}
これは別の設定例 
ap_scan=1
ctrl_interface=/var/run/wpa_supplicant
     network={
     ssid="myessid"
     scan_ssid=0
     key_mgmt=NONE
     wep_key0="PASSKEY"
     wep_tx_keyidx=0
     priority=5
}
こんなんもありやした
ctrl_interface=/var/run/wpa_supplicant # 必須,変更不可?
ctrl_interface_group=0 # このグループ名/グループIDの人のみ設定可能.0 なら root
ap_scan=1 # ap を scan する (笑
network={
     ssid="youressid"                                      # ESSID
     key_mgmt=NONE                                      # WEP または 暗号なしなら NONE
     wep_key0="ABCDEFGHIJKLM"                  # WEP KEY."" で囲んである時は文字列
     wep_key1=4142434445464748494A4B4C4D   # WEP KEY.16進なら囲まない
     wep_tx_keyidx=1                                       # 使う KEY 番号
}
2. /etc/network/interfacesがこんな感じ↓
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

auto lo
iface lo inet dhcp
その他 参考URL

・D4
・きれいさっぱり、逝くぜ!

2010年7月17日土曜日

ffmpegのオプション設定 実際の変換結果

CentOS5.5にfmpegをインストールして、実際に変換を行ってみた。
Webに掲載するため、FLVへの変換試験です。

FFmpegのバージョン

FFmpeg version 0.5.2
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
元動画(Canon5DMarkⅡのフルハイビジョン映像)
ファイル名:test.mov
コーデック名:H264
フレームレート:30
再生時間:50s
ビットレート:40,309,193
幅:1920
高:1088
音声コーデック:pcm_s16le
音声ビットレート:44100
ファイルの大きさ:256MB
FFmpegのオプション設定
  • 「-i」 インプットファイルを指定
  • 「-b」 変換ビットレートを指定、1000kb/s とkb/sを明示的に指定しないといけなかった。
  • 「-t」 50秒を全てエンコすると膨大な時間を要するので、「-t」オプションで 「20」を指定し、最初から20秒間をエンコすることにする。
  • 「-s」 また、フルハイビジョンでWeb上に公開することは無いと思われるので、「-s」オプションで「640x360」を指定した。
  • 「-ar」 音声ビットレートは明示的に「-ar」で「44100」を指定した。
  • 「-y」 出力ファイルの上書き指定
Test1 1Pass 4000kb/s
ffmpeg -i test.mov -b 4000kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_4000kb_1pass.flv
Test2 1Pass 2500kb/s

ffmpeg -i test.mov -b 2500kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_2500kb_1pass.flv
Test31Pass 1400kb/s
ffmpeg -i test.mov -b 1400kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_1400kb_1pass.flv
Test4 1Pass 800kb/s

ffmpeg -i test.mov -b 800kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -y test_640_800kb_1pass.flv

Test5 2Pass 4000kb/s

ffmpeg -i test.mov -b 4000kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y ta_640_4000kb_2pass.flv

Test6 2Pass 2500kb/s

ffmpeg -i test.mov -b 2500kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y test_640_2500kb_2pass.flv

Test7 2Pass 1400kb/s

ffmpeg -i test.mov -b 1400kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y ta_640_1400kb_2pass.flv

Test8 2Pass 800kb/s

ffmpeg -i test.mov -b 800kb/s -t 20 -s 640x360 -mbd rd -g 20 -ar 44100 -pass 2 -passlogfile log -y ta_640_800kb_2pass.flv



結果・考察


----------Test1   Test2  Test3   Test4  Test5  Test6  Test7  Test8
Pass      1     1     1     1     2     2     2     2
BitRate   4000   2500   1400   800   4000   2500   1400   800
大きさ   10.25MB 6.52MB 3.78MB 2.07MB 10.25MB 6.45MB 3.59MB 1.97MB
画質     ++++   +++    +++    +    ++++   +++    +++    +

  • 元画質が良ければ、1Pass も 2Pass も遜色無いし、出力ファイルの大きさにも差が無い
  • 2500kb/sと1400kb/sでは、差があまり見られなかった。1280x 720の場合には差が見られるようだ。
  • 800kb/sまでビットレートを落とすと明らかに画質が低下した。
  • 今回の試験の結果、1Pass、1200-1500kb/sで変換していこうと思う。
FFmpegのオプションは、沢山ありすぎて、まだまだ検討の余地はあると思うが、それよりも、バージョンの違いにより、指定方法が違ったりするのが困ったものだ。

2010年7月8日木曜日

ffmpegのオプション設定 動画変換編

映像を他形式へ変換する

MobileHackerz Knowledgebase Wiki を参考に設定してみた。

ffmpeg -i input_file -mbd 1 -g 20 -ar 44100 -y output_file
オプションの説明
  • -i <filename>  インプットファイル名を指定する
  • -mbd <mode>  マクロブロックのモードを決定 : Default = 0
  • -g <gop_size>  GOP(Group Of Picture)のサイズをフレーム数で指定する : Default = 12
  • -ar <rate>  サンプリング周波数 (in Hz)
  • -y   同名ファイルがあった場合アウトプットファイルを上書きする
  • output_file 出力ファイル(拡張子で出力形式を判断しています)
注意点
もう少しトライしてみないと分からない・・・

ffmpegのオプション設定 サムネイル画像編

映像からサムネイル画像を取り出す

MobileHackerz Knowledgebase Wiki を参考に設定してみた。

ffmpeg  -ss  5  -i  input_file  -s  140x100  -f  image2  -vframes  1  -y  output_file
オプションの説明
  • -ss <time_off>  変換開始時間をセットする(hh:mm:ss.ms 又は、s)
  • -i <filename>  インプットファイル名を指定する
  • -s <size>    フレームサイズの設定(WxHか簡略名)数値は必ず偶数で指定する、奇数の場合はエラーが出ます。
  • -f <fmt>    強制的にfmtで指定したフォーマットを適用する(画像として出力)
  • -vframes <number> 変換するビデオフレーム数
  • -y    同名ファイルがあった場合アウトプットファイルを上書きする
  • output_file    出力ファイル(拡張子で出力形式を判断しています) 
注意点
オプション [-ss]の位置は[-i]の前においた方が良いようだ。

2010年6月20日日曜日

CentOS Server on VMware Workstation でクローン作成

現在、hiyokoが公開しているサーバーは、VMware Workstation 上で CentOS5.4 を稼動・公開しています。

CentOS を導入しているHDDは、VMware の起動時にスナップショット作成するよう設定していましたがここに来て容量が厳しくなってきたため、大きいHDDにクローン移行を試みた。

A.クローンの概要

クローンは既存の仮想マシンのコピーです。その既存の仮想マシンは、クローンの親になります。クローン処理が完了すると、クローンは独立した仮想マシンとなります。

  • クローンに行った変更は、親仮想マシンに影響を与えません。親仮想マシンに行った変更も、クローンには表示されません。
  • クローンのMACアドレスとUUID は、親仮想マシンのものとは別になります。
仮想マシンの現在の状態を保存してその状態を復元できるようにするには、スナップショットを作成します。仮想マシンのコピーを作成して個別に使用する場合は、クローンを作成します。
クローンは独立した仮想マシンですが、リンククローンの場合には仮想ディスクを親仮想マシンと共有します。

今回の目的では、リンククローンではなく、クローンを行う必要がありそうです。
また
MACアドレスが別のものになるということは、現在稼動中の CentOS は、固定アドレスを割り当てていますが、これが違うものになるということですね。したがってクローンが出来上がったら、CentOS上のコンソールでネットワークの設定をいじる必要があるということです。

B.手順

1.クローンの作成(VMware Workstation上にて)
  • VMware Workstation を起動しクローンする仮想マシンを読み込みます。
  • クローンする仮想マシンのタブを選択
  • メニュー
  • VM(M)
  • クローン作成(O)
  • ウイザード 次へ(N)
  • 「仮想マシンの現在の状態」にチェック 次へ(N)
  • 「完全クローンの作成(F)」にチェック 次へ(N)
  • 「仮想マシン名(V)」に名前を入力 「格納場所(L)」を設定し 完了
  • しばし待つ

    事前に割り当てたハードディスクは、事前に割り当てないディスクに変更されていました。
    大きくHDDを割り当てていたため、この結果には助かりました。1.2TB→300GB
2.CentOS上にて

CentOSは固定アドレスで運用しているため、netデバイスを書き換えます。
  • # system-network-config コマンドで固定アドレスの設定
  • # /etc/rc.d/init.d/network restart ネットワークを再読み込み
  • # ifconfig コマンドで確認
以上

2010年1月20日水曜日

abコマンドによるApacheサーバーの測定

Apacheサーバーの読み込み速度の向上を目指す。

まずは測定から
1回目

[root@localhost ~]# ab -n 100 -c 10 http://xxxx-net.jp/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking xxxx-net.jp (be patient).....done


Server Software:        Apache
Server Hostname:        xxxx-net.jp
Server Port:            80

Document Path:          /
Document Length:        37584 bytes

Concurrency Level:      10
Time taken for tests:   28.921658 seconds
Complete requests:      100

Failed requests: 79   (Connect: 0, Length: 79, Exceptions: 0)
Write errors:           0
Total transferred:      826546 bytes
HTML transferred:       789264 bytes
Requests per second:    3.46 [#/sec] (mean)
Time per request:       2892.166 [ms] (mean)
Time per request:       289.217 [ms] (mean, across all concurrent requests)
Transfer rate:          27.90 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       51  887 2012.3     64    7519
Processing:   290 1933 2688.8   1083   15819
Waiting:      289 1864 2673.5   1063   15819
Total:        393 2821 3243.5   1224   15896

Percentage of the requests served within a certain time (ms)
  50%   1224
  66%   2863
  75%   3277
  80%   3749
  90%   7847
  95%  10987
  98%  15701
  99%  15896
 100%  15896 (longest request)
「Failed requests: 79」なんでだろう?

2回目
[root@localhost ~]# ab -n 100 -c 10 http://xxxx-net.jp/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking tachibana-net.jp (be patient).....done


Server Software:        Apache
Server Hostname:        xxxx-net.jp
Server Port:            80

Document Path:          /
Document Length:        0 bytes

Concurrency Level:      10
Time taken for tests:   22.197865 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      36400 bytes
HTML transferred:       0 bytes
Requests per second:    4.50 [#/sec] (mean)
Time per request:       2219.786 [ms] (mean)
Time per request:       221.979 [ms] (mean, across all concurrent requests)
Transfer rate:          1.58 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       52  513 1073.0     64    3177
Processing:   285 1652 2012.3    989   13347
Waiting:      285 1651 2012.3    989   13346
Total:        339 2165 2563.8   1283   16357

Percentage of the requests served within a certain time (ms)
  50%   1283
  66%   1750
  75%   2931
  80%   3542
  90%   4922
  95%   7382
  98%  11485
  99%  16357
 100%  16357 (longest request)

3回目
[root@localhost ~]# ab -n 100 -c 10 http://xxxx-net.jp/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking tachibana-net.jp (be patient).....done


Server Software:        Apache
Server Hostname:        xxxx-net.jp
Server Port:            80

Document Path:          /
Document Length:        0 bytes

Concurrency Level:      10
Time taken for tests:   29.39944 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      36400 bytes
HTML transferred:       0 bytes
Requests per second:    3.44 [#/sec] (mean)
Time per request:       2903.994 [ms] (mean)
Time per request:       290.399 [ms] (mean, across all concurrent requests)
Transfer rate:          1.21 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       52  954 2424.7     65    9165
Processing:   288 1633 2457.4    965   13319
Waiting:      288 1632 2457.3    963   13318
Total:        341 2587 3746.6   1221   21347

Percentage of the requests served within a certain time (ms)
  50%   1221
  66%   1653
  75%   2385
  80%   2710
  90%   8585
  95%  10120
  98%  20832
  99%  21347
 100%  21347 (longest request)


次回から
1.Apacheのキャッシュ機能を有効にした場合
2.PHPのアクセラレーターを使った場合
3.Xoopsモジュールのキャッシュを使用した場合

を調べてみることにします。どうなることやら・・・

2009年12月31日木曜日

Gallery からGallery2へのデータ移行(成功)

昨年の5月に旧サーバーのGalleryから新サーバーのGallery2へデーター移行を試みましたがうまく行っていませんでした。そのことが元で、サーバーの完全移行をあきらめました。

以前の記事 Gallery からGallery2へのデータ移行

その中で

Server開設当時(平成14年頃)から平成16年度まで11892枚(albums1)、平成17年度から現在まで18822枚(albums2)の画像をアップしており、このデータを新しいServerにどのようにして移行するか頭を悩ましています。
albums1(Shift-JIS) --> MySQL(UTF-8)
サーバー開設当時は、Galleryは日本語をサポートしていなかったため、設定ファイルを無理やり日本語化して使用していました。
日本語を正式にサポートしてまもなくサーバーを変更しその機会に新規にGallery Ver1(日本語サポート版)をインストールしました。(album2ですね)
当時、どうにかしてalbum1とalbum2を統合しようと試みましたが私には無理でした。
さて、今回こそはと意気込みながらトライしました。

試したことその一
・galleryデータディレクトリー内、album.datファイルの文字コードをnkfコマンドを使って変換
・その後、gallery1インポートを行う。
 見事に失敗!以前も同じようなことを試したかも・・・


試したことその二

gallery2の管理画面を良く見てみると、「アイテム追加」(ローカルホスト内の指定フォルダを検索してファイルをインポートする)機能があります。
よく調べてみると、何とか使えそうです。

1.バックアップをリストア
今回は、バックアップしていた /backup/backup_albums.tar.gz を /backup/albums にリストアし、そこからデータを読み込みインポートします。
[root@centos /]# cd /backup
[root@centos backup]# mkdir albums
[root@centos backup]# cd albums
[root@centos albums]# tar -xvzf /backup/backup_albums1.tar.gz
2.アルバムタイトルの保存
①albumdb.datの文字コード変換
ごみファイルを削除する前に、まず、アルバムのタイトルを保存しておく必要があります。
それには、albumsディレクトリートップに存在する albumdb.dat の文字コードをUTFに変換します。
[root@centos albums]# find . -type f -name 'albumdb.dat' -print0 | xargs -0 nkf -SeLu --overwrite
②データのインポート画面からタイトルをコピー
gallery2→[サイト管理]→[管理オプション]→[インポート]→[galley1]
「Gallery 1のアルバムディレクトリのパス 」を入力
/backup/albums
 インンポートするディレクトリーを選択(チェック)し、次へ
 ディレクトリー名とタイトル名が出現するので、全てコピーし、ローカルPCに保存

3.画像ディレクトリー内のごみファイルの削除
次に問題になるのが、各ディレクトリーに存在する、album.datやサムネイルファイル、リサイズファイルその他ごみファイルやディレクトリーです。
そこで、「特定位置の特定ファイルを全て捜して削除する」方法で削除します。

[root@centos /]# find /hoge -name hogehoge* -exec rm -f {} \;
4.ローカルホスト内のディレクトリーからインポート
albumsディレクトリーをWinSCPで確認し、いよいよデーターインポートを行います。
①インポート先のアルバムを作成
②作成したアルバムにインポート

5.アルバム名を変更し完了
読み込んだアルバムを開くと、データが保存されているでしょう。
しかしタイトル名は「ディレクトリー名」になっているので、2.-②で保存したタイトル名をカットアンドコピーし終了。

今回は成功しました。

特定位置の特定ファイルを全て捜して削除する

新サーバーを立ち上げ、ぼちぼちと軌道に乗りはじめた今日この頃です。
さて、ここ数年来のデータ移行も徐々に進みつつありますが、どうしても簡単にいかないものもあります。
データーの中には不要なファイルが散在しており、その処理に苦労しています。

今回、あるディレクトリー配下の特定ファイルを削除する必要になりました。

下記の条件

  • /hoge ディレクトリー以下に存在するファイルの中で
  • hogehogeを含むファイル
[root@centos /]# find /hoge -name hogehoge* -exec rm -f {} \;
意外と簡単に削除できました。

2009年12月26日土曜日

tarで圧縮する場合に、特定のファイルを除外する方法

サーバ上の Web コンテンツをバックアップしていると、写真や動画のコンテンツが充実してくると途端に容量がかさんできます。
動画ファイルなど容量の大きいものはディスク容量が気になるので除外してバックアップできれば助かりますし、全体バックアップは週一くらいで、別途バックアップしておく必要はあるでしょう。
今回は、いつもバックアップに使っている tar でファイルを除外する方法です。ディレクトリも同じです。

 hoge ディレクトリ配下から wmvファイルを除いて hoge.tar.gz に出力

[root@Cent-net ~]# tar zcvf hoge.tar.gz --exclude *.wmv hoge/*

2009年12月20日日曜日

tarで圧縮する場合に、特定のディレクトリーを除外する方法

CentOS 5.4
Tar コマンド

次のようなディレクトリー構造の場合に

/
/home/UserDir/www/
/home/UserDir/www/111.txt
/home/UserDir/www/222.txt
/home/UserDir/www/AAA
/home/UserDir/www/AAA/aaa.txt
/home/UserDir/www/AAA/bbb.txt
/home/UserDir/www/BBB
/home/UserDir/www/BBB/ccc.txt
/home/UserDir/www/BBB/ddd.txt
/home/UserDir/www/CCC
/home/UserDir/www/CCC/eee.txt
/home/UserDir/www/CCC/fff.txt


下記の条件で圧縮するには
  • wwwより下位のディレクトリー・ファイルを圧縮する
  • www/AAA www/BBB を除外する 
  • バックアップ場所は /backup
  • バックアップファイル名は backup_UserDir_www.tar.gz

次のように --exclude を使う
[root@Cent-net ~]# cd /home/UserDir/www
[root@Cent-net www]# tar czvplf /backup/backup_UserDir_www.tar.gz . --exclude backup_UserDir_www.tar.gz --exclude AAA --exclude BBB
*バックアップファイル名と --exclude の間に「.」ドットが必要 

橙色のファイル及びディレクトリーが圧縮されます。


2008年5月8日木曜日

Linux(CentOS5.1)での 「 \ 」 半角バックシュラッシュについて

サーバーのメンテナンス中に起きた「 \ 」 半角バックシュラッシュのトラブルについての報告

SSH(Poderosa)でサーバーにログインし、あるディレクトリーをリネームしている時悲劇は起きました。

[root@server ~]# ls
albums install.log

[root@server ~]# mv xxxxxx xxxxxx_org

と入力したつもりが 「 _ 」が「 \ 」 となってしまい
[root@server ~]# mv xxxxxx xxxxxx\org

[root@server ~]#ls
xxxxxx\org install.log
ディレクトリー名の中に「 \ 」が含まれてしまいました。

こうなると「 \ 」を含んだディレクトリーは削除できません。

と・・・

書き込んだところで、今ターミナルで再検証してみると簡単に削除できます。
ん?なんか変だな・・・

よく考えてみると、どうしても削除できなかった時と今回では少し現象が違います。
  • ターミナルでは削除できなかった、今回は普通に削除できる
  • WinSCP上から「 \ 」を含むディレクトリーが見えなかった、今回は xxxxxx¥org として見えている。¥は半角です。
よく分りませんが今回は再現できませんでした。
いづれにせよ、上記のような[ \ ]を含むディレクトリーがどうしても削除できない場合は
[root@server ~]# rm -rf xxxxxx*\\*org
という風に入力して削除できました。
こんなことは常識かな・・・、取り合えづ亡備録として残しておこう