概要
Raspberry Pi3は64bitOSが動くということで、ラズパイを公式サポートしているopenSUSEを入れてみました。
ただ、色々といまいちでした。中途半端な記事になりますが、メモとして残します。
動けばFedoraより軽くてよさそうな気はします。
前提・注意点
- Raspberry Pi3B を推奨
- TumbleweedはRaspberry Pi3B+はeth0認識できずインストールできない
- Leap15はRaspberry Pi3B+でもインストールできた
- 基本的にSSHで操作しています。GUIは使用しない
- GUI使う場合、超重いので注意(^^;
- LANは有線か、無線のどちらかしか使えない
- 正確には、無線を有効化すると有線も認識はしているがつながらない。ネットワークを分けたりすれば使えるのかもしれません。
結局、現状メリットはなさそうです。
セットアップ
OSの種類について
下記2種類があります。
- Leap
- Tumbleweed
Leapが通常のバージョンごとのリリースで、最新がLeap15、ひとつ前はなぜかLeap42.3。
Tumbleweedはローリングリリース版という、常時最新にアップデートされていく形式。バージョンはありません。Leapの最新版=Tumbleweedになるのかな。(動作が違う気がするけども・・・)
それぞれに対し、以下のパッケージがあります。(説明は正確ではないかもしれません)
- JeOS : 仮想環境向けの最小構成版(GUIなし)。(Just Enough Operating System)
- E20 : Enlightenment のE20を採用したもの(?)
- XFce : 軽量デスクトップ環境
- LXQT : Tumbleweed 版のみ
- X11 : 統合デスクトップ環境なし(?)
JeOSとE20の2つを試しましたが、GUIは非常に重いのでラズパイでは無理ではないかと思います。JeOSは基本的に何も入っていないので不便。E20をCUIで使うのが無難。
でもたぶんSUSEはWindowsライクのGUIが売りなのでメリットないかな。
E20はTumbleweedを使用しています。JeOSはLeap15を使用しています。(ほかの組み合わせは試していません)
基本的な操作方法は同じです。
インストール
インストールは、LCDとキーボードを接続して行います。
公式WikiからOSイメージをダウンロードし、7z等で解凍して、rawファイルをSDカードに書き込みます。
電源入れると、メニューが表示され、Enterを押すか、そのまま待つと、数分でログイン画面まで進みます。
初期状態では、ID:root、パスワード:linuxでログイン可能。
初期設定
E20の場合、WindowsライクのGUIになっていて、メニューから「Preferences」を選ぶと各種設定が可能です。ターミナルもメニューから起動できます。日本語設定をするとフォント等をダウンロードするため非常に時間がかかります。~~フォントなんてどうせ1つしか使わないんだから全部入れる必要ないのに。~~しかも大して日本語化されない。
JeOSの場合、とりあえずログイン後、ifconfigでIPアドレス確認し、SSHでログイン可能。
yastで簡易GUI画面が出ます。パッケージ管理コマンドはzypper。その他、Linuxなのでコマンドはほぼ同じ。
yastで初期設定を行います。
# yast
以下のような画面になるので、項目を選んでいきます。基本的に、TABキーでブロックの移動、ブロック内は十字キーで移動します。削除はBackSpaceが使えたり使えなかったり。使えないときはDeleteで消せます。
テンキーも使える画面と使えない画面がある。
以下画像では日本語になっていますが、初期状態では英語です。
- SystemのDate and Timeでロケーションの設定。Asia、Japanを選択し、OK。
- SystemのLanguagesで言語設定。Japaneseを選び"Adapt Keyboard Layout to Japanese"にチェック(Enter)し、OK。
- フォントの追加ダウンロードが走る。
- 最初に5分くらい何も起こらず、フリーズしたように感じるが動いているはず。
- インストールは結構時間かかる。完了後、F9で抜けて、再度入ると日本語化されている。
- SystemのNetworkでネットワーク設定。wi-fiの設定も可能ですが、有効化すると・・・
- ネットワーク設定は完了後、自動でIF再起動するので接続切れます。
設定終わったら、F9で抜ける。
ユーザーを追加する(piとした)。-mをつけないとユーザーディレクトリが追加されないので注意。
useradd -m pi
passwd pi
sudoを使えるようにする。パスワード不要にする場合は、以下のようにする。
visudo
%wheel ALL=(ALL) ALL をコメントアウトし
%wheel ALL=(ALL) NOPASSWD: ALL を有効化する
wheelにユーザーを追加
groupadd wheel
usermod -aG wheel pi
ネットワークの追加設定。
デフォルトゲートウエイとDNSを設定する。(無線使用時は、eth0をwlan0にする)
vi /etc/sysconfig/network/ifroute-eth0 (新規作成)
default 192.168.10.1 - eth0
vi /etc/sysconfig/network/config
NETCONFIG_DNS_STATIC_SERVERS="8.8.8.8 4.4.4.4"
再起動し、以降ユーザーでログイン。
アップデート
sudo zypper refresh
sudo zypper -n update
初回は20分くらいかかる。完了後、一度再起動する。
カーネルアップデート
sudo zypper -n dup
10分くらいで終わる。
確認
uname -a
cat /etc/os-release
開発環境等
vim
sudo zypper -n in vim
git
sudo zypper -n in git
Node.js
sudo zypper -n in nodejs8 (バージョン8の場合)
node -v
npm -v
yarn
sudo curl -o- -L https://yarnpkg.com/install.sh | bash
source .bashrc (PATHの設定まではされるが、読み込まれない)
yarn --version
mongodb
JeOSだとインストールできない(パッケージが見つからない)。E20では問題なかった。
sudo zypper -n in mongodb
docker
公式アナウンスではdocker-eeのみサポートとなっているが、docker-ceも普通にいれられる。
手順は公式ドキュメント通り
sudo zypper -n in docker
sudo systemctl start docker
sudo systemctl enable docker
ユーザー権限で使えるようにする
sudo gpasswd -a pi docker
sudo reboot
コンテナから外部ネットワークに接続できるようにするため、ファイアーウォールの設定を変更する
sudo vi /etc/sysconfig/SuSEfirewall2
FW_ROUTE="yes"
docker-compose
どうやっても無理なもよう。
公式にはサポートされている
入れるとエラーになる。
TumbleweedのE20の場合で、一応動いた(と思われる)メモを残します。
超初心者で申し訳ないです
公式ページでダウンロードからソースを取得しビルドします。ものすごい時間かかる。
sudo zypper -n in rpm-build
wget http://download.opensuse.org/repositories/openSUSE:/Factory/standard/src/docker-compose-1.21.2-2.1.src.rpm
rpmbuild --rebuild docker-compose-1.21.2-2.1.src.rpm
依存関係のエラーが出るので、全部入れる(^^;
sudo zypper -n in python2-PyYAML python2-backports.ssl_match_hostname \
python2-dockerpty python2-cached-property python2-docopt python2-enum34 \
python2-ipaddress python2-jsonschema python2-mock python2-pytest \
python2-texttable python3-PyYAML python3-cached-property \
python3-dockerpty python3-docopt python3-jsonschema python3-pytest \
python3-setuptools python3-texttable
rpmbuild --rebuild docker-compose-1.21.2-2.1.src.rpm
build完了時に、出力先が表示される。デフォルトでは~/rpmbuild/RPMS/noarch/ に入るはず。
cd rpmbuild/RPMS/noarch
python2とpython3の2つのパッケージができているが、python2のほうは動かなかった。
sudo rpm -ivh python3-docker-compose-1.21.2-2.1.noarch.rpm
依存関係解消
sudo zepper -n in python3-PySocks
sudo rpm -ivh python3-docker-compose-1.21.2-2.1.noarch.rpm
インストールの確認
rpm -qi python3-docker-compose
rpm -ql python3-docker-compose
バージョン確認
docker-compose --version