mac os x のパッケージ管理紹介/比較

59
Mac OS X パーケージ管理ツール 2013-04-28 広島Macユーザグループ 13428日日曜日

Upload: tomohiko-himura

Post on 28-May-2015

14.212 views

Category:

Technology


3 download

DESCRIPTION

広島Macユーザグループ 2013年4月の勉強会で使用したスライドです。 Mac OS X のパッケージ管理システム Macports, Homebrew, Fink, Gentoo Prefix を紹介しました。

TRANSCRIPT

Page 1: Mac OS X のパッケージ管理紹介/比較

Mac OS X の パーケージ管理ツール2013-04-28 広島Macユーザグループ

13年4月28日日曜日

Page 2: Mac OS X のパッケージ管理紹介/比較

アジェンダ

パッケージ管理とは

パーケージ管理ツールの紹介

パッケージ管理ツールのインストール

パッケージ管理ツールの基本

13年4月28日日曜日

Page 3: Mac OS X のパッケージ管理紹介/比較

パッケージ管理とは

アプリケーションをインストールするソフト

App Store の 黒い画面 ver

インストールのための統一的インターフェイス

依存関係の自動解決

13年4月28日日曜日

Page 4: Mac OS X のパッケージ管理紹介/比較

パッケージ管理ツールの登場前アプリケーション のソース取得

ライブラリA が必要なことがわかる

ライブラリA のソース取得

ライブラリB 必要なことがわかる

ライブラリB のソース取得

ライブラリB の作成

ライブラリA の作成

アプリケーションの作成13年4月28日日曜日

Page 5: Mac OS X のパッケージ管理紹介/比較

パッケージ管理ツールの登場後

アプリケーションA インストール !

13年4月28日日曜日

Page 6: Mac OS X のパッケージ管理紹介/比較

注意事項

本内容は各ツールを1日程度調べた程度の知識

普段は Gentoo Prfeix を使用しています。

13年4月28日日曜日

Page 7: Mac OS X のパッケージ管理紹介/比較

アジェンダ

パッケージ管理とは

パッケージ管理ツールの紹介

パッケージ管理ツールのインストール

パッケージ管理ツールの基本

13年4月28日日曜日

Page 8: Mac OS X のパッケージ管理紹介/比較

パッケージ管理ツールの紹介

Macports

Homebrew

Fink

Gentoo Prefix

13年4月28日日曜日

Page 9: Mac OS X のパッケージ管理紹介/比較

バイナリとビルド

パッケージ管理には

バイナリを取得するもの

ソースコードを取得してビルドするもの

の2パターンあります。

13年4月28日日曜日

Page 10: Mac OS X のパッケージ管理紹介/比較

バイナリ

バイナリは

ソースコードをビルドした成果物

あらかじめビルドしたものを配布

13年4月28日日曜日

Page 11: Mac OS X のパッケージ管理紹介/比較

バイナリとビルド

ビルド

自分のMacで ビルド すると自分のMacに最適化ができる

バイナリ

ビルド済みなのでインストールが早い

13年4月28日日曜日

Page 12: Mac OS X のパッケージ管理紹介/比較

Macports

13年4月28日日曜日

Page 13: Mac OS X のパッケージ管理紹介/比較

Macports

多くのパッケージのバイナリが用意されている

バイナリがない場合はビルドするハイブリット

ビルドする際に clang の利用

13年4月28日日曜日

Page 14: Mac OS X のパッケージ管理紹介/比較

Macportsvariants によるカスタマイズ

同じパッケージの複数バージョンの保持

Active

FreeBSD の ports をベース

Apple 公認臭がする

ADC に Macports に感する記述がある

https://developer.apple.com/library/mac/

13年4月28日日曜日

Page 15: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 16: Mac OS X のパッケージ管理紹介/比較

Homebrew

13年4月28日日曜日

Page 17: Mac OS X のパッケージ管理紹介/比較

Homebrew

日本で最も流行してるような空気

Githubによるホスティング

開発への参加しやすさ

パッケージ化が早そう

option によるカスタマイズ

13年4月28日日曜日

Page 18: Mac OS X のパッケージ管理紹介/比較

Homebrew

ビルドシステムとの疎結合

自分でビルドしたパッケージも扱える

Ruby による実装

パッケージの数がまだ少ない

sudo が不要

13年4月28日日曜日

Page 19: Mac OS X のパッケージ管理紹介/比較

Fink

13年4月28日日曜日

Page 20: Mac OS X のパッケージ管理紹介/比較

Fink

日本では流行っていないけど

海外ではかなり使われている模様

Debian の apt ベース

圧倒的なパッケージ数

インストールが他に比べると難しい

13年4月28日日曜日

Page 21: Mac OS X のパッケージ管理紹介/比較

Gentoo Prefix

13年4月28日日曜日

Page 22: Mac OS X のパッケージ管理紹介/比較

Gentoo Prefix

Gentoo の portage ベース

最強のビルドシステム

Mac OS のためだけのものでないため

少し使いにくい

USEフラグによる柔軟性

13年4月28日日曜日

Page 23: Mac OS X のパッケージ管理紹介/比較

Gentoo Prefix

圧倒的なカラフルさ

clang を使わない

13年4月28日日曜日

Page 24: Mac OS X のパッケージ管理紹介/比較

比較Macports Homebrew Fink Gentoo

Prefix

バイナリ/ビルド

結構バイナリ 基本ビルドそれなりにバイナリ

基本ビルド

パッケージ数 16,971 2,298 72,156 17,758

コンパイラ clang clang clang gcc

13年4月28日日曜日

Page 25: Mac OS X のパッケージ管理紹介/比較

比較Macports Homebrew Fink Gentoo

Prefix

検索結果 902,000 12,900,000 19.500,000 534,000

カスタマイズ variants options パッケージの数 USEフラグ

ベースシステム portsFreeBSD formula apt

DebianportageGentoo

13年4月28日日曜日

Page 26: Mac OS X のパッケージ管理紹介/比較

比較Macports Homebrew Fink Gentoo

Prefix

インストール 簡単 簡単比較的難しい

長い

インストール先 /opt/local /usr/local /sw ~/Gentoo

ツリーの同期 rsyncだと思う git apt rsync

gitにもできる

13年4月28日日曜日

Page 27: Mac OS X のパッケージ管理紹介/比較

比較

Macports Homebrew Fink Gentoo Prefix

複数バージョン active unlinkすればメジャーバージョンなら

slot

管理者権限 sudo 自動インストール時に選択

不要

13年4月28日日曜日

Page 28: Mac OS X のパッケージ管理紹介/比較

総評

トータルで個人的なおすすめ度

Macports > Homebrew > Gentoo Prfeix > Fink

まー、どれも一長一短ですね

サービス系は Gentoo Prefix 向いてないですが

他と比較する時間がありませんでした。

13年4月28日日曜日

Page 29: Mac OS X のパッケージ管理紹介/比較

アジェンダ

パッケージ管理とは

パーケージ管理ツールの紹介

パッケージ管理ツールのインストール

パッケージ管理ツールの基本

13年4月28日日曜日

Page 30: Mac OS X のパッケージ管理紹介/比較

パッケージ管理ツールのインストール

13年4月28日日曜日

Page 31: Mac OS X のパッケージ管理紹介/比較

Xcodeのインストールが必須です。with Command line tools

13年4月28日日曜日

Page 32: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 33: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 34: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 35: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 36: Mac OS X のパッケージ管理紹介/比較

Macports

http://www.macports.org/install.php

からダウンロード

pkg をインストール

13年4月28日日曜日

Page 37: Mac OS X のパッケージ管理紹介/比較

Homebrew

黒い画面で

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

を実行

13年4月28日日曜日

Page 38: Mac OS X のパッケージ管理紹介/比較

Fink

http://fink.thetis.ig42.org/download/srcdist.php

に従いインストール

エンターをたくさん押す

13年4月28日日曜日

Page 39: Mac OS X のパッケージ管理紹介/比較

Gentoo Prefix

http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap.xml

に従い作業

bootstrap-bash.sh のDL

実行してひたすら待つ

13年4月28日日曜日

Page 40: Mac OS X のパッケージ管理紹介/比較

アジェンダ

パッケージ管理とは

パーケージ管理ツールの紹介

パッケージ管理ツールのインストール

パッケージ管理ツールの基本

13年4月28日日曜日

Page 41: Mac OS X のパッケージ管理紹介/比較

基本的な使い方

インストール

アンインストール

パッケージの検索

パッケージの詳細情報

パッケージでインストールされるファイル

パッケージの更新

13年4月28日日曜日

Page 42: Mac OS X のパッケージ管理紹介/比較

表記について

Macports

Homebrew

Fink

Gentoo Prefix

参考例も用意

13年4月28日日曜日

Page 43: Mac OS X のパッケージ管理紹介/比較

インストール

sudo port install [package名] +variaonts...

brew install [package名] +options

fink install [package名]

emerge [package名]

13年4月28日日曜日

Page 44: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 45: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 46: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 47: Mac OS X のパッケージ管理紹介/比較

アンインストール

sudo port uninstall [pakage名]

brew uninstall [package名]

fink purge [package名]

fink remove [package名]

emerge -C [pcakage名]

13年4月28日日曜日

Page 48: Mac OS X のパッケージ管理紹介/比較

検索

port search [keyword]

brew search [keyword]

apt-cache search [keyword]

fink list | gre [keyword]

eix [keyword] 要 eix

emerge -s [keyword]

13年4月28日日曜日

Page 49: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 50: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 51: Mac OS X のパッケージ管理紹介/比較

パッケージの詳細情報

port info [package名]

brew info [package名]

fink info [package名]

eix [package名] 要 eix

emerge --searchdesc [package名]

13年4月28日日曜日

Page 52: Mac OS X のパッケージ管理紹介/比較

インストールされるファイル

port contents [package名]

brew list [package名]

dpkg -L [package名]

qlist [package名]

要 portage-utils

13年4月28日日曜日

Page 53: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 54: Mac OS X のパッケージ管理紹介/比較

13年4月28日日曜日

Page 55: Mac OS X のパッケージ管理紹介/比較

パッケージ情報の更新

sudo port selfupdate

brew update

fink update

eix-sync eix を利用しているなら

emerge --sync

13年4月28日日曜日

Page 56: Mac OS X のパッケージ管理紹介/比較

パッケージのバージョンアップ

sudo port upgrade installed

brew upgrade

fink update-all

emerge -uDN world

13年4月28日日曜日

Page 57: Mac OS X のパッケージ管理紹介/比較

参考文献とか

Macports

http://www.macports.org/

Homebrew

http://mxcl.github.io/homebrew/

13年4月28日日曜日

Page 58: Mac OS X のパッケージ管理紹介/比較

参考文献とか

Fink

http://fink.thetis.ig42.org/index.php

Debian

http://www.debian.org/

13年4月28日日曜日

Page 59: Mac OS X のパッケージ管理紹介/比較

参考文献

Gentoo Prefix

http://www.gentoo.org/proj/en/gentoo-alt/prefix/

Gentoo Linux

http://www.gentoo.org

13年4月28日日曜日