CentOSでrpm -e file.rpmでアンインストールできないことがある
拡張子.rpmを消してrpm -e file
iostatのインストール(CentOS)
yum install sysstatよく使うオプションとして
iostat -xk 2またデバイスの詳細は
lvdisplayで見ることができる。
利用可能な論理フォント名を確認する (AVS/Expressでフォントを指定するときに必要)
xlsfontsあるいは
xfontsel
Firefox等で文字化けする
インストールしたばかりで日本語フォントがないと文字化けしてしまう。スタンダードな日本語フォントであるIPAフォントをインストールすれば良い。yum install ipa-gothic-fonts ipa-pgothic-fonts
X11フォワーディングに失敗する
xauthをインストールyum install xauthあとはsshd_configまわりを何とかする。
gccでlibquadmathが使えない
CentOS7でgccのバージョンが上がってlibquadmathが使えるようになったと思ったら、使えない。fftwのquad precisionのインストールにも失敗する。yum install libquadmathでlibquadmathをインストールすると、/usr/lib64にlibquadmath.so.0とlibquadmath.so.0.0.0 (バージョンは違うかも) ができているはず。gccはlibquadmath.soというファイルがないとダメみたいなのでシンボリックリンクを貼っておく。
ln -s /usr/lib64/libquadmath.so.0.0.0 /usr/lib64/libquadmath.soこれで
gcc -lquadmath hoge.cとすれば128ビットの4倍精度計算ができるようになる。また、fftwの--enable-quad-precisionでインストールできるようにもなった。
PovRayのインストール
povlinuxでPovRayをインストールしようとすると、「お使いのOSはLinuxではありませんよ」と言われる。どうやらCentOS7はPovRayにとってLinuxではないみたい!./install -no-arch-checkでインストール。
NFSを用いたserver:/homeから/homeへのマウントの失敗
/etc/fstabにちゃんと記述してても、起動時にserver:/homeから/homeへのマウントに失敗している。ただし起動後にmount -aとするとちゃんとマウントしてくれる。また/homeではないディレクトリにはちゃんとマウントしてくれる。NISとの連携なのでNISサーバーの設定をちゃんとすればいいらしいのだが、それもうまくできなかった。面倒なので、起動時に mount -a を自動実行させることにする。と思ったら、イラつくことに、CentOS7は/etc/rc.d/rc.localを用いた自動実行はもはやできないみたい (rc.localに実行権限を与えることで無理矢理できるみたいだが) 。
[Unit] Description=AutoMount After=network.target [Service] Type=simple ExecStart=/usr/bin/mount -a [Install] WantedBy=multi-user.targetと書いて
systemctl enable automt.service systemctl start automt.serviceを実行する。
FreeFem++のインストール
CentOS7からrpmを用いたインストーラーのサポートがなくなったっぽいのでソースからインストールする必要がある。yum -y install wgetFreeFem++のダウンロード
wget https://github.com/FreeFem/FreeFem-sources/archive/v4.4.2.tar.gzLaTeXのインストール(何故か必要みたい)
yum -y install texlive展開
tar zxvf v4.4.2.tar.gz cd FreeFem-sources-4.4.2インストール前の準備
autoreconf -i yum -y install unzip yum -y install bison yum -y install flex yum -y install patch yum -y install git yum -y install freeglut*READMEに従ってインストール
./configure --enable-download --enable-optim ./3rdparty/getall -a cd 3rdparty/ff-petsc make petsc-slepc cd ../../ ./reconfigure make -j2 make check make install4行目でエラーメッセージが出るが問題なし。7行目で次元云々でエラーが出た場合、openmpiをIntelコンパイラで紐づけしてインストールしている可能性あり。これでもうまくいかないときもあったが、原因不明。
VirtualGLのインストール
nouveauが止められなかったり、TurboVNCで接続したら真っ黒になったり、そもそもVirtualGLが動かなかったりしてかなり手こずったのでメモ。ここでは遠隔からログインしてVirtualGLを使うためだけのサーバー構築。 最初にCentOSは必ずminimalインストールにしておく。インストーラーに付いているGnome Desktop環境をインストールするとTurboVNCが全く動いてくれなかった(MATE Desktopとかを後で入れるならいいのかもしれないが)。まずはVirtualGLおよびTurboVNCのインストール
ここと ここに行ってソースファイル(rpm)をダウンロードする。ここでは最新版を入れること。下手に古いのを入れるとVirtualGLもTurboVNCも動いてくれない。その後yum -y install VirtualGL-2.6.3.x86_64.rpm yum -y install turbovnc-2.2.4.x86_64.rpmでインストール(バージョンは適宜変更)。接続するローカルPCにもVirtualGLとVNCクライアントソフト(例えばTigerVNC)を入れておく。
次にnouveauを停止する。まずはNVIDIAを入れるために必要なものをインストール。
yum -y install kernel-devel-$(uname -r) kernel-header-$(uname -r) gcc makeNVIDIAドライバインストール直前にこれをやると、nouveauが勝手に動き出すことがあったので、最初にやっておく。次にnouveauが動いていることを確認
lsmod | grep nouveaunouveauの停止
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut -v /boot/initramfs-$(uname -r).img $(uname -r)再起動
reboot再起動後再び
lsmod | grep nouveauとして何も出力されないことを確認する。まだ停止されていないときは
rm /boot/initramfs-$(uname -r).img dracut -v /boot/initramfs-$(uname -r).img $(uname -r)として再起動。
次にNVIDIAドライバのインストール。
まずはグラフィックカードのバージョンを確認lspci | grep VGAもしlspciコマンドが無いようだったら、インストール
yum -y install pciutilsここへ行って対応するバージョンのNVIDIAドライバをダウンロードする。その後実行
bash NVIDIA-Linux-x86_64-440.64.run32ビット版もインストールするか訊かれるのではいにする。 また何か上書きインストールするか訊かれるのでこれもはいにする。 ちゃんとインストールされたかのチェック
lsmod | grep nvidiaGPUを計算と描画両方に対応させる
nvidia-smi --gom=0再起動
reboot次にデスクトップ環境のインストール
yum -y groupinstall "X Window System" yum -y groupinstall "gnome Desktop" yum -y install gdm
次にXorgの設定
/etc/X11/xorg.conf を編集44行目から Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "AllowEmptyInitialConfiguration" "True" SubSection "Display" Depth 24 EndSubSection EndSection次にVirtualGLの設定
/opt/VirtualGL/bin/vglserverConfigureの後、3回ほど質問されるが、全ていいえにしておく。 エラーメッセージが途中で出るが気にしない。 次にGNOME Desktopの起動
systemctl start gdm systemctl enable gdmリモートでしか使わないのであればgraphical.targetにする必要はない。
最後にGPUで描画ができるかどうかの確認
VirtualGLをインストールしたローカルマシンからVirtualGLを使ってログイン(ユーザー名をhogeとする)vglconnect hoge@サーバー名vglconnectはsshとほぼ同じ。 ログイン後
vglrun glxgearsでギアが回転する映像が出ることをチェック。次にVNCを使ってログインする。まずはVNCサーバーの立ち上げ
/opt/TurboVNC/bin/vncserver :番号番号は予め決めておく
VNCクライアントをインストールしたローカルマシンからVNCでログイン
vncviewer avs:番号GNOMEデスクトップ上でターミナルを起動し
vglrun glxgearsでギアが回転する映像が出ることをチェック。
SELinuxでつまづく
getenforceでenforcingのときに動かず、permissiveのときにうまく行くときはSELinuxのせい。ただ、どうすればいいか途方に暮れる。その場合、setroubleshootをインストールすればいい。yum install setroubleshoot setoolsその後、
sealert -a /var/log/audit/audit.logとすればSELinuxが何を拒否して、それを回避するために何をすればいいか教えてくれる。