New to BSD

Hay folks, how are you all doing?

Just completed my first install of FreeBSD, testing with gnome at moment, but thinking about going to xfce 4.8. All I can say is FreeBSD is solid. I've been playing around with it now for a few hours and not broke it yet.

I like how you can compile everything from the ground up. I was a new guy to linux just a few months back, decided on a change, and I think BSD will be my full time machine.

So folks, what great stuff can be done under the hood of BSD, tweaks and stuff let me know.

To all the Devs out there in BSD land: I congratulate you all on the fine work �e

./rX/.
 
@nakal: bad thing to say man .... really bad considering vermaden's ancientness :)

@rX: put it this way: packages are made for systems with less resources (they do not require compilation and they use less disk space). The downside to this is that you cannot choose which options the package will have when you install it because it will be installed with the options the "creator" designed it to have.
On the other hand, the ports system is designed to give you full liberty over options in each port but you need to compile it (not good for old pc's (ex: one of my FreeBSD box is a P II @ 200MHZ) and it also takes more hdd space while requiring a bit more knowledge about the system and it's design.

In short, this is the difference. Now, it's up to you to make the final decision.
 
rX said:
So folks, what great stuff can be done under the hood of BSD, tweaks and stuff let me know.

- look at jails for system level virtualization and security (also light weight)
- pf is an excellent firewall comes free with nat and traffic shaping. (also security)
- build a custom thin kernel with a simple text editor and make command (security security security)
- enjoy the logical file structured hierarchy ( non base third party software and confs in /usr/local)
- as well as the most complete and comprehensive man pages ever.
- base is mainly bsd based licensed software in contrast to gnu bloatware( i.e. Kernighan's one true awk vs gawk, almquist's
- bourne shell(ash) vs bash, nvi vs vim)

Some programs I enjoy using from the ports are:
- postfix/qmail (alternatives to sendmail (also mailer.conf rocks!)
- mutt (gotta read that mail)
- portupgrade (for port maintenance portmaster is also popular and lighter weight)
- zsh (it's really a great modern shell)
- gnuls (I like the coloring better than bsd ls colors)
- tmux and/or screen( tmux is bsd and screen is gnu... both are great at multiplexing over job control)
- vim (for syntax color:::note Joy's original vi is in the ports if your interested)
- rtorrent (nuff said =))
- mplayer (rtorrent would be worthless without it)
- git (dvcs) for development
- ruby (though pick your language... c,c++,sh,awk are built in. ruby,perl,python,java, and lisp etc. can be installed from ports) cc and CC are correctly wrapped to gcc and g++. man pages are complete with the c programming language.
- dvtm (build your own tiled wm directly inside a terminal =))

If you haven't seen kde4 you should try that as well. There are a multitude of slimmer wm style environments that just beg to be hacked and tweaked from the end user. To name a few is fluxbox/blackbox, enlightenment( e16 and 17), windowmaker, {name your favourite tiling wm here =)

With the desktops, if you want eye candy compiz-fusion is neat. I love accessibility options like autofocus/chasing windows and guified animated magnifier. of course the less relevant cube and wobble windows are cool also.

Lastly set up /etc/make.conf for your compiler settings.

Hope some of this info helps you. good luck!
 
UNIXgod said:
Lastly set up /etc/make.conf for your compiler settings.

Better yet, take the advice of everyone else on these forums: don't.
 
DutchDaemon said:
Better yet, take the advice of everyone else on these forums: don't.

About various /etc/make.conf settings, this one I can recommend for ANY system.

[CMD=""]WRKDIRPREFIX= ${PORTSDIR}/obj[/CMD]

This will change default directory where PORTS are built, instead of mess of /usr/ports/CATEGORY/NAME/work directory all PORTS will be built in the /usr/ports/obj/* directory, if something goes wrong/does not built, just remove that dir and You are 'clean'. A lot faster them searching for work directories with find(1) and ten deleting them.
 
I use
Code:
WRKDIRPREFIX=/tmp
where /tmp is a tmpfs. Flies! And no clutter ;)


But seriously: keep your hands off compiler settings and CFLAGS. It's a pain.
 
Third the WRKDIRPREFIX setting. Mine points to /usr/ports/workdir which is a separate ZFS filesystem. Where it points doesn't really matter, but it makes it so much nicer having it out of the /usr/ports/<category>/<portname> tree.

Plus, separating it allows you to mount /usr/ports read-only from another system.
 
I still diverge from most of those suggestions.
Code:
 cp -iv work/.Plist_Fla[tab] ./Plist_Manually && /bin/rm -rf work/portname-#/
... one can search the Plist_ in the port itself, where did the port put manpages, README's, etc... WRKDIRPREFIX I set to a different gjournal disk, in ports such as firefox that would fill up to 107 percent /usr if it is too full, etc...
 
vermaden said:
LOL, You made my day kid :D

Have you done a survey to confirm that? ;)

I could create one, good idea. I know some people who use FreeBSD and no one really ever recommends to use packages. There are various reasons (differing configuration options, up-to-dateness, reduction of dependency problems, availability, etc).

Do you really want to use applications with English settings (for example OpenOffice)? You don't want to have commercial applications, drivers and other things that are not available as packages? Do you want GTK+ to have CUPS support? Do you want Gnome2 to use PulseAudio, which obviously does not work for many people, including myself? Do you want to have acceleration support with RadeonHD cards?

I cannot work without setting up these things. Most disturbing thing is that everything is tuned to be US-specific and I want a desktop and application settings in German.

Since I don't know how you can be satisfied with packages, you can explain how to get around the problems that I mentioned? Might be, I have overlooked something.


Btw:

My WRKDIRPREFIX is /usr/workdir-ports, because my /usr filesystem is big and /usr/ports is mounted read-only from my server.
 
nakal said:
I could create one, good idea. I know some people who use FreeBSD and no one really ever recommends to use packages. There are various reasons (differing configuration options, up-to-dateness, reduction of dependency problems, availability, etc).

I used *-RELEASE packages for most of the time, now I have switched to *-STABLE and I have up to date packages without needles recompilation.


Do you really want to use applications with English settings (for example OpenOffice)?
Actually I do that, everytime I use computer I use only english settings, menus, localization, man pages, error messages ... it makes A LOT easier to fix anything if You search for sollution in english then in any other local language, its just unpractical. I also use UTF-8 at the same time, so I can type/read any localized charecters.

You don't want to have commercial applications, drivers and other things that are not available as packages?
Commercial applitacations are mostly provided in BINARY form so You can not compile them, You have a source for nVidia binary drivers? Great! Share the source, X.org developers will be very happy ;)

Do you want GTK+ to have CUPS support?
I do not use CUPS ...

Do you want Gnome2 to use PulseAudio
I stay away from this SH!T as far as possible, and I recommned You also, stay away from any SH!T writtne by Lenart Poettring.

Do you want to have acceleration support with RadeonHD cards?
It will require to recompile JUST SEVERAL PORTS instead of building all your ports, rebuilding GNOME from source will not help You getting hardware acceleration with RadeonHD cards You know?

Since I don't know how you can be satisfied with packages, you can explain how to get around the problems that I mentioned? Might be, I have overlooked something.
I use packages for everything as a start, if something is not the way I need, I create a package from PORTS with my needed settings ... and thats it generally, whole idea. I recompile only things that do not fit into my expectations.
 
I never knew that ports vs. packages was such a contentious topic. People really will argue over anything, I guess.

Moving on... I haven't really done a lot of dabbling 'under the hood of FreeBSD' (would that mean, the kernel? :-S ), but if you're new to the world of Unix/BSD you might want to try some or all of the following:


[*] Get elinks and:

[cmd=]$ elinks gopher://gopher.floodgap.com:70/1/[/cmd]


[*] Glob and expand your way to success! ;)


[*] telnet a BBS.


[*] [cmd=]$ apropos [keyword] [/cmd] -- and see what you dig up.


[*] Tweet, surf the web, or chat from the shell.


[*]Try out some different window managers.


[*]Discover the beauty of terminal multiplexing

[*] Browse the web, from within a text editor:

[cmd=]$ cd /usr/ports/www/emacs-3wm && make clean install[/cmd]

[cmd=]$ emacs -f w3m[/cmd]


/END
---------

Oh, and I don't mind if you install any of those applications from ports, or packages :p
 
DutchDaemon said:
Better yet, take the advice of everyone else on these forums: don't.

It's less relevant now than maybe it was a decade ago. I am stuck in some old ways =). I'll avoid suggesting make.conf modification in the future unless it becomes necessary to tell the compiler which cpu your using. llvm/clang maybe?
 
Hi,

I'll put my 2¢ to this topic too.

You've mentioned you're new to FreeBSD; well hardly you can say it's solid by a few tests (not that it's not, just you can't say this after a few hours of using it). But it could be it made a good impression on you :)

DO and DON'Ts are really up to you. Someone likes precompiled packages, someone likes to do it from scratch. That's a beauty of it - you can choose what suits you best. You learn faster when you experiment, but be prepared -- it costs some time.

I personally do a minimal install(+info/man pages) then cvsup and start from scratch. Never had a /bigger/ issue with ports; openoffice is the only package I use from web (that is IMHO overkill to go from scratch ;) )

good luck and enjoy
 
dennylin93 said:
It's possible to change the colours of ls on FreeBSD: ls().

... but there are also usability differences where GNU ls have some more options:
Code:
% [color="#0000ff"]gls -sh[/color]
total 100M
1.0K AFTER
 96M BSDLive.iso
3.0K FreeBSD.SETUP
515K RoFBSD.tar.gz

% [color="Blue"]ls -sh[/color]
     1 AFTER
 97610 BSDLive.iso
     3 FreeBSD.SETUP
   515 RoFBSD.tar.gz

(like human format -h option (K/M/G) for -s option)
 
replacing FreeBSD ports system by pkgsrc

If I were a decision maker in FreeBSD and OpenBSD system I would replace ports system with pkgsrc system .
 
darkshadow said:
If I were a decision maker in FreeBSD and OpenBSD system I would replace ports system with pkgsrc system .

There are benefits to this such as making a package without having to install it. It is quite nice however to have a specific package system for FreeBSD.

As an aside, I just tried to install VLC on RedHat Enterprise 6.... What a bloody mess, I needed to add all these hacky third party repositories and even then it just complained saying that libcv or some crap was required. So whatever FreeBSD does... it is miles simpler than rpm/yum :D

Also.. for the record, I use both ports and packages. Packages for the fat stuff like Xorg, VirtualBox and Openoffice, but then use ports for quick and easy stuff like bash, gmake, sudo, tmux etc...
 
vermaden said:
About various /etc/make.conf settings, this one I can recommend for ANY system.

[CMD=""]WRKDIRPREFIX= ${PORTSDIR}/obj[/CMD]

This will change default directory where PORTS are built, instead of mess of /usr/ports/CATEGORY/NAME/work directory all PORTS will be built in the /usr/ports/obj/* directory, if something goes wrong/does not built, just remove that dir and You are 'clean'. A lot faster them searching for work directories with find(1) and ten deleting them.

I set it to /usr/obj which puts everything into /usr/obj/usr/ports/, along with (but not in the way of) the obj stuff from the base system.
 
pkgsrc

Using only one packing system will push forward a unity between these awesome projects and push forward all porting efforts on BSD os'es.
 
Back
Top