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

21,640 views

Published on

広島Macユーザグループ 2013年4月の勉強会で使用したスライドです。

Mac OS X のパッケージ管理システム Macports, Homebrew, Fink, Gentoo Prefix を紹介しました。

Published in: Technology
1 Comment
26 Likes
Statistics
Notes
  • Fink の評価が低いようなので、Fink のパッケージメンテナの一人として、Finkの特徴を書きます。

    まず、Fink はパッケージ「管理」をします。単なるビルドのツールではありません。ビルドのツールとは、依存している別パッケージをインストールしたうえで、ビルドするという意味です。

    Fink は、これだけではありません。たとえば、libpngは、libpng15に依存してるパッケージ、libpng16に依存しているパッケージが混在しています。この場合、Finkは、
    * linpng15 と ligpng16 のライブラリは同時に存在する
    * 両者のヘッダファイルはインストールせず、どちらかを必要とする場合だけ、一時的にヘッダファイルをインストールする
    * 依存しているライブラリは、バージョンまで管理する。ライブラリのメジャーバージョンが新しくなった場合、Finkでは別パッケージとし、当面は古いライブラリにリンクさせたまま、新しいライブラリでの動作確認をする

    ということをやっています。

    このため、わたしのメンテしている qgis や R は、複数バージョンを同時にインストールが可能になっています。パッケージが、最新のライブラリでは動作しなくても、いきなり使えないということはありません。

    また、これを実現するため、INSTALL、configure、CMakeLists.txtなど、かなり時間かけて読んでから、適切なオプションと考えられる設定をしています。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
21,640
On SlideShare
0
From Embeds
0
Number of Embeds
2,775
Actions
Shares
0
Downloads
36
Comments
1
Likes
26
Embeds 0
No embeds

No notes for slide

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

  1. 1. Mac OS X のパーケージ管理ツール2013-04-28 広島Macユーザグループ13年4月28日日曜日
  2. 2. アジェンダパッケージ管理とはパーケージ管理ツールの紹介パッケージ管理ツールのインストールパッケージ管理ツールの基本13年4月28日日曜日
  3. 3. パッケージ管理とはアプリケーションをインストールするソフトApp Store の 黒い画面 verインストールのための統一的インターフェイス依存関係の自動解決13年4月28日日曜日
  4. 4. パッケージ管理ツールの登場前アプリケーション のソース取得ライブラリA が必要なことがわかるライブラリA のソース取得ライブラリB 必要なことがわかるライブラリB のソース取得ライブラリB の作成ライブラリA の作成アプリケーションの作成13年4月28日日曜日
  5. 5. パッケージ管理ツールの登場後アプリケーションA インストール !13年4月28日日曜日
  6. 6. 注意事項本内容は各ツールを1日程度調べた程度の知識普段は Gentoo Prfeix を使用しています。13年4月28日日曜日
  7. 7. アジェンダパッケージ管理とはパッケージ管理ツールの紹介パッケージ管理ツールのインストールパッケージ管理ツールの基本13年4月28日日曜日
  8. 8. パッケージ管理ツールの紹介MacportsHomebrewFinkGentoo Prefix13年4月28日日曜日
  9. 9. バイナリとビルドパッケージ管理にはバイナリを取得するものソースコードを取得してビルドするものの2パターンあります。13年4月28日日曜日
  10. 10. バイナリバイナリはソースコードをビルドした成果物あらかじめビルドしたものを配布13年4月28日日曜日
  11. 11. バイナリとビルドビルド自分のMacで ビルド すると自分のMacに最適化ができるバイナリビルド済みなのでインストールが早い13年4月28日日曜日
  12. 12. Macports13年4月28日日曜日
  13. 13. Macports多くのパッケージのバイナリが用意されているバイナリがない場合はビルドするハイブリットビルドする際に clang の利用13年4月28日日曜日
  14. 14. Macportsvariants によるカスタマイズ同じパッケージの複数バージョンの保持ActiveFreeBSD の ports をベースApple 公認臭がするADC に Macports に感する記述があるhttps://developer.apple.com/library/mac/13年4月28日日曜日
  15. 15. 13年4月28日日曜日
  16. 16. Homebrew13年4月28日日曜日
  17. 17. Homebrew日本で最も流行してるような空気Githubによるホスティング開発への参加しやすさパッケージ化が早そうoption によるカスタマイズ13年4月28日日曜日
  18. 18. Homebrewビルドシステムとの疎結合自分でビルドしたパッケージも扱えるRuby による実装パッケージの数がまだ少ないsudo が不要13年4月28日日曜日
  19. 19. Fink13年4月28日日曜日
  20. 20. Fink日本では流行っていないけど海外ではかなり使われている模様Debian の apt ベース圧倒的なパッケージ数インストールが他に比べると難しい13年4月28日日曜日
  21. 21. Gentoo Prefix13年4月28日日曜日
  22. 22. Gentoo PrefixGentoo の portage ベース最強のビルドシステムMac OS のためだけのものでないため少し使いにくいUSEフラグによる柔軟性13年4月28日日曜日
  23. 23. Gentoo Prefix圧倒的なカラフルさclang を使わない13年4月28日日曜日
  24. 24. 比較Macports Homebrew FinkGentooPrefixバイナリ/ビルド結構バイナリ 基本ビルドそれなりにバイナリ基本ビルドパッケージ数 16,971 2,298 72,156 17,758コンパイラ clang clang clang gcc13年4月28日日曜日
  25. 25. 比較Macports Homebrew FinkGentooPrefix検索結果 902,000 12,900,000 19.500,000 534,000カスタマイズ variants options パッケージの数 USEフラグベースシステムportsFreeBSDformulaaptDebianportageGentoo13年4月28日日曜日
  26. 26. 比較Macports Homebrew FinkGentooPrefixインストール 簡単 簡単比較的難しい長いインストール先 /opt/local /usr/local /sw ~/Gentooツリーの同期rsyncだと思うgit aptrsyncgitにもできる13年4月28日日曜日
  27. 27. 比較Macports Homebrew FinkGentooPrefix複数バージョン active unlinkすればメジャーバージョンならslot管理者権限 sudo 自動インストール時に選択不要13年4月28日日曜日
  28. 28. 総評トータルで個人的なおすすめ度Macports > Homebrew > Gentoo Prfeix > Finkまー、どれも一長一短ですねサービス系は Gentoo Prefix 向いてないですが他と比較する時間がありませんでした。13年4月28日日曜日
  29. 29. アジェンダパッケージ管理とはパーケージ管理ツールの紹介パッケージ管理ツールのインストールパッケージ管理ツールの基本13年4月28日日曜日
  30. 30. パッケージ管理ツールのインストール13年4月28日日曜日
  31. 31. Xcodeのインストールが必須です。with Command line tools13年4月28日日曜日
  32. 32. 13年4月28日日曜日
  33. 33. 13年4月28日日曜日
  34. 34. 13年4月28日日曜日
  35. 35. 13年4月28日日曜日
  36. 36. Macportshttp://www.macports.org/install.phpからダウンロードpkg をインストール13年4月28日日曜日
  37. 37. Homebrew黒い画面でruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"を実行13年4月28日日曜日
  38. 38. Finkhttp://fink.thetis.ig42.org/download/srcdist.phpに従いインストールエンターをたくさん押す13年4月28日日曜日
  39. 39. Gentoo Prefixhttp://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap.xmlに従い作業bootstrap-bash.sh のDL実行してひたすら待つ13年4月28日日曜日
  40. 40. アジェンダパッケージ管理とはパーケージ管理ツールの紹介パッケージ管理ツールのインストールパッケージ管理ツールの基本13年4月28日日曜日
  41. 41. 基本的な使い方インストールアンインストールパッケージの検索パッケージの詳細情報パッケージでインストールされるファイルパッケージの更新13年4月28日日曜日
  42. 42. 表記についてMacportsHomebrewFinkGentoo Prefix参考例も用意13年4月28日日曜日
  43. 43. インストールsudo port install [package名] +variaonts...brew install [package名] +optionsfink install [package名]emerge [package名]13年4月28日日曜日
  44. 44. 13年4月28日日曜日
  45. 45. 13年4月28日日曜日
  46. 46. 13年4月28日日曜日
  47. 47. アンインストールsudo port uninstall [pakage名]brew uninstall [package名]fink purge [package名]fink remove [package名]emerge -C [pcakage名]13年4月28日日曜日
  48. 48. 検索port search [keyword]brew search [keyword]apt-cache search [keyword]fink list ¦ gre [keyword]eix [keyword] 要 eixemerge -s [keyword]13年4月28日日曜日
  49. 49. 13年4月28日日曜日
  50. 50. 13年4月28日日曜日
  51. 51. パッケージの詳細情報port info [package名]brew info [package名]fink info [package名]eix [package名] 要 eixemerge --searchdesc [package名]13年4月28日日曜日
  52. 52. インストールされるファイルport contents [package名]brew list [package名]dpkg -L [package名]qlist [package名]要 portage-utils13年4月28日日曜日
  53. 53. 13年4月28日日曜日
  54. 54. 13年4月28日日曜日
  55. 55. パッケージ情報の更新sudo port selfupdatebrew updatefink updateeix-sync eix を利用しているならemerge --sync13年4月28日日曜日
  56. 56. パッケージのバージョンアップsudo port upgrade installedbrew upgradefink update-allemerge -uDN world13年4月28日日曜日
  57. 57. 参考文献とかMacportshttp://www.macports.org/Homebrewhttp://mxcl.github.io/homebrew/13年4月28日日曜日
  58. 58. 参考文献とかFinkhttp://fink.thetis.ig42.org/index.phpDebianhttp://www.debian.org/13年4月28日日曜日
  59. 59. 参考文献Gentoo Prefixhttp://www.gentoo.org/proj/en/gentoo-alt/prefix/Gentoo Linuxhttp://www.gentoo.org13年4月28日日曜日

×