# A few questions....



## dragos240 (Jul 2, 2010)

Hello!

My name is dragos240 (well, my username at least). I am a current linux user, I've heard about freebsd, and wanted to try it out, it's not too hard so far, it is after all unix-like, as linux is as well. But I have a few questions. Why is it that the default shell is the normal bourne shell and not BASH? BASH has many more features, and is easier to use. Also, how did beastie come about, the beloved mascot of FreeBSD? Also, maybe I'm missing the point, but can I get usermod on freeBSD? Also does add_pkg resolve dependencies?

-Dragos240


----------



## DutchDaemon (Jul 2, 2010)

Bash is GPL. FreeBSD tries to keep GPL out of the base system. Bash is in ports.

http://en.wikipedia.org/wiki/Beastie_(mascot)

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/

FreeBSD? So, what is it?
http://forums.freebsd.org/showthread.php?t=9294


----------



## dragos240 (Jul 2, 2010)

DutchDaemon said:
			
		

> Bash is GPL. *FreeBSD tries to keep GPL out of the base system.* Bash is in ports.
> 
> http://en.wikipedia.org/wiki/Beastie_(mascot)
> 
> ...



Is that because FreeBSD is under the BSD license? But thanks.


----------



## dragos240 (Jul 2, 2010)

Also what about ZSH? That works as well.


----------



## fwaggle (Jul 2, 2010)

I think the default shell for non-root users is csh/tcsh (which are equivalent now on FreeBSD I think?), though I couldn't tell you why that choice of shell, nor why sh is default for root... I'm expecting it may have something to do with it being light-weight on dependencies for when the proverbial hits the fan. Having things go to hell on a Linux box because bash was my root user's shell, and not having the requisite libs to be able to execute bash on a machine some 2,000 miles away... I for one could appreciate such logic.

"usermod" is wrapped up in the "pw" command, I believe almost all the arguments are the same so effectively just prepend pw and a space to your usermod command and you should be golden - RTFM to make sure all the arguments are the same.

pkg_add -r <packagename> will resolve dependencies automatically, I don't think downloading and then pkg_add <packagename> will fetch them automatically, but I believe it'll add them if they exist where it can find them already. I don't really know as I rarely use pkg_add without -r. 

Hope that helps (and I hope there's nothing too inaccurate above).


----------



## itsbrad212 (Jul 2, 2010)

dragos240 said:
			
		

> Also what about ZSH? That works as well.



+1
I have found that ZSH is very powerful yet still has fairly simply configuration. That's why I use it on ALL of my machines


----------



## lme@ (Jul 2, 2010)

fwaggle said:
			
		

> pkg_add -r <packagename> will resolve dependencies automatically, I don't think downloading and then pkg_add <packagename> will fetch them automatically, but I believe it'll add them if they exist where it can find them already. I don't really know as I rarely use pkg_add without -r.


pkg_add cares about dependencies when used without '-r', unlike dpkg which is a great PITA when you want to add some .deb files which fly around on your hard drive... (sorry for ranting and being off-topic).


----------



## dragos240 (Jul 2, 2010)

fwaggle said:
			
		

> <snip>
> pkg_add -r <packagename> will resolve dependencies automatically, I don't think downloading and then pkg_add <packagename> will fetch them automatically, but I believe it'll add them if they exist where it can find them already. I don't really know as I rarely use pkg_add without -r.
> 
> <snip>





			
				lme@ said:
			
		

> pkg_add cares about dependencies when used without '-r', unlike dpkg which is a great PITA when you want to add some .deb files which fly around on your hard drive... (sorry for ranting and being off-topic).



So which is it


----------



## Beastie (Jul 2, 2010)

dragos240 said:
			
		

> So which is it


The *-r* "remote" option is for downloading the packages from a remote location (e.g. FTP server). It has nothing to do per se with resolving dependencies.
pkg_add(1) will _always_ resolve dependencies _when they are found_, whether locally or remotely.
If you have a local package and its dependencies are not already installed and are not available in the same directory, it will refuse to continue unless you force it with the *-f* option. But the application will most probably not run well or at all.


----------



## fwaggle (Jul 2, 2010)

Beastie said:
			
		

> The *-r* "remote" option is for downloading the packages from a remote location (e.g. FTP server). It has nothing to do per se with resolving dependencies.
> pkg_add(1) will _always_ resolve dependencies _when they are found_, whether locally or remotely.
> If you have a local package and its dependencies are not already installed and are not available in the same directory, it will refuse to continue unless you force it with the *-f* option. But the application will most probably not run well or at all.



Yeah, that's what I meant, sorry. pkg_add won't install a package if it can't install all the dependencies, unless (as stated) you use the -f argument. pkg_add -r will grab all dependencies from the remote server while it grabs the package. If you do pkg_add, without -r, pointing it to a local package (say on a CD-ROM) and the dependencies can be found there too, it will install them and then the package. If you try to add a package locally and the dependencies can't be found, it'll fail - it won't fetch them automatically.


----------



## dragos240 (Jul 2, 2010)

Thank you! Now here's a video of a kitten wearing a hat eating an ice cream cone (filled with some sort of fish):
http://www.youtube.com/watch?v=AMnpWYaCKB0


----------

