Difference between pages "Funtoo Linux First Steps" and "Welcome"

From Funtoo
(Difference between pages)
Jump to: navigation, search
 
 
Line 1: Line 1:
If you are brand new to Gentoo Linux or Funtoo Linux, this page will help you to get familiar with your new system, and how it works.
+
<div style="float:right; width: 35%">
 +
{{#Widget:MonthlyDonate}}
 +
moof
 +
<div class="boxy">
 +
== Get on the UserMap! ==
 +
{{#compound_query:[[Category:People]] [[Role type::Staff]];?Geoloc;icon=Purplemarker.png;limit=9999
 +
    |[[Category:People]][[Role type::Contributor]];?Geoloc;icon=Orangemarker.png;limit=9999
 +
    |[[Category:People]][[Role type::User]];?Geoloc;icon=Greenmarker.png;limit=9999
 +
    |format=googlemaps3|height=275|zoom=1|type=hybrid|markercluster=yes}}
 +
See our full-size [[Usermap]] and find out how to become part of the Funtoo Universe!
 +
</div>
 +
<div class="boxy">
 +
== Join the User Community ==
  
== Installing an Editor ==
+
Funtoo Linux is focused on the needs of our users. Here's how to get involved:
 +
;wiki: Help us maintain content on this wiki. Add yourself to the Funtoo [[Usermap]].
 +
;bugs: Our [http://bugs.funtoo.org bug tracker] is used to track all ongoing development work in Funtoo Linux. If you find a bug in Funtoo Linux, report it here. Also used for enhancement requests.
 +
;IRC: Join us in the <tt>#funtoo</tt> IRC channel on <tt>irc.freenode.net</tt>.
 +
;mailing list: The [https://groups.google.com/forum/#!forum/funtoo-dev funtoo-dev mailing list] is used for development discussion.
 +
;forums: [http://forums.funtoo.org Funtoo Forums] are available for forum-style Funtoo discussion.
 +
;blogs: [http://larrythecow.org LarryTheCow.org] is a blog aggregation service for Gentoo ecosystem developers and users.
 +
;rss/atom: [[Funtoo RSS and Atom Feeds]] displays the latest posts on the Forums and Planet Larry.
 +
</div>
 +
</div>
  
By default, Funtoo Linux has the <tt>nano</tt> and <tt>vi</tt> editors installed. <tt>nano</tt> is the default editor.
+
= Welcome to the Funtoo Wiki! =
  
If you are new to Funtoo Linux, you have probably heard about <tt>emerge</tt>, the Funtoo and Gentoo Linux command for installing packages from the Portage tree. Funtoo Linux has a git-based Portage tree, which is located at <tt>/usr/portage</tt> by default. It contains scripts called ''ebuilds'' that describe how to build and install packages from source. <tt>emerge</tt> is used to run these scripts and install packages, as follows:
+
[[Funtoo Linux]] is a Linux-based operating system created by [[user:Drobbins|Daniel Robbins]], the creator and former Chief Architect of Gentoo Linux. Funtoo Linux is a Free software, or "Open Source" operating system. All distribution source code is freely available, and it can be used and distributed free of charge.
  
<console>
+
Who develops and improves Funtoo Linux? '''You do.''' We are a completely open meta-distribution that is run by our users and a small group of support staff. Our development centers around the needs of our users. Any user can contribute code and help improve Funtoo Linux functionality on our [http://bugs.funtoo.org bug tracker].
# ##i##emerge vim
+
</console>
+
  
You can also see what packages ''would'' be installed, but not actually install them, by using the <tt>-p</tt>, or <tt>--pretend</tt> option:
+
== Featured Video ==
  
<console>
+
In this video, Jonathan Vasquez ([[User:Fearedbliss|fearedbliss]]) walks you through the process of installing Funtoo Linux with ZFS. See the [[ZFS Install Guide]] for detailed instructions.
# ##i##emerge -p vim
+
</console>
+
  
Another equally handy option is the <tt>-a</tt>, or <tt>--ask</tt> option, which will display the packages to be merged, and then ask for confirmation from you before continuing:
+
{{#widget:YouTube|id=kxEdSXwU0ZI|width=640|height=360}}
  
<console>
+
== Meta-Distribution, Optimized ==
# ##i##emerge -a emacs
+
  
These are the packages that would be merged, in order:
+
Funtoo Linux is also a ''meta''-distribution, which means that it is built automatically from source code and is customized with the functionality that ''you'' want it to have, and ''without'' the unnecessary features and "bloat" that you want to avoid.
  
Calculating dependencies... done!
+
In addition, a Funtoo Linux system is [[Download|optimized for your CPU]], and we offer optimized versions for ''Intel Core i7'', ''Intel Atom'', ''AMD Opteron'', and other processors and architectures.  
[ebuild  N    ] app-admin/eselect-emacs-1.13
+
[ebuild  N    ] net-libs/liblockfile-1.09
+
[ebuild  N    ] app-emacs/emacs-common-gentoo-1.3-r1  USE="-X -emacs22icons"
+
[ebuild  N    ] app-editors/emacs-23.4-r1  USE="alsa gif gpm jpeg png tiff xpm -X -Xaw3d (-aqua) -athena -dbus -gconf -gtk -gzip-el -hesiod -kerberos -livecd -m17n-lib -motif -sound -source -svg -toolkit-scroll-bars -xft"
+
[ebuild  N    ] virtual/emacs-23
+
  
Would you like to merge these packages? [Yes/No]  ##i##y
+
These combination of factors work together to create an extremely high-performance and flexible computing platform -- a platform where ''you'' are in control, and your system performs optimally. We believe that Funtoo Linux is the most ideal expression of how operating system technology "should" work, and we continually strive to make it better.
</console>
+
  
In the above <tt>emerge</tt> output, you can see some text beginning with <tt>USE=</tt> on the <tt>app-editors/emacs</tt> line. This means that this package has a number of optional build-time features which can be controlled using Portage USE variables. These USE variables can be set globally by adding a line such as this to <tt>/etc/make.conf</tt>:
+
== The Gentoo Ecosystem ==
  
<pre>
+
We are committed to maintaining high-levels of compatibility and collaboration with the Gentoo Linux project, and challenge ourselves to innovate while providing new approaches that can be easily leveraged by the Gentoo Community. We appreciate the support we receive from members of the Gentoo Community and strive to contribute back to the larger [[Gentoo Ecosystem]].
USE="gif jpeg png tiff xpm"
+
</pre>
+
  
If you go ahead and make these changes, and then run <tt>emerge -a emacs</tt> again, you will notice that several more dependencies will be pulled into the list of packages to be merged. You can control the footprint of your Funtoo Linux system (and avoid bloat) by enabling only the USE variables you need.
+
== Ultimate Flexibility for Developers ==
  
Above, we enabled several USE variables globally in <tt>/etc/make.conf</tt>. It is also possible to enable USE variables on a per-package basis, and often times this is the best approach. If you wanted to enable <tt>gtk</tt> for emacs only, you would create the <tt>/etc/portage/package.use</tt> directory, and create an <tt>emacs</tt> file in it that contained the following:
+
Does your Linux distribution allow multiple versions of <tt>php</tt>, <tt>[[python]]</tt> or <tt>ruby</tt> installed happily alongside each other? Funtoo Linux does. Are you tired of hand-building key packages from source to configure them exactly the way you want? Funtoo Linux allows you to tweak the build-time features of packages using handy things called USE variables. Other distributions are forced to either leave stuff out that you want, or include stuff you don't want.
  
<pre>
+
== Virtualization ==
app-editors/emacs gtk
+
</pre>
+
  
Note that <tt>package.use</tt> can also be a file if you prefer. However, using an <tt>/etc/portage/package.use</tt> directory is recommended as it keeps things better organized. The filenames you use inside the <tt>package.use</tt> directory do not impact Portage behavior and can be named whatever is convenient for you. You might want to put the settings above in a file called <tt>/etc/portage/package.use/editors</tt> if you have several USE settings that you use for editors.
+
We support the [[OpenVZ]] project and build up-to-date Funtoo Linux OpenVZ containers that you can [[Download|download]]. Also see [[VagrantUp]] for a nice way to deploy VirtualBox-based Funtoo Linux systems. [[Metro]], our automated distro build tool, is capable of building OpenVZ, Linux VServer and [[Linux Containers]] (LXC) images. Funtoo Linux also makes an excellent virtualization host system for [[Xen]].
  
==== Default editor ====
+
== Features ==
  
Funtoo Linux also has a special meta-command called <tt>eselect</tt>, which can be used to set many default system settings. One of the things it is used for is to set the default editor used by things like <tt>crontab -e</tt>, etc that will automatically start an editor when run. Here is how to use <tt>eselect</tt> to change the default system editor:
+
[[Funtoo Linux]] features native [[wikipedia:UTF-8|UTF-8]] support enabled by default, a [[wikipedia:Git (software)|git]]-based, [[Portage Tree|distributed Portage Tree]] and funtoo overlay, an enhanced [[Portage]] with more compact mini-manifest tree, automated imports of new [http://www.gentoo.org Gentoo] changes every 12 hours, [[GUID Booting Guide|GPT/GUID boot support]] and [[Boot-Update|streamlined boot configuration]], [[Funtoo Linux Networking|enhanced network configuration]], up-to-date [http://ftp.osuosl.org/pub/funtoo/funtoo-stable/ stable] and [http://ftp.osuosl.org/pub/funtoo/funtoo-current/ current] Funtoo [[Stage Tarball|stages]], all built using Funtoo's [[Metro]] build tool. We also offer Ubuntu Server, Debian, RHEL and Fedora-based [[Funtoo Linux Kernels|kernels]].
  
<console>
+
Funtoo is currently supported on the following processor families :
# ##i##eselect editor list
+
* PC-compatible, both 32 and 64-bit (''x86-32bit'', ''x86-64bit'')
Available targets for the EDITOR variable:
+
  [1]  /bin/nano
+
  [2]  /bin/ed
+
  [3]  /usr/bin/ex
+
  [4]  /usr/bin/vi
+
  [ ]  (free form)
+
# ##i##eselect editor set 4
+
Setting EDITOR to /usr/bin/vi ...
+
Run ". /etc/profile" to update the variable in your shell.
+
</console>
+
  
After logging in again, or typing <tt>source /etc/profile</tt> in the current shell, the new system editor will be active.
+
== Resources ==
  
Note that if you want to use vim instead of a vi through busybox you also need to run:
+
* Learn more about [[Funtoo Linux]].
 +
* Why you should [[Choose Funtoo]]: ...and how it is different from other distros.
 +
* Visit [[:Category:Projects|Funtoo Linux Projects]] and also look at the stuff online for [[Metro]].
 +
* Learn [[:Category:Linux Core Concepts| Core Linux concepts]] from articles originally written by Daniel Robbins.
 +
* [[Funtoo Linux Installation|Install Funtoo Linux]]
  
<console>
 
# ##i##eselect vi set vim
 
</console>
 
  
=== Changing profile ===
+
__NOTOC__
 +
__NOTITLE__
 +
__NOEDITSECTION__
  
The [[Funtoo_1.0_Profile]] uses a new multi profile approach which allows way more flexibility and customization. Instead of having to remove what you don't want, now you'll be able to add in just the parts that you do want and leave out the rest.
+
[[Category:Funtoo|*]]
 
+
=== Updating your system ===
+
 
+
Sometimes, you may want to update the packages on your system. Often, this is done after you run <tt>emerge --sync</tt>, which will grab Portage tree updates from the main Funtoo Linux Portage tree:
+
 
+
<console>
+
# ##i##emerge --sync
+
 
+
>>> Starting git pull...
+
remote: Counting objects: 1791, done.       
+
remote: Compressing objects: 100% (206/206), done.       
+
remote: Total 980 (delta 811), reused 931 (delta 764)       
+
Receiving objects: 100% (980/980), 185.04 KiB, done.
+
Resolving deltas: 100% (811/811), completed with 754 local objects.
+
From git://github.com/funtoo/experimental-mini-2011
+
  7a17140..b836bc8  funtoo.org -> origin/funtoo.org
+
Updating 7a17140..b836bc8
+
Fast-forward
+
>>> Git pull in /usr/portage successful
+
 
+
* IMPORTANT: 1 news items need reading for repository 'gentoo'.
+
* Use eselect news to read news items.
+
 
+
#
+
</console>
+
 
+
You may also want to update your system after you have changed USE flag settings. To take advantage of the USE flags you have just enabled, it's necessary to recompile everything that includes them.
+
 
+
Below, you'll find a recommended <tt>emerge</tt> command for updating your entire system. The <tt>-a</tt> option will cause <tt>emerge</tt> to prompt you for confirmation before starting the merge:
+
 
+
<console>
+
# ##i##emerge -auDN world
+
</console>
+
 
+
<tt>-u</tt> tells <tt>emerge</tt> to update any already-installed but out-of-date packages that we specify on the command-line. The <tt>-D</tt> option tells <tt>emerge</tt> to perform a ''deep'' dependency tree graph, so it will include sub-dependencies of packages that we have specified on the command line as well. This allows <tt>emerge</tt> to perform as thorough an update of your system as possible.
+
 
+
The <tt>-N</tt> (<tt>--newuse</tt>) option tells Portage to check for any new USE flags that have been enabled or disabled, and rebuild packages so that all USE flags are set as currently defined in <tt>/etc/make.conf</tt> and <tt>/etc/portage/package.use</tt>.
+
 
+
<tt>world</tt> is a "meta-package" or "package set" which includes every package that you have manually installed plus all packages in the system set. It's important to note that whenever you ask <tt>emerge</tt> to install anything, such as <tt>metalog</tt> or <tt>vim</tt>, those packages will be automatically added to the world package set. In this way, <tt>emerge</tt> learns what packages you care about and want to keep updated. If you want to see what's in your world package set, take a look at <tt>/var/lib/portage/world</tt>:
+
 
+
<console>
+
# ##i##cat /var/lib/portage/world
+
app-editors/vim
+
app-portage/eix
+
app-portage/gentoolkit
+
dev-vcs/git
+
net-misc/bridge-utils
+
net-misc/dhcpcd
+
net-misc/keychain
+
sys-apps/gptfdisk
+
sys-apps/pciutils
+
sys-devel/bc
+
sys-fs/reiserfsprogs
+
sys-kernel/vanilla-sources
+
</console>
+
 
+
Also note that some packages may have been added to the world set by Metro when your stage3 tarball was built.
+
 
+
==== Updating a few packages ====
+
 
+
If we simply wanted to rebuild a few packages to reflect updated USE flag settings, we could specify it instead of <tt>world</tt>. Be sure to include the <tt>-N</tt> option:
+
 
+
<console>
+
# ##i##emerge -auDN vim emacs
+
</console>
+
 
+
== Useful applications for daily usage ==
+
 
+
Here are some other packages you may want to consider installing via <tt>emerge</tt>:
+
 
+
;<tt>app-misc/screen</tt>: Allows you to have persistent login sessions.
+
;<tt>app-misc/tmux</tt>: Similar to <tt>screen</tt> -- some people prefer it.
+
;<tt>app-admin/sudo</tt>: Grant root privileges to selected users and command combinations.
+
;<tt>sys-process/htop</tt>: Colorful and informative text-based process list.
+
;<tt>sys-process/glances</tt>: Similar to htop, includes disc I/O and network I/O in display.
+
;<tt>app-portage/eix</tt>: Quick portage package search
+
;<tt>app-portage/gentoolkit</tt>: Portage utils
+
;<tt>app-misc/mc</tt>: GNU Midnight Commander is a text based file manager --- some will recall <tt>MS-DOS XtreeGold</tt>
+
;<tt>app-text/wgetpaste</tt>: Command-line interface to various pastebins; very useful in providing info along with bugs reports
+
;<tt>net-irc/irssi</tt>: A modular textUI IRC client with IPv6 support; a powerful tool to get help from Funtoo Community on IRC channel. Nice companion to <tt>app-text/wgetpaste</tt>
+
 
+
<console>
+
# ##i##emerge --jobs app-misc/screen sudo htop eix gentoolkit app-misc/mc wgetpaste net-irc/irssi
+
</console>
+
 
+
=== Creating a user account ===
+
 
+
It's a good idea to create a normal user account that you can use for general Linux tasks. Before rebooting, create a user account for everyday use. Adjust the groups in the example below to match your needs. Some of them may not exist yet on your system. Replace "<tt><user_name></tt>" with the name you're going to use for your everyday user. The "<tt>-m</tt>" option instructs <tt>useradd</tt> to create a home directory for your user. See <tt>man useradd</tt> for more info.
+
 
+
<console>
+
# ##i##useradd -m -g users -G audio,video,cdrom,wheel <user_name>
+
</console>
+
Don't forget to set a password for your new user:
+
<console>
+
# ##i##passwd <user_name>
+
</console>
+
 
+
== Installing a graphical environment ==
+
 
+
If you intend on using your Funtoo Linux installation for more than system administration, chances are you're going to want to have a GUI (graphical user interface). In the past, setting one up involved wading through text files and man pages. Thanks to modern tools like udev this is no longer the case.
+
 
+
Unlike most operating systems, Funtoo does not ship with a GUI pre-installed. If you've used Windows or Mac OS, you'd also know that their interfaces cannot be replaced easily. With Linux, the opposite is true -- you are free to choose from a huge selection of GUIs. From window managers such as Blackbox, IceWM, and xmonad, to fully-featured desktop environments like GNOME and KDE, the possibilities are vast in number.
+
 
+
=== X.Org ===
+
 
+
In order to use a graphical environment it's necessary to install X.Org Server. Before we start it's a good idea to make sure that your system is configured correctly. If you've installed your kernel using the <tt>binary</tt> USE flag, chances are that your video card is already supported.
+
 
+
In order for Portage to know which video card(s) you want to support, you'll need to add a line to your <tt>make.conf</tt>.
+
<console>
+
# ##i##nano -w /etc/portage/make.conf
+
...
+
VIDEO_CARDS="intel"
+
</console>
+
 
+
In the example above we're using Intel integrated graphics drivers. Examples of valid entries include <tt>radeon</tt> for AMD Radeon cards, and <tt>nouveau</tt> or <tt>nvidia</tt> for NVIDIA cards. If you haven't yet switched to the <tt>desktop</tt> profile it's a good idea to [[#Changing profile|do it now]].
+
 
+
Next comes the actual installation:
+
<console>
+
# ##i##emerge xorg-x11
+
</console>
+
 
+
Now we need to test to make sure X.Org is working properly. To test it we will install twm, a simple window manager which has traditionally served as the standard window manager for X.Org. In Funtoo Linux it is included in the core X.Org meta-package <tt>x11-apps/xinit</tt>, but is not installed by default.
+
 
+
It is possible to install twm directly by merging <tt>x11-wm/twm</tt> but for the sake of this tutorial we will install the meta-package, which includes a few extra utilities which may come in handy. There are two ways to do this depending on whether you want it to be installed temporarily or permanently. If you just want it to test X.Org use the following command:
+
<console>
+
# ##i##USE="-minimal" emerge -1 xinit
+
</console>
+
 
+
The <tt>minimal</tt> USE flag is used in some ebuilds to install the bare minimum needed to get a working system. By passing <tt>USE="-minimal"</tt> to the command line before <tt>emerge</tt>, we are telling Portage to disable the flag and install the complete package. The <tt>-1</tt> (<tt>--oneshot</tt>) following <tt>emerge</tt> tells Portage not to add the package to [[#Updating your system|<tt>world</tt>]]. This is useful when installing packages which are automatically pulled in as dependencies by other packages.
+
 
+
If you want the package installed permanently you will need to add a line to <tt>package.use</tt>:
+
<console>
+
# ##i##mkdir -p /etc/portage
+
# ##i##echo x11-apps/xinit -minimal >> /etc/portage/package.use
+
</console>
+
 
+
Next we reinstall <tt>x11-apps/xinit</tt>:
+
<console>
+
# ##i##emerge -1N xinit
+
</console>
+
 
+
Once that's done, we're able to finally test X.Org:
+
 
+
<console>
+
# ##i##startx
+
</console>
+
 
+
If everything is well, a simple GUI along with an analog clock and a terminal will appear.
+
 
+
[[Category:HOWTO]]
+
[[Category:Install]]
+
[[Category:Featured]]
+

Revision as of 18:43, 23 November 2013

moof

Get on the UserMap!

Loading map...

See our full-size Usermap and find out how to become part of the Funtoo Universe!

Join the User Community

Funtoo Linux is focused on the needs of our users. Here's how to get involved:

wiki
Help us maintain content on this wiki. Add yourself to the Funtoo Usermap.
bugs
Our bug tracker is used to track all ongoing development work in Funtoo Linux. If you find a bug in Funtoo Linux, report it here. Also used for enhancement requests.
IRC
Join us in the #funtoo IRC channel on irc.freenode.net.
mailing list
The funtoo-dev mailing list is used for development discussion.
forums
Funtoo Forums are available for forum-style Funtoo discussion.
blogs
LarryTheCow.org is a blog aggregation service for Gentoo ecosystem developers and users.
rss/atom
Funtoo RSS and Atom Feeds displays the latest posts on the Forums and Planet Larry.

Welcome to the Funtoo Wiki!

Funtoo Linux is a Linux-based operating system created by Daniel Robbins, the creator and former Chief Architect of Gentoo Linux. Funtoo Linux is a Free software, or "Open Source" operating system. All distribution source code is freely available, and it can be used and distributed free of charge.

Who develops and improves Funtoo Linux? You do. We are a completely open meta-distribution that is run by our users and a small group of support staff. Our development centers around the needs of our users. Any user can contribute code and help improve Funtoo Linux functionality on our bug tracker.

Featured Video

In this video, Jonathan Vasquez (fearedbliss) walks you through the process of installing Funtoo Linux with ZFS. See the ZFS Install Guide for detailed instructions.

Meta-Distribution, Optimized

Funtoo Linux is also a meta-distribution, which means that it is built automatically from source code and is customized with the functionality that you want it to have, and without the unnecessary features and "bloat" that you want to avoid.

In addition, a Funtoo Linux system is optimized for your CPU, and we offer optimized versions for Intel Core i7, Intel Atom, AMD Opteron, and other processors and architectures.

These combination of factors work together to create an extremely high-performance and flexible computing platform -- a platform where you are in control, and your system performs optimally. We believe that Funtoo Linux is the most ideal expression of how operating system technology "should" work, and we continually strive to make it better.

The Gentoo Ecosystem

We are committed to maintaining high-levels of compatibility and collaboration with the Gentoo Linux project, and challenge ourselves to innovate while providing new approaches that can be easily leveraged by the Gentoo Community. We appreciate the support we receive from members of the Gentoo Community and strive to contribute back to the larger Gentoo Ecosystem.

Ultimate Flexibility for Developers

Does your Linux distribution allow multiple versions of php, python or ruby installed happily alongside each other? Funtoo Linux does. Are you tired of hand-building key packages from source to configure them exactly the way you want? Funtoo Linux allows you to tweak the build-time features of packages using handy things called USE variables. Other distributions are forced to either leave stuff out that you want, or include stuff you don't want.

Virtualization

We support the OpenVZ project and build up-to-date Funtoo Linux OpenVZ containers that you can download. Also see VagrantUp for a nice way to deploy VirtualBox-based Funtoo Linux systems. Metro, our automated distro build tool, is capable of building OpenVZ, Linux VServer and Linux Containers (LXC) images. Funtoo Linux also makes an excellent virtualization host system for Xen.

Features

Funtoo Linux features native UTF-8 support enabled by default, a git-based, distributed Portage Tree and funtoo overlay, an enhanced Portage with more compact mini-manifest tree, automated imports of new Gentoo changes every 12 hours, GPT/GUID boot support and streamlined boot configuration, enhanced network configuration, up-to-date stable and current Funtoo stages, all built using Funtoo's Metro build tool. We also offer Ubuntu Server, Debian, RHEL and Fedora-based kernels.

Funtoo is currently supported on the following processor families :

  • PC-compatible, both 32 and 64-bit (x86-32bit, x86-64bit)

Resources