徹底比較 ! Gentoo VS. Ubuntu

     青田直大 (@naota344)


         2011-11-12
自己紹介

            名前: 青田直大
            所属
                  大阪大学
                  Gentoo 開発者
                  カーネル /VM 探険隊 学生部
                  セプキャン 2010 Linux 組
            Twitter: @naota344
            Emacs 派
                  emacs-w3m
                  navi2ch
                  Twinstall



徹底比較 ! Gentoo VS. Ubuntu
スライドの目的




            Gentoo と Ubuntu を比較 ?
            Gentoo のすばらしさを啓蒙する
            帰ってからGentoo をインストールするようにせんの (ry




徹底比較 ! Gentoo VS. Ubuntu
比較項目




            カーネル
            サービス管理
            パッケージ管理




徹底比較 ! Gentoo VS. Ubuntu
カーネル




            Gentoo は数多くのカーネルソースパッケージを提供
            Ubuntu もいくつかのカーネルイメージおよびソースパッ
            ケージを提供




徹底比較 ! Gentoo VS. Ubuntu
Gentoo のカーネル



            とにかくいっぱいある
            stable で 7, testing で 14, もろもろいれて 55
            基本 patch = Genpatch (= BugFix + Fbcondecor)
            http://sources.gentoo.org/cgi-bin/viewvc.cgi/linux-
            patches/genpatches-2.6/trunk/




徹底比較 ! Gentoo VS. Ubuntu
Ubuntu のカーネル


            generic, server, virtual
            結構いろんなpatch があたっている
            compat-wireless とかの無線ドライバの更新とか入れてる
            みたい
            Input: bcm5974 - add support for touchpads found in
            MacBookAir4, 2
            http://patchwork.ozlabs.org/project/ubuntu-
            kernel/list/




徹底比較 ! Gentoo VS. Ubuntu
カーネル比較




            Ubuntu はハードウェアのfix のとりこみに積極的 ?
            Gentoo は stable がおりてくるのもはやい…
            無線に関しては compat-linux を入れているのは強い




徹底比較 ! Gentoo VS. Ubuntu
Gentoo のサービス管理




            OpenRC という独自のシステムが基本
            いわゆる依存関係ベース
            C で書かれていて複数同時起動も可能




徹底比較 ! Gentoo VS. Ubuntu
Ubuntu のサービス管理




            Upstart
            イベントべースのサービス管理
            Cron や Inetd のおきかえも ?




徹底比較 ! Gentoo VS. Ubuntu
Gentoo のパッケージ管理




            Portage
            基本的にソースからのビルド
            USE フラグでパッケージの機能を自由自在に ON/OFF




徹底比較 ! Gentoo VS. Ubuntu
Ubuntu のパッケージ管理



            apt-get
            基本的にバイナリをインストール
            apt-source とかもある
            パッケージ数わりと多い




徹底比較 ! Gentoo VS. Ubuntu
Gentoo のパッケージシステム もう少し




            複数のバージョンがある
            新しいものが早く入りやすい
            古くて upstream 消えたものは消えやすい




徹底比較 ! Gentoo VS. Ubuntu
パッケージシステム Ruby on Gentoo


            パッケージ
                  Ruby (MRI) 1.8.x
                  Ruby (MRI) 1.9.x
                  Ruby Enterprise Edition 1.8.x
                  JRuby
                  Rubinius
            RUBY_TARGETS
            gem からの自動生成はない




徹底比較 ! Gentoo VS. Ubuntu
パッケージシステム Haskell on Gentoo


            GHC http://packages.gentoo.org/package/dev-lang/ghc/

                  stable 6.12.3
                  testing 7.0.4
                  overlay 7.2.1
            overlay がかなり活発
            hackport によりcabal から ebuild を生成可能




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 1-5


            コンパイルしたい -> Gentoo 使う
            開発の最先端をパッケージ管理しながら使いたい ->
            -9999 使う
            音を聞きたくない -> USE='-sound' する
            自分でパッケージを楽に書きたい -> ebuild は楽
            自分でパッケージをテストしないと信用できない ->
            FEATURES=test 使う




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 6-10



            インストールしたものを自動でつぶやきたい -> GenTwoo
            使う
            壊れたcabal 楽に直したい -> haskell-updater 使う
            cabal からパッケージ作りたい -> hackport 使う
            R のパッケージ作りたい -> g-cran 使う
            TeX のパッケージ作りたい -> g-ctan 使う




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 11-15



            PyPI のパッケージ使いたい -> g-pypi 使う
            パッケージ検索したい -> eix 使う
            メインリポジトリになかった -> eix-remote で外部リポジ
            トリ DB 取ってくる
            eix-remote した -> eix で検索する
            CPAN のパッケージ使いたい -> g-cpan 使う




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 16-20



            Ruby のパッケージ使いたい -> ;)
            KDE とか Gnome あきた -> awesome, xmonad 使う
            login 画面は X がいい -> slim 使う
            dropbox 使いたい -> emerge dropbox する
            バッテリの状況見たい -> batti 使う




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 21-25


            Ruby 複数いれたい -> rvm なくてもパッケージの方で対応
            それでもバイナリ使いたい ->
            PORTAGE_BINHOST=http://gentwoo.s3-website-ap-
            northeast-1.amazonaws.com/default-linux/amd64/
            おもしろいカーネル使いたい -> sys-kernel/*
            Linux にあきた -> Gentoo/FreeBSD 使う
            FreeBSD 9.x 使いたい -> Gentoo/FreeBSD は 9.x 対応




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 21-25


            Ruby 複数いれたい -> rvm なくてもパッケージの方で対応
            それでもバイナリ使いたい ->
            PORTAGE_BINHOST=http://gentwoo.s3-website-ap-
            northeast-1.amazonaws.com/default-linux/amd64/
            おもしろいカーネル使いたい -> sys-kernel/*
            Linux にあきた -> Gentoo/FreeBSD 使う
            FreeBSD 9.x 使いたい -> Gentoo/FreeBSD は 9.x 対応




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 26-30


            package-manager が味けない -> Gentoo だとカラフル
            まだものたりない -> FEATURES=candy でもっとカラフル
            Mac でパッケージ入れたい -> Gentoo/Prefix MacOSX 使う
            Ubuntu でパッケージ入れたい -> Gentoo/Prefix Linux 使
            う
            FreeBSD でパッケージ入れたい -> Gentoo/Prefix
            FreeBSD 使う




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 31-35



            Solaris で (ry -> Gentoo/Prefix Solaris 使う
            Cygw(ry -> Gentoo/Prefi(ry
            Interix で (ry -> Gentoo/Pref(ry
            カーネルが起動しない -> genkernel 使う
            うまく動かない -> Twitter でつぶやく




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 36-40


            マルチコアを使いきりたい -> MAKEOPTS='-j' する
            もっと使いきりたい -> emerge -j する
            emerge が邪魔にならないようにしたい -> schedtool -D
            -e ionice -c 3 する
            てっとりばやくインストールしたい -> LiveDVD から dd す
            る
            あのファイルが入ってるパッケージなに ? -> ;)




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 41-45



            バイナリパッケージ作りたい -> emerge -b する
            いまあるものからバイナリパッケージ作りたい -> qpkg す
            る
            このファイルはなに由来だっけ ? -> qfile する
            このパッケージにはなにが入ってたっけ ? -> qlist する
            ドキュメントの日本語がアレ -> Twitter でつぶやく




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 41-45


            途中でこけた ! かなしい ! -> emerge --resume
            --skip-first する
            emerge --resume めんどい ! -> emerge --keep-going する
            USE フラグを全部見たい -> emerge -avt する
            USE フラグの意味がわからない -> quse -D する
            コンパイルにどのぐらいかかるかわからない -> GenTwoo
            の Web サイト見る




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 46-50


            日本語 Latex 使いたい -> USE=cjk emerge texlive-core
            luatex で日本語したい -> USE=xetex emerge
            texlive-core
            Twitter でみくみくしたい -> emerge mikutter
            Ruby1.9 が入らない -> /etc/portage/profile/use.mask
            に "-ruby_targets_ruby19" 書く
            LibreOffice コンパイルに 9G とか 16G とかマジ… ->
            libreoffice-bin 使う




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 51-55

            Chromium 更新はげしすぎる -> emerge google-chrome す
            る
            なんか USE change required とか -> emerge
            --autounmask-write する
            なんかmask とか keyword とか -> emerge
            --autounmask-write する
            ドキュメント翻訳したい -> ML に歓迎
            X とかよくわからないが -> とりあえず VIDEO_CARDS を設
            定しとく



徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 56-60



            いろいろわからない -> ドキュメントとか Wiki 読んでみる
            それでもよくわからない -> Twitter でつぶやく
            ドキュメント書きたい -> Wiki にぶつける
            Vim 大好き -> USE=vim する
            インストーラないの ? -> 一応ある…(ry




徹底比較 ! Gentoo VS. Ubuntu
Gentoo を使うための 101 の方法 61-65



            VM 作りたい -> Gentoaster
            無線 LAN 使いたい -> emerge wicd
            ライブラリが変わって動かなくなった ! -> 次のバージョ
            ンで preserved-rebuild が入ります




徹底比較 ! Gentoo VS. Ubuntu
Gentoo の将来計画妄想



            バイナリパッケージの機能拡大
            P2P によるバイナリのやりとり
            リモートデバッグ




徹底比較 ! Gentoo VS. Ubuntu
おしまい




            質疑応答
            素朴な疑問
            Gentoo インストールしたい人挙手タイム




徹底比較 ! Gentoo VS. Ubuntu

Vsubuntu

  • 1.
    徹底比較 ! GentooVS. Ubuntu 青田直大 (@naota344) 2011-11-12
  • 2.
    自己紹介 名前: 青田直大 所属 大阪大学 Gentoo 開発者 カーネル /VM 探険隊 学生部 セプキャン 2010 Linux 組 Twitter: @naota344 Emacs 派 emacs-w3m navi2ch Twinstall 徹底比較 ! Gentoo VS. Ubuntu
  • 3.
    スライドの目的 Gentoo と Ubuntu を比較 ? Gentoo のすばらしさを啓蒙する 帰ってからGentoo をインストールするようにせんの (ry 徹底比較 ! Gentoo VS. Ubuntu
  • 4.
    比較項目 カーネル サービス管理 パッケージ管理 徹底比較 ! Gentoo VS. Ubuntu
  • 5.
    カーネル Gentoo は数多くのカーネルソースパッケージを提供 Ubuntu もいくつかのカーネルイメージおよびソースパッ ケージを提供 徹底比較 ! Gentoo VS. Ubuntu
  • 6.
    Gentoo のカーネル とにかくいっぱいある stable で 7, testing で 14, もろもろいれて 55 基本 patch = Genpatch (= BugFix + Fbcondecor) http://sources.gentoo.org/cgi-bin/viewvc.cgi/linux- patches/genpatches-2.6/trunk/ 徹底比較 ! Gentoo VS. Ubuntu
  • 7.
    Ubuntu のカーネル generic, server, virtual 結構いろんなpatch があたっている compat-wireless とかの無線ドライバの更新とか入れてる みたい Input: bcm5974 - add support for touchpads found in MacBookAir4, 2 http://patchwork.ozlabs.org/project/ubuntu- kernel/list/ 徹底比較 ! Gentoo VS. Ubuntu
  • 8.
    カーネル比較 Ubuntu はハードウェアのfix のとりこみに積極的 ? Gentoo は stable がおりてくるのもはやい… 無線に関しては compat-linux を入れているのは強い 徹底比較 ! Gentoo VS. Ubuntu
  • 9.
    Gentoo のサービス管理 OpenRC という独自のシステムが基本 いわゆる依存関係ベース C で書かれていて複数同時起動も可能 徹底比較 ! Gentoo VS. Ubuntu
  • 10.
    Ubuntu のサービス管理 Upstart イベントべースのサービス管理 Cron や Inetd のおきかえも ? 徹底比較 ! Gentoo VS. Ubuntu
  • 11.
    Gentoo のパッケージ管理 Portage 基本的にソースからのビルド USE フラグでパッケージの機能を自由自在に ON/OFF 徹底比較 ! Gentoo VS. Ubuntu
  • 12.
    Ubuntu のパッケージ管理 apt-get 基本的にバイナリをインストール apt-source とかもある パッケージ数わりと多い 徹底比較 ! Gentoo VS. Ubuntu
  • 13.
    Gentoo のパッケージシステム もう少し 複数のバージョンがある 新しいものが早く入りやすい 古くて upstream 消えたものは消えやすい 徹底比較 ! Gentoo VS. Ubuntu
  • 14.
    パッケージシステム Ruby onGentoo パッケージ Ruby (MRI) 1.8.x Ruby (MRI) 1.9.x Ruby Enterprise Edition 1.8.x JRuby Rubinius RUBY_TARGETS gem からの自動生成はない 徹底比較 ! Gentoo VS. Ubuntu
  • 15.
    パッケージシステム Haskell onGentoo GHC http://packages.gentoo.org/package/dev-lang/ghc/ stable 6.12.3 testing 7.0.4 overlay 7.2.1 overlay がかなり活発 hackport によりcabal から ebuild を生成可能 徹底比較 ! Gentoo VS. Ubuntu
  • 16.
    Gentoo を使うための 101の方法 1-5 コンパイルしたい -> Gentoo 使う 開発の最先端をパッケージ管理しながら使いたい -> -9999 使う 音を聞きたくない -> USE='-sound' する 自分でパッケージを楽に書きたい -> ebuild は楽 自分でパッケージをテストしないと信用できない -> FEATURES=test 使う 徹底比較 ! Gentoo VS. Ubuntu
  • 17.
    Gentoo を使うための 101の方法 6-10 インストールしたものを自動でつぶやきたい -> GenTwoo 使う 壊れたcabal 楽に直したい -> haskell-updater 使う cabal からパッケージ作りたい -> hackport 使う R のパッケージ作りたい -> g-cran 使う TeX のパッケージ作りたい -> g-ctan 使う 徹底比較 ! Gentoo VS. Ubuntu
  • 18.
    Gentoo を使うための 101の方法 11-15 PyPI のパッケージ使いたい -> g-pypi 使う パッケージ検索したい -> eix 使う メインリポジトリになかった -> eix-remote で外部リポジ トリ DB 取ってくる eix-remote した -> eix で検索する CPAN のパッケージ使いたい -> g-cpan 使う 徹底比較 ! Gentoo VS. Ubuntu
  • 19.
    Gentoo を使うための 101の方法 16-20 Ruby のパッケージ使いたい -> ;) KDE とか Gnome あきた -> awesome, xmonad 使う login 画面は X がいい -> slim 使う dropbox 使いたい -> emerge dropbox する バッテリの状況見たい -> batti 使う 徹底比較 ! Gentoo VS. Ubuntu
  • 20.
    Gentoo を使うための 101の方法 21-25 Ruby 複数いれたい -> rvm なくてもパッケージの方で対応 それでもバイナリ使いたい -> PORTAGE_BINHOST=http://gentwoo.s3-website-ap- northeast-1.amazonaws.com/default-linux/amd64/ おもしろいカーネル使いたい -> sys-kernel/* Linux にあきた -> Gentoo/FreeBSD 使う FreeBSD 9.x 使いたい -> Gentoo/FreeBSD は 9.x 対応 徹底比較 ! Gentoo VS. Ubuntu
  • 21.
    Gentoo を使うための 101の方法 21-25 Ruby 複数いれたい -> rvm なくてもパッケージの方で対応 それでもバイナリ使いたい -> PORTAGE_BINHOST=http://gentwoo.s3-website-ap- northeast-1.amazonaws.com/default-linux/amd64/ おもしろいカーネル使いたい -> sys-kernel/* Linux にあきた -> Gentoo/FreeBSD 使う FreeBSD 9.x 使いたい -> Gentoo/FreeBSD は 9.x 対応 徹底比較 ! Gentoo VS. Ubuntu
  • 22.
    Gentoo を使うための 101の方法 26-30 package-manager が味けない -> Gentoo だとカラフル まだものたりない -> FEATURES=candy でもっとカラフル Mac でパッケージ入れたい -> Gentoo/Prefix MacOSX 使う Ubuntu でパッケージ入れたい -> Gentoo/Prefix Linux 使 う FreeBSD でパッケージ入れたい -> Gentoo/Prefix FreeBSD 使う 徹底比較 ! Gentoo VS. Ubuntu
  • 23.
    Gentoo を使うための 101の方法 31-35 Solaris で (ry -> Gentoo/Prefix Solaris 使う Cygw(ry -> Gentoo/Prefi(ry Interix で (ry -> Gentoo/Pref(ry カーネルが起動しない -> genkernel 使う うまく動かない -> Twitter でつぶやく 徹底比較 ! Gentoo VS. Ubuntu
  • 24.
    Gentoo を使うための 101の方法 36-40 マルチコアを使いきりたい -> MAKEOPTS='-j' する もっと使いきりたい -> emerge -j する emerge が邪魔にならないようにしたい -> schedtool -D -e ionice -c 3 する てっとりばやくインストールしたい -> LiveDVD から dd す る あのファイルが入ってるパッケージなに ? -> ;) 徹底比較 ! Gentoo VS. Ubuntu
  • 25.
    Gentoo を使うための 101の方法 41-45 バイナリパッケージ作りたい -> emerge -b する いまあるものからバイナリパッケージ作りたい -> qpkg す る このファイルはなに由来だっけ ? -> qfile する このパッケージにはなにが入ってたっけ ? -> qlist する ドキュメントの日本語がアレ -> Twitter でつぶやく 徹底比較 ! Gentoo VS. Ubuntu
  • 26.
    Gentoo を使うための 101の方法 41-45 途中でこけた ! かなしい ! -> emerge --resume --skip-first する emerge --resume めんどい ! -> emerge --keep-going する USE フラグを全部見たい -> emerge -avt する USE フラグの意味がわからない -> quse -D する コンパイルにどのぐらいかかるかわからない -> GenTwoo の Web サイト見る 徹底比較 ! Gentoo VS. Ubuntu
  • 27.
    Gentoo を使うための 101の方法 46-50 日本語 Latex 使いたい -> USE=cjk emerge texlive-core luatex で日本語したい -> USE=xetex emerge texlive-core Twitter でみくみくしたい -> emerge mikutter Ruby1.9 が入らない -> /etc/portage/profile/use.mask に "-ruby_targets_ruby19" 書く LibreOffice コンパイルに 9G とか 16G とかマジ… -> libreoffice-bin 使う 徹底比較 ! Gentoo VS. Ubuntu
  • 28.
    Gentoo を使うための 101の方法 51-55 Chromium 更新はげしすぎる -> emerge google-chrome す る なんか USE change required とか -> emerge --autounmask-write する なんかmask とか keyword とか -> emerge --autounmask-write する ドキュメント翻訳したい -> ML に歓迎 X とかよくわからないが -> とりあえず VIDEO_CARDS を設 定しとく 徹底比較 ! Gentoo VS. Ubuntu
  • 29.
    Gentoo を使うための 101の方法 56-60 いろいろわからない -> ドキュメントとか Wiki 読んでみる それでもよくわからない -> Twitter でつぶやく ドキュメント書きたい -> Wiki にぶつける Vim 大好き -> USE=vim する インストーラないの ? -> 一応ある…(ry 徹底比較 ! Gentoo VS. Ubuntu
  • 30.
    Gentoo を使うための 101の方法 61-65 VM 作りたい -> Gentoaster 無線 LAN 使いたい -> emerge wicd ライブラリが変わって動かなくなった ! -> 次のバージョ ンで preserved-rebuild が入ります 徹底比較 ! Gentoo VS. Ubuntu
  • 31.
    Gentoo の将来計画妄想 バイナリパッケージの機能拡大 P2P によるバイナリのやりとり リモートデバッグ 徹底比較 ! Gentoo VS. Ubuntu
  • 32.
    おしまい 質疑応答 素朴な疑問 Gentoo インストールしたい人挙手タイム 徹底比較 ! Gentoo VS. Ubuntu