OpenBSD 6.0 から 6.1 へのアップグレード

# はじめに

2017年4月11日に [OpenBSD 6.1](https://www.openbsd.org/61.html) がリリースされました。
以前、["OpenBSD 6.0 で Xfce4 日本語デスクトップ環境の構築"](http://qiita.com/kinichiro/items/dac58e29b7fca01de705) で 6.0 をインストールしましたが今回は 6.1 へアップグレードを行ってみます。
またログインマネージャとして slim を使っていましたが、新しい xenodm に変更してみます。

# OpenBSD 6.1 へのアップグレード手順

今回行った OpenBSD 6.0 から 6.1 へのアップグレードの手順を説明します。

*アップグレードの公式FAQは [OpenBSD Upgrade Guide: 6.0 to 6.1](https://www.openbsd.org/faq/upgrade61.html) を参照*

## (1) インストールメディアで Upgrade 実行

OpenBSD の[適当なミラーサイト](https://www.openbsd.org/ftp.html)から install61.iso をダウンロードしてきます。

OpenBSD 6.0 のインストールされているコンピュータを install61.iso で起動して、(U)pgrade を実行します。

![ja61-001.png](https://qiita-image-store.s3.amazonaws.com/0/103043/5524850d-962b-d270-47af-88acc61c7c19.png)

最後に以下のように聞かれたら yes と入力してリターンキーを叩くとアップグレードが始まります。

```shell-session
Directory does not contain SHA256.sig. Continue without verification ? [no]
```

アップグレードが完了したら reboot します。

## (2) パッケージの更新

root でログインし、パッケージを更新します。

パッケージのインストール元を指定するための環境変数 PKG_PATH を、6.1 のパッケージの場所に向けます。
PKG_PATH には前述のミラーサイト配下の `/6.1/packages/アーキテクチャ/` を指定することができます。以下は設定の一例です。

```shell-session
# export PKG_PATH=http://www.ftp.ne.jp/OpenBSD/6.1/packages/amd64/
```

コンピュータがファイアーウォールの内側にありプロキシ経由でないとインターネットに接続できないネットワーク環境なら、環境変数 http_proxy と https_proxy にプロキシを指定しておきます。

```shell-session
# export http_proxy=proxy.mydomain.com:8080
# export https_proxy=proxy.mydomain.com:8080
```

パッケージを更新します。

```shell-session
# pkg_add -u
```

以上でインストールされていたパッケージの更新は完了です。

*パッケージの公式FAQは https://www.openbsd.org/faq/index.html の [Packages and Ports](https://www.openbsd.org/faq/faq15.html) を参照*

# ログインマネージャの変更

今回、ログインマネージャを変えてみたくて slim から xenodm にしてみました。ここではその変更手順を説明します。

## (1) slim の起動設定の削除

rootアカウントで /etc/rc.conf.local を編集して pkg_scripts から slim を削除します。

```bash:/etc/rc.conf.local
pkg_scripts="messagebus slim"
　　　　　　　　　　　　　　↓
pkg_scripts="messagebus"
```

## (2) xenodm の起動設定

rootアカウントで rcctl コマンドにより xenodm を有効にします。

```shell-session
# rcctl enable xenodm
```

## (3) .xsession の作成

Xfce4 のデスクトップにログインするユーザでログインして、ログインディレクトリ配下の .xsession を作成します。
xenodm はログイン認証後に .xsession を実行するためです。
以下の設定でユーザがログインマネージャからログインした後に Xfce4 が起動されます。

```bash:$HOME/.xsession
export LANG=ja_JP.UTF-8
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
scim -d
exec ck-launch-session startxfce4
```

## (4) ディスプレイの大きさの設定

私は OpenBSD を VMWare の仮想マシンにインストールしているのですが、ログインマネージャを表示する時のディスプレイのサイズが大きすぎて不便だったので以下の設定を行いました。

```bash:/etc/X11/xorg.conf
Section "Monitor"
  Identifier    "Configured Monitor"
  HorizSync     1-10000
  VertRefresh   1-10000
  Modeline      "832x624" 100 832 932 1032 1132 624 724 824 924 -HSync +Vsync
EndSection

Section "Screen"
  Identifier    "Default Screen"
  Monitor       "Configured Monitor"
  Device        "Configured Video Device"
  DefaultDepth  24
  SubSection    "Display"
    Depth       24
    Modes       "832x624"
  EndSubSection
EndSection
```

以下の記事を参考にさせていただきました。
[VMware上のLinux(X-Window)で画面解像度を自由に設定する](https://pekodeco.jimdo.com/2010/06/19/vmware%E4%B8%8A%E3%81%AElinux-x-window-%E3%81%A7%E7%94%BB%E9%9D%A2%E8%A7%A3%E5%83%8F%E5%BA%A6%E3%82%92%E8%87%AA%E7%94%B1%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B/)


以上で設定ファイルの編集は完了です。

rootアカウントで reboot してみましょう。以下のログイン画面が出ればOKです。

![ja61-002.png](https://qiita-image-store.s3.amazonaws.com/0/103043/bd8e4a70-896c-8fd5-56e8-2141e440133f.png)

# まとめ

OpenBSD 6.0 から 6.1 へのアップグレードを行いました。
合わせてログインマネージャを slim から xenodm に変更しました。

アップグレードは特に問題もなく完了して拍子抜けしました。
ログインマネージャの xenodm は xdm と同様のシンプルなものですが、ハリセンボンのマスコットがかわいくていいんじゃないでしょうか。
これが出てると、ああ OpenBSD 使ってるなあと実感できますし。

OpenBSD プロジェクトは寄付を募ってます。
詳しくはこちら： https://www.openbsd.org/donations.html