さくらのVPSでopenSUSEが使える(2016/11/28から)ようになりました。この記事を書いてる本人は普段pythonやPHPでAPIを開発していて、openSUSEのリリース作業に携わっていません。そして、もっぱらUbuntuを使っているのでopenSUSEがどんな感じなのかさわってみたくなりました。
概要
これまでのさくらのVPSではRedhat系、Debian系、FreeBSDがカスタムOSで提供されていましたが、openSUSEはRedhat系、Debian系でもない初のディストリビューションです。さて、どんな違いがあるんでしょうか。初期セットアップして見ていきます。
インストール
コンパネのカスタムOSインストールからインストールを始めます。

カスタムOSインストールは各OSのインストーラを操作しますので、VNCコンソールに接続して残りの作業を行います。
インストールのステップはこのような感じになります。
- キーボードレイアウトの選択
- パーティションの設定
- タイムゾーンの設定
- インストールパターンの設定
- ユーザアカウントとパスワードの設定
- OSインストール処理の開始
そんなに難しくありません。デフォルトの設定でいくなら「次へ」ボタンを押していくだけでした。
パーティションの設定では「熟練者向けパーティション設定」を選ぶとより細かな設定が行え、パーティショングラフ、マウントグラフなるものが見れました。この辺は便利だなあという印象です。

インストール実効前の確認画面では各項目の設定変更へのリンクがありました。変更したい設定にすぐにアクセスできるようになっています。また、ここからファイアウォールやSSHの設定が行えました。

OSの上書きインストールの場合、旧OSのSSHホスト鍵を探してインポートしてくれるみたいで、これはなにげに便利です。OS再インストールしたあとSSHする際に古いフィンガープリントを消さなくてすみました。
サーバ内の環境
インストールが終わったのでSSHでログインして中を見てみます。
!! ホームディレクトリにbinがあります。あえて書くことでないかも知れませんが、カルチャーショックです。
ssh admin@xxx.xxx.xxx.xxx
Password: 
Have a lot of fun...
admin@linux-83dv:~> ls
bin
rootになってホームディレクトリを見てみます。
linux-83dv:~ # ls
.bash_history  .gnupg  .viminfo  bin  inst-sys
ここにもbinがありますね。そしてinst-sysなるディレクトリがあります。システム管理に使いそうです。
パーティションはどうなってるんでしょうか。
linux-83dv:~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        490M     0  490M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  1.7M  495M   1% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda3        13G  2.0G  9.6G  17% /
/dev/vda3        13G  2.0G  9.6G  17% /boot/grub2/x86_64-efi
/dev/vda3        13G  2.0G  9.6G  17% /usr/local
/dev/vda4        16G   33M   16G   1% /home
/dev/vda3        13G  2.0G  9.6G  17% /var/lib/named
/dev/vda3        13G  2.0G  9.6G  17% /var/spool
/dev/vda3        13G  2.0G  9.6G  17% /var/crash
/dev/vda3        13G  2.0G  9.6G  17% /var/lib/mysql
/dev/vda3        13G  2.0G  9.6G  17% /var/lib/mailman
/dev/vda3        13G  2.0G  9.6G  17% /var/cache
/dev/vda3        13G  2.0G  9.6G  17% /.snapshots
/dev/vda3        13G  2.0G  9.6G  17% /var/log
/dev/vda3        13G  2.0G  9.6G  17% /var/lib/mariadb
/dev/vda3        13G  2.0G  9.6G  17% /var/opt
/dev/vda3        13G  2.0G  9.6G  17% /boot/grub2/i386-pc
/dev/vda3        13G  2.0G  9.6G  17% /var/tmp
/dev/vda3        13G  2.0G  9.6G  17% /tmp
/dev/vda3        13G  2.0G  9.6G  17% /var/lib/machines
/dev/vda3        13G  2.0G  9.6G  17% /opt
/dev/vda3        13G  2.0G  9.6G  17% /var/lib/libvirt/images
/dev/vda3        13G  2.0G  9.6G  17% /var/lib/pgsql
/dev/vda3        13G  2.0G  9.6G  17% /srv
tmpfs           100M     0  100M   0% /run/user/1000
!!大量にマウントされてるデバイスがあります。インストーラのデフォルト設定でサブディレクトリなるものが表示されてたのですが、なぞが解けました。調べてみるとこれはbtrfsのサブボリュームという機能らしいです。そうなんです、デフォルトでbtrfsが選ばれるんです。デフォルトだと/にbtrfs、/homeにxfsが選択されるという、カルチャーショックです。
/etc配下がどうなってるか気になるのでみてみます。
/etc/products.d/なるものがありました。
linux-83dv:/etc # ls /etc/products.d/
baseproduct  openSUSE.prod
お、これはredhat-releaseやdebian_versionみたいなものかな。catしてみます。
linux-83dv:/etc # cat /etc/products.d/openSUSE.prod
<?xml version="1.0" encoding="UTF-8"?>
<product schemeversion="0">
  <vendor>openSUSE</vendor>
  <name>openSUSE</name>
  <version>42.2</version>
  <release>0</release>
  <arch>x86_64</arch>
  <cpeid>cpe:/o:opensuse:opensuse:42.2</cpeid>
  <productline>Leap</productline>
  <register>
      <target>openSUSE-Leap-42.2-x86_64</target>
    <updates>
    </updates>
  </register>
  <updaterepokey>000000000</updaterepokey>
  <summary>openSUSE</summary>
  <shortsummary>openSUSE</shortsummary>
  <description>openSUSE Leap</description>
  <linguas>
    <language>cs</language>
<以下省略>
ウワーッ、出力が止まらない。9508行ありました。
おお、プロダクション情報をxmlで管理してるんですね。
(あとでコメントいただき気づいたのですが/etc/os-releaseというものがありました!)
お、sysconfigがあります。
linux-83dv:/etc # ls /etc/sysconfig/
SuSEfirewall2     console         keyboard      ntp                    scripts   windowmanager
SuSEfirewall2.d   cron            language  packagekit-background  security  yast2
backup            displaymanager  mail      postfix                services
bootloader        dmraid          network   proxy                  snapper
btrfsmaintenance  fonts-config    news      rpcbind                ssh
clock             irqbalance      nfs       samba                  storage
ここはネットワーク設定かな
linux-83dv:/etc # ls /etc/sysconfig/network/
config  if-down.d  ifcfg-eth0  ifcfg.template  providers
dhcp    if-up.d    ifcfg-lo    ifroute-eth0    scripts
グローバルネットワークの設定がありました。
linux-83dv:/etc # cat /etc/sysconfig/network/ifcfg-eth0 
BOOTPROTO='static'
STARTMODE='auto'
IPADDR='xxx.xxx.xxx.xxx/23'
DHCLIENT_SET_HOSTNAME='yes'
設定ファイルの中身はRedhat系に似てますね。if-up.d、if-down.dはDebian系ですね。NICのアップ、ダウン処理をフックできそうです。
感想
制限時間が近づいた(この部分を書いてるのが2016/12/02 22:50ごろ)ので中途半端な感じになってしまいましたが、一旦終わらせたいと思います。
ちょっとさわっただけですが、カルチャーショックなところがありました。特にパーティション設定でbtrfsが使われていること、/と/homeでファイルシステムを変えてるところが一番のショックでした。そしてbtrfsのサブボリューム設定って何?気になります。これは調べねば!
