SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
今最もアツイdistribution
Gentoo Linuxについて
    ナマエダケデモ
  オボエテ カエッテクダサイ
自己紹介

● 松鵜 琢人(まつう たくと)
   ○ matsuu(twitter)
   ○ tmatsuu(はてな)
● Gentoo Linux Developer
● タイル型ウィンドウ
  マネージャ推進委員会
● 最近は翻訳にも少しずつ手を出しています
● ネットワーク屋を経てWeb系プログラマー
● 勉強会に積極的に参加してる(つもり)
● 単館系映画好き。映画館で年間100本以上見る
Gentoo Linuxとは
● Daniel Robbinsが創設したディストリビューション
   ○ http://www.gentoo.org/
● 2002年3月31日にGentoo Linux 1.0がリリース
● 日本で広がるきっかけはSoftwareDesign 2002年7月号
● RedHat系でもDebian系でもSlackware系でもない独自路線
● Portageと言われるソースベースのパッケージシステム
   ○ rpmでいえばspecファイルのみ配布しているイメージ
   ○ 各マシンでバイナリをコンパイルして生成
● 様々なCPUアーキテクチャをサポート
   ○ 移植が容易
   ○ ARMやPlayStation3でも動作可能
● 柔軟性が高いためメタディストリビューションと呼ばれる
   ○ Gentoo Prefixプロジェクト
   ○ Google ChromeOSもGentoo(Portage)がベース
● 現在日本人のGentoo Developerは3人(ぐらい)
GentooJPとは
各種のプロジェクトの実施、 メーリングリスト・IRCチャンネルの開設
などをとおして、 gentoo.orgが配布するGentoo Linuxの日本での普
及・発展を支援し、 ユーザー間の情報交換の円滑化を図ることを目
的として2002年12月1日設立。
主な活動は以下のとおり。
 ● ドキュメント、GMN等の翻訳作業
 ● ebuild公開の場の提供
    ○ ebuildJP ( http://ebuild.gentoo.gr.jp/ )
 ● ユーザ交流のサポート
    ○ IRC ( #gentoo-ja at irc.gentoo.org(freenode) )
    ○ GentooJP wiki ( http://wiki.gentoo.gr.jp )
    ○ メーリングリスト
    ○ 飲み会
 ● オープンソースカンファレンスへの出展
Linux(FreeBSD)と私

● Turbo→Vine→Kondara→(Solaris)→FreeBSD
● portsの仕組みを備えたLinuxがあるといいな
● SD誌の記事でGentooを知る
● 2003年7月からGentoo Linux Developerに
   ○ パッケージメンテナンス担当
      ■ CJK関連(atokx3,
      ■ DNS関連(unbound,MyDNS,maradns)
      ■ AIDE,libev,distcc,puppet,redmine,awesome等
   ○ 最近サボってますごめんなさい
Gentoo Linuxの名前の由来

● ジェンツーペンギン
● 小さくてすばしっこい

● エプソン品川アクアスタジ
  アムで会える

● 海洋堂がジェンツーペン
  ギンのフィギュアを作って
  た
   ○ 今は入手困難?
Gentooのマスコットキャラクター

● Larry the Cow

● 乳がみえるけど雄
  牛

● ジェンツーペンギン
  はマスコットキャラ
  ではない
Gentooの強み その1

● 新しいパッケージを積極的に取り込む
   ○ 14804パッケージ(2011/08/05現在)
● バージョンはどんどん上げていく
   ○ ローリングアップデート
● パッケージ作成コストが低い
● すべてのパッケージをソースからインストールする
● カスタマイズ性が高い
● ライセンス問題、商用アプリ対応可能
   ○ 再頒布しないので多くのライセンス問題を回避できる
   ○ 商用アプリもパッケージシステムで対応可能
      ■ ATOK X3 for Linuxは対応済
● 様々なCPUアーキテクチャに対応している
Gentooの強み その2

● WebアプリもPortageのシステムで管理・デプロイできる
    ○ webapp-configコマンドで
● Perlモジュールのパッケージを自動生成するg-cpanコマンド
    ○ パッケージに含まれていないPerlモジュールも対応できる
    ○ g-cpanの他にもいくつかある
       ■ g-ctan(TEXLive)
       ■ g-octave(GNU Octave)
       ■ g-pypi(Python)
       ■ g-cran(R)
       ■ hackport(Haskell)
● rpmやdebでしか配布されていないパッケージも対応可能
    ○ Flash Player,Adobe Reader,google-talkplugin
ソースからインストールってどういうこと?

● configure && make && make installを自動化
● rpmで言えば、src.rpmのbuildとrpmインストールを
  一気にやるイメージ
● configure時オプションをカスタマイズできる
   ○ --enable-foo, --with-barなど
● コンパイル時オプションをカスタマイズできる
   ○ CFLAGS, LDFALGSなど
● 基本パッケージなどもない、すべてコンパイル
   ○ 依存関係も含めてすべて自動でインストールさ
     れるので手間はかからない 
USEフラグによるカスタマイズ

   ● 例えばphpでカスタマイズできる項目は・・・
adabas apache2 bcmath berkdb birdstep bzip2 calendar cdb
cgi cjk cli crypt ctype curl curlwrappers db2 dbmaker debug doc
embed empress empress-bcs enchant esoob exif fileinfo filter
firebird flatfile fpm frontbase ftp gd gd-external gdbm gmp hash
iconv imap inifile interbase intl iodbc ipv6 json kerberos kolab
ldap ldap-sasl libedit mhash mssql mysql mysqli mysqlnd nls
oci8 oci8-instant-client odbc pcntl pdo phar pic posix postgres
qdbm readline recode sapdb session sharedext sharedmem
simplexml snmp soap sockets solid spell sqlite sqlite3 ssl
suhosin sybase-ct sysvipc threads tidy tokenizer truetype
unicode wddx xml xmlreader xmlrpc xmlwriter xpm xsl zip zlib
現在対応しているアーキテクチャ

alpha, amd64, amd64-
fbsd, arm, hppa, ia64, m68k, mips, ppc, ppc64, s390
, sh, sparc, sparc-fbsd, x86, x86-fbsd
以下はPrefix
ppc-aix, x86-freebsd, x64-freebsd, sparc64-
freebsd, hppa-hpux, ia64-hpux, x86-interix, mips-
irix, amd64-linux, arm-linux, ia64-linux, x86-
linux, ppc-macos, x86-macos, x64-macos, m68k-
mint, x86-netbsd, ppc-openbsd, x86-openbsd, x64-
openbsd, sparc-solaris, sparc64-solaris, x64-
solaris, x86-solaris, x86-winnt, x86-cygwin
パッケージ管理のコマンド

               RedHat               Debian                Gentoo
                (yum)              (aptitude)            (emerge)
パッケージの     yum install foo   aptitude install foo   emerge foo
インストール

パッケージの     yum update        aptitude update        emerge --sync
アップデート                       aptitude upgrade       emerge -u world
パッケージの     yum remove foo aptitude remove foo emerge -C foo
アンインストール

パッケージの     yum search foo    aptitude search foo    emerge -s foo
検索
Gentooの弱み

● インストーラーが存在しない
● バージョンはどんどん上げていく
   ○ ライブラリのバージョンがあがると動かなくなる可能性
● パッケージはすべてソースからコンパイルする
   ○ 時間がかかる
   ○ パッケージのインストールに失敗することがある
● OSの商用サポートは期待できない
   ○ 海外では昔は商用サポートがあったが今はない
● Gentoo対応の商用パッケージなんて聞いたことがない
● 開発者不足
   ○ バージョンアップが停滞しているパッケージがちらほら
   ○ Linux界の極左であるため、内ゲバが絶えない
       ■ 最近はそんなことないよ
インストーラーがないってどういうこと?

● パーティションの設定からGRUBのインストールま
  で手動でインストール作業を行う
● たしかに最初は大変かもしれない
  ○ 公式ドキュメントが充実している
  ○ 公式ドキュメントどおりにやれば大丈夫
  ○ 勉強になる
● 新人教育にGentooインストールはマジオススメ
バージョンアップは諸刃の剣

● バージョンアップによってプログラムが動作しない
● ライブラリのバージョンが上がるとそれを利用しているソフトウェ
  アが起動しなくなる
● 最近影響がでかかったアップデート
    ○ dev-libs/icu (International Components for Unicode)
    ○ webkit,libreoffice,gnome,sqlite,libxml2,boostなどが利用
    ○ アップデート祭り
● revdep-rebuildなどのライブラリのアップデートによって壊れたソ
  フトウェアを検出するツール
● etc-updateやdispatch-confなどの設定ファイルの差分を確認・
  マージするツール
● ライブラリは無理にアップデートしないという選択肢もある
共有ライブラリのバージョンについて

● libtool方式の場合 libhoge.so.x.y.z
    ○ 0:0:0から始まる(current:revision:age)
       1. ライブラリのソースが変更された→r++
       2. インタフェースが追加or削除or変更された→c++, r=0
       3. インタフェースが追加された→a++
       4. インタフェースが削除された→a=0
● 例えばlibhoge.so.3.12.1が・・・
    ○ 3.13.1になった→ソースは変更されたが仕様変更なし
    ○ 4.0.0になった→一部仕様が削除された
    ○ 4.0.1になった→一部仕様が変更された
    ○ 4.0.2になった→一部仕様が追加(+変更)された
● http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
時間がかかる問題の対策

● ccacheを使う
    ○ http://ccache.samba.org/
    ○ コンパイル結果をキャッシュするccacheを使う
    ○ 2回目以降のコンパイルが劇的に早くなる
● distccを使う
    ○ http://www.distcc.org/
    ○ ネットワーク越しに分散コンパイルする
    ○ PCが2台以上あるならコンパイル時間が短縮できる
    ○ クロスコンパイル環境にも対応
● バイナリパッケージを作る(binpkgs)
    ○ ただし全く同じ設定のサーバが複数台ある場合のみ意味が
      ある
ccache

● コンパイル結果をキャッシュ、過去にコンパイルしたことがあるも
  のはキャッシュを再利用して高速化
● C/C++/Objective-C/Objective-C++に対応
● 使い方
 # cp ccache /usr/local/bin/
 # ln -s ccache /usr/local/bin/gcc
 # ln -s ccache /usr/local/bin/g++
 # ln -s ccache /usr/local/bin/cc
 # ln -s ccache /usr/local/bin/c++
● あとは普通に
 $ gcc hoge.c
● 2回目以降のコンパイルで効果を発揮
● GCCにしか対応していない
distccについて

● ソースコードのコンパイルを他のサーバに丸投げすることでコンパイル
  時間の短縮を図るプログラム
● C/C++/Objective-C/Objective-C++に対応
● gccの互換性に注意
● 使い方
# cp distcc /usr/local/bin/
# ln -s distcc /usr/local/bin/gcc
# ln -s distcc /usr/local/bin/g++
# ln -s distcc /usr/local/bin/cc
# ln -s distcc /usr/local/bin/c++
● あとは普通に
$ gcc hoge.c
● ccacheを組み合わせて動作させることも可能(pumpモード除く)
distccのイメージ
Gentooのセキュリティ対応

● セキュリティアドバイザリを発行している
   ○ GLSA(Gentoo Linux Security Advisory)
● GLSAの発行までの流れ
   ○ Bugzillaにセキュリティの報告があがる
   ○ なんとかして直す
      ■ 直せない場合は放置もしくはパッケージ削除
   ○ 直ったらGLSAを発行するか協議(vote)する
      ■ これが最近グダグダ
      ■ 他のディストリビューションがSAを発行したら発行?
      ■ 小物アプリなら大丈夫ですよ
   ○ GLSAが発行されたものだけアップデートするツールがある
      ■ glsa-check
   ○ が、上記のとおりなのであまり意味ないこ
Gentooが向いている人

● バイナリパッケージのコンパイルオプションに不
  満がある
● ソースからインストールしたものが1つ以上ある
● Linux kernel 3.0をインストールした
● 新しいものが好き
● 苦労は買ってでもしたい
● Linuxのコマンドを勉強したい
● マゾ気質
Gentooはサーバ用途に向いている?

● うーん、どうでしょうね
● 新しいソフトウェアの台頭
   ○ Hadoop、Cassandra、nginxなど
● いきなり実環境へ導入されることも多い
● 各ディストリビューションでパッケージが用意され
  ていない
● ソースからインストールしてる?
● 自前でRPMパッケージつくってる?
● だったらGentooでいいじゃない
Gentooパッケージの作り方
● 後発であるが故にとてもわかりやすいパッケージ
● 拡張子は.ebuild
● 中身はbashスクリプト
● 主な設定内容
    ○ ソースファイルの場所をSRC_URI変数に書く
    ○ DEPEND,RDEPENDに依存関係を書く(省略可)
    ○ src_unpack()にソースの解凍方法を書く(省略可)
    ○ src_prepare()にパッチを適用する(省略可)
    ○ src_configure()にconfigure関連の設定を書く(省略可)
    ○ src_compile()にmake関連の設定を書く(省略可)
    ○ src_install()にmake install関連の設定を書く(省略可)
● 極端な話、SRC_URIを書くだけでパッケージがかける(ものもあ
  る)
● http://packages.gentoo.org/
ebuildのサンプル(skel.ebuild)
ebuildのサンプル(ibus-tutcode-1.0.0.ebuild)
そろそろGentooを
使いたくなってきたよね?
Gentooを試す

● まずはインストール用CDのisoイメージをダウンロード
  (121MB)
   ○ http://www.gentoo.org/main/en/where.xml
● 日本語のインストールハンドブックを参考に
   ○ http://www.gentoo.org/doc/ja/handbook/index.
     xml
● CDで起動するとプロンプトが表示される
● インストールの難易度の高さを味わうのも一興
● VMwareやVirtualBoxなどでとりあえず試してみては
  いかが?
Amazon EC2にAMIイメージあります
● 東京リージョンにGentooのAMIを作成しました
AMIイメージ利用の上での注意点

● rootでログインしてください
    ○ ssh -i yourkey.pem root@xxx.xxx.xxx.xxx
● syslogdとcrondをインストール
    ○ emerge --sync
    ○ emerge syslog-ng
    ○ rc-update add syslog-ng default
    ○ emerge vixie-cron
    ○ rc-update add vixie-cron default
● syslogd例
    ○ syslog-ng, rsyslog, sysklogdなど
● crondの例
    ○ vixie-cron, dcron, fcron, cronie, bcronなど
● smallインスタンス以上を推奨
ちょっと試してみたい人用に

● Amazon EC2上にテスト用インスタンスを作成しました
   ○ 175.41.226.110

● SSH鍵はここに置いています
   ○ http://厳冬鍵.縮.jp/
   ○ chmod 600 gentoo20110806.pem
   ○ ssh -i gentoo20110806.pem root@175.41.226.110

● これはsmallインスタンスです
● テスト用なので好き放題触ってOK
● poweroffやウイルス等を仕込むはヤメてね
● 今日中にシャットダウンします
他人が作ったAMIは信用してはいけない

● AMIを一発で作ることができるスクリプトを用意しました
   ○ https://gist.github.com/870789
● Amazon AMI Linuxのインスタンスを1つ作る
   ○ x86版Gentoo Linuxを作りたい場合は32bitを選択
   ○ amd64版Gentoo Linuxを作りたい場合は64bitを選択
● X.509証明書と秘密鍵をダウンロード
  ○ https://aws-portal.amazon.com/gp/aws/developer/account/index.html?
    action=access-key
● スクリプトと証明書と秘密鍵をAMIインスタンスにscpで転送して
  実行
● sudo sh create_gentoo_ami.sh
   ○ AMIのできあがり
その他の選択肢(VPS編)

● さくらのVPSはOSを入れ替えることができる
   ○ http://vps.sakura.ad.jp/
   ○ Gentooがインストールできることを確認済
   ○ インストールの半自動化スクリプトがある
      ■ http://blog.kiyoya.shi-ba.org/post/1203448287
   ○ 改良版はこちらに
      ■ https://github.com/matsuu/gentoo-sakura-vps/

● 海外にはGentooを選べるVPSサービスもあるよ
この夏は
 Gentooライフを
満喫しませんか?

Contenu connexe

Tendances

エンジニアのための痔の話
エンジニアのための痔の話エンジニアのための痔の話
エンジニアのための痔の話Kouhei Maeda
 
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなしTsuyoshi Yamada
 
S2s websrv201011-presen
S2s websrv201011-presenS2s websrv201011-presen
S2s websrv201011-presenKouhei Maeda
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presenKouhei Maeda
 
タイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメタイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメTakuto Matsuu
 
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるKenichiro MATOHARA
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxKouhei Maeda
 
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。Kouhei Maeda
 
AllwinnerタブレットのOSを作ってみる (途中版)
AllwinnerタブレットのOSを作ってみる (途中版)AllwinnerタブレットのOSを作ってみる (途中版)
AllwinnerタブレットのOSを作ってみる (途中版)shimadah
 
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-monochrojazz
 
Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Maruyama Tetsutaro
 
NetwalkerとARM Linuxのカスタマイズ情報
NetwalkerとARM Linuxのカスタマイズ情報NetwalkerとARM Linuxのカスタマイズ情報
NetwalkerとARM Linuxのカスタマイズ情報Netwalker lab kapper
 
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)snicker_jp
 
魁ここんとーく in おおさか
魁ここんとーく in おおさか魁ここんとーく in おおさか
魁ここんとーく in おおさかshimadah
 
Ren’pyの御紹介
Ren’pyの御紹介Ren’pyの御紹介
Ren’pyの御紹介zgock
 
TUI作業で便利なソフト2題
TUI作業で便利なソフト2題TUI作業で便利なソフト2題
TUI作業で便利なソフト2題shimadah
 
Prefixから始めるgentoo生活
Prefixから始めるgentoo生活Prefixから始めるgentoo生活
Prefixから始めるgentoo生活bontakun
 
Custom Package Building with Poudriere
Custom Package Building with PoudriereCustom Package Building with Poudriere
Custom Package Building with PoudriereYuichiro Naito
 

Tendances (20)

エンジニアのための痔の話
エンジニアのための痔の話エンジニアのための痔の話
エンジニアのための痔の話
 
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
 
S2s websrv201011-presen
S2s websrv201011-presenS2s websrv201011-presen
S2s websrv201011-presen
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
タイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメタイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメ
 
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
 
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
 
AllwinnerタブレットのOSを作ってみる (途中版)
AllwinnerタブレットのOSを作ってみる (途中版)AllwinnerタブレットのOSを作ってみる (途中版)
AllwinnerタブレットのOSを作ってみる (途中版)
 
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
 
Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入
 
NetwalkerとARM Linuxのカスタマイズ情報
NetwalkerとARM Linuxのカスタマイズ情報NetwalkerとARM Linuxのカスタマイズ情報
NetwalkerとARM Linuxのカスタマイズ情報
 
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
 
Mishimasyk 3 20140705
Mishimasyk 3 20140705Mishimasyk 3 20140705
Mishimasyk 3 20140705
 
魁ここんとーく in おおさか
魁ここんとーく in おおさか魁ここんとーく in おおさか
魁ここんとーく in おおさか
 
Rdkitの紹介
Rdkitの紹介Rdkitの紹介
Rdkitの紹介
 
Ren’pyの御紹介
Ren’pyの御紹介Ren’pyの御紹介
Ren’pyの御紹介
 
TUI作業で便利なソフト2題
TUI作業で便利なソフト2題TUI作業で便利なソフト2題
TUI作業で便利なソフト2題
 
Prefixから始めるgentoo生活
Prefixから始めるgentoo生活Prefixから始めるgentoo生活
Prefixから始めるgentoo生活
 
Custom Package Building with Poudriere
Custom Package Building with PoudriereCustom Package Building with Poudriere
Custom Package Building with Poudriere
 

En vedette

Openness, Innovation and Opptunity
Openness, Innovation and OpptunityOpenness, Innovation and Opptunity
Openness, Innovation and OpptunityMakoto Kato
 
インフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについてインフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについてToshiaki Baba
 
Chrome GPO Availability
Chrome GPO AvailabilityChrome GPO Availability
Chrome GPO Availability彰 村地
 
マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?Microsoft
 
Mspからみたsensu
MspからみたsensuMspからみたsensu
MspからみたsensuTakuto Matsuu
 
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiB
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiB社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiB
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiBItsuki Kuroda
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxTakayuki Shimizukawa
 
Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Takuto Matsuu
 

En vedette (10)

Openness, Innovation and Opptunity
Openness, Innovation and OpptunityOpenness, Innovation and Opptunity
Openness, Innovation and Opptunity
 
インフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについてインフラエンジニア勉強会hbstudyについて
インフラエンジニア勉強会hbstudyについて
 
20110806 LT資料
20110806 LT資料20110806 LT資料
20110806 LT資料
 
Chrome GPO Availability
Chrome GPO AvailabilityChrome GPO Availability
Chrome GPO Availability
 
マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?
 
Mspからみたsensu
MspからみたsensuMspからみたsensu
Mspからみたsensu
 
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiB
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiB社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiB
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiB
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
 
Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話
 

Similaire à 今最もアツイdistribution Gentoo Linuxについて

Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntuKenichi Takahashi
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用Shinya Okano
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Ransui Iso
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜Taro Matsuzawa
 
FreeBSDで行こう for small server
FreeBSDで行こう for small serverFreeBSDで行こう for small server
FreeBSDで行こう for small serverTatsumi Naganuma
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くTetsuyuki Kobayashi
 
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Aya Komuro
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstepsmokey monkey
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話Masataka Tsukamoto
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみようMasahiko Hashimoto
 

Similaire à 今最もアツイdistribution Gentoo Linuxについて (20)

Osc2013 tokyospring
Osc2013 tokyospringOsc2013 tokyospring
Osc2013 tokyospring
 
RgGen ご紹介
RgGen ご紹介RgGen ご紹介
RgGen ご紹介
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
FreeBSDで行こう for small server
FreeBSDで行こう for small serverFreeBSDで行こう for small server
FreeBSDで行こう for small server
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
Yesod on Heroku
Yesod on HerokuYesod on Heroku
Yesod on Heroku
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
 

Plus de Takuto Matsuu

インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!Takuto Matsuu
 
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでくださいTakuto Matsuu
 
DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料Takuto Matsuu
 
JINS PC買ってみた
JINS PC買ってみたJINS PC買ってみた
JINS PC買ってみたTakuto Matsuu
 
Facebookアプリ雑感
Facebookアプリ雑感Facebookアプリ雑感
Facebookアプリ雑感Takuto Matsuu
 
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜Takuto Matsuu
 
Twitter botのレシピ
Twitter botのレシピTwitter botのレシピ
Twitter botのレシピTakuto Matsuu
 
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシTakuto Matsuu
 
recipetter開発秘話
recipetter開発秘話recipetter開発秘話
recipetter開発秘話Takuto Matsuu
 

Plus de Takuto Matsuu (9)

インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!
 
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
 
DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料
 
JINS PC買ってみた
JINS PC買ってみたJINS PC買ってみた
JINS PC買ってみた
 
Facebookアプリ雑感
Facebookアプリ雑感Facebookアプリ雑感
Facebookアプリ雑感
 
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
 
Twitter botのレシピ
Twitter botのレシピTwitter botのレシピ
Twitter botのレシピ
 
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
 
recipetter開発秘話
recipetter開発秘話recipetter開発秘話
recipetter開発秘話
 

今最もアツイdistribution Gentoo Linuxについて

  • 1. 今最もアツイdistribution Gentoo Linuxについて ナマエダケデモ オボエテ カエッテクダサイ
  • 2. 自己紹介 ● 松鵜 琢人(まつう たくと) ○ matsuu(twitter) ○ tmatsuu(はてな) ● Gentoo Linux Developer ● タイル型ウィンドウ マネージャ推進委員会 ● 最近は翻訳にも少しずつ手を出しています ● ネットワーク屋を経てWeb系プログラマー ● 勉強会に積極的に参加してる(つもり) ● 単館系映画好き。映画館で年間100本以上見る
  • 3. Gentoo Linuxとは ● Daniel Robbinsが創設したディストリビューション ○ http://www.gentoo.org/ ● 2002年3月31日にGentoo Linux 1.0がリリース ● 日本で広がるきっかけはSoftwareDesign 2002年7月号 ● RedHat系でもDebian系でもSlackware系でもない独自路線 ● Portageと言われるソースベースのパッケージシステム ○ rpmでいえばspecファイルのみ配布しているイメージ ○ 各マシンでバイナリをコンパイルして生成 ● 様々なCPUアーキテクチャをサポート ○ 移植が容易 ○ ARMやPlayStation3でも動作可能 ● 柔軟性が高いためメタディストリビューションと呼ばれる ○ Gentoo Prefixプロジェクト ○ Google ChromeOSもGentoo(Portage)がベース ● 現在日本人のGentoo Developerは3人(ぐらい)
  • 4. GentooJPとは 各種のプロジェクトの実施、 メーリングリスト・IRCチャンネルの開設 などをとおして、 gentoo.orgが配布するGentoo Linuxの日本での普 及・発展を支援し、 ユーザー間の情報交換の円滑化を図ることを目 的として2002年12月1日設立。 主な活動は以下のとおり。 ● ドキュメント、GMN等の翻訳作業 ● ebuild公開の場の提供 ○ ebuildJP ( http://ebuild.gentoo.gr.jp/ ) ● ユーザ交流のサポート ○ IRC ( #gentoo-ja at irc.gentoo.org(freenode) ) ○ GentooJP wiki ( http://wiki.gentoo.gr.jp ) ○ メーリングリスト ○ 飲み会 ● オープンソースカンファレンスへの出展
  • 5.
  • 6. Linux(FreeBSD)と私 ● Turbo→Vine→Kondara→(Solaris)→FreeBSD ● portsの仕組みを備えたLinuxがあるといいな ● SD誌の記事でGentooを知る ● 2003年7月からGentoo Linux Developerに ○ パッケージメンテナンス担当 ■ CJK関連(atokx3, ■ DNS関連(unbound,MyDNS,maradns) ■ AIDE,libev,distcc,puppet,redmine,awesome等 ○ 最近サボってますごめんなさい
  • 7. Gentoo Linuxの名前の由来 ● ジェンツーペンギン ● 小さくてすばしっこい ● エプソン品川アクアスタジ アムで会える ● 海洋堂がジェンツーペン ギンのフィギュアを作って た ○ 今は入手困難?
  • 8. Gentooのマスコットキャラクター ● Larry the Cow ● 乳がみえるけど雄 牛 ● ジェンツーペンギン はマスコットキャラ ではない
  • 9. Gentooの強み その1 ● 新しいパッケージを積極的に取り込む ○ 14804パッケージ(2011/08/05現在) ● バージョンはどんどん上げていく ○ ローリングアップデート ● パッケージ作成コストが低い ● すべてのパッケージをソースからインストールする ● カスタマイズ性が高い ● ライセンス問題、商用アプリ対応可能 ○ 再頒布しないので多くのライセンス問題を回避できる ○ 商用アプリもパッケージシステムで対応可能 ■ ATOK X3 for Linuxは対応済 ● 様々なCPUアーキテクチャに対応している
  • 10. Gentooの強み その2 ● WebアプリもPortageのシステムで管理・デプロイできる ○ webapp-configコマンドで ● Perlモジュールのパッケージを自動生成するg-cpanコマンド ○ パッケージに含まれていないPerlモジュールも対応できる ○ g-cpanの他にもいくつかある ■ g-ctan(TEXLive) ■ g-octave(GNU Octave) ■ g-pypi(Python) ■ g-cran(R) ■ hackport(Haskell) ● rpmやdebでしか配布されていないパッケージも対応可能 ○ Flash Player,Adobe Reader,google-talkplugin
  • 11. ソースからインストールってどういうこと? ● configure && make && make installを自動化 ● rpmで言えば、src.rpmのbuildとrpmインストールを 一気にやるイメージ ● configure時オプションをカスタマイズできる ○ --enable-foo, --with-barなど ● コンパイル時オプションをカスタマイズできる ○ CFLAGS, LDFALGSなど ● 基本パッケージなどもない、すべてコンパイル ○ 依存関係も含めてすべて自動でインストールさ れるので手間はかからない 
  • 12. USEフラグによるカスタマイズ ● 例えばphpでカスタマイズできる項目は・・・ adabas apache2 bcmath berkdb birdstep bzip2 calendar cdb cgi cjk cli crypt ctype curl curlwrappers db2 dbmaker debug doc embed empress empress-bcs enchant esoob exif fileinfo filter firebird flatfile fpm frontbase ftp gd gd-external gdbm gmp hash iconv imap inifile interbase intl iodbc ipv6 json kerberos kolab ldap ldap-sasl libedit mhash mssql mysql mysqli mysqlnd nls oci8 oci8-instant-client odbc pcntl pdo phar pic posix postgres qdbm readline recode sapdb session sharedext sharedmem simplexml snmp soap sockets solid spell sqlite sqlite3 ssl suhosin sybase-ct sysvipc threads tidy tokenizer truetype unicode wddx xml xmlreader xmlrpc xmlwriter xpm xsl zip zlib
  • 13. 現在対応しているアーキテクチャ alpha, amd64, amd64- fbsd, arm, hppa, ia64, m68k, mips, ppc, ppc64, s390 , sh, sparc, sparc-fbsd, x86, x86-fbsd 以下はPrefix ppc-aix, x86-freebsd, x64-freebsd, sparc64- freebsd, hppa-hpux, ia64-hpux, x86-interix, mips- irix, amd64-linux, arm-linux, ia64-linux, x86- linux, ppc-macos, x86-macos, x64-macos, m68k- mint, x86-netbsd, ppc-openbsd, x86-openbsd, x64- openbsd, sparc-solaris, sparc64-solaris, x64- solaris, x86-solaris, x86-winnt, x86-cygwin
  • 14. パッケージ管理のコマンド RedHat Debian Gentoo (yum) (aptitude) (emerge) パッケージの yum install foo aptitude install foo emerge foo インストール パッケージの yum update aptitude update emerge --sync アップデート aptitude upgrade emerge -u world パッケージの yum remove foo aptitude remove foo emerge -C foo アンインストール パッケージの yum search foo aptitude search foo emerge -s foo 検索
  • 15. Gentooの弱み ● インストーラーが存在しない ● バージョンはどんどん上げていく ○ ライブラリのバージョンがあがると動かなくなる可能性 ● パッケージはすべてソースからコンパイルする ○ 時間がかかる ○ パッケージのインストールに失敗することがある ● OSの商用サポートは期待できない ○ 海外では昔は商用サポートがあったが今はない ● Gentoo対応の商用パッケージなんて聞いたことがない ● 開発者不足 ○ バージョンアップが停滞しているパッケージがちらほら ○ Linux界の極左であるため、内ゲバが絶えない ■ 最近はそんなことないよ
  • 16. インストーラーがないってどういうこと? ● パーティションの設定からGRUBのインストールま で手動でインストール作業を行う ● たしかに最初は大変かもしれない ○ 公式ドキュメントが充実している ○ 公式ドキュメントどおりにやれば大丈夫 ○ 勉強になる ● 新人教育にGentooインストールはマジオススメ
  • 17. バージョンアップは諸刃の剣 ● バージョンアップによってプログラムが動作しない ● ライブラリのバージョンが上がるとそれを利用しているソフトウェ アが起動しなくなる ● 最近影響がでかかったアップデート ○ dev-libs/icu (International Components for Unicode) ○ webkit,libreoffice,gnome,sqlite,libxml2,boostなどが利用 ○ アップデート祭り ● revdep-rebuildなどのライブラリのアップデートによって壊れたソ フトウェアを検出するツール ● etc-updateやdispatch-confなどの設定ファイルの差分を確認・ マージするツール ● ライブラリは無理にアップデートしないという選択肢もある
  • 18. 共有ライブラリのバージョンについて ● libtool方式の場合 libhoge.so.x.y.z ○ 0:0:0から始まる(current:revision:age) 1. ライブラリのソースが変更された→r++ 2. インタフェースが追加or削除or変更された→c++, r=0 3. インタフェースが追加された→a++ 4. インタフェースが削除された→a=0 ● 例えばlibhoge.so.3.12.1が・・・ ○ 3.13.1になった→ソースは変更されたが仕様変更なし ○ 4.0.0になった→一部仕様が削除された ○ 4.0.1になった→一部仕様が変更された ○ 4.0.2になった→一部仕様が追加(+変更)された ● http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
  • 19. 時間がかかる問題の対策 ● ccacheを使う ○ http://ccache.samba.org/ ○ コンパイル結果をキャッシュするccacheを使う ○ 2回目以降のコンパイルが劇的に早くなる ● distccを使う ○ http://www.distcc.org/ ○ ネットワーク越しに分散コンパイルする ○ PCが2台以上あるならコンパイル時間が短縮できる ○ クロスコンパイル環境にも対応 ● バイナリパッケージを作る(binpkgs) ○ ただし全く同じ設定のサーバが複数台ある場合のみ意味が ある
  • 20. ccache ● コンパイル結果をキャッシュ、過去にコンパイルしたことがあるも のはキャッシュを再利用して高速化 ● C/C++/Objective-C/Objective-C++に対応 ● 使い方 # cp ccache /usr/local/bin/ # ln -s ccache /usr/local/bin/gcc # ln -s ccache /usr/local/bin/g++ # ln -s ccache /usr/local/bin/cc # ln -s ccache /usr/local/bin/c++ ● あとは普通に $ gcc hoge.c ● 2回目以降のコンパイルで効果を発揮 ● GCCにしか対応していない
  • 21. distccについて ● ソースコードのコンパイルを他のサーバに丸投げすることでコンパイル 時間の短縮を図るプログラム ● C/C++/Objective-C/Objective-C++に対応 ● gccの互換性に注意 ● 使い方 # cp distcc /usr/local/bin/ # ln -s distcc /usr/local/bin/gcc # ln -s distcc /usr/local/bin/g++ # ln -s distcc /usr/local/bin/cc # ln -s distcc /usr/local/bin/c++ ● あとは普通に $ gcc hoge.c ● ccacheを組み合わせて動作させることも可能(pumpモード除く)
  • 23. Gentooのセキュリティ対応 ● セキュリティアドバイザリを発行している ○ GLSA(Gentoo Linux Security Advisory) ● GLSAの発行までの流れ ○ Bugzillaにセキュリティの報告があがる ○ なんとかして直す ■ 直せない場合は放置もしくはパッケージ削除 ○ 直ったらGLSAを発行するか協議(vote)する ■ これが最近グダグダ ■ 他のディストリビューションがSAを発行したら発行? ■ 小物アプリなら大丈夫ですよ ○ GLSAが発行されたものだけアップデートするツールがある ■ glsa-check ○ が、上記のとおりなのであまり意味ないこ
  • 24. Gentooが向いている人 ● バイナリパッケージのコンパイルオプションに不 満がある ● ソースからインストールしたものが1つ以上ある ● Linux kernel 3.0をインストールした ● 新しいものが好き ● 苦労は買ってでもしたい ● Linuxのコマンドを勉強したい ● マゾ気質
  • 25. Gentooはサーバ用途に向いている? ● うーん、どうでしょうね ● 新しいソフトウェアの台頭 ○ Hadoop、Cassandra、nginxなど ● いきなり実環境へ導入されることも多い ● 各ディストリビューションでパッケージが用意され ていない ● ソースからインストールしてる? ● 自前でRPMパッケージつくってる? ● だったらGentooでいいじゃない
  • 26. Gentooパッケージの作り方 ● 後発であるが故にとてもわかりやすいパッケージ ● 拡張子は.ebuild ● 中身はbashスクリプト ● 主な設定内容 ○ ソースファイルの場所をSRC_URI変数に書く ○ DEPEND,RDEPENDに依存関係を書く(省略可) ○ src_unpack()にソースの解凍方法を書く(省略可) ○ src_prepare()にパッチを適用する(省略可) ○ src_configure()にconfigure関連の設定を書く(省略可) ○ src_compile()にmake関連の設定を書く(省略可) ○ src_install()にmake install関連の設定を書く(省略可) ● 極端な話、SRC_URIを書くだけでパッケージがかける(ものもあ る) ● http://packages.gentoo.org/
  • 30. Gentooを試す ● まずはインストール用CDのisoイメージをダウンロード (121MB) ○ http://www.gentoo.org/main/en/where.xml ● 日本語のインストールハンドブックを参考に ○ http://www.gentoo.org/doc/ja/handbook/index. xml ● CDで起動するとプロンプトが表示される ● インストールの難易度の高さを味わうのも一興 ● VMwareやVirtualBoxなどでとりあえず試してみては いかが?
  • 32. AMIイメージ利用の上での注意点 ● rootでログインしてください ○ ssh -i yourkey.pem root@xxx.xxx.xxx.xxx ● syslogdとcrondをインストール ○ emerge --sync ○ emerge syslog-ng ○ rc-update add syslog-ng default ○ emerge vixie-cron ○ rc-update add vixie-cron default ● syslogd例 ○ syslog-ng, rsyslog, sysklogdなど ● crondの例 ○ vixie-cron, dcron, fcron, cronie, bcronなど ● smallインスタンス以上を推奨
  • 33. ちょっと試してみたい人用に ● Amazon EC2上にテスト用インスタンスを作成しました ○ 175.41.226.110 ● SSH鍵はここに置いています ○ http://厳冬鍵.縮.jp/ ○ chmod 600 gentoo20110806.pem ○ ssh -i gentoo20110806.pem root@175.41.226.110 ● これはsmallインスタンスです ● テスト用なので好き放題触ってOK ● poweroffやウイルス等を仕込むはヤメてね ● 今日中にシャットダウンします
  • 34. 他人が作ったAMIは信用してはいけない ● AMIを一発で作ることができるスクリプトを用意しました ○ https://gist.github.com/870789 ● Amazon AMI Linuxのインスタンスを1つ作る ○ x86版Gentoo Linuxを作りたい場合は32bitを選択 ○ amd64版Gentoo Linuxを作りたい場合は64bitを選択 ● X.509証明書と秘密鍵をダウンロード ○ https://aws-portal.amazon.com/gp/aws/developer/account/index.html? action=access-key ● スクリプトと証明書と秘密鍵をAMIインスタンスにscpで転送して 実行 ● sudo sh create_gentoo_ami.sh ○ AMIのできあがり
  • 35. その他の選択肢(VPS編) ● さくらのVPSはOSを入れ替えることができる ○ http://vps.sakura.ad.jp/ ○ Gentooがインストールできることを確認済 ○ インストールの半自動化スクリプトがある ■ http://blog.kiyoya.shi-ba.org/post/1203448287 ○ 改良版はこちらに ■ https://github.com/matsuu/gentoo-sakura-vps/ ● 海外にはGentooを選べるVPSサービスもあるよ