# Gentoo

</td></tr>
Original author(s) Daniel Robbins Gentoo Foundation 31 march 2002 Update every week {{#property:P1324}} Active GNU/Linux English GNU GPL gentoo.org

Gentoo (pronounced /ˈdʒɛntuː/ jen-too) is a computer operating system based on Linux and built using the Portage package management system."Gentoo", coming from the fast-swimming gentoo penguin, was chosen to reflect the potential speed improvements of machine-specific optimization.

Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer. Precompiled binaries are available for some larger packages or those with no available source code.

## History

Gentoo Linux was initially created by Daniel Robbins as the Enoch Linux distribution. The goal was to create a distribution without precompiled binaries that was tuned to the hardware and only included required programs. At least one version of Enoch was distributed: version 0.75, in December 1999.

Daniel Robbins and the other contributors experimented with a fork of GCC known as EGCS developed by Cygnus Solutions. At this point, "Enoch" was renamed "Gentoo" Linux (the Gentoo species is the fastest swimming penguin). The modifications to EGCS eventually became part of the official GCC (version 2.95), and other Linux distributions experienced similar speed increases.

After problems with a bug on his own system, Robbins halted Gentoo development and switched to FreeBSD for several months, later saying "I decided to add several FreeBSD features to make our autobuild system (now called Portage) a true next-generation ports system."

Gentoo Linux 1.0 was released March 31, 2002. In 2004, Robbins set up the non-profit Gentoo Foundation, transferred all copyrights and trademarks to it, and stepped down as chief architect of the project.

The current board of trustees is composed of five members who were announced (following an election) on March 2, 2008. There is also a seven-member Gentoo Council that oversees the technical issues and policies of Gentoo. The Gentoo Council members are elected for a period of one year, each year by the active Gentoo developers. When a member of the Council retires, the successor is voted into place by the existing Council members

## Philosophy of Gentoo

Author: Daniel Robbins
Gentoo creater

Every user has work they need to do. The goal of Gentoo is to design tools and systems that allow a user to do that work as pleasantly and efficiently as possible, as they see fit. Our tools should be a joy to use, and should help the user to appreciate the richness of the Linux and free software community, and the flexibility of free software. This is only possible when the tool is designed to reflect and transmit the will of the user, and leave the possibilities open as to the final form of the raw materials (the source code.) If the tool forces the user to do things a particular way, then the tool is working against, rather than for, the user. We have all experienced situations where tools seem to be imposing their respective wills on us. This is backwards, and contrary to the Gentoo philosophy.

Put another way, the Gentoo philosophy is to create better tools. When a tool is doing its job perfectly, you might not even be very aware of its presence, because it does not interfere and make its presence known, nor does it force you to interact with it when you don’t want it to. The tool serves the user rather than the user serving the tool.

The goal of Gentoo is to strive to create near-ideal tools. Tools that can accommodate the needs of many different users all with divergent goals. Don’t you love it when you find a tool that does exactly what you want to do? Doesn’t it feel great? Our mission is to give that sensation to as many people as possible.

## Advantages

• Community. Gentoo has fostered one of the most helpful communities of any Linux distribution: there's almost a thousand users in the #gentoo IRC channel on Freenode at any one time. Almost anyone can help you with virtually any issue a user may have.
• Efficiency. Gentoo has a well deserved reputation for its community's tendency to build optimized code with demonstrable increases in efficiency over binary-based distributions' "one size fits all" model.

Gentoo's "USE flag" system allows the user to create an extremely "bare-bones" installation, removing unneeded functions from packages (e.g: removing iPod/iOS support, resulting in smaller binaries that load faster and use less memory). It is straightforward to change these compile flags at a later date, for instance when installing new hardware.

• Flexibility. Gentoo allows users to configure which features of software they wish to install, instead of the "one size fits all" approach of many binary-based distributions.

Gentoo can run in a wide range of environments, from embedded systems and virtual containers (LXC, OpenVZ, etc.) through to large cluster machines.

• Scalability. Due in a large part to Gentoo's portage tool's configurability and its source-based approach to software management, Gentoo is relatively well suited to deployment from tiny embedded systems right up to large cluster machines.
• Security. Due to the flexibility inherent in Gentoo's portage tool and USE flags, Gentoo encourages users to build software with only the features they need. This decreases code size and complexity, which tends to increase security.

## Disadvantages

• Installation time. Compiling a package from the source code takes much more time than the installation of the finished executable files. In some cases - depending on the hardware and the size of the source code - compiling of large programs can take several hours or require several gigabytes of temporary space on the destination disk.
• Need to read. You will have a lot to read, to establish this distribution. It is highly desirable that it be read in English, since other location versions are not always the actual.
• Console - our all. If you have konsolefobiya, you have to overcome yourself. It is here, always and everywhere: installation, upgrade, configuration, all this and more.

## Gentoo installation

• Checking internet connection:
ping ya.ru
• Viewing available storages:
ls /dev | grep sd
• Disk fragmentation:
fdisk /dev/sda
m n p  +40M
n p  +1200M
n p  +18000M
n
w
• Formatting sections
mkfs.ext2  /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkreiserfs /dev/sda3
mke.ext4 /dev/sda4
• Creating necessary directories
mkdir /mnt/gentoo/{boot,home,proc}
• Installing
mount /dev/sda1 /mnt/gentoo/boot
mount /dev/sda3 /mnt/gentoo
mount /dev/sda4 /mnt/gentoo/home
cd /mnt/gentoo
• Downloading base system (stage 3)
links http://mirror.yandex.ru
-> Gentoo distfiles->releases->amd64->autobilds->current-stage3
• De-archiving:
 xvjpf  stage3*tar.bz2
cd /mnt/Gentoo/usr
• Downloading portage
links http://mirror.yandex.ru
-> Gentoo distfiles-> releases->snapshots->current->portage-latest.tar.bz2
• De-archiving:
tar xvjpf  portage*
cd /
• Copying internet config files:
cp –L /etc/resolv.conf /mnt/gentoo/etc
mount –t proc none /mnt/gentoo/proc
mount –o bind /dev /mnt/gentoo/dev
• Changing root selection:
chroot /mnt/gentoo /bin/bash
• Updating portage tree:
env-update && source /etc/profile
emerge --sync
• Setting timezone:
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
• Core installing :
emerge gentoo-sources genkernel
genkernel all
• Pointing right ways to disk partitions:
nano /etc/fstab
• Time setting:
nano -w /etc/conf.d/clock
-> TIMEZONE=”Europe/Moscow” CLOCK=”local”
• Layout setting:
nano /etc/conf.d/keymaps
-> keymap=”ru-ms”
• Installing and setting - syslog, cron, grub
emerge syslog-ng vixie-cron reiserfsprogs
rc-update add syslog-ng default
emerge grub
emerge sys-boot/grub
grub-install /dev/sda
grub-mkconfig –o /boot/grub/grub.cfg
• Setting "root" password:
passwd
exit
• Eject installation image of a system
• Rebooting system
reboot
• Version checkout:
uname -a
<youutube>https://www.youtube.com/watch?v=4pHTE799xao</youtube>