EGit で勝手に bin/.gitignore を作成させないようにする

題名のとおりです。
bin 以下に .gitignore ファイル (ファイルの中身は *.class) を勝手に作成する設定が EGit にあるのですが、実行ファイルもリモートリポジトリに上げたかったので無効化しました。

設定手順は、

環境設定から [Team] > [Git] > [Projects] の [Automatically ignore derived resources by adding them to .gitignore] のチェックをはずす

です。

Python: matplotlib のインポートエラー

久々に Python でグラフを書こうとして

import pylab

としたときにエラー。

Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/site-packages/pylab.py", line 1, in
from matplotlib.pylab import *
File "/usr/local/lib/python2.7/site-packages/matplotlib/pylab.py", line 226, in
import matplotlib.finance
File "/usr/local/lib/python2.7/site-packages/matplotlib/finance.py", line 23, in
from matplotlib.collections import LineCollection, PolyCollection
File "/usr/local/lib/python2.7/site-packages/matplotlib/collections.py", line 23, in
import matplotlib.backend_bases as backend_bases
File "/usr/local/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 50, in
import matplotlib.textpath as textpath
File "/usr/local/lib/python2.7/site-packages/matplotlib/textpath.py", line 14, in
from matplotlib.mathtext import MathTextParser
File "/usr/local/lib/python2.7/site-packages/matplotlib/mathtext.py", line 62, in
import matplotlib._png as _png
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/matplotlib/_png.so, 2): Library not loaded: /usr/local/lib/libpng15.15.dylib
Referenced from: /usr/local/lib/python2.7/site-packages/matplotlib/_png.so
Reason: image not found

で、解決方法。
ダイナミックライブラリが死んでたっぽいので再インストールする。
(libpng, freetype の --universal フラグは必要)

sudo pip uninstall matplotlib
sudo rm -rf /tmp/pip-build-root/
brew reinstall libpng --universal
brew reinstall freetype --universal
sudo pip install matplotlib

byobu で Detached なセッションを殺す

メモだよ。

デタッチしたセッションを殺すときには次のようにします。

byobu kill-session

セッションを指定して殺すなら

byobu kill-session -t 0

みたいにして -t で指定します。

基本的に byobu のオプションは screen や tmux 互換と思って良い。
最近 byobu 使い始めたけど、"byobu オプション" でググってもあまり情報が出てこなかったりして、でもそんな時は "tmux オプション" で検索してみると良い感じの情報が出てくるということに気がつくまでに少し時間がかかった。

heroku login 時に出てきた warning

久々に heroku login したらパスワード入力で warning が出てきた。

$ heroku login
Enter your Heroku credentials.
Email: e-mail@address
Password (typing will be hidden): /Library/Ruby/Gems/1.8/gems/heroku-2.40.1/lib/heroku/auth.rb:170: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777

権限の問題で /usr/local, /usr/local/bin, /usr/local/opt, /usr/local/share の権限変更が必要。

sudo chmod go-w /usr/local/{,bin,opt,share}

パスワード入力で唐突にエラーが出るとドキッとするよね

Munin を yum update したら conflicts

Munin を最新版にしようと yum update したら conflicts してるよーって言われた。

# yum --enablerepo=epel update munin
...
Transaction Check Error:
file /var/www/cgi-bin/munin-cgi-graph from install of munin-2.0.12-2.el6.noarch conflicts with file from package munin-cgi-2.0.8-1.el6.noarch
...

以前は munin-cgi によってインストールされていた /var/www/cgi-bin/munin-cgi-graph が、munin 本体によってインストールされるようになったようだ。

というわけで、一度 munin を remove しようと思ったら、munin は remove できたけど、そのまま munin-cgi も remove しようとして munin-fcgi-graph と munin-fcgi-html ファイルがないよと吐きつつ Failed

とりあえずエラーは無視して、munin-cgi を update した。

# yum --enablerepo=epel update munin-cgi
...
Complete!

その後に munin 本体を再びインストールする。

# yum --enablerepo=epel update munin
...
Complete!

できました。めでたしめでたし

Scientific Linux 6.x の Diskless Client ネットブート時に rpcbind のエラーで止まる

Scientific Linux 6.x で Diskless Client を作成していて、ネットブートで起動しようとしたら下記のような rpcbind のエラーで止まった。

rpcbind: cannot create socket for udp6
rpcbind: cannot create socket for tcp6

IPv6 は無効化しているはずなので、なんで IPv6 で通信しようとしてるんだろうと思ったら、RHEL 6 以降は NFS マウントのポートマッピングに portmap ではなく rpcbind を使用しているため、rpcbind で IPv6 を使用しない設定をする必要があるようだ。

rpcbind の IPv6 無効化は /etc/netconfig で設定する。
他に rpcbind 用の個別の設定ファイルで設定できないかと思ったが、どうも rpcbind では /etc/netconfig を直接 (?) 見ているようなのでここで設定する。*1

具体的には、

# cat /etc/netconfig
... 省略 ...
udp6       tpi_clts      v     inet6    udp     -       -
tcp6       tpi_cots_ord  v     inet6    tcp     -       -
... 省略 ...

コメントアウトする。

# cat /etc/netconfig
... 省略 ...
#udp6       tpi_clts      v     inet6    udp     -       -
#tcp6       tpi_cots_ord  v     inet6    tcp     -       -
... 省略 ...

あとは、rpcbind (と、関連するサービス) を再起動させて設定を反映する。
これでエラーが出ずに起動するようになった。

あと書いてて思ったけど、rpcbind restart じゃなくて reload とかでもいけたのかな?

設定反映はとりあえず restart で! みたいな習慣あんまり良くないのかも。
社会人になって会社とかでサーバのサービス restart するときは申請書を書かないといけないとか聞いたことあるし…… [要出典]

Scientific Linux 6.x でデフォルトディスプレイサイズの設定

Scientific Linux 6.x (CentOS 6.x とか RHEL 6.x 系) でデフォルトのディスプレイサイズを設定する方法。

昔は /etc/X11/xorg.conf で設定できたようですが、どうやら Fedora 10 以降は自動化されてデフォルト値がなくなってしまった影響で、RHEL 6 から設定ファイルそのものがないようです。

結局 GDM (GNOME Display Manager) の Init スクリプトにコマンドを追加することにしました。

変更するファイルは /etc/gdm/Init/Default
スクリプトの最後に xrandr コマンドを足します。下記は 1024x768 にする設定です。

# Display size
xrandr -s 1024x768

これでログイン画面・ユーザデスクトップ画面すべて 1024x768 になりました。めでたしめでたし