wifiテザリングで
biblioのwifi-winは接続できた
kindle3は接続できた
bluetoothで
xtbt01動かない
RBK-2000BTJ動かない
BTじゃなくてもいいから外部キーボード使える方法ないかな
SSHの機能を生かせない
2010年12月20日月曜日
2010年8月3日火曜日
railsの多言語化対応
他のサイトからの拡散と個人的メモです。
確認はrailsのバージョンが2.3.8
gettextを使った日本語対応出来ないっぽい
以下を利用
gem sources -a http://gems.github.com
gem install amatsuda-i18n_generators
細かい使い方は…
確認はrailsのバージョンが2.3.8
gettextを使った日本語対応出来ないっぽい
以下を利用
gem sources -a http://gems.github.com
gem install amatsuda-i18n_generators
細かい使い方は…
2010年6月14日月曜日
device-mapper-multipathのconf
[blacklist]
multipathの検索対象としないデバイスを設定する。
設定時はdevの名前のみで除外設定を行う。
対象の記述は正規表現によって解決することができる。
[defaults]
use_frendly_names(noにするとデバイス名がWWIDになる、yesだとmpath+連番の設定に)
[devices]
devicesに設定対象のdeviceを追加する。
dmesgにより表示される認識時に発生した。
vendorはvendorに設定
modelはproductに設定
path_grouping_policyにはグループする方式。(通常はmultibusだが、以下の場合に例外的に設定を変更)
multibus(全ての経路が常にアクティブ)
failover(failover型の経路設計)
group_by_prio(prioを/sbin/mpath_prio_xxxで参照できる。prio_calloutを指定する。)
prio_callout(prioを参照するためのコマンドを指定する)
getuid_callout(scsi_idをとるためのコマンドを指定する)
path_checker(接続状態をチェックする方式。基本的にはreadsector0,rdacだとrdac等)
rr_min_io(接続をラウンドロビンする際のスイッチングの時間)
no_path_retry(接続に失敗した際の再試行回数)
polling_interval(接続に失敗した際の再試行待ち時間)
状態の再読み込みは
# multipath -r
状態の確認は
# multipath -ll
ちなみに動作中なら
[active][ready]
待機状態なら
[active][ghost]
と表示されるようだ
multipathの検索対象としないデバイスを設定する。
設定時はdevの名前のみで除外設定を行う。
対象の記述は正規表現によって解決することができる。
[defaults]
use_frendly_names(noにするとデバイス名がWWIDになる、yesだとmpath+連番の設定に)
[devices]
devicesに設定対象のdeviceを追加する。
dmesgにより表示される認識時に発生した。
vendorはvendorに設定
modelはproductに設定
path_grouping_policyにはグループする方式。(通常はmultibusだが、以下の場合に例外的に設定を変更)
multibus(全ての経路が常にアクティブ)
failover(failover型の経路設計)
group_by_prio(prioを/sbin/mpath_prio_xxxで参照できる。prio_calloutを指定する。)
prio_callout(prioを参照するためのコマンドを指定する)
getuid_callout(scsi_idをとるためのコマンドを指定する)
path_checker(接続状態をチェックする方式。基本的にはreadsector0,rdacだとrdac等)
rr_min_io(接続をラウンドロビンする際のスイッチングの時間)
no_path_retry(接続に失敗した際の再試行回数)
polling_interval(接続に失敗した際の再試行待ち時間)
状態の再読み込みは
# multipath -r
状態の確認は
# multipath -ll
ちなみに動作中なら
[active][ready]
待機状態なら
[active][ghost]
と表示されるようだ
dateコマンドの小ネタ
dateコマンドで先の日付を出力する。
${number}日後で表示
date --date " -${number} days ago "
ちなみに${number}日前なら
知ってる人結構居るのかな。
それとも、もっといい方法あるのかな?
${number}日後で表示
date --date " -${number} days ago "
ちなみに${number}日前なら
date --date " ${number} days ago "
知ってる人結構居るのかな。
それとも、もっといい方法あるのかな?
あるディレクトリから絶対パスとしてディレクトリリストの作成
あるディレクトリからそれ以下のディレクトリを相対パスでディレクトリリストを作成する際のコマンド
sedの分割記号を一般的な/ではなく#を使うことで、複雑なコマンドを利用することなく、
ディレクトリの情報を修正している。
ちなみに隠しディレクトリを削除する場合は以下のように最初が.と/.を削除すればOK
find ${dir_name}/ -type d |sed s#^${dir_name}/##g |grep -v "^\." |grep -v "\/\."|grep -v "^$"
2010年6月9日水曜日
digを使ってIPからホスト名を取り出したりホスト名からIPを取り出したり
IPアドレスからホスト名のみを取り出す
addres_data=( $(dig -x ${ip_address} ptr |grep -v ";" |grep PTR)) ; echo ${addres_data[4]} | awk -F. '{ print $1 }'
ちなみに、結果を変数に代入する場合は。
hoge=$( addres_data=( $(dig -x ${ip_address} ptr |grep -v ";" |grep PTR)) ; echo ${addres_data[4]} | awk -F. '{ print $1 }' )
addres_data=( $(dig -x ${ip_address} ptr |grep -v ";" |grep PTR)) ; echo ${addres_data[4]} | awk -F. '{ print $1 }'
IPアドレスからFQDNを取り出す
addres_data=( $(dig -x ${ip_address} ptr |grep -v ";" |grep PTR)) ; echo ${addres_data[4]}
FQDNからIPアドレスを取り出す
host_data=( $(dig ${host_name} a |grep -v ";" |grep A)) ; echo ${host_data[4]}
ちなみに、結果を変数に代入する場合は。
hoge=$( addres_data=( $(dig -x ${ip_address} ptr |grep -v ";" |grep PTR)) ; echo ${addres_data[4]} | awk -F. '{ print $1 }' )
2010年3月30日火曜日
一定時間ごとに同じコマンドを実行
1画面での表示を行う場合は
watch $COMMAND
を利用する
uptimeなどのように一行での表示の場合には以下のようにする。
while : ; do $COMMAND ; sleep $INTERVAL ; done
e.g.)
while : ; do uptime ; sleep 2 ; done
watch $COMMAND
を利用する
uptimeなどのように一行での表示の場合には以下のようにする。
while : ; do $COMMAND ; sleep $INTERVAL ; done
e.g.)
while : ; do uptime ; sleep 2 ; done
2010年3月11日木曜日
リモートXを利用した際の日本語の利用
VNCでの日本語の利用でもそうだけど
scimがインストールされている環境だと
以下のコマンドの実行でローカルでログインしたように動作する。
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
export XMODIFIERS="@im=SCIM"
scimがインストールされている環境だと
以下のコマンドの実行でローカルでログインしたように動作する。
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
export XMODIFIERS="@im=SCIM"
因みに、bashrcに記述しておけば、
毎回実行する必要は無い。
2010年2月25日木曜日
複雑な変数を使った変数の利用法
変数を使った変数に配列を代入する。
eval "data_${list}=(\${test_array2[@]})"
変数を使った変数のリストからデータを出力するfor文
for list_2 in $(eval "echo \${data_${list}[@]}")
do
echo ${list_2}
done
以下がそれらを使った。テストプログラム
#!/bin?sh
test_array1=(test1 test2 test3)
test_array2=(test4 test5 test6)
for list in ${test_array1[@]}
do
eval "data_${list}=(\${test_array2[@]})"
done
for list in ${test_array1[@]}
do
for list_2 in $(eval "echo \${data_${list}[@]}")
do
echo ${list_2}
done
done
exit 0
eval "data_${list}=(\${test_array2[@]})"
変数を使った変数のリストからデータを出力するfor文
for list_2 in $(eval "echo \${data_${list}[@]}")
do
echo ${list_2}
done
以下がそれらを使った。テストプログラム
#!/bin?sh
test_array1=(test1 test2 test3)
test_array2=(test4 test5 test6)
for list in ${test_array1[@]}
do
eval "data_${list}=(\${test_array2[@]})"
done
for list in ${test_array1[@]}
do
for list_2 in $(eval "echo \${data_${list}[@]}")
do
echo ${list_2}
done
done
exit 0
2010年2月12日金曜日
一気にカーネルコンパイル
こんな感じの一行で。
make ; make install ; make modules ; make modules_install ; depmod -a
そっからmkinitrdして
/sbin/mkinitrd initrd-versionnumber.img versionnummber
grubのmenu.lst書き換えれば動作
make ; make install ; make modules ; make modules_install ; depmod -a
そっからmkinitrdして
/sbin/mkinitrd initrd-versionnumber.img versionnummber
grubのmenu.lst書き換えれば動作
mrtgでV1以外のバージョンでデータを取得
mrtgはデフォルトでv1なんで一部ネットワーク機器からのデータが通常の設定では取れなかったりする。int64などでしかデータが受け渡せないような情報はv2cやv3のみの解放となってたりする。
その場合は以下のようにtargetを書き換えてあげる。
x.x.x.x:public@hoge:::::2
ちなみにコロンのあいだは下のような意味があるようだ
community@router[:[port][:[timeout][:[retries][:[backoff][:version]]]]]
つまりsnmpのポートを変更したりとかできる訳だ。
本家mrtgのサイト見ると
並列で取得作業をさせることが出来たりとか
結構面白い
その場合は以下のようにtargetを書き換えてあげる。
x.x.x.x:public@hoge:::::2
ちなみにコロンのあいだは下のような意味があるようだ
community@router[:[port][:[timeout][:[retries][:[backoff][:version]]]]]
つまりsnmpのポートを変更したりとかできる訳だ。
本家mrtgのサイト見ると
並列で取得作業をさせることが出来たりとか
結構面白い
2010年2月11日木曜日
ext2,3のディスク領域を一気にコピー
同じ容量ならddコマンドでも出来ますが、違う容量でも。
(例)sda1をsdb1にコピー
まずはバックアップ先のディスクをフォーマットしておく。
mkfs.ext3 /dev/sdb1
マウントしてマウント先のディレクトリに移動
mkdir /media/test
mount -t ext3 /media/test /dev/sdb1
cd /media/test
dump及びrestoreコマンドを利用
dump -0uf - /dev/sda1 | restore -rf -
これでオッケイ
ちなみに
ssh hoge@hogehoge 'dump -0uf - /dev/sda1 ' | restore -rf -
とか出来たりする
(例)sda1をsdb1にコピー
まずはバックアップ先のディスクをフォーマットしておく。
mkfs.ext3 /dev/sdb1
マウントしてマウント先のディレクトリに移動
mkdir /media/test
mount -t ext3 /media/test /dev/sdb1
cd /media/test
dump及びrestoreコマンドを利用
dump -0uf - /dev/sda1 | restore -rf -
これでオッケイ
ちなみに
ssh hoge@hogehoge 'dump -0uf - /dev/sda1 ' | restore -rf -
とか出来たりする
touch diamond(S21HT)用のVNCSERVER設定
単なるメモレベルですが
windows mobile用のVNC viewerを入れたtouch diamondに合わせた起動コマンド
vncserver -geometry 450x535 -depth 16
windows mobile用のVNC viewerを入れたtouch diamondに合わせた起動コマンド
vncserver -geometry 450x535 -depth 16
2010年1月27日水曜日
device-mapper-multipathを使う
ファイバチャネルのシステムやiscsiなどを使って
複数のストレージ接続を一本の経路として使う場合に
multipathを使用する。
特にRHEL5.x(CentOS5.x)でファイバ環境を利用する場合には
利用することが多くなるとおもう。
4.xだとmultipathドライバが提供されていたが、
ドライバが見つからないのはこれがあるから?
インストール時から利用する場合は
mpathを付けることで自動で動作する。
起動後であれば
/etc/multipath.conf
のファイルの中の
#blacklist {
# devnode "*"
#}
この部分をコメントアウトして、
再起動を行う。
複数のファイバで単一のストレージを参照する場合に、
設計によっては片方がつながっていると片方からはブロックデバイスにアクセス出来ない
問題が発生する。、
この場合にmultipathを有効化していないと
ブロックデバイスが見つからないエラーが発生する上に
起動時やブロックデバイスのチェックをするときに
非常に長い時間のウェイトがかかる
kernel: end_request: I/O error, dev sdf, sector 0
こんな感じのデバイスIOエラーが発生する。
これはmultipathを適用したとしても
発生はするが、長い時間のウェイトは掛からない。
multipathの状態の確認は
# multipath -ll
を利用することで確認できる。
そうすると経路がtree式で表示され
activeか確認することができる
有効な状態でデータをやり取りしてファイバを抜いた場合の挙動は
ghost側であれば転送も止まらず無影響にて通信し続け
ready側であれば一時的に転送は止まるが
データの欠落は起きない。
複数のストレージ接続を一本の経路として使う場合に
multipathを使用する。
特にRHEL5.x(CentOS5.x)でファイバ環境を利用する場合には
利用することが多くなるとおもう。
4.xだとmultipathドライバが提供されていたが、
ドライバが見つからないのはこれがあるから?
インストール時から利用する場合は
mpathを付けることで自動で動作する。
起動後であれば
/etc/multipath.conf
のファイルの中の
#blacklist {
# devnode "*"
#}
この部分をコメントアウトして、
再起動を行う。
複数のファイバで単一のストレージを参照する場合に、
設計によっては片方がつながっていると片方からはブロックデバイスにアクセス出来ない
問題が発生する。、
この場合にmultipathを有効化していないと
ブロックデバイスが見つからないエラーが発生する上に
起動時やブロックデバイスのチェックをするときに
非常に長い時間のウェイトがかかる
kernel: end_request: I/O error, dev sdf, sector 0
こんな感じのデバイスIOエラーが発生する。
これはmultipathを適用したとしても
発生はするが、長い時間のウェイトは掛からない。
multipathの状態の確認は
# multipath -ll
を利用することで確認できる。
そうすると経路がtree式で表示され
activeか確認することができる
有効な状態でデータをやり取りしてファイバを抜いた場合の挙動は
ghost側であれば転送も止まらず無影響にて通信し続け
ready側であれば一時的に転送は止まるが
データの欠落は起きない。
不必要な情報を一気に削除
コメントも含まれた一般的コンフィグファイルから
コメント以外の行だけを表示する
$ grep -v ^# hogehoge.cfg |cat -s
作業ログから実行データで、不必要なメタデータを削除する
$ grep -v ^+ hogehoge.log | tr -cd '[:print]\n' | cat -s
こんな感じかな
コメント以外の行だけを表示する
$ grep -v ^# hogehoge.cfg |cat -s
作業ログから実行データで、不必要なメタデータを削除する
$ grep -v ^+ hogehoge.log | tr -cd '[:print]\n' | cat -s
こんな感じかな
2010年1月21日木曜日
REDHATならこんなカーネルコンパイルはいかが?
普通にカーネルを解凍して
コンフィグを
make menuconfig
make xconfig
make gconfig
なんかで作成する。
bootのところにconfigファイルが有ったりするので、
それを解凍したディレクトリのルートに.configにして置いてから
変更すると楽になったりする。
$cp /boot/config-x.x.x-* ./.config
こんな感じで
そんでもって、
make rpm
を使うとコンパイル後にrpm化してくれる。
出来たら、
#rpm -ivh /usr/src/redhat/RPMS/i386/kernel-x.x.x.rpm
見たいな感じで新しいカーネルをインストールして
# mkinitrd /boot/initrd-x.x.x x.x.x
でinitファイルを作成したら、
grub.confを作成して終了
title Fedora Core (x.x.x)
root (hd0,0)
kernel /vmlinuz-x.x.x ro
initrd initrd-x.x.x
root (hd0,0)
kernel /vmlinuz-x.x.x ro
initrd initrd-x.x.x
こんな感じで、作るとrpm化されて運用も楽だし、
インストールも簡単だったりする。
makeにrpmを入れてくれた人に感謝
grubを修正しようと思ったら
RHLでインストールディスク入れてgrubの修正しようと思ったら、
うまく修正されないでやんの。
なんてこと良くあるので、grubコマンド使ってmbr作ってやるってやつです。
とりあえずインストールディスクから
linux rescueに入る。
起動後はマウントしてもしなくても可
grubコマンドからgrubコンソールを呼び出し
英語キー配列になる。
grub> install (hd0,0)/grub/stage1 (hd0) (hd0,0)/grub/stage2 (hd0,0)/grub/manu.lst
でhd0のmbrにインストール
終わったら、再起動するとgrubコンソールだけ立ち上がるので、
root (hd0,0)
kernel カーネルファイル root=ルートになるデバイス名(例 /dev/sda1 LABEL=/などなど)
initrd initファイル
boot
のコマンドを打てば起動するので起動後に
grub-install /dev/sda
なんかでインストールすると
次からはコマンド打たなくても起動します。
BASHで使える小技集
1.
文字列を正規表現で判定したい
if echo ${check_str} grep ${word} ; then
fi
2.
サブ関数を実行しての判定
if sub_func ; then
fi
sub_funcの戻りが0だと真、0意外だと偽になる。
3.
ある、一定時期より古いファイルを表示する
find [ directory ] -mtime +number -print
例)
find /usr -mtime +3 -print
3日以前のファイルを表示する
-printを-exec rm {}にすると選択したファイルを削除する
4.
変数の名前を変数を使って作成
eval "hoge${hogehoge}=\"data\""
5.
数字の計算
$[ number + number ]
6.
CSVデータのある項目だけを配列にとりたい
array_name=(`cat file_name awk -F, '{print ${number} `)
yumやup2dateで使用できるリポジトリ作成
CentOSやRHELで構築作業をするときや
一括で同一バージョンにアップデートする場合に
同一箇所からyumを使って作業をしたいときに
配布サーバを作成したい。
そのときは、配布元サーバにftpやapacheをインストールした後に
rpm群を決まったディレクトリに配置する。
以下のコマンドを実行する
createrepo ${dir_name}
これでクライアント側のyumの/etc/yum.repo.dにリポジトリデータを入れれば
yumで通信することができる
ちなみにローカルのファイルからアップデートやインストールする時は
baseurlのアドレスの頭を例によってfile:///で始めると良い
一括で同一バージョンにアップデートする場合に
同一箇所からyumを使って作業をしたいときに
配布サーバを作成したい。
そのときは、配布元サーバにftpやapacheをインストールした後に
rpm群を決まったディレクトリに配置する。
以下のコマンドを実行する
createrepo ${dir_name}
これでクライアント側のyumの/etc/yum.repo.dにリポジトリデータを入れれば
yumで通信することができる
ちなみにローカルのファイルからアップデートやインストールする時は
baseurlのアドレスの頭を例によってfile:///で始めると良い
HTTPSの接続テスト用コマンドとsslの起動に関して
単なる覚書ですが、
以下のコマンドで可能
openssl s_client -connect localhost:443
apachectlのstartsslが使えなくなるって事で
対応はどうしたら良いか調べてみたら
コンフィグの中のDefine SSL
を消しておけって書いてあった。
2.2系からは対応していないらしい
登録:
投稿 (Atom)