Installing UNIX software on Mac OS X (10.4): Fink and DarwinPorts: Difference between revisions

From Elvanör's Technical Wiki
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:


== Fink Usage ==
== Fink Usage ==
Note that, if properly setup, it is better to run Fink via an administrator account than via the root account. This is because Fink sets up the PATH environment variable correctly for the administrator but not for root.


Listing installed packages:
Listing installed packages:
Line 17: Line 19:
  # fink list -o
  # fink list -o


Updating Fink to a new version:
Updating Fink to a new version (this also updates the '''packages descriptions''', like emerge --sync on Gentoo):


  # fink selfupdate
  # fink selfupdate

Revision as of 15:01, 1 February 2007

Fink and DarwinPorts are two package managers (similar to Gentoo's Portage or Debian's apt-get), allowing you to install UNIX software on your Mac OS X installation.

Fink

Fink has the largest repository of UNIX packages for Mac OS X. There is a nice graphical installer available. Fink usage, however, is somewhat confusing to me.

Everything installed with Fink (including Fink itself) goes into the /sw directory. With Fink, you can install either from source or from a binary distribution. However, there are lots of packages not available in the binary distribution, so installing from source is recommended. To install binaries, use the apt-get tool.

Fink Usage

Note that, if properly setup, it is better to run Fink via an administrator account than via the root account. This is because Fink sets up the PATH environment variable correctly for the administrator but not for root.

Listing installed packages:

# fink list -i

Listing outdated packages:

# fink list -o

Updating Fink to a new version (this also updates the packages descriptions, like emerge --sync on Gentoo):

# fink selfupdate

Install a package:

# fink install packagename

Updating all outdated packages (similar to emerge world on Gentoo):

# fink update-all

Updating all outdated packages, using the binary distribution if possible:

# fink -b update-all

Listing all files in the system corresponding to a given package:

# dpkg -L packagename

DarwinPorts

I find DarwinPorts easier to use than Fink. DarwinPorts repository contains less packages, but some packages in DarwinPorts are not available in Fink. On the whole, important packages (Apache, PHP, vsftpd) are in DarwinPorts.


DarwinPorts installs all software in /opt/local. Binaries install are not possible, everything is compiled from source. Note that when updating your packages, DarwinPorts does not delete the old package but just tags it as "unactive" and deactivates it.

DarwinPorts Usage

Listing installed packages:

# port installed

Listing outdated packages:

# port outdated

Updating all outdated packages (similar to emerge world on Gentoo):

# port upgrade installed

Updating all outdated packages and deleting old packages (not just deactivating them):

# port -u upgrade installed

Useful Links