俺のGentooがこんなに可愛いわけがない

10,389 views

Published on

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,389
On SlideShare
0
From Embeds
0
Number of Embeds
1,752
Actions
Shares
0
Downloads
16
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

俺のGentooがこんなに可愛いわけがない

  1. 1. 俺のGentooがこんなに可愛いわけがない 2011/02/11 qpstudy05 MATSUU Takuto
  2. 2. 自己紹介MATSUU Takuto(松鵜 琢人) matsuu もしくは tmatsuuGentoo Linux Developer(パッケージメンテナー) CJKパッケージを中心に、他distccやDNS関連など元ネットワーク屋の現プログラマー(Perl,PHPなど)日本タイル型ウィンドウマネージャ推進委員会翻訳、Kindle関連サービスとか単館系映画は俺にまかせろ 今映画館で上映中のオススメ映画 「冷たい熱帯魚」 「ソウルキッチン」 「フード・インク」
  3. 3. こんな問題に悩まされていませんか? バイナリパッケージのバージョンが古い バイナリパッケージのconfigureオプションが物足りない バイナリパッケージが存在しない ソースからインストールして/usr/localが膨らんでいる 独自のRPM、RPMリポジトリを構築している RPM同士の依存関係解消のためRPMを沢山作ってる→Gentoo Linuxがオススメ
  4. 4. Gentoo Linuxの特徴 RPM系でもdeb系でもない、独立ディストリビューション ローリング・リリースを採用、明確なバージョンがない 2011/02/11時点のパッケージ数 14320 FreeBSDのportsにインスパイアされたPortage バイナリパッケージが存在しない すべてのパッケージはソースからインストールする specファイルと各種パッチのみ配布してるイメージ インストールのたびにコンパイルする CPUに合わせたコンパイルオプションの最適化 様々なCPUアーキテクチャへの移植が容易 再配布禁止のライセンスにも柔軟に対応 コンパイル時オプションのカスタマイズが可能 GentooはLinux界の極左
  5. 5. USEフラグによるカスタマイズ 例えばphpでカスタマイズできる項目は・・・adabas apache2 bcmath berkdb birdstep bzip2 calendar cdbcgi cjk cli crypt ctype curl curlwrappers db2 dbmaker debug docembed empress empress-bcs enchant esoob exif fileinfo filterfirebird flatfile fpm frontbase ftp gd gd-external gdbm gmp hashiconv imap inifile interbase intl iodbc ipv6 json kerberos kolabldap ldap-sasl libedit mhash mssql mysql mysqli mysqlnd nlsoci8 oci8-instant-client odbc pcntl pdo phar pic posix postgresqdbm readline recode sapdb session sharedext sharedmemsimplexml snmp soap sockets solid spell sqlite sqlite3 sslsuhosin sybase-ct sysvipc threads tidy tokenizer truetypeunicode wddx xml xmlreader xmlrpc xmlwriter xpm xsl zip zlib
  6. 6. Gentooに対する誤解
  7. 7. Gentooってまだ生きてたの?
  8. 8. Gentooってまだ生きてたの? 2007年2月頃に内ゲバでモメたことがある http://slashdot.jp/linux/article.pl?sid=07/03/12/1920256 その後も何度かモメた なんだかんだで続いてる 他に良いdistributionの選択肢がないから 紛争解決の取り決めはLinux界随一
  9. 9. インストーラーがないって 聞いたんだけど
  10. 10. インストーラーがないって聞いたんだけど 一時期存在したが廃止した いらないでしょ? fdiskからカーネル構築まで家内制手工業 サルでもわかるハンドブックがある 日本語訳もある ひと通りコマンドを打つので勉強になるよ 新人教育に最適
  11. 11. Gentooは時間がかかる?
  12. 12. Gentoo Linuxに関する諸問題と解決策2 確かにコンパイルする時間は取られる 良いCPUと大きめのメモリーを用意しなさい コンパイル時間を短縮する手段がいくつかある 分散コンパイルシステムのdistcc コンパイル結果をキャッシュするccache カーネル再構築を助けるgenkernel バイナリパッケージをつくって素早く配布できる 同じコンパイルオプションでUSEフラグでよければ Cgroupを使ってバックグラウンドでコンパイルすれば 邪魔にならない
  13. 13. Gentooの大変なところ
  14. 14. ローリング・リリースは諸刃の剣 パッケージのバージョンがどんどんあがる 設定ファイルの書き方が変わったら頑張って追随 新旧の設定ファイルをマージするツールがある etc-update, dispatch-confなど ライブラリがアップデートされると依存パッケージが死ぬ Perl(libperl)のバージョンがあがると・・・ glibcがアップデートされた日には・・・ 依存関係が壊れたパッケージを修復するツールがある バイナリパッケージを作成すればおそらく回避可能 セキュリティアップデート以外はアップデートしない ライブラリがアップデートされるとどうなるのか、どう解決すれば いいのか、いい経験になる
  15. 15. Gentooはサーバ用途にも向いてます 新バージョンをおっかけたり、バイナリパッケージ に満足せずソースからインストールしてる場合に は向いている ソースからインストールしているものもパッケージ 管理できた方が幸せ ただしメンテ時間は少し長めに 後継者に運用を引き継ぐことも考えてね
  16. 16. この装備で大丈夫か?
  17. 17. 大丈夫だ問題ない(俺は ありがとうございました
  18. 18. 以下、メモ
  19. 19. パッケージ(ebuild)の例DESCRIPTION="This is a sample skeleton ebuild file"HOMEPAGE="http://foo.example.com/"SRC_URI="ftp://foo.example.com/${P}.tar.gz"LICENSE="GPL-2"SLOT="0"KEYWORDS="~amd64 ~x86"IUSE="mysql nls"src_configure() { econf $(use_with mysql) $(use_enable nls) || die}src_compile() { emake || die}src_install() { emake DESTDIR="${D}" install || die}
  20. 20. コンパイルオプションの最適化 バイナリを構築する際にgcc/g++のコンパイルオプションを定義 できる CFLAGS -O2 -march=prescott -msahf -pipe -fomit-frame-pointer LDFLAGS -Wl,-O1 -Wl,--as-needed
  21. 21. それGentooで解決できますよ バイナリパッケージのバージョンが古い Gentooはバージョンをどんどん上げていくポリシー バイナリパッケージのconfigureオプションが物足りない configureオプションのカスタマイズが可能 バイナリパッケージが存在しない debian級に豊富なパッケージ群 ソースからインストールして/usr/localが膨らんでいる 簡単に作れるパッケージ 独自のRPM、リポジトリを作成している それGentooで RPM同士の依存関係解消のためRPMを沢山作るハメに・・・ 必要最低限のパッケージ作成だけでOK

×