SSHでログインできなくなった→解決

vi /etc/ssh/sshd_config

#Port 22
Port XXX

というように、SSH用のデフォルトのPort、22番をコメントアウトして、XXXに変えて運用していました。sshd_configの編集だけで当初は問題なかったのですが、system-config-securitylevelのユーティリティを用いていろいろ変更しているうちに、SSHでログインできなくなりました。

結局、system-config-securitylevelに入ってcustomizeで次のページに移り、other ports

XXX:TCP

と明示しておくことで解決しました。ファイアウォール設定は難しいです。

GNOME上の作業

Package Manager(Add/Remove Software)を使います。

gcc44-4.4.0-6.el5.x86_64
gcc44-c++-4.4.0-6.el5.x86_64
gcc44-gfortran-4.4.0-6.el5.x86_64

をインストールします。

Firefoxのインストールでこける。

Package ManagerからFirefoxをインストールしようとすると、"firefox conflicts with xulrunner"と言われます。xulrunnerをPackage Managerを使用してアンインストールしました。

EPELのレポジトリを追加しました。

rpm --import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

その後、

yum install firefox

としたところ、xulrunnerも再度インストールされました。

初期設定もう一度

運用方針

リモートコンソールやSSHクライアント(Puttyを使っています)を使って、毎回VNCを手動で起動・終了するという運用です。一度VNCが起動してしまえば、SSHクライアントを終了させても大丈夫です。逆にVNCを使わずにSSHクライアント上でログインして作業を行った場合は、長時間かかるものであってもSSHクライアントの接続をずっと保ったままにしておく不便があります。

VPSを使い始めてから、VNCを(最速で)設定するまで。

セキュリティ関係はほかのページを見て下さい。

yum update
yum groupinstall "X Window System"
system-config-securitylevel

CentOSの最小構成にはsystem-config-securitylevelもこれから使うvncserverも入っていませんが、"X Window System"でまとめて入ります。
system-config-securitylevelはポート開放のためのユーティリティ。customizeで次のページに移り、other ports

5901:TCP 5801:TCP

と記入します。5901はアプリから、5801はブラウザからアクセスする場合のdefaultです。

vncserver

初めてのvncserver起動ではpasswordを聞かれます。同じパスワードをpasswordとverifyに入力します。

これでVNCのクライアントを使ってアクセスしパスワードを入力すると、twmのさびしいGUI環境が出てきます。

終了時には以下のコマンドを使います。

vncserver -kill :1

でも結局リッチなGUI環境が欲しくなる。

yum groupinstall "GNOME Desktop Environment"

~/.vnc/xstartupを編集します。行の頭の#をとります。

# Uncomment the following two lines for normal desktop:
 unset SESSION_MANAGER
 exec /etc/X11/xinit/xinitrc

Octaveのインストール

http://www.db.is.kyushu-u.ac.jp/rinkou/octave/octavelinux.htmlを見ながら進めました。途中いろいろ試行錯誤したので書いておきます。

全体の流れ

  1. ATLAS (ATLAS3.9.25)
  2. LAPACK (lapack-3.2.2)
  3. ATLAS
  4. METIS (metis-4.0)
  5. SuiteSparse (SuiteSparse-3.4.0)
  6. Octave (octave-3.2.4)

の順にコンパイルしてインストールします。

ATLAS 1回目

cat /proc/cpuinfo

とすると、

model name      : Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz
stepping        : 11
cpu MHz         : 2659.918

となっており、model nameに書いてある周波数とcpu MHzが違っていて気持ち悪いです。VPSはそんなものなんだろう、と割り切って2660 MHzを使うことにします。コア数は2にしました。
いろいろなページを見てみると「ATLASの最適化を行っている間はCPUの省電力機能などをOFFにしておく」と書いてあって、

cpufreq-set -g performance

というコマンドを使うことになっていますが、これもVPSのせいか動きません。無視して進めます。
さくらのVPSはCentOS5.5、64bitで、入っているのはgcc4.1.2です。-march=nativeを入れて最適化することを考えていたので、事前にgcc4.4.0を入れています。これを呼ぶのにgcc、g++、gfortranのあとに44をつけます。
共有ライブラリを作れるほうが何かと便利なので、-fPICをつけます。(共有ライブラリがつくれないのが、他のソフトのコンパイルが通らないことがある)

../configure -t 2 -m 2660 -b 64 -Fa alg '-fopenmp -fPIC' \
--prefix=/usr/atlas -C acg gcc44 -C if gfortran44

Make.incを確認すると、CDEFSのところに-fPICが入っていなかったので書き加えます。

CDEFS = $(L2SIZE) $(INCLUDES) $(F2CDEFS) $(ARCHDEFS)  -DATL_NCPU=$(NPROC) -fPIC

また、gcc44への変更がGOODGCCに反映されていなかったので修正します。

GOODGCC = gcc44 -fopenmp -fPIC -m64

/etc/ld.so.conf

/usr/atlas/lib

を追加して、

/sbin/ldconfig

でリンクを更新すると書かれていますが、私の環境ではエラーが出ます。/usr/atlas/libの代わりに、

/usr/local/lib

の追加が必要でした。

LAPACK

make.incを編集します。

FORTRAN  = gfortran44 -fimplicit-none -g
OPTS     = -O3 -fopenmp -fPIC -m64 -march=native -fexceptions -fomit-frame-pointer -fno-tree-vectorize
DRVOPTS  = $(OPTS)
NOOPT    = -fPIC -m64
LOADER   = gfortran44 -g
LOADOPTS = -L/usr/atlas/lib
BLASLIB = /usr/atlas/lib/libptf77blas.a -latlas -lpthread -lgomp

ATLAS 2回目

../configure -t 2 -m 2660 -b 64 -Fa alg '-fopenmp -fPIC' \
--prefix=/usr/atlas -C acg gcc44 -C if gfortran44 \
-Ss flapack /root/tmp/lapack-3.2.2/SRC -Si latune 1

Make.incにてCDEFSGOODGCCを1回目と同様に変更します。

METIS

make CC=gcc44 COPTIONS="-O3 -fno-tree-vectorize -fPIC -fexceptions -m64 -march=native"

SuiteSparse

make CC=gcc44 CPLUSPLUS=g++44 F77=gfortran44 \
CFLAGS="-I../Include -O3 -fno-tree-vectorize -fPIC -fexceptions -m64 -march=native" \
F77FLAGS="-O3 -fno-tree-vectorize -fPIC -fexceptions -m64 -march=native" \
BLAS="-L/usr/atlas/lib -lptf77blas -latlas -L/usr/local/lib -lmetis -lpthread -lgfortran  -lm" \
LAPACK="-llapack_LINUX -ltmglib_LINUX"

Octaveコンパイル

CC=gcc44 CXX=g++44 F77=gfortran44 LIBS="-lmetis -lm" \
CFLAGS="-DH5_USE_16_API -O3 -fexceptions -m64 -march=native" \
FFLAGS="-DH5_USE_16_API -O3 -fexceptions -m64 -march=native" \
CPPFLAGS="-DH5_USE_16_API -O3 -fexceptions -m64 -march=native" \
./configure --prefix=/usr/local --enable-shared --enable-dl --disable-static \
--with-blas="-L/usr/atlas/lib -lptf77blas -latlas -lgfortran -lpthread -lgomp" \
--with-lapack="-L/usr/local/lib -llapack_LINUX -ltmglib_LINUX"