Linux

随時追加予定.

Linux設定

Network

ssh
パスフレーズなしでsshログインする
apt
apt-getを使ってソフトをインストールする
apt-getで検索するURLを追加・変更する
mount
リモートサーバの特定のディレクトリをローカルマシンにマウントする
rsh
パスフレーズなしでrloginする
IP address
DHCPサーバからIPアドレスを取得する

System

Liloの設定
liloの設定ファイル
Run level
起動時のランレベルを変更する
Window Manager
startxコマンドで起動するWindow Managerを設定する
ターミナルからデフォルトのWindow Managerを指定する
Key bind
CtrlとCapsキーの機能を入れ替える
Shell
現在使用しているshellを調べる
ログインシェルを変更する

Shell command / scripts

Bash scripts
変数の四則演算
cutコマンドの使い方
command
複数の列データファイルを横につなげる
less
lessコマンドでキーワード検索時のカーソルの前後移動

Emacs

基本設定

.emacs
Emacs起動時のウィンドウサイズを変更する
日本語変換
かな変換が[Ctrl]+[Space]になっている場合,emacs上でそれを無効にする

よく使うキーバインド

cursor
上下左右: [\C-p], [\C-n], [\C-b], [\C-f]
行の先頭に移動: [\C-a]
行の最後尾に移動: [\C-e]
1page進む: [\C-v]
1page戻る: [\M-v]
指定行nに飛ぶ: [\M-x]-[goto-line]-[n]
単語単位で右に移動: [\M-f]
単語単位で左に移動: [\M-b]
文字操作
Mark set: [\C-Space]
copy: [\M-w]
cut: [\C-w]
paste: [\C-y]
一文字消す: [\C-d]
行中のカーソル以下の文字を消す: [\C-k]
矩形範囲cut: [\C-x]-[r]-[k]
矩形範囲paste: [\C-x]-[r]-[y]
選択範囲をインデント: [\C-\M-\]
選択範囲を一括コメントアウト(F90 mode): [\M-;]
Buffer操作
縦割り2ペインのbufferを作る: [\C-x]-[3]
横割り2ペインのbufferを作る: [\C-x]-[2]
Buffer間のcursor移動: [\C-x]-[o]
Buffer内で直前に開いていたファイルを開く: [\C-x]-[b]
File操作
上書き保存: [\C-x]-[\C-s]
別名で保存: [\C-x]-[\C-w]
ファイルを開く: [\C-x]-[\C-f]
Undo関連
Undo: [\C-/]
入力コマンドの取り消し: [\C-g]
検索・置換
検索: [\C-s] (cursorは[\C-s]で順次移動)
置換: [Shift-\M-5]
スペルチェック
スペルチェッカー起動: [\M-x]-[ispell]
単語を正しいとし,個人辞書に追加: [i]
今回のセッションのみ正しいとする: [a]
単語を正しいとし,ローカル辞書に追加: [A]
手動で正しい単語を入力: [r]
チェック終了: [x]

Software

PHON
PHONのmake
p4vasp
p4vaspのmake
VASP
mpirunを実行すると"mpirun: cannot create temp file for here document"のようなエラーがでる

システム設定一覧

パスフレーズなしでsshログインする

".ssh"ディレクトリをホームに作り,ローカルホスト側でssh-keygenを実行. このときパスフレーズを聞かれるが,パス無しにするので何も入力せず"Enter".

# mkdir ~/.ssh # ssh-keygen -t rsa

.sshディレクトリ及びファイルのパーミッションを変更.リモート側でも同様の作業を実行

# chmod 700 ~/.ssh # chmod 600 ~/.ssh/ *

先ほど生成されたkeyをリモートにコピーする

scp ~/.ssh/id_rsa.pub Remote:~/.ssh/id_rsa.pub.local

リモート側にログインして,コピーされたkeyをauthorized_keysに追加する

rlogin localhost@remote cd ~/.ssh: cat id_rsa.pub.local >> authorized_keys: rm id_rsa.pub.local

apt-getを使ってソフトをインストールする

パッケージ情報を最新のものに更新

# su - # apt-get update

ソフトをインストール

# apt-get install [package]

apt-getで検索するURLを追加・変更する

aptが読み込むURLリストを編集する

# sudo vi /etc/apt/sources.list

リモートサーバの特定のディレクトリをローカルマシンにマウントする

remoteの/opt/intをlocalの/home/local/compilerにマウントする場合,/etc/fstabに以下を記述

... remote:/opt/int /home/local/compiler nsf rw,hard,intr,nfsvers=3,rsize=8192,wsize=8192 0 0

パスフレーズなしでrloginする

remoteの~/.rhostsにlocal側のマシン名またはIPアドレスを記述しておく

DHCPサーバからIPアドレスを取得する

/etc/sysconfig/network-scripts/ifcfg-eth0を編集

DEVICE=eth0 BOOTPROTO=dhcp USERCTL=no ONBOOT=yes

Networkの再起動

# sudo /etc/rc.d/init.d/network restart

liloの設定ファイル

/etc/lilo.confを編集する.設定を反映するには,編集を保存後,以下を実行.

# sudo /sbin/lilo

起動時のランレベルを変更する

/etc/inittabを編集する.数字がランレベルに対応(3: text-mode, 5: graphical-mod)

id:3:initidefault

startxコマンドで起動するWindow Managerを設定する

~/.xinitrcに以下の行を追記(xfceを起動する場合)

... startxfce4

ターミナルからデフォルトのWindow Managerを指定する

# switchdesk

CtrlとCapsキーの機能を入れ替える

setupコマンドで切り替えができない場合は,~/.Xmodmapに以下を記述する

remove Lock = Caps_Lock remove Control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add Lock = Caps_Lock  <-(ctrl keyを押したときのcaps機能を無効にする場合はコメントアウト) add Control = Control_L

ログインする度にこの設定が反映されるように~/.xinitrcに以下を記述

xmodmap $HOME/.Xmodmap

現在使用しているshellを調べる

# echo $SHELL

ログインシェルを変更する

# chsh -s [shell name (full-path)] [username]

Bash command / scripts

変数の四則演算

letを使うのが便利.

#!/bin/bash i=10 let i="${i}+1" echo $i

cutコマンドの使い方

空白文字をデリミタにして2列データの2列目を取り出すには

# cut -d' ' -f2 [filename]

などとする.ここで,-d[デリミタ], -f[フィールド(列)の番号]

複数の列データファイルを横につなげる

Usage:

# paste [file1] [file2] ...

lessコマンドでファイルを見ているとき,"/"で検索を開始.次の候補に移動するときは"N"で, 前の候補に移動するときは"[shift]+N"を用いる.

Emacs設定一覧

Emacs起動時のウィンドウサイズを変更する

~/.emacs又は~/.emacs.elに以下のようなを記述する

(setq default-frame-alist (append (list '(width . 81) '(height . 46)) default-frame-alist))

かな変換が[Ctrl]+[Space]になっている場合,emacs上でそれを無効にする

httx関連でキーバインドが決まっている場合,以下を実行

# /usr/sbin/htt_server -conversionkeys "<Shift>space,Kanji"

Software設定一覧

PHONのmake

tar.Zを解凍する

# mkdir PHON; cd PHON; tar -zxvf PHON.tar.Z

MakefileのFortranコンパイラ及びlapack, blasのライブラリのリンク先を指定する.ここではコンパイラはifort, lapack及びblasはmklのものを使う.この場合リンクオプションは"-lmkl_lapack, -lmkl_ia32(これがblas), -lguide"になることに注意.

# cp makefile.linux_ifc Makefile; vi Makefile ... FC = /opt/intel/fc/9.0.026/bin/ifort ... LIB = -L/opt/intel/mkl72cluster/lib/32 -lmkl_lapack -lmkl_ia32 -lguide

makeする

# make

実行ファイルphonは実行時にFortranのライブラリをダイナミックにリンクするので, そのためのパスである"$LD_LIBRARY_PATH"を設定していない場合はここで設定する.

# vi ~/.bashrc ... LD_LIBRARY_PATH=/opt/intel/fc/9.0.026/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH

上記を行う代わりに,"ifortvars.sh"を実行するように.bashrcに以下の記述をしても良い

# vi ~/.bashrc ... IFORTBIN=/opt/intel/fc/9.0.026/bin if [-e $IFORTBIN/ifortvars.sh]; then source $IFORTBIN/ifortvars.sh fi

p4vaspのmake

fedora core 2でのmake.インストールには,まず以下のパッケージが必要になる.apt-getでこれらをインストールする. ただし,swig-develは無くても可(多分).

libglade pygtk2 python-devel swig, swig-devel pygtk2-libglade glut, glut-devel

fltk, fltk-develはrpmパッケージか,またはソースからmakeする

# rpm -ivh fltk-*.rpm; rpm -ivh fltk-devel-*.rpm

p4vaspはpythonが必要なので,予めシンボリックリンクを張っておく.

# cd /usr/include # ln -s python2.3 python

或いは,p4vaspのMakefileの環境変数を以下のように変更

... PYTHON_HOME = $(ROOT)/usr/lib/python2.3

あとはmakeするだけ.Vine系はfltkとの相性が悪く,makeでコケることが多いので注意.

make | tee make.log make install

mpirunを実行すると"mpirun: cannot create temp file for here document"のようなエラーがでる

mpirunは実行時に/tmp以下にtemporalyファイルを生成するので,まず/tmpディレクトリのパーミッションをチェックする.

# ls -l /tmp

パーミッションがrwになっているのにまだエラーが出る場合は,実行マシンがマウントしているホストについてのパーミッションを調べる

# mount

このパーミッションがrwになっていて,まだエラーが出る場合は,実行マシンのファイルシステム(extなど)が破損している可能性があるので ログファイルをチェックする.

# sudo less /var/log/messeges*

破損が見つかった場合は,fsckコマンドで修復する

# fsck -fa /dev/hda3

但し,fsckはあらかじめumountしてから実行するほうが良い.


go to <home> <top>