Scientific Linux6.5再インストール
そもそものきっかけ
実験データの解析に使っていたマシンのSSDが突然お亡くなりになりました。
幸い、/
と/boot
が飛んだだけで、/home
等は別ドライブだったので、重要なデータや解析コードなどには被害はありませんでした。(バックアップはしてあるから万が一全ドライブが飛んでも大丈夫だけど)
システムを入れ替えるだけでそのまま使えそうだったので、新品のSSDを使ってOSの再インストールをしたので自分用にメモを残しておく。
やったこと
OSインストール
- インストールDVDを入れる。
- IPアドレス、DNS等々を設定。
- インストール元としてURLを選び、URLとして
http://ftp.riken.jp/Linux/scientific/6.5/x86_64/os/
を指定。 - パーティションを作成。
/dev/sda
SSD/boot
200MB/
50GB
/dev/sdb, /dev/sdc
HDD/var
10GB/home
1TB/data
2TB
- 構成はDesktopを選択。
最初は/var
を前の環境のものを使い回そうとしてたのだけど、
それだと必ずインストールの途中で失敗してしまうので、フォーマットするなり別パーティションを作るなりする必要あり。
原因はパッケージの依存性のエラー。
OSインストール後
/etc/fstab
SSD延命のためのオプション
UUID=hogehoge / ext4 discard,noatime 1 1
discard
はtrim使用、noatime
はアクセス時間の記録をしないオプション。
ramdiskの追加
/tmp
というramdiskを作成する。
ブラウザキャッシュ、スクリーンショット、一時ファイル保管場所として使う。
容量は適当。
tmpfs /tmp tmpfs defaults,noatime,size=1024m 0 0
/etc/sysctl.conf
vm.swappiness = 0 # RAMを使い切るまでスワップしない
sudoersの設定
adminなんてグループ追加しなくてもwheelで良かったかも。
visudo # %admin ALL=(ALL) ALL を追加 usermod -G admin username
ssh設定
passwordログインを無効にして、公開鍵認証のみ受け付けるようにする。
/etc/ssh/sshd_config
を書き換え。
PasswordAuthentication no PubkeyAuthentication yes
yumリポジトリ
- /etc/yum.repos.d/sl.repo を理研のリポジトリを使うように書き換え。
- rpmforgeをインストール
- mirrorlistを理研に書き換え
- epelをインストール
- mirrorlistを理研に書き換え
何も考えずにyumでインストールした人たち
yumでインストールして問題がなかった方々。
yum install -y automake texinfo libXpm-devel giflib-devel libtiff-devel libotf-devel ncurses-devel gtk2-devel libjpeg-devel ImageMagick rpmbuild yaml-cpp-devel libtool pcre-devel xz-devel protobuf qt-devel libgcrypt-devel source-highlight
以下、何かしらケアが必要な人たちを紹介。
git
gitがないと生きていけない。1.8.5.rc3.2.gc302941が入った。
yum install --enablerepo=rpmforge-extras git
m4 & autoconf
yumでも入れられるが、確かclangで新しいバージョンを要求された。
wget ftp://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz tar zxvf m4-1.4.17.tar.gz cd m4-1.4.17 ./configure make && make install
wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar zxvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure make && make install
XMonad
xmonad.hs
はこれまで使っていたものを流用。
yum install xmonad dzen2 conky
zsh
yumで入れられるものはバージョンが古かったので、ソースからのインストールを選択。
git clone git://git.code.sf.net/p/zsh/code zsh cd zsh ./Util/preconfig ./conigure make -j4 # docでエラーが出るが、無視して良い make install
- /etc/shells に/usr/local/bin/zshを加える。
chsh -s /usr/local/bin/zsh
でシェル変更
emacs
git便利だなぁ
git clone git://git.savannah.gnu.org/emacs.git cd emacs ./autogen.sh ./configure --with-x make bootstrap make install
clang
gccより(主にエラーメッセージの点で)好き。
wget http://llvm.org/releases/3.3/llvm-3.3.src.tar.gz wget http://llvm.org/releases/3.3/cfe-3.3.src.tar.gz wget http://llvm.org/releases/3.3/compier-rt-3.3.src.tar.gz (tar llvm) (tar cfe) (tar compiler-rt) mv cfe llvm/tools mv compiler-rt llvm/projects cd llvm ./configure --enable-optimized --enable-jit make make install
ROOT
git便利だなぁ(2回目)
git clone http://root.cern.ch/git/root.git cd root git tag -l git checkout v*** # 適当なバージョンを選択 ./configure --with-cxx=clang make -j4 make install
scrot
スクリーンショットを取るソフト。
xwd
は矩形選択出来ない。
import
はxmonadの画面が矩形選択でキャプチャできない。
ということでインストール。
wget http://linuxbrit.co.uk/downloads/scrot-0.8-1.src.rpm rpm -ivh scrot-0.8-1.src.rpm emacs -nw ~/rpmbuild/SPECS/scrot.spec # Copyright -> Licenseに書き換え rpmbuild -bb --define="__check_files %{nil}" scrot.spec sudo rpm -ivh ~/rpmbuild/RPMS/x86_64/scrot-0.8-1.x86_64.rpm
tmux
これも必需品。
まずlibevent2.x
を入れる必要がある。
git clone git://git.code.sf.net/p/levent/libevent cd libevent git checkout release-2.0.19-stable sh autogen.sh ./configure && make make install
git clone git://git.code.sf.net/p/tmux/tmux-code tmux cd tmux git tag # バージョンを確認 git checkout 1.8 # 現時点での最新版 sh autogen.sh ./configure && make make install
VNC設定
yum install vnc vnc-server
su - username
vncpasswd
次に/etc/sysconfig/vncservers
を編集する。
コメントを参考に適宜設定。
VNCSERVERS="1:username" VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp -localhost"
-localhost
を付けることで、トンネルを必須にする。
ag
grepの強化版。
git clone https://github.com/ggreer/the_silver_searcher cd the_silver_searcher && ./build.sh && make install
chromium
wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo cp chromium-el6.repo /etc/yum.repos.d/ yum install chromium
キャッシュをramdisk (/tmp)に保存するように設定する。
cd /tmp mkdir chromium_cache cd ~/.cache/chromium ln -s /tmp/chromium_cache Default
mozc
これも好み。
wget http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/x86_64/Vine/RPMS.main-dvd/ibus-mozc-1.1.717.102-2vl6.x86_64.rpm wget http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/x86_64/Vine/RPMS.main-dvd/mozc-1.1.717.102-2vl6.x86_64.rpm wget http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/x86_64/Vine/RPMS.main-dvd/mozc-server-1.1.717.102-2vl6.x86_64.rpm wget http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/x86_64/Vine/RPMS.main-dvd/mozc-utils-gui-1.1.717.102-2vl6.x86_64.rpm wget http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/x86_64/Vine/RPMS.main-dvd/zinnia-0.06-3vl6.x86_64.rpm wget http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/x86_64/Vine/RPMS.main-dvd/tegaki-zinnia-japanese-0.3-1vl6.noarch.rpm rpm -ivh mozc-server rpm -ivh ibus-mozc rpm -ivh zinnia rpm -ivh tegaki-zinnia-japanese rpm -ivh mozc-utils-gui rpm -ivh mozc
pkill ibus-daemon ibus-daemon --xim
Dropbox
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
cd ~/bin wget https://www.dropbox.com/download?dl=packages/dropbox.py chmod +x dropbox.py
自動起動させるため、起動スクリプト/etc/init.d/dropbox
を作る。
#!/bin/sh # chkconfig: 345 99 01 # description: dropbox # processname: dropbox exec="/home/ユーザー名/bin/dropbox.py" user="ユーザー名" start() { echo -n $"Starting $prog: " su -c "${exec} start" ${user} } stop() { echo -n $"Stopping $prog: " su -c "${exec} stop" ${user} } status() { su -c "${exec} status" ${user} } restart() { stop start } case "$1" in start) $1 ;; stop) $1 ;; restart) $1 ;; status) $1 ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 2 esac exit $?
chmod +x /etc/init.d/dropbox chkconfig --add dropbox chkconfig dropbox on
keepassx
パスワード管理。
git clone git://keepassx.org/keepassx.git cd keepassx git checkout 2.0-alpha5 mkdir build cd build cmake .. make && make install