MacUnkie wrote:
I agree , I want to keep it simple so as a gentoo newbie and this being my first install I'm a bit nervous about setting up the make.conf correctly. Not sure I understand the package.use ? Is this a configuration file you modified as well?
USE flags and other settings that you set up in /etc/make.conf are what you can think of as "global" settings. These USE flags will be checked for every package you build.
However there's an extra bit of flexibility. /etc/portage/package.use is where one can set up USE flags on a per-package basis. /etc/portage/package.use can either be a file named 'package.use' located in /etc/portage, or you can make a directory named 'package.use' under /etc/portage, and any files you have inside that directory - regardless of name - will have their contents read by portage for whichever package-specific use flags.
As an example, you will notice in my USE flags above, i have turned off GTK by having '-gtk'. However, I use wicd for managing my wireless connections, and it has a nifty graphical GTK interface that I want to use. So, by adding "net-wireless/wicd gtk" to /etc/portage/package.use, i can tell portage to enable the 'gtk' flag for just that one package.
This is key, because i might not necessarily want *every* package on my system that has an optional GTK component, to include/build/install that GTK component. For example, the package 'mtr', a traceroute tool, I only ever use this from a terminal or through SSH. I do not need its graphical interface. So I do not want the 'gtk' flag enabled for this. Since this is the case, and I have gtk disabled globally by having '-gtk' in make.conf, i do not need to add any special overrides for mtr.
That's basically the difference between setting up a USE flag in make.conf, versus setting it up on a per-package basis in package.use
MacUnkie wrote:
Is this a system way of looking for a specific package when installing. For now I don't know how gentoo works interms of installing applications. Is it a system where I have to do a make and configure from a source file , or does gentoo have an application that enables me to install software via a gui ? I also have found and started to read abit about flux. Is this something I can install and configure later on gentoo after an initial install of gnome ?
Thanks again for all your help !
So to the first question:
-all applications on gentoo are installed using a package manager, called Portage. To tell portage to install a package, you run 'emerge <pkgname>'. Loads of documentation on that
-gentoo is indeed a source based distro. However, you do not have to manually run ./configure && make && make install, as you would if you were manually compiling a package. Portage does all of this for you automagically when you type 'emerge <foo>'. On the backend, it will do a bunch of ./configure and make type stuff, but you do not have to do this manually. Our package manager, portage, will resolve dependencies and install software automatically just like apt-get or yum would do with other distros. However in our case, instead of using precompiled binaries from a .deb or .rpm, and just moving the binaries where they need to go, portage will pull down the source code tarballs, configure, compile, and then if it's successfully compiled the binaries/libraries for the package, it will then install them to your actual system.
To give an example of what USE flags do - not the only thing they do, but an example - many times when you are configuring a package to be compiled from source, the features that are built into the package are determined by passing different parameters to ./configure, such as e.g. './configure --enable-boobs --disable-attitude'. In many cases, USE flags will control which parameters are passed to ./configure. In other cases, if you need your application to support $foo, then having a USE flag set to enable $foo will cause portage to install 'libfoo' as a dependency. The inverse works as well, where the default for a package may be to use libfoo, you may not necessarily need it, so by disabling $foo in make.conf or in package.use, the binaries/libraries will be built a bit leaner, as they do not have to include support for $foo.
This is what gives you such granular control over things in Gentoo, and where you lose out on a lot of bloat.
-lastly, the GUI question. When you finish the Gentoo handbook, you will not have a GUI. You will have a fairly barebones system, with a few basic tools and a package manager, from which you can install a GUI. First, you must install the layer upon which your desktop environment (e.g. KDE, Gnome, Fluxbox) will run, and that's xorg-server. Then you will install your desktop environment, and configure it to your liking. Gentoo is very much a "from scratch" distro, where you make things exactly as you like them from the ground up. You can install as many desktop environments or window managers as you like, experiment with them until you find what works for you.
To install gentoo, there is no graphical installer or wizard or anything of the sort. The Gentoo Handbook provides you with instructions for getting your barebones system up and running, but you, the human, are the installer. You run a bunch of commands from the terminal, and the Handbook is what tells you which commands to run.
After your barebones system is operational, and you add a desktop environment atop Xorg, it will begin to feel similar to other distros. However, there is by default no frontend for Portage, your package manager. The very vast majority of people use portage from the command line - it's just easier, even if it isnt as "pretty". However, there are a few graphical frontends out there for Portage, such as Porthole and Portato. Again, I would advise sticking to the command line - it may sound more difficult, but it truly isn't, and can help you avoid hassles thanks to errors or warnings that you might not otherwise see if you're using a graphical portage frontend.
Beyond that - see the documentation! It's verbose, but user-friendly, and there's tons of it.
Namely:
-the gentoo handbook, for getting your barebones base system going
-the gentoo Xorg guide, for getting X set up
-various guides for the different desktop environments. For example, there is a guide for KDE, a guide for Gnome, a guide for Fluxbox. These documents are separate from the handbook, as they do not apply to everyone, whereas the handbook DOES apply to everyone.
-beyond that, for specific applications, there are many articles in the unofficial wiki (en.gentoo-wiki.com) and the official wiki (wiki.gentoo.org), as well there are numerous applications that are documented within the plain old Gentoo Documentation section of the website.
Hope that helps!