Gentoo

#ssmjp 2017/01 Gentoo回

More than 1 year has passed since last update.


TL;DR


  • Gentoo怖くない。特に開発には意外と使いやすそう

  • Gentoo環境を仮想で組む上でnspawnは便利そう

  • 実は誰もがPDCAを実践できてるけど、それを認識できてない

  • VPN使う上でPPPの理解は大事


1月回のイントロのトピック

ssmjpはconnpassの勉強会の高打率コミュニティにランクイン!


Gentoo回前半:Gentoo は凄いし役に立つ

@usaturnさん


テーマ

Gentoo Linux紹介

「Gentoo is all about choices.」の解説。

質問はTwitterハッシュタグ「#ssmjp #gentoo」にて


発表者のGentoo歴


  • 3年半

  • 400 nodesへのインストール(KVM, Phys, Cloud)


Gentooとは

会場には、実はGentooを知らない人が多数

※乗ってくれただけのため、嘘付きがいっぱい


  • Linuxディストリビューションの一つ。

  • 実はLinux以外のディストリビューションもある。


    • Gentoo for Mac OS X

    • Gentoo/FreeBSD, NetBSD, OpenBSD, DragonFlyBSD

    • StormOS-Next ※幻のOS



  • インストール手順は選択の嵐


    • ブートローダの設定まで自分でやるとのこと



Larryという牛がGentooの公式キャラクター。

勾玉はディストリビューションのアイコン。


Gentooが使われているところ


  • Pepper

  • NASDAQ

  • Chrome OSやCore OSのベース

  • アドテク企業


Gentooの特徴


  • source-based Linux distribution ※誤解されがちだけど使いやすさ重視の仕組みとな

  • カスタマイズ性が高い ※代償として、ひたすら選択することになる

  • 対応アーキテクチャが多い

  • バージョン番号がない(ローリングリリース)

  • アップデート後の設定ファイルの差分比較が可能 ※これ良さそう


source-based Linux distributionとは何か

大原則:全てをソースからインストールする。


  • Linuxカーネル

  • 各種アプリ


よくある疑問と回答

Q. 全部コンパイルするの?

A. aptやyumと同じ感覚でインストールできる!


カスタマイズ:パッケージ管理ツールを選べる


  • Portage→標準

  • Paludis→使ったことないけど選べる


Portageをもっと詳しく


  • コンパイルオプション


    • よく使われるものを予めUSEフラグとして持ってる。

    • 実際にオプション指定することはないっぽい。

    • こんな感じにgivenである。"USE=luajit emerge -avt vim"

    • バイナリを作って、同じアーキテクチャのマシンに配ることも可能。(便利そう)




カスタマイズ:アプリのバージョン選択

「スロット」という概念


  • 複数バージョンを入れて、切り替えながら使える →開発する上で便利!


ほかのディストロに真似できないこと


  • OpenSSL、libressl化


    • 簡単にできる

    • OpenSSL更新から脱却できる

    • 発表者は、本番環境での運用はまだとのこと



  • Overlayなどの海外製アプリなんかも使える


カスタマイズ:アップデート時の設定ファイル管理


  • アプリ更新後の設定ファイルの差分確認、マージができる(要はバージョン管理)


カスタマイズ:プロセス管理

選べる

* openrc(sysvintのGentoo独自ラッパー)

* systemd →オススメ


カスタマイズ:標準Cライブラリ

これも当然のように選べるとかすごい

* glibc

* uClibc(サイズ小さい!)→DockerのAlpine Linuxが採用している

* musl(これもサイズ小さい)


対応アーキテクチャが多い


  • ia64やSparkまで対応してる

  • エッジルータにも入る


まとめ


  • Gentooとは選択


    • 基本パッケージ

    • パッケージ管理ツール

    • パッケージのバージョン

    • パッケージのUSEフラグ

    • 標準外のパッケージ

    • Intel以外のアーキテクチャ



  • 最小環境が構築しやすい


    • USEフラグで機能絞れる

    • セキュリティ向上できる




Webの参考情報

Arch 7割 / Gentoo 3割


QA

→バイナリのままインストールできる or 公式リポジトリにバイナリがある

→クロスコンパイルできるので、例えばRasPiなんかはクロスコンパイル後に突っ込むと良いらしい


Gentoo回後半: systemd-nspawn + btrfs ではじめるコンテナ生活


いろんなコンテナ


  • btrfs(バターFS)

  • docker

  • Lxc

  • LXD

  • systemd-nspawn→使用者は会場にいない


btrfsの特徴

zfsを参考に作られている


  • Copy on Write


    • ファイル移動時、コピー完了まで元のファイルを消さない

    • 耐障害性が高い



  • RAID0と1がstable。5と6はまだバギー

  • バックアップ


    • 従来のパーティションをサブボリュームとして、スナップショットを取れる

    • サブボリューム単位のバックアップが取れる



  • 透過圧縮が効く


    • 容量の効率利用ができる



  • スワップ領域が作れない


    • 最初から取っておかないといけない




nspawn実演


machinectlコマンドを一通り使う


  • list


    • 起動中のOS一覧が出る



  • list-images


    • 配下のOSイメージが一覧表示できる

    • 現状、空ディレクトリにも反応してしまうので注意



  • clone


    • 速い。btrfsのスナップショット機能を使っている

    • clone元をpoweroffしてからやってもclone先のホスト名が変わらない。残念



  • remove

などなど

あとは大体vagrantやlibvirtと同じ感じ。

ただし、フォルダ配下にあるファイルを見る点がlibvirtと違う。


アーカイブコマンド

OSイメージを圧縮して配れる


最後に

最近のディストリビューションはsystemdなので、デフォルトでnspawnを使えますよ!とのこと。

私も使ってみたい。


LT:さらばッssmjp~最初からClimax~

Jさん as anonymous

勉強会に参加できないエンジニアはどうやって成長を自認するのか

→時間切れで本題到達できなかった


LT:PDCAが回らないと思っている人へ

yakumo3

日本人はActionを誤解している


  • Actionは改善ではなく処置

  • 扱いを決めるだけ

  • ActionをPlanにフィードバックするだけ

実際のPDCA


  • 大きなDoが走っている

  • 大きなDoの中にPDCAがある


    • 朝にPlanして

    • 午前中にDoして逐一Checkする

    • 午後一にActionし、Planする

    • 午後にDoして逐一Checkする

    • 午後一にAction



  • ホントはみんな当たり前にやっている


LT:Gentoo Prefix

Wizard_of_Oz__さん

Gentooインストールマンを増やしたい





Gentoo Prefixを使えば、サーバの用意・細かい設定不要


Gentoo Prefix


  • root権限要らない

  • 環境を汚さずに入れられる

  • bootstrapスクリプトで簡単に入る


    • bootstrap-rap.sh がおすすめ



  • コンパイルに時間かかるので寝て待つのが良い


    • Azureの2コアで3時間



Larry君に会いたかったら寝る前にぜひ!


LT: 5分で猫るVPN

silpheed_ktさん


  • PPTP


    • PPP拡張したトンネリングプロトコル

    • 暗号化無いのでMRPEなどを使う



  • L2TP/IPsec


    • L2TPはPPP拡張

    • IPsecが暗号化




L2TP/IPsecは安全?

実装によっては安全でない


L2TP/IPsecを使ってみた


  • Corega→にゃーん

  • RTX1000→にゃーん

  • RTX1500→にゃーん→最終的にはできた


まとめ

VPNをする上ではPPPを知っておくと良い


LT:勉強会聴衆の立ち居振る舞い~サポートエンジニアの場合

トラブルシューティングが趣味のMAMEDEKAさん


勉強会へのかかわり

昨年は88回参加!

勉強会への参加は楽しい。

質疑応答により関わるのが醍醐味。


質疑応答の勘所


  • とどめを刺さないゆとりを持つ

  • 相手のレベルを考慮する

  • ほかの参加者のレベルを考慮する

  • 突っ込みを入れたくても一呼吸おいて冷静になる(でもなぜか酩酊状態になるとな)


ssmjp同人部からのお知らせ

4/9の技術書典で運用本を出すのでみなさん来てくださいとのこと。

公式垢はこの辺



文責

この記事に関する質問、誤記の通報は @it__ssei へお願いします。