I know that i can use the command Portsnap fetch update in order to update the ports tree.

My issue rises because i have 2 servers, one running php 5.2 (server a) and the other running 5.3 (server b)

I want to update the ports tree in server a to match the ports tree in server b exactly.

If i will run the command above it will update the ports tree to the latest version, causing the php port to update to versikn 5.4.13, which is not what i want.

How can i match the ports trees version?

  • Instead of syncing the ports tree you could build binary packages from ports on server b and install them on server a.
    – Craig
    Jun 5, 2013 at 15:28
  • How do i do that? Right now i run make install clean on server b
    – shaharmor
    Jun 5, 2013 at 21:31
  • 1
    Check the FreeBSD Handbook and ports man page for details. make package will create a package in /usr/ports/packages you can use the pkg_add to install the binary package.
    – Craig
    Jun 6, 2013 at 2:33
  • I'm going to mark this as a duplicate of the question about managing ports in a large environment (since that's really the crux of your problem) -- if that & the pointers about using SVN below don't work for you let me know and I'll reopen this question.
    – voretaq7
    Jun 12, 2013 at 20:21

1 Answer 1


As Craig pointed out the officially-blessed way to deal with this is to use one machine to build "official" packages that you distribute to other hosts in your environment.
This was discussed in another question/answer on Server fault, with a few options on how to go about implementing it in your environment.

If you still NEED to get the ports tree as it was on a specific date you can do so using svn (see The Subversion Method for fetching ports, and read the subversion documentation or this Stack Overflow questionfor more details on how to set your tree to a specific date/revision).

Not the answer you're looking for? Browse other questions tagged or ask your own question.