2012年12月27日木曜日

起動後一定時間経ったら○○の処理をする

というスクリプトの例
uptimeから取ってくる
以下は3時間経ったらhoge.shを実行する

2012年12月24日月曜日

unboundのインストールと初期設定

1.インストール
普通にaptで入れる

2.初期設定
unbound.conf
interface: 0.0.0.0
access-control: 192.168.0.0/24 allow

3.レコード設定
local-data: "hoge.net.          IN A 192.168.0.4"
local-data: "hoge.net.          IN MX 10 hoge.net."
local-data-ptr: "192.168.0.4   hoge.net."
※ hoge.netのAレコードを設定してしまうと、hoge.netのMXレコードを
本物のDNSに問い合わせないで無しで返してしまうので注意

4.ulimitの設定
warningsがうるさいなら
ulimit -n 4140
を/etc/init.d/unboundの頭の方に書いておくと良いんじゃないでしょうか?

2012年12月23日日曜日

Debianにpostfixadminをインストール

1.インストール
# apt-get install postfixadmin

2.Webサーバ設定
/etc/postfixadminに設定ファイルがあるのでリンクを張る
今回はlighttpdで
# ln -s /etc/postfixadmin/lighttpd.conf /etc/lighttpd/conf-enabled/60-postfixadmin.conf
# /etc/init.d/lighttpd restart

3.初期セットアップ
http://yourdomain.com/postfixadmin/setup.php
にアクセスしてセットアップ
初期パスワードとadminアカウントを作成

4.その他の設定
/usr/share/doc/postfixadmin/DOCUMENTS
↑を読む


2012年12月21日金曜日

2012年12月19日水曜日

ビルドするためにインストールするパッケージをまとめて

入れる方法は
↓みたいにする
この例だとvimに必要なパッケージ
apt-get build-dep vim

http://vim-jp.org/docs/build_linux.html

2012年11月25日日曜日

Web上でプログラミングの勉強が出来るサイト


http://www.codecademy.com
http://www.codeschool.com/

雨の音を流してくれるサイト


http://www.rainymood.com/
http://raining.fm/


参考リンク
http://www.lifehacker.jp/2012/08/120820_raining_fm.html

AutoHotkeyを使ってTeraTerm + vimを快適にする


Esc押したらIMEをオフにしてくれれば良いので以下のような設定にした
あと、無変換キー+Rでsudoしてくれる設定も追加しておいた

AutoHotkey.ahk

注意点としてはEscがEscを再帰的に呼んで無限ループするので、Escの頭に$を付ける必要があること


IMEのOn/Offの切り替えはえらい人がスクリプトを作ってくれていたので、そっちからコピペ
http://www6.atwiki.jp/eamat/pub/MyScript/Lib/

参考リンク
https://sites.google.com/site/autohotkeyjp/reference/AutoHotkey_L/index

2012年11月24日土曜日

teratermインストール後にやることメモ

Teratermが新しくなっていたので、ここでまとめておく

1.TERATERM.INI


2.KEYBOARD.CNF
https://raw.github.com/gist/4140449/2bad78bfe24a407764f13c7055fc0ed452f1affd/KEYBOARD.CNF
3.テーマファイル
テーマファイルとかあれば
https://raw.github.com/gist/4140449/91748dba84035a7a0f0ac7dfa8b8ec480b8ed93c/yamasita.ini

2012年11月22日木曜日

phpでctagsを使う


phpが入ってるディレクトリで
ctags -a -R --langmap=PHP:.php --php-types=c+f+d+v+i .

でOKみたい

↓で種類みれる
ctags --list-kinds=php

こうすればtagsファイルが作られる
参考リンク
http://blog.veryposi.info/programing/php/php-ctags-vim/

2012年10月28日日曜日

screenfetch



bashで出来たシステムモニタ
各ディストリのマークとか出る

2012年10月20日土曜日

tumblrのショートカットキー

ダッシュボードで使えるよ
j(ジェイ) 次のpostへ移動
k(ケー) 前のpostへ移動
l(エル) like / like解除
n(エヌ) notesを開く / 閉じる
r(アール) reblog(別ウィンドウが開く)
R(Shift+アール) 即時reblog
E(Shift+イー) キュー(投稿予約)へreblog
スペース 動画再生?(未確認)
カーソルキー左 前のページへ
カーソルキー右 次のページへ
z+tab 切り替え

http://dara-j.asablo.jp/blog/2012/10/17/6605357 
http://www.tumblr.com/tips#keyboard_shortcuts

2012年10月16日火曜日

xsetで省電力モードを解除

現在の設定を確認
xset q

DPMSを無効化
xset -dpms
xset dpms force off

DPMSを有効化
xset +dpms 
スタンバイ、サスペンド、パワーオフ時間を設定(有効化時しか意味は無い)
xset dpms 300 600 900




参考リンク
http://kakurasan.ehoh.net/summary/xset.cmd.term.html
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/254usedpmsx3x.html

2012年10月11日木曜日

tumblrのリンクと要素まとめ(使う分だけ)


自分がフォローしている人をブログに表示する
HTMLの編集からどうぞ
    following
    <div>
        {block:Followed}                
                <a href="{FollowedURL}"><img src="{FollowedPortraitURL-48}"/></a>
        {/block:Followed}
    </div>
    {/block:Following}

リンク
(hogeをユーザ名に変更すること)
  • アーカイブ(http://hoge.tumblr.com/archive)
  • ランダム表示(http://hoge.tumblr.com/random)
  • RSS(http://hoge.tumblr.com/rss)
  • 携帯向け簡易表示(http://hoge.tumblr.com/mobile)
  • Like一覧(http://www.tumblr.com/liked/by/hoge)
ログイン時有効リンク

参考リンク
http://tagblr.tumblr.com/post/340724562
http://ryo-skd.tumblr.com/post/311289824/tumblr-tumblr-nplll-mutter

2012年10月9日火曜日

twitterのbotを作る


そんなに難しくないと思った・・・

1.CONSUMER_KEYとCONSUMER_SECRETの取得
アプリの登録を行う
このページから飛んで適当に入力する

2.ユーザに許可してもらいアクセストークンをもらう
スクリプト実行⇒authページ⇒許可を押す⇒数値をメモ⇒スクリプトに入力

  #!/usr/bin/env ruby
  # coding: utf-8
  require 'rubygems'
  require 'oauth'

  OAUTH_CONSUMER_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXX'
  OAUTH_CONSUMER_SECRET='XXXXXXXXXXXXXXXXXXXXXXXX'

  consumer = OAuth::Consumer.new( OAUTH_CONSUMER_KEY , OAUTH_CONSUMER_SECRET , {
    :site=>"http://twitter.com"
  })
  #optprm = { :oauth_callback=>"(コールバック先のURL)" }
  request_token = consumer.get_request_token
  puts "Access this URL and approve => #{request_token.authorize_url}"

  print "Input OAuth Verifier: "
  oauth_verifier = gets.chomp.strip

  access_token = request_token.get_access_token(
      :oauth_verifier => oauth_verifier
  )

  puts "Access token: #{access_token.token}"
  puts "Access token secret: #{access_token.secret}"

3.後はもらったアクセストークン&コンシューマIDでスクリプトを書く
twitter のgemでもoauthのgemでも簡単なことをやる場合はあんま変わんない感じ

#!/usr/bin/env ruby
# coding: utf-8

require 'oauth'
require 'json'

CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXX'
ACCESS_TOKEN = 'XXXX-XXXX'
ACCESS_TOKEN_SECRET = 'XXXXXXXXXXXXXXXXX'

# 下準備
consumer = OAuth::Consumer.new(
  CONSUMER_KEY,
  CONSUMER_SECRET,
  :site => 'http://twitter.com'
)
access_token = OAuth::AccessToken.new(
  consumer,
  ACCESS_TOKEN,
  ACCESS_TOKEN_SECRET
)

# タイムラインを取得して時系列順に表示
response = access_token.get('http://twitter.com/statuses/friends_timeline.json')
JSON.parse(response.body).reverse_each do |status|
  user = status['user']
  puts "#{user['name']}(#{user['screen_name']}): #{status['text']}"
end

# Tweetの投稿
#response = access_token.post(
#  'http://twitter.com/statuses/update.json',
#  'status'=> 'oauth test post2'
#)
  #!/usr/bin/env ruby
  # coding: utf-8
  require 'twitter'

  # ログイン
  Twitter.configure do |config|
    config.consumer_key       = 'XXXXXXXXXXXXXXXX'
    config.consumer_secret    = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    config.oauth_token        = 'XXXXXXX-XXXXXXXXX'
    config.oauth_token_secret = 'XXXXXXXXXXXXXXXXXX'
  end

  #発言する
  #puts Twitter.home_timeline.first.text
  Twitter.update('hoge')

参考リンク
http://d.hatena.ne.jp/shibason/20090802/1249204953
http://rdoc.info/gems/twitter
http://tech.sayama-yuki.net/archives/166

2012年10月2日火曜日

munin2.0が出てるらしい

http://pocketstudio.jp/log3/2012/06/04/new-features-of-munin2/
http://dozen.dip.jp/archives/212

2012年9月30日日曜日

ffmpegの使い方

 ffmpeg -i 入力ファイル 出力ファイル
みたいな感じでOKらしい

ffmpeg -i hoge.flv hoge.mp4
でもいけた

mp3のビットレート調整とかも出来る

ffmpeg -i input.mp3 -ab 128k output.mp3

http://d.hatena.ne.jp/takuya_1st/20120225/1330189927
http://yosilove.blog.shinobi.jp/Entry/603/

2012年9月26日水曜日

rubyのバージョン管理 rbenv試してみた

rvmとかあるらしいけど今回はrbenvを使ってみます

 cd
 git clone git://github.com/sstephenson/rbenv.git .rbenv
 echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
 echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

ここで、シェルのリスタート

次にrbenv installが使えるようにbuildプラグインをインストール
mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git

これでrbenv installコマンドが使えるようになります
インストールできるバージョンを確認
rbenv install -l
インストール
rbenv install 1.9.3-xxxxx
使用中のバージョンを確認
rbenv versions
バージョンの切り替え
rbenv global 1.9.2-p290
リフレッシュ変更を反映
rbenv rehash

2012年9月23日日曜日

2012年8月25日土曜日

TeratermでTTLマクロをショートカットキーで呼び出す

login.ttl
connect '192.168.0.2:23 /nossh /T=1 /W="jitaku" /F=TERATERM_ARERT.INI /K=KEYBOARD.CNF'
wait 'login:'
sendln 'hogehoge'
wait 'Password:'
sendln 'password'
KEYBOARD.cnfに以下を追記
[User keys]
User1=1083,2,sudo.ttl
KEYBOARD.ttlがあるところにsudo.ttlをおく
sendln 'sudo -s'
pause 1
sendln 'passwd'

2012年8月19日日曜日

2012年7月23日月曜日

vimでgitのブラウジングすると便利だよ


という話
gitvというプラグイン:Gitvコマンドからどうぞ

3方向マージ(3 way merge)もGdiffで一発

http://d.hatena.ne.jp/cohama/20120417/1334679297
http://yuku-tech.hatenablog.com/entry/20110427/1303868482

2012年7月19日木曜日

vimのプラグイン管理vundle

便利なのでメモ

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle


http://shu-cream.blogspot.jp/2011/04/2011vimvundle.html

2012年7月9日月曜日

opensslの確認コマンドまとめ

http://chinmai.net/~osakana/tech-memo/wiki.cgi?page=OpenSSL+CSR%2C+%BE%DA%CC%C0%BD%F1%A4%CA%A4%C9%B3%CE%C7%A7%A5%B3%A5%DE%A5%F3%A5%C9

Postfix⇒Gmailへのリレー設定

以下の設定でGoogleのSMTPを中継するようになる main.cf
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_tls_CAfile = /etc/postfix/ssl/cacert.pem
/etc/postfix/sasl_passwd
[smtp.gmail.com]:587 hoge@gmail.com:hogepasswd
以下のコマンドを忘れずに postmap sasl_passwd 参考リンク
http://linux.matchy.net/archives/35
http://stevejenkins.com/blog/2011/06/fixing-postfix-certificate-verification-failed-for-gmail-untrusted-issuer-error-message/
http://giantdorks.org/alain/fix-for-postfix-untrusted-certificate-tls-error/

2012年6月26日火曜日

gitでpushしたらpushした先でワーキングツリーをリセット

それhookで出来るよ

cd .git/hooks/
mv post-receive.sample post-receive
chmod +x post-receive
echo 'cd /home/hoge/huga/' >> post-receive
echo 'git --git-dir=.git reset --hard HEAD' >> post-receive

2012年6月23日土曜日

SSH力を身につけた


sshで繋いじゃった後でも
Enter押してすぐに
~Cでコンソール(helpコマンド使えるよ)
~#でフォワード一覧
~?でヘルプ

↓みたいに.ssh/config書けば多段がいけるらしい
Host humidai
 HostName hoge.co.jp
Host target
 ProxyCommand ssh -W 192.168.x.x:22 humidai


参考リンク
SSH力をつけよう

2012年6月16日土曜日

2012年6月9日土曜日

Linuxからリモートデスクトップ(RDP)

xfreerdpでいけます
apt-get install freerdp-x11

gitでbareじゃない共有リポジトリを作る

共有リポジトリだと作業フォルダが無くて不便なので

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[receive]
        denyCurrentBranch = ignore
コマンドならこう
git config --add receive.denyCurrentBranch ignore
参考リンク http://d.hatena.ne.jp/shokai/20101105/1288968082

2012年6月8日金曜日

Linuxデスクトップのガジェットとか

システムモニタ
・adesklets
・conky
・gdesklets

参考リンク
http://wikiwiki.jp/linux/?FrontPage
http://usamimi.info/~linux/

2012年6月4日月曜日

DebianでKVMを試してみた

こんな感じでDebian Wiki通りにやればOK
-cの後は/dev/cdrom or iso
virt-install -n testos -r 128 --disk path=/tmp/testos.dsk,size=10 --os-type=linux --network bridge=br0 --vncport=5900 --vnclisten=0.0.0.0 -c /tmp/debian.iso
あとはこんな感じでXサーバーにコンソールを出力させた
virt-viewer testos --display=192.168.0.5:0
仮想マシンの削除
virsh destroy testos2
virsh undefine testos2
参考リンク
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/5/html/Virtualization/chap-Virtualization-Managing_guests_with_virsh.html

brctlでブリッジインターフェイスを作成

KVMを使うときに必要になったブリッジインターフェイスの設定メモ コマンドでは以下のようにやればO
 brctl addbr br0
 brctl addif br0 eth0
/etc/network/interfaces
auto lo br0
iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.0.4
netmask 255.255.255.0
gateway 192.168.0.1

iface br0 inet static
bridge_ports eth0
address 192.168.0.40
netmask 255.255.255.0
gateway 192.168.0.1
参考リンク
brctl でLinuxマシンをHUBにする - いますぐ実践! Linuxシステム管理 第2回 KVMの導入と基本的な使い方

2012年5月28日月曜日

2012年5月26日土曜日

lighttpd + zabbixをDebian squeezeにインストール

aptで以下のパッケージをインストール
zabbix-agent #監視される側
zabbix-frontend-php #zabbixのWebインターフェイス
zabbix-server-mysql #zabbixのサーバー(監視する側)
lighttpdに以下を追記
alias.url += (
        "/zabbix" => "/usr/share/zabbix"
        )
なんかログインできなかったので以下のSQLを発行
update users set passwd=md5('hoge') where alias='Admin';
参考リンク
SQLのアップデートの仕方
マニュアル

2012年5月20日日曜日

HA構成のサーバー作るときに使うソフトメモ

複数のサーバーを同一の設定にする Puppet OSインストールを簡略化 kickstart データ同期 DRBD Heartbeat(Pacemaker) 生死監視

2012年5月7日月曜日

lighttpdでSSL設定

Debian(squeeze)でやってみた
1.モジュールの有効化
lighty-enable-mod ssl

2.認証局(CA)の作成
/usr/lib/ssl/misc/CA.sh -newca

最初はエンター
後は対話形式に適当に入力する
入力項目についてはここら辺を参照
A challenge passwordとAn optional company nameは飛ばした

3.サーバーの秘密鍵,CRTの作成
openssl genrsa -out server.key 2048
openssl req -new -days 365 -key server.key -out csr.pem

4.署名(CRT)ファイルの作成
openssl ca -in csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out crt.pem
エラーが出る場合は以下のようにindex.txtを空にする(ここら辺参照)
rm demoCA/index.txt
touch demoCA/index.txt

5. ファイルの設置
ファイルをvim等で適当に編集して
-----BEGIN RSA PRIVATE KEY-----
hogehogehogehoge.....
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
hogehogehogehoge.....
-----END CERTIFICATE-----
みたいになるようにする
あとは再起動でOK

参考リンク
13. SSL自己証明書
Apache/SSL自己証明書の作成とmod sslの設定
Webサーバ「lighttpd」でSSLを使うには ※鍵の作成→署名までを1コマンドでやってる
日本ベリサイン株式会社の解説ページ

2012年5月6日日曜日

LDAPの設定メモ

slapdをインストール

mozillaAbPersonAlpha.schemaを以下へコピーする
/etc/ldap/schema

phpldapadminをインストール
lighttpdのconfに以下を追加
# Alias for pa directory
alias.url += (
    "/pl" => "/usr/share/phpldapadmin",
)

パスワードを忘れたら
dpkg-reconfigure slapd

↓で内容の確認
slapcat

cn=admin...
で始まる行をメモして
phpldapadminにログイン

詳しくはこちら
/usr/share/doc/slapd
本体はこっち?
/usr/share/slapd

参考リンク
Gentoo Linuxな生活​/ThunderBirdアドレス帳をLDAPで悩む

2012年5月5日土曜日

BIND9の設定

  1. インストール
  2. apt-get install bind9
  3. 正引きの設定
  4. named.conf.local
    zone "test" {
        type master;
        file "/etc/bind/db.test";
    };
    
    db.test
    $TTL    1D
    @       IN      SOA     dns.test. root.hoge. (
                             20120505       ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      dns.test.
    main            IN      A               192.168.0.2
    vista           IN      A               192.168.0.3
    dns             IN      A               192.168.0.4
    note            IN      CNAME           dns.test.
    jitaku          IN      A               192.168.0.11
    
  5. 逆引きの設定
  6. named.conf.local
    zone "0.168.192.in-addr.arpa" {
            type master;
            file "/etc/bind/db.testrev";
    };
    
    db.testrev
    $TTL    1D
    @       IN      SOA     dns.test. root.hoge. (
                             20120505       ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      dns.test.
    ;
    2                       IN      PTR             main.test.
    3                       IN      PTR             vista.test.
    4                       IN      PTR             note.test.
    11                      IN      PTR             jitaku.test.
    
  7. セカンダリDNS設定
  8. セカンダリDNSの設定は以下のようにする これでプライマリからゾーン転送されてくる
    named.conf.local
    zone "hoge.jp" {
        type slave;
        file "/tmp/db.hoge";
        masters { 123.123.123.123; };
    };
    
    ゾーン転送(完全転送:AXFR)をエミュレートするには
    nslookup
    server ns.example.co.jp
    ls example.co.jp
    
    digでも出来る
    dig @ns.example.co.jp example.co.jp axfr
    
    http://www.atmarkit.co.jp/fsecurity/rensai/iprotect01/iprotect01.html
  9. その他Tips
  10. フォワーダ設定
    named.conf.options
    forwarders {
        210.130.1.1;
        210.130.0.1;
        8.8.8.8;
        8.8.4.4;
    };
    
    chacheファイルの在り処
    /var/cache/bind/named_dump.db
    
    chacheのクリア
    rndc flush
    
    時間は秒数以外も指定できる
    W 週
    D 日
    H 時間
    M 分
    
    http://kajuhome.com/tips/tips_04_002.shtml
参考リンク http://www.atmarkit.co.jp/flinux/index/indexfiles/index-linux.html#bind8

vimでコマンドをファイル中に書くことができる

その名もモードライン
:h modeline

2012年4月22日日曜日

mysqlのtips

*AUTO_INCREMENTの値をリセットする
ALTER TABLE hogetable AUTO_INCREMENT = 1;

http://www.programming-magic.com/20071126231401/

*列の追加
alter table log add date date after id;

http://www.programming-magic.com/20071004015528/

*列の削除
alter table log drop date;

(logテーブルからdateカラム削除)
http://www.programming-magic.com/20071023000012/

2012年4月15日日曜日

nagios3でのパッシブチェックについて

nagios3でのパッシブチェックは外部コマンドファイル(External Commands)に書き込むことで実現するチェックした結果を名前付パイプ(/var/lib/nagios3/rw/nagios.cmd)に書き込むことでnagios3が拾う

  1. 以下のようなスクリプトを用意する
  2. #!/bin/sh
    echocmd="/bin/echo"
    CommandFile="/var/lib/nagios3/rw/nagios.cmd"
    datetime=`date +%s`
    cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$1;$2;$3;$4"
    `$echocmd $cmdline >> $CommandFile`
    
  3. cronか何かで以下のようにスクリプトを叩く
  4. 引数は4つで最初からホスト名、サービス名、ステータス、メッセージの順でサービス名はservice_descriptionで指定したもの
    ./result.sh localhost HTTP 2 "DOWN MESSAGE"

HOSTのパッシブチェックは以下のようなコマンドで
#!/bin/sh
echocmd="/bin/echo"
CommandFile="/var/lib/nagios3/rw/nagios.cmd"
datetime=`date +%s`
cmdline="[$datetime] PROCESS_HOST_CHECK_RESULT;$1;$2;$3"
`$echocmd $cmdline >> $CommandFile`
こう叩く
./host.sh localhost 0 "OK"


参考リンク
Nagios 3翻訳プロジェクト External Commands
Passive Checks

nagios3で外部コマンドを初期化するには?

nagios3のWebインターフェイス等で行ったステータスを初期化するには /var/lib/nagios3/retention.dat を削除すればOK

2012年4月13日金曜日

lighttpd+nagios3



 lighttpd+nagios3を試してみた

  1. インストール
  2. apt-get install nagios3
  3. CGI設定
  4. /etc/lighttpd/lighttpd.conf
      alias.url += (
              "/nagios3/stylesheets" => "/etc/nagios3/stylesheets" ,
              "/cgi-bin/nagios3" => "/usr/lib/cgi-bin/nagios3",
              "/nagios3/cgi-bin" => "/usr/lib/cgi-bin/nagios3",
              "/nagios3" => "/usr/share/nagios3/htdocs"
              )
    
      $HTTP["url"] =~ "^/nagios3/cgi-bin|^/cgi-bin/nagios3" {
          cgi.assign = ( "" => "" )
              auth.require                 = (
                      "" =>
                      (
                       "method"  => "basic",
                       "realm"   => "nagios",
                       "require" => "user=nagiosadmin"
                      )
    
                  )
      }
    
  5. /etc/nagios3/nagios.cfg
  6. check_external_commands=1
    
  7. パーミッション
  8. # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
    # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
    

参考リンク
http://d.hatena.ne.jp/rx7/20070319/p3
http://d.hatena.ne.jp/turutosiya/20090403/p2
http://d.hatena.ne.jp/ksaito11/20090311/1236725318

2012年3月24日土曜日

bloggerの問題を報告するには?

以下のリンクからどうぞ
悩んでいたクイック編集が出ない問題も載ってた

理由は分からないけど以下のリンクで.jpにリダイレクトされなくなる
http://rdt17.blogspot.com/ncr

2012年3月23日金曜日

Ruby on Railsのインストール

必要なパッケージのインストール

適当に以下のパッケージをインストール
build-essential imagemagick zlib1g-dev libssl-dev libreadline-dev libmagick-dev libmagickcore-dev
libmagickwand-dev sqlite3 libsqlite3-dev automake bison mysql-server mysql-client libmysqld-dev libmysqlclient-dev libcurl4-openssl-dev
libapr1-dev libaprutil1-dev libxslt-dev libxml2-dev
※この時点ではRubyは入れない

RVMのインストール

RVMはRubyのバージョンのスイッチとか簡単に出来るので便利
公式サイトどおりに以下のコマンドですぐインストールされる
curl -L get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

Rubyのインストール

rvm install ruby
rvm list
rvm use 1.9.3 --default

必要なGemインストール

gem install bundler
gem install rails
gem install unicron

その他の設定

あとJavaScriptエンジンが足りないとか起こられたら こちらを参照して設定する
Gemfileに以下を追記
gem 'execjs'
gem 'therubyracer'
rails new hoge
cd hoge
rails server

2012年3月21日水曜日

perlのワンライナーでファイルの一括リネーム

メモしておく
以下の例はファイルの拡張子を残して連番にする例

リネーム前確認
perl -le 'for(@ARGV){$n=$o=$_;$n=~s/.+(\..+)/sprintf("%04d$1",++$i)/e;print "$o => $n"}' *

リネーム
perl -le 'for(@ARGV){$n=$o=$_;$n=~s/.+(\..+)/sprintf("%04d$1",++$i)/e;rename $o,$n}' *

2012年3月19日月曜日

github使ってみた

今更だけどgithub使ってみたときのメモ
とりあえず初期設定は下記参考リンク見ながらやればOK

以下はリポジトリの作成→アップロードまで簡易版のメモ
  1. gitの設定
  2. 名前とe-mailを設定
    git config --global user.name "Firstname Lastname"
    git config --global user.email "your_email@youremail.com"
    
    githubのユーザーIDとアクセストークンの設定 ※アクセストークンはAccount Settings→左メニューのAccount Settingsで見れる
    git config --global github.user username
    git config --global github.token 0123456789yourf0123456789token
    
  3. sshの設定
  4. .ssh/configに以下を書いておく
    Host github.com
            User git
            Hostname github.com
            IdentityFile ~/.ssh/YOUR_PRIVATE_KEY
    
  5. リポジトリの作成
  6. githubにログインして"New Repository"を押せばOK
  7. リポジトリにpush
  8. mkdir repname
      cd repname
      git init
      touch README
      git add README
      git commit -m 'first commit'
      git remote add origin git@github.com:yourid/repname.git
      git push -u origin master
    

感想
コマンドから簡単にWebのホスティングサービスにアップロードできるのは超便利
ただし、非公開のリポジトリは無料ユーザーでは作れないので注意すること


リポジトリの削除はこちらに書いてある通り、リポジトリを開いてAdminから行える 参考リンク
github 超入門
github もうちょい入門
http://help.github.com/win-set-up-git/

2012年3月14日水曜日

CUI(テキストベース)のメッセンジャー

CUIでメッセが出来たらいいなーと思って探してみた

centerim
finch

参考リンク
http://techno-st.net/2009/02/18/cui-im.html
http://d.hatena.ne.jp/goth_wrist_cut/20080128/1201484704

2012年3月11日日曜日

HDDが故障したときにやったこと

/dev/sddが故障を検地 (S.M.A.R.T)

まずはsmartのセルフテストをやってみる
smartctl -t long /dev/sdd

badblocksでHDDをチェック
今回は読み込みチェックだけやった
badblocks -s -v /dev/hda
書き込みチェックもやるなら↓
badblocks -s -v -n /dev/hda
-s 進捗状況表示
-v 詳細表示
-n 非破壊テスト
http://nabe.blog.abk.nu/0245

ファイルシステムが壊れてそうなら
fsck
を使うこと

2012年3月9日金曜日

dwmのキーマップの変更

ソースをダウンロードしてから
makeする

apt-get source dwm

以下のとおり変更
#define MODKEY Mod1Mask
↓
#define MODKEY Mod4Mask

static const char *termcmd[]  = { "uxterm", NULL };
↓
static const char *termcmd[]  = { "x-terminal-emulator", NULL };

make
あとは出来たdwmをフォルダに突っ込めばOK

参考リンク
http://wiki.mma.club.uec.ac.jp/clear/dwm

2012年3月1日木曜日

mysqlを使ってみる

インストールはmysql-clientとmysql-serverを入れればOK

mysqlへの接続
mysql -u root -p

DB一覧の表示
show databases;

databasesの切り替え
use データベース名

テーブルの表示
show tables;

phpmyadminへのログイン
http://192.168.0.1/phpmyadmin/

バックアップ
mysqldump --user=root --password=hoge --all-databases > /tmp/mysql.dump

リストア
mysql -u root -phoge < /tmp/mysql.dump

2012年2月5日日曜日

Catalyst+lighttpd+fastcgiで動かしてみる

Catalyst+lighttpd+fastcgiで動かす場合の設定メモ
今回は下の図のように動かす
Catalystはスタンドアロンで動かすほうが早い気がする
bin-path指定で動かす場合はこちらを参照


  1. conf編集
  2. /etc/lighttpd/conf-enabled/10-fastcgi.confを編集 今回のサーバーではlighttpdは普通のWebサーバーとして使っているので、ポートで切り分ける以下を追加 あとserver.port文を消す
    $SERVER["socket"] == "192.168.0.4:5000" {
          #server.port               = 5000
          fastcgi.server = (
              "" => (  # the extension is empty because we want to match on any extension
                  "myserver1" => (
                      "host" => "192.168.0.4",
                      "port" => 5001,
                      "check-local" => "disable"
                  )
              )
          )
      }
      $SERVER["socket"] == "192.168.0.4:4000" {
      }
    
  3. Catalystの起動
  4. ポート越しにやりとりするからパーミッションとかは適当でOK
    script/helloworld_fastcgi.pl --listen 192.168.0.4:5001 --keeperr 2
    
  5. デーモン化する
  6. /etc/init.dにスクリプトを書けば自動起動する こちらを参考に適当にスクリプト書けばOK



参考リンク
Deploying Catalyst Applications
Deploying Catalyst applications with lighttpd and FastCGI
/etc/init.dに作った起動スクリプトのリンク設定とか
Configuration File Syntax

2012年2月2日木曜日

LinuxでISO=>aviエンコード(DVDリッピング)

LinuxでDVDのISOイメージをavi化する方法を調べたのでメモ

  1. リポジトリにdebian-multimediaを追加
  2. /etc/apt/sources.listに以下の一行を追加
    deb http://www.debian-multimedia.org squeeze main non-free
    
    このFAQにあるとおり公開鍵をインストール
    dpkg -i debian-multimedia-keyring_2008.10.16_all.deb
    
  3. acidripをインストール
  4. apt-get update
    apt-get install acidrip
    
  5. ISOイメージをマウント
  6. mount -o loop /tmp/DVD.ISO /mnt
    
  7. acidripを起動
  8. acidrip
    
    /mntを指定してエンコード あとはGUIなので分かるはず

2012年1月31日火曜日

Linuxでtorを使ってみる

Torは匿名のプロキシとして動作する

インストール
apt-get install tor

/etc/tor/torrcを編集
SocksListenAddress 192.168.0.4(Torが入っているサーバーのアドレス)
を追加
## Replace this with "SocksPort 0" if you plan to run Tor only as a
## relay, and not make any local application connections yourself.
SocksPort 9050 # what port to open for local application connections
SocksListenAddress 127.0.0.1 # accept connections only from localhost
SocksListenAddress 192.168.0.4

あとは再起動でOK
killall tor
tor

これで192.168.0.2から接続できた
SocksPolicyは何も設定しなければ全て許可

CUIでサウンド制御

PCMの調節とか音の調整を出来るコマンド
alsamixer
よく忘れるので.......φ(..)メモメモ

2012年1月26日木曜日

最近のCygwinをインストール

最近のCygwinが便利になってたので導入メモ

1.インストール
公式サイトからsetup.exeを持ってくる
ソフトのインストールに毎回setup.exeを使うのは面倒なので、apt-cygを導入する

2.Xサーバの導入
setup.exeからX11を選択して全部入れる
そんでウィンドウマネージャとしてdwmを入れる
ソースは公式サイトから拾ってビルド
tar xzf dwm-6.0.tar.gz
cd dwm-6.0
make
mv dwm.exe /usr/bin/
あとは~/.xinitrcに適当に書いてstartxでOK
xhost +192.168.0.4
dwm


3.その他設定

あとは便利に使うコマンドとしてcygstartを覚えておくと良いかも
詳しくはこちら
コンソールの設定だけど右クリック→Options→Looks→背景色とか透過とかカーソルをいじる

Xサーバーに飛ばしたかったらアプリ起動側で変数設定すること
export DISPLAY="192.168.0.3:0"


関連記事
http://rdt17.blogspot.com/2011/05/xming.html

2012年1月24日火曜日

コマンド補完を強力にしてくれるbash_completion

インストールはaptでできる(bash-completion)
.bashrcに以下の記述をすればOKだけどDebianの場合は予め書いてあった

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

その他詳しいことは
man dh_bash-completion
参考リンク
http://d.hatena.ne.jp/orangeclover/20110204/1296769974
http://d.hatena.ne.jp/wadap/20080601/1212312418

rsyncで転送途中のファイルを破棄しない

所謂、リジューム(レジューム)機能ってやつだ
--partial
を付ければOKみたい

参考リンク
http://d.hatena.ne.jp/matoken/20110525/1306335511

2012年1月9日月曜日

自分があとどれくらいの時間生きていられるか?

自分があとどれくらいの時間生きていられるか簡単にわかるサイトです
ライフカウンター

残された時間がすぐに分かって便利です。

例えば本日1/9誕生日の25歳の場合、残された時間は482113時間です。(寿命80歳までと仮定して)
毎日8時間寝るとすると人生の1/3ですから160704時間寝ています
この人はSEをしていて、毎日残業して14時間働き、休日出勤も多いので年間休日は100日です
定年は65歳にあがったみたいなので、65歳とします
14 x (365 - 100) x (65-25) = 148400時間が働いている時間です。

まとめると以下のようになります
寝ている時間 160704h
働いてる時間 148400h
自由な時間  173009h
合計     482113h

自由な時間は全体の35%しかないことが分かります。
何か仕事とは別にやりたい事や目標がある場合、残された173009時間でやる必要があります。
年にすると約20年しかないですので結構少ない気がします。
(実際には自由な時間中に家事、食事、冠婚葬祭等がありますのでずっと少ないです)

もし、働いている時間も自由な時間も充実していなかったとしたら死ぬ時に後悔するんじゃないでしょうか?もしこの例のような生活をしているSEの方が居ましたら考え直した方が良いかもしれないです。

2012年1月6日金曜日

/boot/grub/grub.cfgのrootってどこから設定されている?

というわけで調べてみた
update-grub2のコールスタック

/etc/grub.d/10_linuxを見れば分かるとおり
grub.cfgの$linux_root_device_thisversionによって作られています。
で、これは$GRUB_DEVICEから作られています。(grub-mkconfig参照)

結局、$GRUB_DEVICEはどこを参照しているかというと以下のコマンドで出してます。
grub-probe --target=device /

というわけでgrub-probeというコマンドの結果を入れているので、grub legacyみたいに設定値ではありません。じゃあどうやってrootパラメータを変更するの?って話になるけど、それはchrootするとか
GRUBメニュー選択時にEDITするとかが良いんじゃないでしょうか?

/dev/disk/by-uuidに無いHDDがある?

答え
mkfsでフォーマットしてないからです。
フォーマットすれば出ます。

ファイルシステム単位につけるものらしいね
だからmkfsしなおしたら変わります
ご注意を

参考リンク
http://manual.aptosid.com/ja/part-uuid-ja.htm