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

Contenu connexe

En vedette

Ssmjp170127 kawakita
Ssmjp170127 kawakitaSsmjp170127 kawakita
Ssmjp170127 kawakitaEiji Kawakita
 
Prefixから始めるgentoo生活
Prefixから始めるgentoo生活Prefixから始めるgentoo生活
Prefixから始めるgentoo生活bontakun
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
ネットワーク運用とIoT
ネットワーク運用とIoTネットワーク運用とIoT
ネットワーク運用とIoTcloretsblack
 
物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考える物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考えるskipping classes
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作slankdev
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Coreslankdev
 
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnightYahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnightYahoo!デベロッパーネットワーク
 
Sphinxの使い方事例
Sphinxの使い方事例Sphinxの使い方事例
Sphinxの使い方事例Go Yamada
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxTakayuki Shimizukawa
 
条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化Takuya Ueda
 

En vedette (16)

Ssmjp170127 kawakita
Ssmjp170127 kawakitaSsmjp170127 kawakita
Ssmjp170127 kawakita
 
Prefixから始めるgentoo生活
Prefixから始めるgentoo生活Prefixから始めるgentoo生活
Prefixから始めるgentoo生活
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
ネットワーク運用とIoT
ネットワーク運用とIoTネットワーク運用とIoT
ネットワーク運用とIoT
 
物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考える物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考える
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
Sphinx GO!!
Sphinx GO!!Sphinx GO!!
Sphinx GO!!
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作
 
Devrel20170301
Devrel20170301Devrel20170301
Devrel20170301
 
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnightPrestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
 
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnightPresto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
 
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnightYahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight
 
Sphinxの使い方事例
Sphinxの使い方事例Sphinxの使い方事例
Sphinxの使い方事例
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
 
条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化
 

Plus de Go Yamada

Publishing of sphinx2018
Publishing of sphinx2018Publishing of sphinx2018
Publishing of sphinx2018Go Yamada
 
Introduce for sphinx-users-jp
Introduce for sphinx-users-jpIntroduce for sphinx-users-jp
Introduce for sphinx-users-jpGo Yamada
 
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100Go Yamada
 
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントSphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントGo Yamada
 
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版Go Yamada
 
I love ms word!?
I love ms word!?I love ms word!?
I love ms word!?Go Yamada
 
Common usage of Sphinx
Common usage of SphinxCommon usage of Sphinx
Common usage of SphinxGo Yamada
 

Plus de Go Yamada (7)

Publishing of sphinx2018
Publishing of sphinx2018Publishing of sphinx2018
Publishing of sphinx2018
 
Introduce for sphinx-users-jp
Introduce for sphinx-users-jpIntroduce for sphinx-users-jp
Introduce for sphinx-users-jp
 
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100
 
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントSphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメント
 
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
 
I love ms word!?
I love ms word!?I love ms word!?
I love ms word!?
 
Common usage of Sphinx
Common usage of SphinxCommon usage of Sphinx
Common usage of Sphinx
 

Dernier

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Dernier (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Gentoo is painful_but_useful