Chap-14. Devuan を試用

 2019 年初夏、ネットを漠然と(暇つぶしに)見ていたら、このディストリを知りました。なんでも、Debian without systemd と標榜しているらしい。
さらに distrowatch をよく見ると、各ディストリの解説のところに、何を init に使っているか書いてあることも知りました。マイナーなディストリだと、案外と systemd 非採用のものがあります。
また、2014 年頃にDebian の開発者たちの中で systemd 採用の是非について、激しい議論があったことも知りました。納得です。
ちなみに、devuan って、フランス系の言葉?? 発音はデブワンと言うらしい。デブが一人?
私は BMI が 21 程度なので、必ずしもデブではないですが、このディストリを試してみます。

Sec-1.インストール
Sec-2.最初の試し(systemd 非採用の効果は?)
Sec-3.通常の初期設定や登録
Sec-4.最初に入れるパッケージ
Sec-5.シリアル回線(ルータ管理用)
Sec-6.Apache 及び Postfix のコンパイルとインストール
Sec-7.Guile 及び Lua のコンパイルとインストール
Sec-8.試用してみての印象
Sec-9.公開サーバで試用


Sec-1.インストール

 Devuan のサイトのミラーを見ると CD(640MB) 、DVD(4.3GB) 、netinst(298MB) のiso があります。ネットが良さそうです。
他のマシンでダウンロードしたあと USB を刺して

# dd if = netinst.iso of = /dev/sdb

とすると、インストール用の USB が出来ます。その後は目的のマシンに刺して USB からブートするだけです。
インストールマシンは 8GB メモリ、 250GB SSD です。
インストール最初の段階で、日本語使用とか日本語キーボード使用が選択できて、楽です。また、インストールで簡単なやり方(グラフィックインストール)を選択しても、ディスクの利用について、全部一発で使うのか、/、/tmp 、/var 、/home ディレクトリを分割するか等と聞いてきます。
私はおまかせ分割(/、/tmp、/var、/home)を選びました。
この段階で、一度全部のパーティションを消してから、もう一度パーティションを作りなおすと、自分の好みの容量に変更できます。でも、最初はおまかせのままでいきます。その結果

となりました。マアマアですね。Ubuntu だとルート上にスワップファイルが置かれて、swap partition はありません。でも devuan は swap partition を作るスタイル。
昔は swap はメモリの2倍とか言いました。ネットで「スワップ、必要量」などを検索すると、メモリ同等程度から2倍程度が推奨らしいですが、それも結構いい加減な話。本来は使い方を想定しないと、必要スワップは見積もれない。
科学技術計算、例えば有限要素法解析とかやる人だと、計算対象によっては主メモリ32GBでスワップ64GBとか必要でしょうか。
私の利用なら、主メモリ 8GB にスワップも 8GB の、おまかせインストールで全然オケです。
ただ、ルートがちょっと小さいなあ・・・などと思いましたがそのまま行きます。あとでそれは災いになりました(汗)
これでとりあえず devuan が立ち上がりました。X11 はインストールの段階で xfce を選びました。
なお、X11 を入れない設定のインストールもできます。GUI 無しにして、24H運転のサーバ用にもインストール可能です。



Sec-2.最初の試し

 普通はインストール直後の作業として、ユーザ登録、ネット関係の調整、必要なデーモンの立ち上げと不要デーモンの停止、必要ソフトパッケージの追加などやります。
でもここでは「普通に、サーバらしい、あるいは昔ながらのUNIXマシンらしい管理ができるかどうか?」をまず試してみます。つまり、2018年11月頃に Ubuntu を試して挫折した部分が、devuan ではどうなのか? それを調べます。

 やることは、とりあえず、

そんなところです。「普通に〜」というところは、ちょっと説明がうまく出来ません。
昔ながらの管理手法が出来るかどうか?ってことです。普通って、うまく説明しづらい用語です。


IPアドレスの変更
 /etc/network/interfaces というファイルを編集するだけでした。devuan の管理についてウェブサイトに書かれているとおり、大半は debian 用のマニュアルが使えるようです。
 今回インストールしたときは、dhcp になりました。普通自宅ではすべてstatic IP address 使っています。ただ、都合があって、ルータの設定では dhcp server 機能も有効にしてあります。するとインストーラはまずこの dhcp を試そうとします。その関係で最初は下記のようになっていました。

iface eth0 inet dhcp

これを

iface eth0 inet static
address        192.168.0.XX
netmask        255.255.255.0
gateway        192.168.0.254

こんな具合になおして

# ifdown eth0
# ifup   eth0

とすると、無事にスタティックなIPアドレスに変わりました。簡単ですね。オケです。
また、/etc/resolv.conf はエディターで普通に編集できます。

注:正確には、ifdown eth0 やって /etc/network/interfaces 編集して ifup eth0 やります。

/etc/rc.local は?
最初から普通に入っていました。なので、この中に記述を加えるだけ。簡単どころか、当然のように動きます。オケです。
ちなみに、rcx.d の中で rc.local を動かすように設定されていました。(デーモン管理は本セクションの後述)


カーネルのアップデートは?
 Chap-7. に書いてありますので、すみませんがそっちを見てください。簡単です。
ただ、ルートがちょいと小さくて、モジュールをインストールする段階で、容量オーバー。パンクしました(汗)。仕方ないので、/home でソース展開して /usr/src/linux にシンボリックリンクはって、コンパイルしました。
また、結局後になってOSを入れ直して、/ の容量を上げておきました。デフォルトの 24GB はちょこっと小さすぎます。


パケットフィルターはどうか?
 問題ありません、簡単に、普通に使えます。

  

システム付属デーモンの立ち上げと停止
 これは insserv というコマンドを使うと簡単です。以前はランレベルごとの rcx.d (x --- 0, 1, 2, etc) でファイル名称を変更して管理していたようですが、今はそのやり方は推奨されていません。なので、insserv を使います。

実に簡単です。オケです。



 以上のような具合なので、devuan は概ね UNIX 機らしい普通の管理が出来そうです。





Sec-3.通常の初期設定や登録

 ここでの作業はごく普通の作業。私の場合、概ね以下のような作業です。

この部分は systemd を採用していても採用していなくても、特に変わりは無いです。
一行目はLinuxなら同じでしょう。また xfce を使っていれば二行目以降も基本的に同じです。簡単です。オケです。


 最後の日本語変換のオン・オフが ctrl+space に出来るように設定修正するところだけ、書いておきます。
xfce 前提です。まず、右上の設定ボタンを押します。すると下のウィンドウが現れます。

window1

ここで、全体キー設定1を押します。またウィンドウが現れます。

window2

 この画面の上2つが、日本語変換オンオフの設定です。ここで一番上の編集ボタンを押すと下の設定画面となります。

window3a

初期設定だと上の箱に2つ設定が入っています。それを削除します。

window3b

その後、下のボックスに行って、そこでコントロール+スペースをやると、<control>space という文字が入ります。下の画面はそれが入ったところ。

window4

その後、追加ボタンを押すと上のボックスにそれが入ります。それでオケです。同じことを全体キー設定1の上から2つ目の編集ボタンでも実行します。

window5

後はウィンドウを閉じれば、懐かしの Atok 風にコントロール+スペースキーで日本語のオン・オフが出来ます。




Sec-4.最初に入れるパッケージ

 このセクションに書くことは多くありません。devuan は debian without systemd なので、基本的に debian で使えるパッケージは、こっちにもパッケージ化されているようです。なので、自分が使いたいものを # apt install hogehoge やるだけです。
私は、gcc, g++, make, emacs25-nox, gnupg1, gnupg2, mew, ntp, nmap, cu あたりを入れました。(入れたように記憶している・・・汗)
apt を使うだけなので、簡単です。guile とか lua は、後から自分で最新版をコンパイル・インストールします。
簡単でオケです。

補足
 Devuan の apt は、デフォルトでは contrib、non-free を排除しています。個人的には、これもインストールできるようにしておいたほうが楽です。
もしも同感なら、/etc/apt/sources.list を編集して、各行末に 「contrib non-free」 を書き足しておくことをおすすめします。




Sec-5.シリアル回線(ルータ管理用)

 普通に使えます。cu -l /dev/ttyS0 などとすると、シリアル回線経由でルータにログインできます。
通常 USB-serial 変換を通じたアクセス(/dev/ttyUSB0 等)だと、速度が9600Bps に制限されます。でも、Devuan は速度を自動調節してくるので、速度指定せずに cu できます。上等です。



Sec-6.Apache 及び Postfix のコンパイルとインストール

 コンパイル作業自体は、Chap-7. のとおりで、Debian や Ubuntu と全く同じです。オケです。簡単にコンパイル出来ます。




Sec-7.Guile 及び Lua のコンパイルとインストール

 コンパイル作業自体は、Chap-7. のとおりで、Debian や Ubuntu と全く同じです。オケです。




Sec-8.試用してみての印象

 今回は、LAN内のプログラミング環境とかネットワーク内の管理に用途を絞り、試してみました。大変良好です。
印象がとても良かったので、次は公開サーバにも試してみようと思います。

 余談ですが、もともとLinuxは「UNIXクローンです」と標榜していました。出たはなの頃は自らそう言っていました。
でも、Ubuntu の systemd を見ていると、どっちかと言うと Windows クローンですね。Windows の置き換えを狙うくらいパソコンとして素晴らしく使いやすくなった反面、WindowsクローンみたいにOSがブラックボックス化されて、ユーザが管理することを拒んでいるように感じます。



Sec-9.公開サーバで試用

 Devuan で公開サーバを立ててみました。既に一ヶ月以上たっていて、快調です。
基本的に、本チャプターの Sec-2.で試したことが普通に出来れば、公開サーバに仕立てるのは容易です。
Chap-Bacic-1.のSec-7.で書いているとおり要塞ホストに仕立てれば良いわけです。

といった具合なので、まあまあオケです。

クラッキングされることもなく、無事に運転出来ているようです。
もっとも、仮にクラッカに乗っ取られていたとしても、なかなか気がつかないでしょう。
いまは改ざん検知のソフトも使ってないし(汗)
ここでの報告は、「とりあえず無事だ」ってことにしておきます。