Zfs & MacPorts

Eric Cronin ecronin at macports.org
Mon Sep 29 21:19:40 PDT 2008

On Sep 29, 2008, at 11:55 PM, Charles Darwin wrote:

> On 29-Sep-08, at 1:43 PM, Eric Cronin wrote:
>> On Sep 28, 2008, at 10:25 PM, Charles Darwin wrote:
>>> On 28-Sep-08, at 4:17 PM, Ryan Schmidt wrote:
>>>> On Sep 28, 2008, at 07:33, Rainer Müller wrote:
>>>>> Charles Darwin wrote:
>>>>>> Is it possible to install ports on a zfs formatted volume?
>>>>> Can't think of a reason why it should not be possible.
>>>>>> and if so,
>>>>>> what is the proper way of doing it? Would ´PATH=/bin:/sbin:/usr/
>>>>>> bin:/
>>>>>> usr/sbin ./configure --enable-readline --prefix=path/to/zfs/some/
>>>>>> dir/
>>>>>> opt´ do it?
>>>>> If this is the only install of MacPorts on this Mac this will  
>>>>> work.
>>>>> It
>>>>> will install the MacPorts Tcl package to /Library/Tcl.
>>>>> But you can also specify another location in order to have
>>>>> everything on
>>>>> one filesystem, for example:
>>>>> --with-tclpackage=path/to/zfs/some/dir/opt/Library/Tcl
>>>> Also consider your applications and frameworks. You may want to use
>>>> --with-applications-dir and --with-frameworks-dir also.
>>>> So if you want everything to be on the ZFS drive, then you may  
>>>> want:
>>>> PREFIX=/path/to/zfs/some/dir
>> Also keep in mind that with zfs its possible to just do "zfs set  
>> mountpoint=/opt mypool/macports" and then the default location (/ 
>> opt) is under ZFS.  I don't think this confuses the finder/carbon  
>> apps any more than the /Volumes/mypool/myfilesystem mountpoints do  
>> already.
>> Thanks,
>> Eric
> Would you care to elaborate please? Thanks

Which part?

If you just install the macports .pkg or build from source and run  
make install, the infrastructure all lives under /opt/local.  Because  
"filesystems" in ZFS are very lightweight it's trivial to make pretty  
much any subtree of your filesystem live on ZFS by setting the  
mountpoint attribute:

[baldrick] ecronin% sudo zfs create fw-pool/MacPorts
[baldrick] ecronin% ls /Volumes/fw-pool/MacPorts
[baldrick] ecronin% ls /opt
ls: /opt: No such file or directory
[baldrick] ecronin% sudo zfs set mountpoint=/opt fw-pool/MacPorts
[baldrick] ecronin% ls /Volumes/fw-pool/MacPorts
ls: /Volumes/fw-pool/MacPorts: No such file or directory
[baldrick] ecronin% ls /opt
[baldrick] ecronin% mount  | grep /opt
fw-pool/MacPorts on /opt (zfs, local)
[baldrick] ecronin% df /opt
Filesystem         Size   Used  Avail Capacity  Mounted on
fw-pool/MacPorts  206Gi   19Ki  206Gi     1%    /opt

To unix-heritage programs there's nothing unusual about having a  
filesystem anchored at an arbitrary location in the filesystem.  To  
the Finder and other mac-heritage programs, however, each mount  
corresponds to an entry in /Volumes and a disk at the top of the  
device hierarchy in open/save windows for example.  There's still a  
fair bit of odd behavior with zfs in these situations, but I don't  
think setting mountpoint=somewhere makes things better or worse.


More information about the macports-users mailing list