Ubuntu10.10 インストール

パッケージ破損が治らなかったのでOSの再インストール作業開始.
取りあえずメモをとれるだけ取る.

CD作成

Ubuntuのダウンロードページ(http://www.ubuntu.com/desktop/get-ubuntu/download)から必要なファイルを選択してダウンロード開始.
今回は以下を選択.

  • Ubuntu 10.10 - Latest Version
  • 64-bit

ISOをCDに焼ける適当なソフトを使ってCD作成.
今回はDeepBurner(http://www.deepburner.com/)を使用した.

後はCDをセットしてPCを起動.
適当にガイドに従ってやってれば問題なく入る.

諸設定

アップデート
$ sudo apt-get update
$ sudo apt-get upgrade
Network
$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
	address 192.168.xxx.xxx
	network 192.168.xxx.xxx
	netmask 255.255.255.0
	gateway 192.168.xxx.xxx
$ sudo /etc/init.d/networking restart
$ sudo vi /etc/sysctl.conf
<末尾に追加>
# disable ipv6
net.ipv6.conf.all.disable_ipv6=1
<ここまで>
$ sudo sysctl -p
Smbfs
$ sudo apt-get install samba smbfs
$ sudo vi /etc/fstab
<末尾に追加>
//192.168.xxx.xxx/hoge        /mnt/hoge    smbfs  password=,codepage=cp932,iocharset=utf8  0   0
<ここまで>
$ sudo mkdir -p /mnt/hoge
$ sudo mount -a
Home Directory
LANG=C; xdg-user-dirs-gtk-update

[システム]->[設定]->[自動起動するアプリ]->[ユーザフォルダの更新]のチェックを外す

日本語環境セットアップヘルパ
$ wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
$ wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
$ sudo wget https://www.ubuntulinux.jp/sources.list.d/maverick.list -O /etc/apt/sources.list.d/ubuntu-ja.list
$ sudo apt-get install ubuntu-desktop-ja

[システム]->[システム管理]->[日本語環境セットアップ・ヘルパ]
フォント関連と,他に何かあればインストール指定すればいい.
ただし,texは入れないこと.

Google IME
$ sudo apt-get install ibus-mozc
$ sudo shutdown -r 0

[システム]->[設定]->[キーボード・インプットメソッド]->[インプットメソッド]
[インプットメソッドの選択]->[日本語]->[Mozc]
追加して,一番上に持ってくる.

パッケージ

build-essential
$ sudo apt-get install build-essential
zsh
$ sudo apt-get install zsh
$ which zsh
/usr/bin/zsh
$ chsh
Password: 
Changing the login shell for <username>
Enter the new value, or press ENTER for the default
	Login Shell [/bin/bash]: /usr/bin/zsh
$ vi ~/.zshrc
autoload -U compinit
compinit 

#### Encoding

#export LANG=ja_JP.UTF-8

#### Prompt Display

PROMPT="%m@%n%% "
RPROMPT="[%~]"
SPROMPT="%r is correct? [n,y,a,e]: " 

#### Terminal Title

case "${TERM}" in
kterm*|xterm)
    precmd() {
        echo -ne "\033]0;${USER}@${HOST%%.*}:${PWD}\007"
    }
    ;;
esac 

#### Command Histry

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt hist_ignore_dups     # ignore duplication command history list
setopt share_history        # share command history data 

#### Command Extend

setopt auto_cd 
setopt auto_pushd 
setopt correct 
setopt nolistbeep 

#### Alias

alias ls="ls --color=auto"
alias la="ls -a"
alias cls="clear"

# [ -f ~/.zshrc.mine ] && source ~/.zshrc.mine

export PATH=$HOME/bin:$PATH
$ sudo shutdown -r 0
vim
$ sudo apt-get install vim-nox
$ vi ~/.vimrc
set nocompatible
syntax on

" -----------------------------------------------
" encoding
" -----------------------------------------------
set enc=utf-8
set fencs=iso-2022-jp,sjis,enc-jp

" -----------------------------------------------
" indent
" -----------------------------------------------
set smartindent
set shiftwidth=2
set tabstop=2
set softtabstop=2
set expandtab
set smarttab
set backspace=indent,eol,start

" -----------------------------------------------
" search
" -----------------------------------------------
set wrapscan
set hlsearch
set ignorecase
set smartcase
set incsearch

" -----------------------------------------------
" backup
" -----------------------------------------------
set nobackup
"set backup
"set backupdir=~/.vim/backup

" -----------------------------------------------
" display
" -----------------------------------------------
set background=dark
set showcmd
set showmatch
set number
set wrap
set nolist
set scrolloff=5
set laststatus=2

set hidden

" -----------------------------------------------
" 検索が中央にくるように
" -----------------------------------------------
nmap n nzz
nmap N Nzz
nmap * *zz
nmap # #zz
nmap g* g*zz
nmap g# g#zz

" -----------------------------------------------
" 全角スペース可視化
"   Windowsでgvimを使う場合は_gvimrcに書く
" -----------------------------------------------
highlight ZenkakuSpace cterm=underline ctermfg=red guibg=white
match ZenkakuSpace / /

" -----------------------------------------------
" カレントディレクトリを開いた場所にする
" -----------------------------------------------
au   BufEnter *   execute ":lcd " . expand("%:p:h")

" -----------------------------------------------
" 文字コードの自動認識
"  via http://www.kawaz.jp/pukiwiki/?vim#cb691f26
" -----------------------------------------------
if &encoding !=# 'utf-8'
  set encoding=japan
  set fileencoding=japan
endif
if has('iconv')
  let s:enc_euc = 'euc-jp'
  let s:enc_jis = 'iso-2022-jp'
  " iconvがeucJP-msに対応しているかをチェック
  if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
    let s:enc_euc = 'eucjp-ms'
    let s:enc_jis = 'iso-2022-jp-3'
  " iconvがJISX0213に対応しているかをチェック
  elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
    let s:enc_euc = 'euc-jisx0213'
    let s:enc_jis = 'iso-2022-jp-3'
  endif
  " fileencodingsを構築
  if &encoding ==# 'utf-8'
    let s:fileencodings_default = &fileencodings
    let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
    let &fileencodings = &fileencodings .','. s:fileencodings_default
    unlet s:fileencodings_default
  else
    let &fileencodings = &fileencodings .','. s:enc_jis
    set fileencodings+=utf-8,ucs-2le,ucs-2
    if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
      set fileencodings+=cp932
      set fileencodings-=euc-jp
      set fileencodings-=euc-jisx0213
      set fileencodings-=eucjp-ms
      let &encoding = s:enc_euc
      let &fileencoding = s:enc_euc
    else
      let &fileencodings = &fileencodings .','. s:enc_euc
    endif
  endif
  " 定数を処分
  unlet s:enc_euc
  unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
  function! AU_ReCheck_FENC()
    if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
      let &fileencoding=&encoding
    endif
  endfunction
  autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
  set ambiwidth=double
endif
firefox
$ cp -r <backup profile> ~/.mozilla/firefox
$ vi ~/.mozilla/firefox/profiles.ini
<Pathをバックアッププロファイルの名前に変更する>
evolution

~/.evolution だけバックアップを取っていたけど失敗した….
https://forums.ubuntulinux.jp/viewtopic.php?id=8594 を参考に.
バックアップはキチンと取りましょうという話.

ssh
$ sudo apt-get install ssh
$ sudo vi /etc/ssh/sshd_config
<変更点のみ>
PermitRootLogin no
PasswordAuthentication no
$ sudo /etc/init.d/ssh restart
$ mkdir ~/.ssh
$ cd ~/.ssh
$ cp <putty-genで作った公開鍵> id_rsa.pub
$ sudo ssh-keygen -i -f id_rsa.pub > authorized_keys
$ chmod 600 authorized_keys
Paco
$ sudo apt-get install libgtkmm-2.4-dev
$ mkdir tmp
$ cd tmp
$ wget http://downloads.sourceforge.net/project/paco/paco/2.0.9/paco-2.0.9.tar.gz
$ tar zxvf paco-2.0.9.tar.gz
$ cd paco-2.0.9
$ ./configure
$ make
$ sudo make install
$ sudo make logme
$ paco -a

これ以降,何かwgetするときは基本的に~/tmp以下で行う.
もしかしたら記述を忘れている箇所があるかもしれないので注意.

hamachi

参考: http://ubuntuforums.org/showthread.php?t=135036

$ cd ~/tmp
$ wget -c http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz 
$ tar zxvf hamachi-0.9.9.9-20-lnx.tar.gz
$ cd hamachi-0.9.9.9-20-lnx
$ sudo paco -D make install
$ sudo tuncfg
$ sudo groupadd hamachi
$ sudo gpasswd -a <user> hamachi
$ sudo gpasswd -a root hamachi
$ sudo chmod 760 /var/run/tuncfg.sock
$ sudo chgrp hamachi /var/run/tuncfg.sock
$ sudo hamachi-init -c /etc/hamachi
$ sudo hamachi -c /etc/hamachi start
$ sudo hamachi -c /etc/hamachi set-nick "<nick name>"
$ sudo hamachi -c /etc/hamachi login
$ sudo hamachi -c /etc/hamachi join <network> <password>
$ sudo hamachi -c /etc/hamachi go-online <network>
$ sudo vi /etc/init.d/hamachi
#!/bin/sh
### BEGIN INIT INFO
# Provides:          hamachi
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start hamachi at boot time
# Description:       Starts up hamachi daemon. Networking is required.
### END INIT INFO

hamachi_start() {
  echo "Starting hamachi..."
  /sbin/tuncfg
  /usr/bin/hamachi -c /etc/hamachi start
  /bin/chmod 760 /var/run/tuncfg.sock
  /bin/chgrp hamachi /var/run/tuncfg.sock
}

hamachi_stop() {
  echo "Stopping hamachi..."
  killall tuncfg
  /usr/bin/hamachi -c /etc/hamachi stop
}

hamachi_restart() {
  hamachi_stop
  sleep 1
  hamachi_start
}

case "$1" in
'start')
  hamachi_start
  ;;
'stop')
  hamachi_stop
  ;;
'restart')
  hamachi_restart
  ;;
*)
  hamachi_start
esac
$ sudo chmod +x /etc/init.d/hamachi
$ sudo update-rc.d hamachi defaults
$ sudo /etc/init.d/hamachi restart
Adobe Reader

http://get.adobe.com/jp/reader/completion/?installer=Reader_9.4_Japanese_for_Linux_(.bin)より.binファイルをダウンロード.

$ chmod +x AdbeRdr9.4-1_i486linux_jpn.bin
$ sudo paco -p AdobeReader9 ./AdbeRdr9.4-1_i486linux_jpn.bin      
インストール先ディレクトリの指定 - Adobe Reader 9.4 [/opt]  /usr/local/
$ acroread

しかし,evinceの方が色々と便利な気がしないでもない.

texlive
$ cd ~/tmp
$ wget -c http://www.t.ring.gr.jp/pub/text/CTAN/systems/texlive/Images/texlive2010-20100826.iso
$ mkdir texlive2010
$ sudo mount -o loop texlive2010-20100826.iso texlive2010
$ cd texlive2010
$ sudo paco -D ./install-tl
Enter command: I
$ paco -a
$ vi ~/.zshrc
<末尾に追加>
export PATH=/usr/local/texlive/2010/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH
$ sudo apt-get install ttf-ipafont
$ sudo mkdir -p /usr/share/texmf-texlive/fonts/truetype
$ sudo ln -s /usr/share/fonts/truetype/ipafont/ipam.ttf /usr/share/texmf-texlive/fonts/truetype/ipam.ttf
$ sudo ln -s /usr/share/fonts/truetype/ipafont/ipag.ttf /usr/share/texmf-texlive/fonts/truetype/ipag.ttf
$ sudo /usr/local/texlive/2010/bin/x86_64-linux/mktexlsr
$ vi ipa.map
rml H :0:ipam.ttf
gbm H :0:ipag.ttf
rmlv V :0:ipam.ttf 
gbmv V :0:ipag.ttf
$ platex sample.tex
Java & eclipse
$ sudo apt-get install sun-java6-jre sun-java6-jdk
$ sudo apt-get install eclipse
Android (for Xperia development)

参考: http://developer.android.com/sdk/eclipse-adt.html#installing

$ cd ~/tmp
$ wget -c http://dl.google.com/android/android-sdk_r08-linux_86.tgz
$ tar zxvf android-sdk_r08-linux_86.tgz
$ vi android-install.sh
#!/bin/bash
mv android-sdk-linux_86 /usr/local
ln -s /usr/local/android-sdk-linux_86 /usr/local/android-sdk
$ chmod +x android-install.sh
$ sudo paco -p android-r8 ./android-install.sh
$ echo "export PATH=/usr/local/android-sdk/platform-tools:$PATH" >> ~/.zshrc
$ source ~/.zshrc

eclipseを起動する.

[Help]->[Install New Software...]->[Add...]

[Check: Developer Tools]->[Next]->[Next]->[I accept the terms of the license agreements]->[Finish]

After reboot eclipse...

[Window]->[Android SDK and AVD Manager]->[Installed packages]->[Update All...]
適当にインストールするものを選ぶ.
時間さえ気にしなければ全部入れると面倒くさくない.

[Window]->[Prefarence]->[Android]->[SDK Locationの設定]->[Apply]->[OK]

$ sudo vi /etc/udev/rules.d/51-android.rules 
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
$ sudo udevadm control --reload-rules
$ sudo /etc/init.d/udev restart
$ adb kill-server
$ adb start-server
<Xperiaをつなぐ>
$ adb devices
Cassandra(0.7.0-rc3)
$ wget -c http://ftp.jaist.ac.jp/pub/apache//cassandra/0.7.0/apache-cassandra-0.7.0-rc3-src.tar.gz
$ tar zxvf apache-cassandra-0.7.0-rc3-src.tar.gz
$ cd apache-cassandra-0.7.0-rc3-src
$ sudo apt-get install sun-java6-jdk ant jsvc
$ ant
$ ant jar
$ vi cassandra_install.sh
#!/bin/sh
# ソースを残す場合$
mkdir -p /usr/local/src/apache-cassandra-0.7.0-rc3-src
cp -ipr * /usr/local/src/apache-cassandra-0.7.0-rc3-src/
ln -is /usr/local/src/apache-cassandra-0.7.0-rc3-src /usr/local/src/cassandra

mkdir -p /usr/share/cassandra
mkdir -p /etc/cassandra
cp -ipr conf/cassandra.yaml /etc/cassandra
cp -ipr conf/cassandra-env.sh /etc/cassandra
cp -ipr debian/cassandra.in.sh /usr/share/cassandra
cp -ipr bin/cassandra /usr/sbin
cp -ipr bin/cassandra-cli /usr/bin
cp -ipr bin/nodetool /usr/bin
cp -ipr bin/clustertool /usr/bin
cp -ipr bin/json2sstable /usr/bin
cp -ipr bin/sstable2json /usr/bin
cp -ipr bin/sstablekeys /usr/bin
cp -ipr bin/schematool /usr/bin
cp -ipr lib/*.jar /usr/share/cassandra
cp -ipr build/apache-cassandra-0.7.0-rc3-SNAPSHOT.jar /usr/share/cassandra/apache-cassandra-0.7.0-rc3.jar
cp -ipr lib/licenses /usr/share/doc/cassandra
cd /usr/share/cassandra
ln -s apache-cassandra-0.7.0-rc3.jar apache-cassandra.jar
chmod 755 /usr/sbin/cassandra
chmod 755 /usr/bin/cassandra-cli
chmod 755 /usr/bin/nodetool
chmod 755 /usr/bin/clustertool
chmod 755 /usr/bin/json2sstable
chmod 755 /usr/bin/sstable2json
chmod 755 /usr/bin/sstablekeys
chmod 755 /usr/bin/schematool
chmod 755 /etc/init.d/cassandra
$ chmod +x cassandra_install.sh
$ sudo paco -D ./cassandra_install.sh
$ sudo update-rc.d cassandra defaults
$ sudo /etc/init.d/cassandra start
# エラーが出た場合は /var/log/cassandra/output.log を見ながらfixする
$ cassandra-cli --host localhost
Thrift0.5
$ wget -c http://ftp.jaist.ac.jp/pub/apache//incubator/thrift/0.5.0-incubating/thrift-0.5.0.tar.gz
$ tar zxvf thrift-0.5.0.tar.gz
$ cd thrift-0.5.0
$ ./configure
$ make
$ sudo paco -D make install
$ cd ..
$ sudo mv thrift-0.5.0 /usr/local/src
$ cd /usr/local/src
$ sudo ln -s thrift-0.5.0 thrift
$ cd thrift/php/src/ext/thrift_protocol
$ phpize
$ ./configure -enable-thrift_protocol
$ make
$ sudo cp modules/thrift_protocol.so /usr/lib/php5/20060613+lfs/thrift_protocol.so
$ sudo vi /etc/php5/conf.d/thrift_protocol.ini
<末尾に追加>
extension=thrift_protocol.so$
$ sudo /etc/init.d/apache2 restart
$ cd /usr/local/src/thrift/php/lib
$ ../../compiler/cpp/thrift -gen php /usr/local/src/cassandra/interface/cassandra.thrift
$ mv gen-php src/packages
$ sudo mkdir /usr/share/php/Thrift
$ sudo cp -R src/* /usr/share/php/Thrift

http://www.softwareprojects.com/resources/programming/t-cassandra-php-wrapper-1959.html のクラスを使って試してみると良い.
ただし,$GLOBAL['THRIFT_ROOT']と,CassandraDBの引き数($host指定無し, $portが9160じゃない),サンプルはconnect()を行っていない点には注意.