Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gentoo is painful_but_useful

719 views

Published on

2017年1月の #ssmjp で Gentoo Linux の紹介をしました。

Published in: Technology
  • Be the first to comment

Gentoo is painful_but_useful

  1. 1. I love Gentoo! うさたーん(@usaturn) #ssmjjp 2017/01/27
  2. 2. おまえ誰よ Go YAMADA Web広告配信会社で雑用の合間に DNS、メール、Hadoop等の運用、 構築をやってます  最近の仕事  席移動したらパソコンが重いんです、500MB のエクセルファイル開くと重いん ですなんとかしてください案件から Hadoop クラスタリプレースまで幅広く  好きな Linux ディストリ  Gentoo 教 systemd 派  最近の悩み  重要な雑用が増えるわかめちゃん状態  コミュニティ  Sphinx-Users.JP  Python mini hack-a-thon 2 usaturn
  3. 3. 宣伝 Sphinx-Users.JP 「Sphinx」というPythonのドキュメンテーション ツールのユーザ会で活動しています。 月1で「Sphinx + 翻訳 hack-a-thon」 「Sphinx Tea Night」を開催中。気軽に遊びに来てね! 3 現在ユーザ会のメンバ (#ssmjp 運営の @togakushi さん含む)で SoftwareDesign 誌に Sphinxの記事を2年に渡り 連載中!次回フィナーレ!
  4. 4. 発表者の Gentoo 歴  Gentoo を使い始めたのは 3年半前に今の会社に転 職してから。バリバリ初心者です。  職場は物理、仮想マシン(KVM)、クラウド合わせ て 400 ノード弱の Gentoo サーバを運用、構築  デスクトップ環境には疎いです
  5. 5. Gentoo を端的に言い表している言葉 Gentoo is all about choices. (Gentoo とは選択です)
  6. 6. インストール手順が選択の嵐 1. なんらかの Linux ディストリビューションの LiveCD で起動(お 勧めは SystemRescueCd) 2. ディスクのパーティション作成 3. ファイルシステム作成(好きなファイルシステムを選択) 4. stage3(Gentoo のユーザランド)をダウンロード、展開 ※CPUアーキテクチャ、init、Cライブラリに応じて選択 5. chroot 6. カーネルコンフィグ(必要なカーネルの機能を選択) 7. ネットワーク、fstab 等の基本設定 8. ブート設定(ブートローダを選択) 9. リブート 10. 必要な基本パッケージを選択してインストール  cron  syslog  ntpd....etc
  7. 7. Gentoo とは https://www.gentoo.org/
  8. 8. Gentoo とは  Linux ディストリビューションの一種。  Linux 以外のディストリビューションもある  Gentoo for Mac OS X  Gentoo/FreeBSD, Gentoo/NetBSD, Gentoo/OpenBSD, Gentoo/DragonFlyBSD  Plan 9 For Gentoo  StormOS-Next(illumos ※幻) Larry the Cow was a bit frustrated at the current state of Linux distributions… …until he tried Gentoo Linux.
  9. 9. Gentoo が使われているところ  pepper  NASDAQ(未確認 http://www.computerworld.com/article/25103 34/financial-it/how-linux-mastered-wall- street.html)  Chrome OS や CoreOS の元  アドテク企業系(2社確認済み)
  10. 10. Gentoo の特徴  source-based Linux distribution  カスタマイズ性の高さ  対応しているアーキテクチャが豊富  バージョン番号がない(ローリングリリース形式)  アップデート後の各アプリの更新された設定ファイ ルの管理が可能
  11. 11. source-based Linux distribution  多くの Linux ディストリビューションがコンパイル 済みのバイナリを提供するのに対して、ソースベー スで配布されている  Linux カーネル  アプリケーション各種
  12. 12. よく質問される事 Q. Gentoo って、自分で全部コンパイルしないといけ ないんでしょう? A. 誤解しないで下さい。 コンパイルすると言っても手動で面倒なコマンドを 打ったり、設定をする事はありません。 他のディストロのパッケージ管理ツール apt や yum と同様の使い勝手だと思って下さい。
  13. 13. パッケージ管理ツールを選択 Portage  標準のパッケージ管理ツール Paludis
  14. 14. パッケージ管理ツール「portage」  コンパイルオプション「USE フラグ(#Gentoo の要)」  各パッケージをコンパイルする際、手動だと ./configure 等で指定するオプション(からパッケージメンテナが選んだ 物)を portage では「USE フラグ」と呼びパッケージをコ ンパイルする際に反映する事ができます #vim のインストール時に LuaJITを有効にする例 USE=luajit emerge -avt vim (luajit を有効にすると自動的に依存関係にあるLua等の USEフラグが有効になる)  コンパイル時の gcc のオプションを設定し、CPU に最 適化したバイナリを作成できます  バイナリパッケージを作成する機能(同じマシン構成が 多いと役に立つ)
  15. 15. 複数のバージョンを選択 スロットの概念  パッケージのバージョンを複数選択する事ができます。  例えば、Python の場合は 2017年1月現在 2.7系、 3.4系、3.5系を利用できます。各バージョンを使い分 ける事も簡単で開発環境に適しています。
  16. 16. 他のディストロで簡単にはできない事 例えば多くのアプリケーションに組み込まれている OpenSSL を排除 し、よりセキュアな LibreSSL を組み込む事が簡単にできます
  17. 17. 標準外のパッケージも簡単に使える overlay  非公式のパッケージリポジトリや、自作のリポジトリ を使う仕組み
  18. 18. アップデート時の設定ファイル管理 アップデート後の各アプリの更新された設定ファイル の管理が可能 標準で 2 つのコマンドが用意されています。後者につ いては rcs と連携し設定ファイルのバージョン管理が できます。  etc-update  dispatch-conf どちらのコマンドも、アプリケーションのアップデー ト後に打つ事により、設定ファイルの diff を表示して マージする/マージしないを選択する事ができます。
  19. 19. アーキテクチャを選択
  20. 20. もちろんラズパイに入るよ
  21. 21. ルータにも入っちゃう!  EdgeRouter というVyatta(VyOS)のフォークを利用しているルー タにインストールする方法が公開されてます。
  22. 22. プロセス管理を選択 openrc  sysvinit の Gentoo 独自のラッパー  Docker が標準採用している Alpine Linux が利用しArch Linux 等でもパッケージが提供されている systemd  最近の有名な Linux ディストロのほとんどが採用している  今までパッケージを別途インストールしていた基本機能 (cron、ntpdクライアント、syslog等)を内包している為、 Gentoo で最小インストールする際の相性が非常に良い
  23. 23. 標準 C ライブラリを選択 glibc uClibc(サイズが小さい)  Alpine Linux が利用している musl (サイズが小さい) glibc の代わりに uClibc や musl(マッスル)を使った stage3 のイメージ はサイズが非常に小さくなる事を生かしてコンテナや組み込みに!
  24. 24. まとめ Gentoo とは選択です  他のディストロの基本的なパッケージも選択できます  パッケージ管理ツールすら選択できます  パッケージのバージョンを複数選択できます  パッケージの USE フラグを選択します  標準外のパッケージも簡単に選択できます  Intel CPU 以外も選択できます 選択の幅が広い事により最小環境が構築しやすい  機能を USE フラグで絞る事により依存関係のパッケージ の数を必要最小限にしてインストールできます  最小環境で構築する事によりセキュリティの向上、動作の 安定性に期待できます  コンパイル時のチューニングで使っている CPU に最適化 したバイナリを簡単に作成する事ができます
  25. 25. Web の参考情報 Gentoo 公式サイト https://www.gentoo.org/ Arch Linux Wiki も非常に参考になります https://wiki.archlinuxjp.org

×