SlideShare a Scribd company logo
1 of 59
Download to read offline
Mac OS X の
パーケージ管理ツール
2013-04-28 広島Macユーザグループ
13年4月28日日曜日
アジェンダ
パッケージ管理とは
パーケージ管理ツールの紹介
パッケージ管理ツールのインストール
パッケージ管理ツールの基本
13年4月28日日曜日
パッケージ管理とは
アプリケーションをインストールするソフト
App Store の 黒い画面 ver
インストールのための統一的インターフェイス
依存関係の自動解決
13年4月28日日曜日
パッケージ管理ツールの登場前
アプリケーション のソース取得
ライブラリA が必要なことがわかる
ライブラリA のソース取得
ライブラリB 必要なことがわかる
ライブラリB のソース取得
ライブラリB の作成
ライブラリA の作成
アプリケーションの作成
13年4月28日日曜日
パッケージ管理ツールの登場後
アプリケーションA インストール !
13年4月28日日曜日
注意事項
本内容は各ツールを1日程度調べた程度の知識
普段は Gentoo Prfeix を使用しています。
13年4月28日日曜日
アジェンダ
パッケージ管理とは
パッケージ管理ツールの紹介
パッケージ管理ツールのインストール
パッケージ管理ツールの基本
13年4月28日日曜日
パッケージ管理ツールの紹介
Macports
Homebrew
Fink
Gentoo Prefix
13年4月28日日曜日
バイナリとビルド
パッケージ管理には
バイナリを取得するもの
ソースコードを取得してビルドするもの
の2パターンあります。
13年4月28日日曜日
バイナリ
バイナリは
ソースコードをビルドした成果物
あらかじめビルドしたものを配布
13年4月28日日曜日
バイナリとビルド
ビルド
自分のMacで ビルド すると自分のMacに最適化がで
きる
バイナリ
ビルド済みなのでインストールが早い
13年4月28日日曜日
Macports
13年4月28日日曜日
Macports
多くのパッケージのバイナリが用意されている
バイナリがない場合はビルドするハイブリット
ビルドする際に clang の利用
13年4月28日日曜日
Macports
variants によるカスタマイズ
同じパッケージの複数バージョンの保持
Active
FreeBSD の ports をベース
Apple 公認臭がする
ADC に Macports に感する記述がある
https://developer.apple.com/library/mac/
13年4月28日日曜日
13年4月28日日曜日
Homebrew
13年4月28日日曜日
Homebrew
日本で最も流行してるような空気
Githubによるホスティング
開発への参加しやすさ
パッケージ化が早そう
option によるカスタマイズ
13年4月28日日曜日
Homebrew
ビルドシステムとの疎結合
自分でビルドしたパッケージも扱える
Ruby による実装
パッケージの数がまだ少ない
sudo が不要
13年4月28日日曜日
Fink
13年4月28日日曜日
Fink
日本では流行っていないけど
海外ではかなり使われている模様
Debian の apt ベース
圧倒的なパッケージ数
インストールが他に比べると難しい
13年4月28日日曜日
Gentoo Prefix
13年4月28日日曜日
Gentoo Prefix
Gentoo の portage ベース
最強のビルドシステム
Mac OS のためだけのものでないため
少し使いにくい
USEフラグによる柔軟性
13年4月28日日曜日
Gentoo Prefix
圧倒的なカラフルさ
clang を使わない
13年4月28日日曜日
比較
Macports Homebrew Fink
Gentoo
Prefix
バイナリ/
ビルド
結構バイナリ 基本ビルド
それなりに
バイナリ
基本ビルド
パッケージ数 16,971 2,298 72,156 17,758
コンパイラ clang clang clang gcc
13年4月28日日曜日
比較
Macports Homebrew Fink
Gentoo
Prefix
検索結果 902,000 12,900,000 19.500,000 534,000
カスタマイズ variants options パッケージの数 USEフラグ
ベースシステム
ports
FreeBSD
formula
apt
Debian
portage
Gentoo
13年4月28日日曜日
比較
Macports Homebrew Fink
Gentoo
Prefix
インストール 簡単 簡単
比較的
難しい
長い
インストール先 /opt/local /usr/local /sw ~/Gentoo
ツリーの同期
rsync
だと思う
git apt
rsync
gitにもできる
13年4月28日日曜日
比較
Macports Homebrew Fink
Gentoo
Prefix
複数バージョン active unlinkすれば
メジャーバージ
ョンなら
slot
管理者権限 sudo 自動
インストール時
に選択
不要
13年4月28日日曜日
総評
トータルで個人的なおすすめ度
Macports > Homebrew > Gentoo Prfeix > Fink
まー、どれも一長一短ですね
サービス系は Gentoo Prefix 向いてないですが
他と比較する時間がありませんでした。
13年4月28日日曜日
アジェンダ
パッケージ管理とは
パーケージ管理ツールの紹介
パッケージ管理ツールのインストール
パッケージ管理ツールの基本
13年4月28日日曜日
パッケージ管理ツールのインストール
13年4月28日日曜日
Xcodeのインストールが必須です。
with Command line tools
13年4月28日日曜日
13年4月28日日曜日
13年4月28日日曜日
13年4月28日日曜日
13年4月28日日曜日
Macports
http://www.macports.org/install.php
からダウンロード
pkg をインストール
13年4月28日日曜日
Homebrew
黒い画面で
ruby -e "$(curl -fsSL https://raw.github.com/
mxcl/homebrew/go)"
を実行
13年4月28日日曜日
Fink
http://fink.thetis.ig42.org/download/srcdist.php
に従いインストール
エンターをたくさん押す
13年4月28日日曜日
Gentoo Prefix
http://www.gentoo.org/proj/en/gentoo-alt/prefix/
bootstrap.xml
に従い作業
bootstrap-bash.sh のDL
実行してひたすら待つ
13年4月28日日曜日
アジェンダ
パッケージ管理とは
パーケージ管理ツールの紹介
パッケージ管理ツールのインストール
パッケージ管理ツールの基本
13年4月28日日曜日
基本的な使い方
インストール
アンインストール
パッケージの検索
パッケージの詳細情報
パッケージでインストールされるファイル
パッケージの更新
13年4月28日日曜日
表記について
Macports
Homebrew
Fink
Gentoo Prefix
参考例も用意
13年4月28日日曜日
インストール
sudo port install [package名] +variaonts...
brew install [package名] +options
fink install [package名]
emerge [package名]
13年4月28日日曜日
13年4月28日日曜日
13年4月28日日曜日
13年4月28日日曜日
アンインストール
sudo port uninstall [pakage名]
brew uninstall [package名]
fink purge [package名]
fink remove [package名]
emerge -C [pcakage名]
13年4月28日日曜日
検索
port search [keyword]
brew search [keyword]
apt-cache search [keyword]
fink list ¦ gre [keyword]
eix [keyword] 要 eix
emerge -s [keyword]
13年4月28日日曜日
13年4月28日日曜日
13年4月28日日曜日
パッケージの詳細情報
port info [package名]
brew info [package名]
fink info [package名]
eix [package名] 要 eix
emerge --searchdesc [package名]
13年4月28日日曜日
インストールされるファイル
port contents [package名]
brew list [package名]
dpkg -L [package名]
qlist [package名]
要 portage-utils
13年4月28日日曜日
13年4月28日日曜日
13年4月28日日曜日
パッケージ情報の更新
sudo port selfupdate
brew update
fink update
eix-sync eix を利用しているなら
emerge --sync
13年4月28日日曜日
パッケージのバージョンアップ
sudo port upgrade installed
brew upgrade
fink update-all
emerge -uDN world
13年4月28日日曜日
参考文献とか
Macports
http://www.macports.org/
Homebrew
http://mxcl.github.io/homebrew/
13年4月28日日曜日
参考文献とか
Fink
http://fink.thetis.ig42.org/index.php
Debian
http://www.debian.org/
13年4月28日日曜日
参考文献
Gentoo Prefix
http://www.gentoo.org/proj/en/gentoo-alt/prefix/
Gentoo Linux
http://www.gentoo.org
13年4月28日日曜日

More Related Content

What's hot

分散システム読書会 06章-同期(前編)
分散システム読書会 06章-同期(前編)分散システム読書会 06章-同期(前編)
分散システム読書会 06章-同期(前編)
Ichiro TAKAHASHI
 

What's hot (20)

Requirement Analysis Tree
Requirement Analysis TreeRequirement Analysis Tree
Requirement Analysis Tree
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
 
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組みリーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
 
SpringBootTest入門
SpringBootTest入門SpringBootTest入門
SpringBootTest入門
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
分散システム読書会 06章-同期(前編)
分散システム読書会 06章-同期(前編)分散システム読書会 06章-同期(前編)
分散システム読書会 06章-同期(前編)
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説
 
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
 
Docker Tokyo
Docker TokyoDocker Tokyo
Docker Tokyo
 
TextMeshProを使った絵文字対応について
TextMeshProを使った絵文字対応についてTextMeshProを使った絵文字対応について
TextMeshProを使った絵文字対応について
 
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
 
LINE のUI自動テスト事例
LINE のUI自動テスト事例LINE のUI自動テスト事例
LINE のUI自動テスト事例
 
SFUの話
SFUの話SFUの話
SFUの話
 
Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 

Viewers also liked

なれる! Debian開発者 〜 45分でわかる? メンテナ入門
なれる! Debian開発者 〜 45分でわかる? メンテナ入門なれる! Debian開発者 〜 45分でわかる? メンテナ入門
なれる! Debian開発者 〜 45分でわかる? メンテナ入門
Hideki Yamane
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined Network
Etsuji Nakai
 
CakePHP を使ってよかったこと
CakePHP を使ってよかったことCakePHP を使ってよかったこと
CakePHP を使ってよかったこと
Wataru Terada
 
Your first dive into systemd!
Your first dive into systemd!Your first dive into systemd!
Your first dive into systemd!
Etsuji Nakai
 

Viewers also liked (20)

なれる! Debian開発者 〜 45分でわかる? メンテナ入門
なれる! Debian開発者 〜 45分でわかる? メンテナ入門なれる! Debian開発者 〜 45分でわかる? メンテナ入門
なれる! Debian開発者 〜 45分でわかる? メンテナ入門
 
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
 
Electron を知る
Electron を知るElectron を知る
Electron を知る
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Fluent Feature in F#
Fluent Feature in F#Fluent Feature in F#
Fluent Feature in F#
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined Network
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
 
Hack tutorial
Hack tutorialHack tutorial
Hack tutorial
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
 
Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話
 
CakePHP を使ってよかったこと
CakePHP を使ってよかったことCakePHP を使ってよかったこと
CakePHP を使ってよかったこと
 
Your first dive into systemd!
Your first dive into systemd!Your first dive into systemd!
Your first dive into systemd!
 
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulpphp開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
Syntony
SyntonySyntony
Syntony
 
2da platica del poder del pensamiento
2da platica del poder del pensamiento2da platica del poder del pensamiento
2da platica del poder del pensamiento
 
Umar's Assurance of Aman to the People of Aelia (Islamicjerusalem):A Critical...
Umar's Assurance of Aman to the People of Aelia (Islamicjerusalem):A Critical...Umar's Assurance of Aman to the People of Aelia (Islamicjerusalem):A Critical...
Umar's Assurance of Aman to the People of Aelia (Islamicjerusalem):A Critical...
 
El Ayuntamiento de Málaga favorece la adopción gratuita de perros en su Centr...
El Ayuntamiento de Málaga favorece la adopción gratuita de perros en su Centr...El Ayuntamiento de Málaga favorece la adopción gratuita de perros en su Centr...
El Ayuntamiento de Málaga favorece la adopción gratuita de perros en su Centr...
 

More from Tomohiko Himura

More from Tomohiko Himura (20)

つながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsつながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notifications
 
Hiroshimarbについて
HiroshimarbについてHiroshimarbについて
Hiroshimarbについて
 
コンピュータをもっと使おう
コンピュータをもっと使おうコンピュータをもっと使おう
コンピュータをもっと使おう
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
 
広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決める
 
すごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したすごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試した
 
すごい広島
すごい広島すごい広島
すごい広島
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
すごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうすごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼう
 
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
 
軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ
 
Hakyllで遊んでみた。
Hakyllで遊んでみた。Hakyllで遊んでみた。
Hakyllで遊んでみた。
 
Liquid の紹介
Liquid の紹介Liquid の紹介
Liquid の紹介
 
Git 仕組み 入門
Git 仕組み 入門Git 仕組み 入門
Git 仕組み 入門
 
Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 

Recently uploaded

Recently uploaded (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

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