FreeBSD distribution setups

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
ManOfSteel

FreeBSD distribution setups

Post by ManOfSteel »

Hello,
I have a FreeBSD distribution setup on a CD. I remember when I was browsing some sites about UNIX and Linux distributions, there were three kinds of downloads: boot only, minimal setup, and full setup (several CD images). What I have on this CD is a ~270MB ISO image so it is probably a minimal setup, right? I would like to know why is there such a big size difference between the minimal setup and the full setup. What are the programs that I can find on one and not on the other? Will the minimal setup lack some important drivers or programs (graphical interface, programming utilities, networking utilities, text editors, etc)?
Thank you in advance.
erikgreenwald

Re:FreeBSD distribution setups

Post by erikgreenwald »

This stuff is discussed on the freebsd webpage at http://www.freebsd.org ... but I'll try to give a quick summary

FreeBSD has a 'ports' collection with lots of third party programs that can easily be compiled and installed, and the build of a specific port is called a 'package' (pkg). The full CD has a large selection of archived packages (.tbz or .tgz), probably for 99% of those ports. The minimal CD has the ports skeleton tree, but it only has a small selection of the more common and useful pkg's. The pkg's are not installed by default, and the ports tree understands how to download the source for the program you want to install...

In practical use, the full cd set is only really useful if you have a non-existant or slow connection to the internet. The first step I do on a fresh fbsd install is get cvsup on the machine and update the source and ports tree, then go about installing the ports. That way I don't spent a lot of time installing outdated software that will just be reinstalled to update the system (using, say, portupgrade -Raus).

Hope this helps a bit :)

-Erik
ManOfSteel

Re:FreeBSD distribution setups

Post by ManOfSteel »

Hello,

Okay, I understand, thank you. But I do not know where to find more about it on http://www.freebsd.org/ and I have a slow connection. Could you please point me to the right page?
The pkg's are not installed by default, and the ports tree understands how to download the source for the program you want to install...
If I have this minimal setup and install it, do I necessarily have to download the packages with my computer where I installed FreeBSD or can I connect with another computer to some software download sites, download the programs I want, then copy them and install them later on my computer? Would there be problems, for example the "ports tree" not knowing what to do with the new packages?

Also, is the graphical interface included in the minimal setup or will I have to download some packages like X-Windows?
And by the way, when you talked about "ports", do you mean they are existing software for other operating systems (like Windows, Linux, MacOS or MS-DOS) that were re-programmed and adapted to FreeBSD?

Excuse me if I am asking ridiculous questions, but I am less then a newbie in the UNIX field. ;)

Thank you again.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:FreeBSD distribution setups

Post by Solar »

BSD "ports" are basically the same as Gentoo Linux "ebuilds" (which were actually inspired by BSD). No, that doesn't mean that all the stuff are ports from other OS', although a good many probably are.

I don't know BSD, but in Gentoo Linux the system doesn't care who downloaded the files as long as they are in /usr/portage/distfiles when the system looks for them. I assume BSD is similar, but I don't know what the directory of choice is named like on it.
Every good solution is obvious once you've found it.
erikgreenwald

Re:FreeBSD distribution setups

Post by erikgreenwald »

The port source files are put in /usr/ports/distfiles (sometimes with subdirectories for complex ports or port families, such as X). If you use portupgrade or "pkg_add -r", prebuild pkg files end up in /usr/ports/packages/All (and various other dir's in the /usr/ports/package dir). The problem with downloading files or copying them over yourself is that you must make sure the version of the tarball is the same as the version the port will look for (and must be the same binary, fbsd checks file size and md5sum to verify a damaged or 'hacked' package didn't get in the mix).

As far as GUI's, you do need X or something equivelant. IIRC, there is enough on the minimal disk to get X up. (270mb sounds a bit small, I'm imagining it's a fairly old fbsd iso?)
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:FreeBSD distribution setups

Post by Solar »

erikgreenwald wrote: The problem with downloading files or copying them over yourself is that you must make sure the version of the tarball is the same as the version the port will look for (and must be the same binary, fbsd checks file size and md5sum to verify a damaged or 'hacked' package didn't get in the mix).
In Gentoo, you can issue an "emerge --pretend --fetchonly <package>" (-pf for shorts) to see which files it would download (and from where) if you'd do it for real. I'm pretty certain BSD offers something similar.
Every good solution is obvious once you've found it.
ManOfSteel

Re:FreeBSD distribution setups

Post by ManOfSteel »

Hello,
The problem with downloading files or copying them over yourself is that you must make sure the version of the tarball is the same as the version the port will look for
What is "tarball"?
As far as GUI's, you do need X or something equivelant. IIRC, there is enough on the minimal disk to get X up. (270mb sounds a bit small, I'm imagining it's a fairly old fbsd iso?)
It is a very new one: "FreeBSD 5.3". And when you say "there is enough on the minimal disk to get X up", do you mean I may still need to install important things to it later (other than bug or security patches of course)?
Also, it seems there is more than one type of GUIs. Can you please tell me in brief what are they (their names) and what is the main differences between them or post a link or something on that?
AR

Re:FreeBSD distribution setups

Post by AR »

X is the UNIX windowing server, without it all UNIXs are purely command prompt OSes like DOS (except much more powerful, secure and useful).

The GUI manager on top of X has been discussed before: http://www.mega-tokyo.com/forum/index.p ... eadid=7929

A tarball is like a zip but with "*.tar" and a different compression algorithm.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:FreeBSD distribution setups

Post by Solar »

ManOfSteel wrote: What is "tarball"?
On Windows, you commonly use a ZIP tool to collect several files together and compress them to "*.zip".

On Unixish systems, the combining and compression are two seperate actions. Combining is traditionally done by "tar" ("tape archive"), resulting in a *.tar file. This is then compressed, usually by either gzip (*.tar.gz or *.tgz) or by bzip2 (*.tar.bz2 or *.tbz2).

Modern versions of "tar" can actually do combining and compressing in one go, using the -z / -j option - and adding to the confusion.

Anything that has been combined into a single file using "tar" is colloquially called a "tarball".
Every good solution is obvious once you've found it.
AGI1122

Re:FreeBSD distribution setups

Post by AGI1122 »

Solar wrote:
ManOfSteel wrote: What is "tarball"?
On Windows, you commonly use a ZIP tool to collect several files together and compress them to "*.zip".

On Unixish systems, the combining and compression are two seperate actions. Combining is traditionally done by "tar" ("tape archive"), resulting in a *.tar file. This is then compressed, usually by either gzip (*.tar.gz or *.tgz) or by bzip2 (*.tar.bz2 or *.tbz2).

Modern versions of "tar" can actually do combining and compressing in one go, using the -z / -j option - and adding to the confusion.

Anything that has been combined into a single file using "tar" is colloquially called a "tarball".
I create tarballs in windows with these: http://unxutils.sourceforge.net

It's a bunch of unix tools, but they all work in windows. Still waiting on my distro so I can install it... but at least I know some stuff about it before it gets here with these tools and some docs. ;)
ManOfSteel

Re:FreeBSD distribution setups

Post by ManOfSteel »

So something like FreeBSD is just like DOS (at least, sort of). X-Windows is a GUI skeletton. And we can add to all this any GUI we want like KDE, GNOME or whatever, right?

Also, what erikgreenwald said
The problem with downloading files or copying them over yourself is that you must make sure the version of the tarball is the same as the version the port will look for (and must be the same binary, fbsd checks file size and md5sum to verify a damaged or 'hacked' package didn't get in the mix).
means that the version of any program should be the same as the version in the ports tree, so if I have an old ports tree I will have to use old programs or I will have to update the ports tree to use the new programs, right? Can't I ask FreeBSD to accept any file without applying the checksum? And anyway, what is the size of this ports tree? How much time does it take to be updated?

Thank you for everything.
erikgreenwald

Re:FreeBSD distribution setups

Post by erikgreenwald »

most UNIX operating systems, FreeBSD included, default to an interactive CLI environment (which on x86, means a black screen with grey text and no graphics...). That's about all that dos and *nix have in common, given the domain :) X is how gui's happen, yes, and I suppose you could call it a 'skeleton', although technically it is a network protocol (but not important, X is what KDE, GNOME, wmaker, etc use.)
means that the version of any program should be the same as the version in the ports tree, so if I have an old ports tree I will have to use old programs or I will have to update the ports tree to use the new programs, right?
Yes.
Can't I ask FreeBSD to accept any file without applying the checksum? And anyway, what is the size of this ports tree? How much time does it take to be updated?
No, different versions of software sometimes install different filenames (which are tracked) and require different patches to be applied or modifications to the configure or build lines. my ports tree is 421 megs, but only takes a minute or two to update because cvsup works with deltas instead of sending all the data...
ManOfSteel

Re:FreeBSD distribution setups

Post by ManOfSteel »

Hello,
What are thoses "configure or build lines"? How can they be modified? Also, (just out of curiosity) what are those deltas "cvsup" works with?
erikgreenwald

Re:FreeBSD distribution setups

Post by erikgreenwald »

What are thoses "configure or build lines"?
the way configure scripts and 'make' calls are executed? those vary from port to port, and you typically don't need to worry about them...
Also, (just out of curiosity) what are those deltas "cvsup" works with?
output from the UNIX "diff" program against the ports skeleton...
Post Reply