2012年2月22日水曜日

Ubuntu で Subversion サーバ

Ubuntu で Subversion サーバを立てる時のメモ。
(Ubuntu 10.04, subversion-1.7.3)
ソースからビルドして導入。

1. Subversion のソースをダウンロード

http://subversion.apache.org/ からたどる。

2. xinetd, libapr, libapr-util をインストール

# apt-get install xinetd libapr1-dev libaprutil1-dev

3. ソースコードを展開してビルド、インストール

$ tar zxvf subversion-1.7.3.tar.gz
$ cd subversion-1.7.3
$ ./configure
$ make
# make install

4. /etc/xinetd.d/svn を作成し、xinetd をリスタート

# vi /etc/xinetd.d/svn
(下記の内容を記述)

service svn
{
        disable                 = no
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = root
        server                  = /usr/local/bin/svnserve
        server_args             = -i -r /opt/svn           (← Subversion 用ディレクトリ)
        env                     = LANG=ja_JP.UTF-8
        passenv                 = LANG
}

(xinetd をリスタート)
# /etc/init.d/xinetd restart

5. Subversion 用ディレクトリの作成

# mkdir /opt/svn
# groupadd svn
# chown -R :svn /opt/svn
# chmod -R 770 /opt/svn
# chmod g+s /opt/svn
# umask 002

# usermod -G svn masao     (ユーザ masao を svn グループに追加。※アクセスする人すべて追加が必要)

6. telnet コマンドで動作確認

$ telnet localhost 3690

Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops atomic-revprops partial-replay ) ) )

(success が見えれば OK。quit で抜ける)

7. リポジトリ作成

hogehoge というリポジトリを作成する例。

# umask 002
# cd /opt/svn
# svnadmin create hogehoge

rep-cache.db のモードを変更しておく。リポジトリを作った人の権限になるため。

# chmod 664 /opt/svn/hogehoge/db/rep-cache.db

8. リポジトリのディレクトリ構成例

hogehoge/trunk   (トランク)
        /tags    (タグ用)
        /branch  (ブランチ用)

9. リポジトリへのアクセス例 (check out)

$ svn co svn+ssh://192.168.0.10/opt/svn/hogehoge/trunk

10. その他メモ

■ファイル名文字コード変換

$ kcc -c filename
$ convmv -r -f euc-jp -t utf-8 * --notest

■文字コード変換 (Windows 系からリリースされたソースをインポートするときとか)

$ find . -type f | xargs -n 10 nkf -w -Lw --overwrite
  (UTF-8 CR+LF)

■バイナリ テキスト 誤認識変更

(確認)
$ svn propget svn:mime-type *

(テキスト→バイナリ)
$ svn propset svn:mime-type application/octet-stream *.pdf

(バイナリ→テキスト)
$ svn propset svn:mime-type text/x-tex hoge.tex
$ svn propdel svn:mime-type hoge.tex
$ svn commit -m ''

■実行権変更

$ svn propset svn:executable ON hogehoge.sh

■再帰的に add

$ svn add * --force

■無視ファイルを登録する

(チェック)
$ svn status --no-ignore

$ svn status --no-ignore | grep -v ^A
(結果を編集して svn add)

● Subversion, サブバージョン, サーバ, server, svn, svn+ssh

2012年2月18日土曜日

Firefox Google toolbar 代替

現在、Ubuntu 10.04 環境の Firefox バージョンは 10.0.1。
Google Toolbar が Firefox で正式にサポートされなくなったのは、5.0。
Add-on Compatibility Reporter でずいぶん引っ張って使ってましたが、そろそろやめようかなと。

機能的に欲しい (使っている) のは、以下のとおり。
この他の機能を使ってた人も、多分探せば代替手段は見つかるはず。

  • 検索窓
  • 検索キーワードのハイライト
  • ページ内検索 (検索窓に入れた文字列で)
  • Google サービスへのリンク
  • ページ翻訳
Add-ons説明
Add to Search Bar任意のサイトの検索窓を追加
SearchWP検索キーワードのハイライトとページ内検索
SearchBox Sync検索エンジンと検索窓のキーワードを同期
Google ShortcutsGoogle サービスへのリンクをツールバーに追加
Searchbar Autocomplete Order検索履歴の表示順序を変更
Google 翻訳ブラウザボタンブラウザのボタンのリンクをブックマークツールバーにドラッグ

■検索窓の横に履歴表示ボタンを追加する

userChrome.css ファイルを編集します。

$ vi ~/.mozilla/firefox/********.default/chrome/userChrome.css

#searchbar .autocomplete-history-dropmarker {
display: -moz-box !important;
-moz-binding: url("chrome://global/content/bindings/autocomplete.xml#history-dropmarker");
}

■検索窓の履歴を消去する

1 個ずつ消すなら行を選択して Shift+Delete。
一括で消したい場合は、検索窓で 「 右クリック 」 → 「 Clear Search History 」

■関連記事
まさおのブログ (表): Firefox アドオンについて

● Firefox, Linux, Google toolbar, 代替, 同機能, 実現, グーグル ツールバー

2012年2月13日月曜日

CPU に負荷をかけるシェルスクリプトメモ

CPU に負荷をかけるシェルスクリプトメモ
10 秒間負荷をかける (sleep のところは適当に調整)
うちの PC (デュアルコア) でやったら、50 % までしか負荷がかからんやった。

#!/bin/sh
(sleep 10 ; kill $$) &
while [ 1 ]; do
    x=1
done

● CPU, 負荷, シェルスクリプト, shell script, 100%, usage

2011年9月18日日曜日

PLANEX ちびファイ MZK-RP150N

PLANEX の超小型 Wi-Fi ルータ MZK-RP150N を購入。

こいつはいい~!
予想よりだいぶ小さかった。
大きさは、RJ-45 のコネクタ 6 個分程度といったところ。

この小ささで、一通りの機能が揃っている。
コンバータモードに設定すると、Wi-Fi -有線中継器にもなる。
いたれりつくせり。

USB 給電、11n/b/g 対応。
ちょっとルータ挟んで実験したい時に使えそう。

裏に MAC アドレスはもちろん、出荷時の設定値が全部書いてあるのがまた気が利いている。

● Wi-Fi, ルータ, router, PLANEX, プラネックス, PCI, 802.11n, 11n, 11b, 11a, USB 給電

2011年8月21日日曜日

ccache で再コンパイル時間を短縮

ccache を使うと、再コンパイルの時間を短縮できる。
Ubuntu で設定する場合のメモ。

1. ccache をインストール

# apt-get install ccache

2. 環境変数 PATH を設定

.bashrc に書いておくと良い。

export PATH=/usr/lib/ccache/:$PATH

3. あとは普通にコンパイルするだけ

キャッシュは ~/.ccache に作成される。

ccache -s統計情報を表示
ccache -z統計情報を削除
ccache -Cキャッシュを完全削除

● ccache, 再コンパイル, compile, 時間, 短縮, cache, キャッシュ, build, ビルド, make, gcc

Android ソースを http 経由で取得する ( corkscrew 無しで )

Android ソースを corkscrew 無しでダウンロードする方法。

1. repo をダウンロードして編集

$ mkdir mydroid
$ cd mydroid
$ curl http://android.git.kernel.org/repo > repo

$ grep "git://" repo
REPO_URL='git://android.git.kernel.org/tools/repo.git'

$ vi repo
(変更前)
REPO_URL='git://android.git.kernel.org/tools/repo.git'
(変更後)
REPO_URL='http://android.git.kernel.org/tools/repo.git'

2. manifest.git をダウンロード

通常 git:// のところを http:// に変える。

$ repo init -u http://android.git.kernel.org/platform/manifest.git -b froyo

3. .repo/maniefst.git を編集

$ grep "git://" .repo/manifest.xml
           fetch="git://android.git.kernel.org/"

$ vi .repo/manifest.xml
(変更前)
           fetch="git://android.git.kernel.org/"
(変更後)
           fetch="http://android.git.kernel.org/"

4. .repo/repo/repo を編集

$ grep "git://" .repo/repo/repo
REPO_URL='git://android.git.kernel.org/tools/repo.git'

$ vi .repo/repo/repo
(変更前)
REPO_URL='git://android.git.kernel.org/tools/repo.git'
(変更後)
REPO_URL='http://android.git.kernel.org/tools/repo.git'

5. repo sync を実行

$ repo sync

参考:
http://d.hatena.ne.jp/hotomaru/20110406/1302089347
まさおのブログ (表): proxy サーバ経由で git を使う方法

● corkscrew, 無し, http, 経由, git, android, source, ソース

2011年7月23日土曜日

cut コマンドメモ

"=" (イコール) とかで区切られた設定ファイルから設定値を抽出するときのメモ。
cut を使う。

設定ファイルサンプル

$ cat hogehoge.txt
AAA=100
BBB=200
CCC=300

この設定ファイルサンプルから、BBB の設定値 200 を抽出。
デリミタ "="、フィールド 2 番目

$ grep BBB hogehoge.txt | cut -d "=" -f 2
200

awk 使うより軽そうだ。

$ grep BBB hogehoge.txt | awk -F "=" '{ print $2 }'
200

● cut, awk, delimiter, field, 抽出

2011年5月11日水曜日

FHS ( Filesystem Hierarchy Standard )

組み込み系の開発で、ファイルの配置に迷ったら、これを読むべき。

Filesystem Hierarchy Standard

( 印刷して、風呂で読んどくか )

● ファイル, ディレクトリ, 配置, ファイルシステム, file, dhirectory, filesystem, hierarchy, standard, FHS,

Ubuntu syslog サーバを立てる

Ubuntu で syslog サーバを立てるときの設定。
リモートからのアクセス可にする設定。

Ubuntu 8.04 の場合

# vi /etc/default/syslogd
SYSLOGD="-r"

Ubuntu 10.04 の場合は、rsyslog になってるなぁ。
何もしなくてよいかも。
または /etc/default/rsyslog を設定すればいけそう (動作未確認)

● syslog, 8.04, server, サーバ, リモート

2011年5月3日火曜日

Ubuntu 10.04 で Canon PIXUS 850i を動かす

Ubuntu ってよくできてるなぁ。
「システム」→「システム管理」→「印刷」
「追加」 を選んで、
新規プリンタで 「Canon 850i」を選択して、
「Canon i850」を選べば OK 。
この組み合わせで使っている人は、あまりいないかもしれませんが…。

● Ubuntu, 10.04, Canon, PIXUS, 850i, キャノン, ピクサス, プリンタ, printer, ドライバ