月別アーカイブ: 2014年5月

TeX (pkgsrc-2014Q1) が動かない

pkgsrc-2014Q1 にロールアップしたら TeX が動かなくなった。

$ platex test.tex
This is e-pTeX, Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (Web2C 2013)
 restricted \write18 enabled.

kpathsea: Running mktexfmt platex.fmt
/usr/pkg/bin/mktexfmt: /usr/pkg/share/texmf/texconfig/tcfmgr: not found
fmtutil: config file `fmtutil.cnf' not found.
I can't find the format file `platex.fmt'!
$ 

tcfmgr は /usr/pkg/share/texmf-dist/texconfig にある。

調べてみると TeX Live 2012 から 2013 になって、texmf → texmf-dist という変更が入ったらしい。pkgsrc でインストールされる TeX のツール群で何か不整合でもあったのだろう。TeX は pkg_rolling-replace で入れなおしている。

そのうちに修正されると思うけど、それまでは TEXMFMAIN=/usr/pkg/share/texmf-dist を環境変数に指定しておくといいみたい。

sysupgrade

NetBSD 5.1.2 のシステムがあって、6.1.4 にあげようと思ったわけだ。

ソースからコンパイルするのは時間が掛かるし、インストールDVDを用意してコンソールから作業するのも面倒なので、ちょっと調べてみると、pkgsrc/sysutils/sysupgrade というのが見つかった。

インストール用のバイナリデータを持ってきて、展開してインストールしてくれるらしい。

やってみた。

$ sudo sysupgrade auto
sysupgrade: I: Starting auto-update with stages: fetch modules kernel sets etcupdate postinstall clean
sysupgrade: W: Reusing existing /var/cache/sysupgrade/base.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/comp.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/etc.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/games.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/man.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/misc.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/tests.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/text.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/netbsd-GENERIC.gz
sysupgrade: I: Skipping modules installation (modules not in SETS)
sysupgrade: I: Upgrading kernel using GENERIC in /
sysupgrade: I: Backing up 'netbsd' kernel as 'onetbsd'
sysupgrade: I: Upgrading base system
sysupgrade: I: Extracting base into /
100% |***********************************|   100 MiB  426.04 KiB/s    00:00 ETA
sysupgrade: I: Extracting comp into /
[1]   Bad system call (core dumped) progress -zf "${...
(略)
$ /bin/ls
Bad system call

おおっと。

6.1.4 のバイナリに置き換わった時点でコマンドが使えなくなった。だが 6.1.4 のカーネルのインストールは済んでいるはずなので、再起動すれば動くような気がする。

reboot(8) も動かない状態なのでやむなくリセットボタンによる再起動。

なんとか動くようになったので、もう一度 sysupgrade を実行して 6.1.4 に。

あと、/usr/pkg/etc/sysupgrade.conf で SET=AUTO だと、/etc/mtree/set.modules が無いせいで modules がインストールされていなかったので追加でインストールしておいた。

$ sudo sysupgrade -o SET=modules modules