さくらのVPSでopenSUSEをさわってみる

さくらのVPSでopenSUSEが使える(2016/11/28から)ようになりました。この記事を書いてる本人は普段pythonやPHPでAPIを開発していて、openSUSEのリリース作業に携わっていません。そして、もっぱらUbuntuを使っているのでopenSUSEがどんな感じなのかさわってみたくなりました。

# 概要
これまでのさくらのVPSではRedhat系、Debian系、FreeBSDがカスタムOSで提供されていましたが、openSUSEはRedhat系、Debian系でもない初のディストリビューションです。さて、どんな違いがあるんでしょうか。初期セットアップして見ていきます。


## インストール
コンパネのカスタムOSインストールからインストールを始めます。
![Screenshot from 2016-12-02 21:15:42.png](https://qiita-image-store.s3.amazonaws.com/0/103201/4e4b1b96-a7e2-8018-c5b6-cb67f9661bea.png)

カスタムOSインストールは各OSのインストーラを操作しますので、VNCコンソールに接続して残りの作業を行います。

インストールのステップはこのような感じになります。
1. キーボードレイアウトの選択
2. パーティションの設定
3. タイムゾーンの設定
4. インストールパターンの設定
5. ユーザアカウントとパスワードの設定
6. OSインストール処理の開始

そんなに難しくありません。デフォルトの設定でいくなら「次へ」ボタンを押していくだけでした。

パーティションの設定では「熟練者向けパーティション設定」を選ぶとより細かな設定が行え、パーティショングラフ、マウントグラフなるものが見れました。この辺は便利だなあという印象です。
![Screenshot from 2016-12-02 21:29:43.png](https://qiita-image-store.s3.amazonaws.com/0/103201/8f512d2c-7cfd-afbd-c4d5-99573ebca3ca.png)

インストール実効前の確認画面では各項目の設定変更へのリンクがありました。変更したい設定にすぐにアクセスできるようになっています。また、ここからファイアウォールやSSHの設定が行えました。
![Screenshot from 2016-12-02 21:37:17.png](https://qiita-image-store.s3.amazonaws.com/0/103201/3cf20048-b8a0-535c-6fe0-21eebec4dd99.png)
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行ありました。:sweat:
おお、プロダクション情報を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のサブボリューム設定って何？気になります。これは調べねば！:smile: