Get FreeBSD ports tree after OS installation

Welcome to Linux Screw! If you're new here, you may want to subscribe our RSS feed.

Many new FreeBSD users face the problem when /usr/ports directory is missing just after OS installation is finished. Here are three ways from FreeBSD Handbook to obtain ports collection.

1. CVSup

Make sure /usr/ports is empty before you run CVSup for the first time! If you already have the Ports Collection present, obtained from another source, CVSup will not prune removed patch files.

  1. Install the net/cvsup-without-gui package:
    # pkg_add -r cvsup-without-gui

    After this package will be downloaded and installed.

  2. Run cvsup:
    # cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

    cvsup is usually located at /usr/local/bin directory. Change cvsup.FreeBSD.org to a CVSup server near you. See CVSup Mirrors for a complete listing of mirror sites.

     

  3. Running the cvsup command later will download and apply all the recent changes to your Ports Collection, except actually rebuilding the ports for your own system.

2. Portsnap

Portsnap is an alternative system for distributing the Ports Collection. It was first included in FreeBSD 6.0. On older systems, you can install it from ports-mgmt/portsnap package:

# pkg_add -r portsnap
  1. Since FreeBSD 6.1-RELEASE and with recent versions of the Portsnap port or package, you can safely skip this step. The /usr/ports will be created automatically at first use of the portsnap command. With previous versions of Portsnap, you will have to create an empty directory /usr/ports if it does not exists:
    # mkdir /usr/ports
  2. Download a compressed snapshot of the Ports Collection into /var/db/portsnap. You can disconnect from the Internet after this step, if you wish.
    # portsnap fetch
  3. If you are running Portsnap for the first time, extract the snapshot into /usr/ports:
    # portsnap extract

    If you already have a populated /usr/ports and you are just updating, run the following command instead:

    # portsnap update

3. Sysinstall

This method involves using sysinstall to install the Ports Collection from the installation media. Note that the old copy of Ports Collection from the date of the release will be installed. If you have Internet access, you should always use one of the methods mentioned above.

  1. As root, run sysinstall (/stand/sysinstall in FreeBSD versions older than 5.2) as shown below:
    # sysinstall
  2. Scroll down and select Configure, press Enter.
  3. Scroll down and select Distributions, press Enter.
  4. Scroll down to ports, press Space.
  5. Scroll up to Exit, press Enter.
  6. Select your desired installation media, such as CDROM, FTP, and so on.
  7. Scroll up to Exit and press Enter.
  8. Press X to exit sysinstall.

 
 
» You might also be interested in the following articles:
Manage FreeBSD kernel modules on the fly
How to restart/stop/start networking in FreeBSD
Asterisk unveils customized Linux distro
Fedora Core remote installation howto
Nagios installation and configuration in SUSE Linux



» Want to stay up to date? Subscribe to our E-MAIL or RSS feed!

2 Responses to “Get FreeBSD ports tree after OS installation”


  1. 1 STEREO

    Nice to get a freeBSD tip from a linux guy.
    I thought of giving up a semi-needed app installation for today after seeing absence of ports tree (wasn’t really motivated to look in the handbook), but here - ‘portsnap fetch’ is about finishing its job while I’m typing this…

  2. 2 artiomix

    It’s very nice to meet here fellow countryman, Sasha :)

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word




Friendly Sites:Who is behind Linux Screw?
Aspiring Sysadmin | GeekyBits³ | Bash Cures Cancer | TOTMS
Linux Operating System | Small Linux Deployments | My SysAd Blog
The Danesh Project | ZEPY | Linux config Wiki | Planet Sysadmin
The Sys Admin | {buhay sysad} | a non-geek's linux notes
Linux HOWTOs, Tutorials & Projects with Adam Palmer | LinuxAlt.Com
My name is Artem Nosulchik (artiomix AT gmail DOT com) and I'm Linux/Unix, Cisco systems engineer. The main idea of Linux Screw is to share relevant knowledge, skills and observations over The Web. Here you can find a lot of information related to different Linux distributions, FreeBSD, IOS as well as a other Open Source around staff. Read more ››