各OSのPATHの初期値
はじめに
FreeBSD 10.1で
$ pkg install ctags
として、Exuberant Ctagsを入れたのに
$ ctags -R ctags: illegal option -- R usage: ctags [-BFTaduwvx] [-f tagsfile] file ...
と言われます。/usr/local/bin/ctags
ではなく/usr/bin/ctags
が呼ばれていて、FreeBSDのPATH
の初期値が、Debianと違うことに今さら気付きました。以下、自分のためのメモです。
Debian Sidの場合
/etc/login.defs
で設定。
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
/usr/bin
よりも/usr/local/bin
が優先される。
OSX Yosemiteの場合
/etc/paths
(と/etc/paths.d/
)で設定
/usr/local/bin /usr/bin /bin /usr/sbin /sbin
/usr/bin
よりも/usr/local/bin
が優先される。
FreeBSD 10.1の場合
/etc/login.conf
で設定
default:\ :passwd_format=sha512:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
/usr/local/bin
よりも/usr/bin
が優先される。
最後に
わかってないと地味にひっかかりそう…
VirtualBox上のFreeBSD 10.1でホストのOSX Yosemiteとsshfsでファイル共有
はじめに
OSX Yosemite上のVirtualBox内にFreeBSD 10.1を入れました。早速
$ pkg install virtualbox-ose-additions
として、virtualbox-ose-additions
をインストールしましたが、現時点で「共有ホルダー」は使えないようです。(ここで開発中らしいです。期待しています。)
そこで、sshfsでOSX YosemiteのフォルダをFreeBSDにマウントしたのですが、ちょっとてこずりました。以下、手順メモです。
OSX Yosemiteでリモートログインを有効にする
これが無いと始まりません。「システム環境設定」→「共有」→「リモートログイン」にチェックを入れます。
VirtualBoxの設定
下記のように、外部との通信用の「アダプター1」(NAT)に加えて、OSX Yosemiteとやりとりするための「アダプター2」(ホストオンリーアダプター)を追加します。
FreeBSD 10.1の設定
fusefs-sshfsのインストール
$ pkg install fusefs-sshfs
/boot/loader.confの編集
FUSEを有効化する。
fuse_load="YES"
/etc/rc.conf
にfusefs_enable="YES"
とするという記事を見かけますが、変わったようです。(参考)
/etc/sysctl.confの編集
ユーザランドでマウントが利用できるようにする。
vfs.usermount=1
/etc/rc.confの編集
ifconfig_em0="DHCP" ifconfig_em1="inet 192.168.56.203 netmask 255.255.255.0" vboxguest_enable="YES" vboxservice_enable="YES"
em1
が「アダプター2」(ホストオンリーアダプター)です。OSX Yosemiteのvboxnet0
が192.168.56.1
なので、適当に192.168.56.203
の固定アドレスを設定しました。
/etc/groupの編集
operator:*:5:root,[自分のアカウントを追記]
やっとマウント
FreeBSDを一旦再起動して、ログイン後
$ mkdir hostdir $ sshfs -o idmap=user 192.168.56.1: hostdir
とすると、パスワードを聞かれるので入力します。うまくいけば、OSX Yosemiteのホームディレクトリがhostdir
にマウントされて、読み書きできるようになるはずです。
最後に
かなり前にFreeBSD(98)をいじって遊んだことがあるので、いろいろなつかしいです。
Ruby 2.2.0でRuby/TKを使えるようにするconfigureオプション
はじめに
rbenvとruby-buildでそのままRuby 2.2.0を入れると、たいていRuby/Tkが使えないので、configureオプションを設定します。ちなみに、こちらのパッチは必要無くなったようです。
Debian SidやUbuntu 14.10 (64bit)の場合
$ apt-get install tk-dev $ RUBY_CONFIGURE_OPTS="--with-tcltkversion=8.6 \ --with-tcl-lib=/usr/lib/x86_64-linux-gnu \ --with-tk-lib=/usr/lib/x86_64-linux-gnu \ --with-tcl-include=/usr/include/tcl8.6 \ --with-tk-include=/usr/include/tk8.6 \ --enable-pthread --enable-shared" \ rbenv install 2.2.0
FreeBSD 10.1の場合
$ pkg install tk86 $ RUBY_CONFIGURE_OPTS="--with-tcltkversion=86 \ --with-opt-dir=/usr/local \ --with-tcl-include=/usr/local/include/tcl8.6 \ --with-tk-include=/usr/local/include/tk8.6 \ --enable-pthread --enable-shared" \ rbenv install 2.2.0