やるきなし

2017/05/18 17:40 / nfsroot で / に対して fscache (fsc) を有効にする,再び

以前の記事で nfsroot で / に対して fscache (fsc) を有効にする方法を記載していたのだが,これだと initramfs-tools が upgrade されると編集したファイルが上書きされて正常に起動しなくなる.

ということで,もう少しスマートな方法(アプローチは同じ).以下の2つのファイルを用意して,chmod 755 しておく.

[/usr/share/initramfs-tools/hooks/zz-nfsmount]
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/mount.nfs /bin/mount.nfs
cp -pnL /usr/share/initramfs-tools/extra/* ${DESTDIR}/bin

[/usr/share/initramfs-tools/extra/nfsmount]
#!/bin/sh

opt=""
while [ "$1" = "-o" ] ; do
    opt="$opt $1"; shift
    opt="$opt $1"; shift
done
mount.nfs $1 $2 $opt

あとはupdate-initramfs -u -k allとかで initrd 再生成.

/usr/share/initramfs-tools/hooks/zz-nfsmountは以前 /usr/share/initramfs-tools/hooks/klibcの末尾に書いていたもの./usr/share/initramfs-tools/extra/nfsmountは initrd に含める nfsmountの代用 script.やっていることは以下のとおり.

Related articles

2017/05/15 14:04 / Linux 4.11.0 -> 4.12-rc1

4.12-rc1が出ているので .config がどう変更されるのか見てみた.ターゲットは VMware on Windows 上の Guest で CPU は i7-3687U.以下 - は削除されたもの,+ は追加されたもの m->n 等は値の変化を示す.

Related articles

2017/05/03 00:24 / Linux 4.10.13 -> 4.11.0

4.11 が出たので 2017/02/20 10:31 / Linux 4.9.X -> 4.10同様 .config がどう変更されるのか見てみた.2017/03/06 09:51 / Linux 4.10.1 -> 4.11-rc1 との差分のみ(ターゲットが異なって,こちらはより汎用指向の環境).以下 - は削除されたもの,+ は追加されたもの m->n 等は値の変化を示す.

Related articles

2017/04/25 12:22 / Wanderlust+IMAP/SSL w/emacs24 24.5+1-10

Debian GNU/Linux unstable (sid) で emacs24 が 24.5+1-10 に上がった際に,以下のとおりopenssl s_clientが使えなくなった.

[/usr/share/doc/emacs24-common/changelog.Debian.gz]
* Don't offer/use openssl s_client by default: "s_client is a debug
  tool, it does not set up a secure connection, it ignores all
  errors and just continues.  It also doesn't do checks it should be
  doing.  This is all documented behaviour." -- Kurt Roeckx
  Add these patches to fix the problem:
    0028-IMAP-connections-no-longer-use-openssl-s_client.patch
    0029-openssl-s_client-is-no-longer-a-default-for-ssl-conn.patch
  Thanks to Kurt Roeckx for reporting the issue. (Closes: #766397)

おそらくその影響で,Wanderlust の IMAP/SSL が gnutls-cli を使うようになって,うまくサーバに接続できない状況となってしまった.

% gnutls-cli --port XXXXX localhost
Processed 173 CA certificate(s).
Resolving 'localhost:XXXXX'...
Connecting to '::1:XXXXX'...
- Certificate type: X.509
- Got a certificate list of 1 certificates.
- Certificate[0] info:
 - subject `EMAIL=postmaster@example.com,CN=localhost,OU=Automatically-generated IMAP SSL key,O=Courier Mail Server,L=New York,ST=NY,C=US', issuer `EMAIL=postmaster@example.com,CN=localhost,OU=Automatically-generated IMAP SSL key,O=Courier Mail Server,L=New York,ST=NY,C=US', serial 0x.................., RSA key 4096 bits, signed using RSA-SHA1, activated `2015-03-.. ..:..:.. UTC', expires `2016-03-.. ..:..:.. UTC', key-ID `sha256:........'
        Public Key ID:
                sha1:........
                sha256:........
        Public key's random art:
(snip)

- Status: The certificate is NOT trusted. The certificate issuer is unknown. The certificate chain uses expired certificate. 
*** PKI verification of server certificate failed...
*** Fatal error: Error in the certificate.
*** handshake has failed: Error in the certificate.

Wanderlust から /usr/share/emacs/24.5/lisp/net/tls.el.gz が呼ばれて,gnutls-cli の引数は以下のように定義されている.

(defcustom tls-program
  '("gnutls-cli --x509cafile %t -p %p %h"
    "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3")
; snip

ということで ~/.wl に以下を書いて解決.自前サーバを port forward して使っているので--insecureでとりあえずは問題なし.

(setq tls-program '("gnutls-cli --insecure --x509cafile %t -p %p %h"))

2017/04/08 08:41 / Emacs の local variable を eval する

いろいろ互換性を考慮して code 毎に ruby-indent-level 等の Emacs local variable を設定することにしている.以下のような感じ.

#!/usr/bin/env ruby

if true
    puts "foo"
end

# Local Variables:
# ruby-indent-level: 4
# End:

Default の ruby-indent-level は 2 なので,Local Variables:を書いた後にそれをEmacsのBufferに反映させるためには,ファイルの再読込みをすればよいのだが,それをしなくても M-x normal-mode すれば反映されるらしい.See f1-f normal-mode or /usr/share/emacs/24.5/lisp/files.el.gz.