スベリミナル効果

技術的なことを書こうと思ってたけど何でも書くことにします

技術的なことを書きたいんですけどね… 指摘・質問・罵倒コメントください…
ダジャレ好きの方はこちらにどうぞ→スベリブログ2.0

emacsの起動が遅くなった話

なんかemacsの起動が急に遅くなりました。
いつものように起動しているだけです、特に.elとか追加してません。

分からないからstraceしてみました。

$ strace -s 1500 emacs hoge.txt
(略)
# ★resolve.conf読んでる
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=74, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0abf243000
read(4, "# Generated by dhclient\nsearch hijili.net\nnameserver 172.30.255.1\n", 4096) = 74
read(4, "", 4096)                       = 0
close(4)              
(略)
# ★hosts読んでる
open("/etc/hosts", O_RDONLY|O_CLOEXEC)  = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=158, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0abf243000
read(4, "127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4\n::1         localhost localhost.localdomain localhost6 localhost6.localdomain6\n", 4096) = 158
read(4, "", 4096)                       = 0
close(4)                                = 0
(略)
# ★resolve.confに従って自分のホスト名を名前解決しようとしている
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("172.30.255.1")}, 16) = 0
poll([{fd=4, events=POLLOUT}], 1, 0)    = 1 ([{fd=4, revents=POLLOUT}])
sendmmsg(4, {{{msg_name(0)=NULL, msg_iov(1)=[{"\263i\1\0\0\1\0\0\0\0\0\0\thijili-laptop\6hijili\3ne"..., 38}], msg_controllen=0, msg_flags=0}, 38}, {{msg_name(0)=NULL, msg_iov(1)=[{"\330\343\1\0
\0\1\0\0\0\0\0\0\thijili-laptop\6hijili\3ne"..., 38}], msg_controllen=0, msg_flags=0}, 38}}, 2, MSG_NOSIGNAL) = 2
poll([{fd=4, events=POLLIN}], 1, 5000)  = 0 (Timeout)

ええ、VPNの後処理が良くなかったためにresolve.confがおかしくなり、
名前解決ができない状態になってました。(ってかそれにまず気づけよ)

にしても、emacsさんって起動時に自ホストの名前解決するんですね。
これを防ぐには /etc/hosts に自ホストを書いておけばいいと。
FreeBSD QandA 763
エンコードEUC-JPでどうぞ


名前引く目的はわかりませんでした… 暇があったら調べてみようと思いますが、
知ってる人はコメントに書き込んでくれても全然いいんですよ。(なぜ上からなんだよ)