Homebrew

14
Homebrew Hussein Morsy 24.11.2009 Heinrich-Heine-Universität Düsseldorf Rails User Group Düsseldorf

description

Homebrew ist ein alternativer Paketmanager für Mac OS X. Vortrag wurde am 24.11.2009 an der Heinrich-Heine-Universität Düsseldorf im Rahmen der Rails User Group Düsseldorf von Hussein Morsy gehalten

Transcript of Homebrew

HomebrewHussein Morsy

24.11.2009Heinrich-Heine-Universität Düsseldorf

Rails User Group Düsseldorf

Installation von Unix/Linux Tools

• Manuell (make install)

• mac ports

• ....

mac port

• sehr beliebt

• einfach : port install mysql

• Nachteil:

• eigene Paketbeschreibungen schreiben ist schwierig

• installiert z.B. eigenes Openssl,...

• sudo erforderlich

Homebrew

• Paketbeschreibung in Ruby

• Installation in /usr/local/

• Funktioniert mit manuell installieren Programmen in /usr/local

• Nutzt vorhandene Programme

• Eigene Paketbeschreibung leicht änderbar

• kein sudo

• git

Installation (mit git)# siehe http://github.com/mxcl/homebrew# achtung bei vorhandener Mysql-Installation

sudo mkdir -p /usr/localsudo chown -R `whoami` /usr/local curl -L http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/localbrew install gitcd /usr/localgit initgit remote add origin git://github.com/mxcl/homebrewgit pull origin master

Deinstallation

cd /usr/localrm -rf Cellarbrew prunderm -rf Library .git* bin/brew README.md

Verzeichnisse

• /usr/local/

• Celluar : Installierte Programme

• Library/Formular: Alle Paketbeschreibungen

• Library/Homebrew: Systemdateien

Library/Formular

• abuse.rb

• ...

• mysql.rb

• ...

• git.rb

über 300 Pakete

git.rbrequire 'formula'

class GitManuals <Formula url 'http://kernel.org/pub/software/scm/git/git-manpages-1.6.5.2.tar.bz2' md5 'e4c20bd92b7ec187a421c045ae99978a'end

class Git <Formula url 'http://kernel.org/pub/software/scm/git/git-1.6.5.2.tar.bz2' md5 '99708c449b23433136dbdfa38bd16d80' homepage 'http://git-scm.com'

def install #...

system "./configure --prefix=#{prefix}" system "make install"

# Install the git bash completion file etc.install 'contrib/completion/git-completion.bash' # ... GitManuals.new.brew { man.install Dir['*'] } endend

Paket installieren

• brew install mysql

• /usr/local/Library/Formular/mysql.rb

• Installation in /usr/local/Cellar/mysql

• symbolische Links werden von

/usr/local/Cellar/mysql/bin

gesetzt u.a. nach /usr/local/bin

Paketliste updaten

• cd /usr/local

• git pull

Pakete deinstallieren

• brew uninstall mysql

• oder

rm -rf /usr/local/Cellar/mysql

brew prune

Alle Pakete listen

• brew search oder

• ls /usr/local/Lirbary

Homebrew

http://github.com/mxcl/homebrew