AWS Linux 2 に emacs を設定

emacs
emacs

AWS Linux 2 に emacs を設定する作業の記録

AMI から Amazon Linux 2 を立ち上げて、yum upgrade で更新しておく。


標準状態では emacs 25 が yum に用意されている。

[ec2-user@awstest ~]$ yum list |grep emacs
yum list |grep emacs
emacs.x86_64                           1:25.3-3.amzn2.0.1            @amzn2-core
emacs-common.x86_64                    1:25.3-3.amzn2.0.1            @amzn2-core

emacs 25 ではセキュリティ証明書が古く、emacs package が使用できず、package-list-package を実行するとエラーが表示される

Failed to verify signature archive-contents.sig:
No public key for 066DAFCB81E42C40 created at 2020-08-27T21:05:02+0000 using RSA
Command output:
gpg: Signature made Thu 27 Aug 2020 09:05:02 PM UTC using RSA key ID 81E42C40
gpg: Can't check signature: No public key

emacs 26 に更新しても上記の問題は解決できるが、emacs 25 での解決方法は以下の通り。


.emacs.d/init.el に package-check-signature を nil に設定して、elpa などのリポジトリを追加する

(setq package-check-signature nil)

(require 'package)

(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
(add-to-list 'package-archives '("ELPA" . "https://tromey.com/elpa/") t)
(package-initialize)

init.el を変更したら、M-x load-file で .emacs.d/init.el を読み直して、M-x package-list-package を実行する。


追加したリポジトリのパッケージ一覧が表示されるので、gnu-elpa-keyring-update をインストールする。

今後は gnu-elpa-keyring-update が自動的に keyring を更新してくれるので、(setq package-check-signature nil) は削除してよい。