FreeBSD packages and porting

I am wondering about certain packages in the repository. If it is a stupid question, then so be it but i really do not know the answer. I am new to FreeBSD.

I am used to being able to download software from various sources (sourceforge, github, official websites, etc) and install it on Windows and also on Linux. I know, from Linux, that software often has dependencies. However, Linux usually downloads and installs dependencies for us from the package manager. Yet one can extract a tar file in the Linux home directory and run the software. Windows is superior in this aspect, it just works and doesn't have these problems. I can install Microangelo 5.5 on Windows 10 and never hear the word dependency. So i am not used to this concept.

I know that FreeBSD is somehow able to run Linux software but certain (or most?) software needs ported. Yet i do not know the extent of ported software. For example, is nano ported to FreeBSD or can i download and install it from ftp.gnu.org? where can i find a list of pen source software that runs on FreeBSD without porting?

I want to archive certain software and its dependencies. I've started downloading today. I have grabbed gcc, gnu make, gzip, nano, and pkgconf. Then it dawned on me: can i even install these files on FreeBSD?

using sslsplit as my example: i have downloaded sslsplit-0.5.5.tar from the official site (roe.ch/SSLsplit) and i checked the freshports.org info about sslsplit. I grabbed libevent-2.1.12-stable.tar.gz, pkgconf-2.3.0.tar.xz and make-4.4.1.tar.lz dependencies from the website specified in the WWW category of their respective freshports.org pages. Would this not work? then, where can i get these files specifically for FreeBSD?

I hope that i have explained it well enough to get some replies. I'd like to archive my favorite software and its dependencies.

Thank you,
John
 
man pkg and see the handbook (https://docs.freebsd.org/en/books/handbook/ports/)

While you can download sources and compile them manually it's seldom needed. First use pkg, if that doesn't do everything you need you can compile from the ports tree (see the handbook), if all else fails you can download from the source and go from there.

pkg will cache the binary packages it downloads

If you use ports the ports will stay in user ports unless you do a make clean. The source files will be kept regardless. It will take care of dependencies for you. The only reason to use ports is if the compile options that were used for the packages don't include something you want. Mixing ports and pkgs can be done but you are probably better served using poudriere.

Try to live inside pkg if at all possible - at least in the beginning.

Depending on what you are doing you may not need gcc and gmake etc. They're available but freebsd tends toward llvm.

For example, you can just do something like

Code:
pkg install nano sslsplit gzip

And all the dependencies will be downloaded and installed.
 
Thank you for replying dkh. I typically install from pkg as i have yet to find a need for ports. The ports that i have installed for practice did not offer much in the way of customization. I'm sure that there are ports that exemplify customization for needed components not present in a standard package but i have yet to find a port with which i desire to use over the standard package.

The problem, for me, is that it really sucks to require internet after a new installation just for nano, doas and a few other packages. I would rather install offline. Is there a way to copy packages from the repository for offline installation?

As a matter-of-fact, i remember when i first tried Linux (circa 2003). I actually purchased Linux for $60.00 USD. I believe the name was Mandrake and it came with a manual and 6 discs: installation disc and packages. That was nice! I have been researching operating systems the past few months and i only find that Debian offers repository discs but, then, using some weird file downloading software instead of iso files 0.0 what happened to package isos? I think that i read about FreeBSD users making local copies of the repository, which is quite large. Is it possible to make copies of certain packages and their dependencies? Whenever i install FreeBSD on my laptop, i'd like to install nano, xorg and doas offline.
 
The Handbook is your friend:
-dvd1.iso: This file contains all of the files needed to install FreeBSD, its source, and the Ports Collection. It also contains a set of popular binary packages for installing a window manager and some applications so that a complete system can be installed from media without requiring a connection to the Internet. This file should be burned to optical media.
 
Back
Top