SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Gentoo Linux, or
Why in the World You Should
     Compile Everything
            Donnie Berkholz
     Council Member & Sr. Developer
              Gentoo Linux

            dberkholz@gentoo.org
                @dberkholz
Me in Gentoo
How I came to Gentoo
Overview
History
Gentoo features
• Beautiful splash screen, console and
    colorful CLI
•   Fully automated software installation
•   Extremely easy maintenance
•   Available in most architectures and OS's
•   Configuration file protection and automerge
Gentoo features(con't)
• Advantages of compiling from source
• Multiple versions/implementations handling
• Binary package support
Portage features
• Customization of CFLAGS, LDFLAGS
• USE flags (more on that later)
• Various optional features - choose to suit
  your own need through FEATURES variable
• Protection for live system
  • FEATURES sandbox, collision-protect, protect-
    owned
• Compilation speeding up
   • FEATURES ccache, distcc

• System trimming
   • FEATURES nodoc, noman, noinfo
   • INSTALL_MASK
Portage features
                    (con't)
• SMP support
   • emerge --jobs=JOBS --load-average=LOAD
   • MAKEOPTS='-jN', where N is number of processors
     + 1
   • FEATURES parallel-fetch

• Auto resuming after failure whenever
  possible
  • emerge --keep-going

• Blocker automatic solving
   • com_err and ss V.S. e2fsprogs-libs

• Debugging support
   • Adding "-g3 -ggdb3 -gdwarf-2" to CFLAGS
   • FEATURES keepwork, nostrip, splitdebug,
     installsources
Portage features
                    (con't)
• Embedded system support
• Features in portage 2.2
   • License filtering
   • Generic package sets
   • FEATURES preserve-libs
Portage tree
• Gentoo's software repository
• One of the largest
• Bleeding edge packages
• Branches
• Overlays
Ebuild file
• Defines variables and functions used to
    compile and install software
•   KEYWORDS
•   SLOT
•   DEPEND, RDEPEND, PDEPEND
•   LICENSE
•   SRC_URI
•   Functions - src_unpack(), src_compile(),
    src_install()
•   Eclasses
USE flags
• Map onto ./configure options
• Defaults defined by profile
• Define your own in addition to defaults
• Install only what you want
• Example:
   • USE="-gnome kde qt -arts -nls"
Init system
• OpenRC
• Named run levels (boot, default)
• Smart dependencies
• Parallel startup
• Hotplug/Coldplug
Documentation
• Gentoo Handbook
• Desktop docs
• Upgrade guides
• System admin
• Developer docs
• Project docs
Gentoo Community
• Close contact with end users
• Many ebuilds submitted by users (sunrise
    overlay)
•   IRC
•   Web forums
•   Fully public bug tracking
•   Developers attend FOSS events around the
    world
Stay informed
• Main page - http://www.gentoo.org
• Planet - http://planet.gentoo.org
• Forums - http://forums.gentoo.org
• Gentoo Monthly Newsletter (GMN)
   • http://www.gentoo.org/news/zh_cn/gmn/

• IRC channels
   • http://www.gentoo.org/main/en/irc.xml

• Mailing lists
   • http://www.gentoo.org/main/en/lists.xml

• Packages - http://packages.gentoo.org
• Gentoo Linux Security Announcements
  (GLSA)
Is Gentoo for me?
• If you are lazy
• If you are a perfectionist
• If you like being in control
• If you want a stable and secure system
• If you want to know how a Unix-like
  system works
• If you want to make the most out of your
  hardware
• If you want to make your own distribution
• If you want to install GNU/Linux on your
  PS3 and have it easily, regularly updated
EAPI: Ebuild API
• EAPI 0: Forever...
• EAPI 1: Nov 2007
• EAPI 2: Sept 2008
• EAPI 3: Jan 2010
• EAPI 4: Jan 2011
EAPI: Ebuild API

• 201499: single dependency variable
   • DEPENDENCIES: “run+build: dev-libs/foo”

• 174412: remove EXPORT_FUNCTIONS
   • Should be automated

• 179800: always-called eclass phase
  functions
  • Run something at src_prepare without making
    sure ebuilds call $ECLASS_src_prepare when
    overriding
• 185567: function to package source code
   • Creating custom tarballs from upstream, e.g.

• 186454: move DESCRIPTION to metadata.xml
   • package-wide, not per-ebuild
EAPI: Ebuild API

• 402167: move HOMEPAGE to metadata.xml
• 399019, 399307: move unpacking logic to
  eclasses
  • WIP
  • remove need to dep on proper unpacker

• 354219: zero or one-of for REQUIRED_USE
   • many cases of REQUIRED_USE would benefit from
     a zero-of-or-one-of / at-most-one-of group.
Gentoo Linux, or
Why in the World You Should
     Compile Everything
            Donnie Berkholz
     Council Member & Sr. Developer
              Gentoo Linux

            dberkholz@gentoo.org
                @dberkholz
<http://dev.gentoo.org/~dberkholz/IntroToGentoo.odp>


Copyright 2006–2012 Rajiv Manglani, Zhang Le, Donnie
Berkholz. Some rights reserved.

The Gentoo Linux logo is Copyright 2002 Gentoo
Foundation, used with permission.

This work is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike License. To
view a copy of this license, visit <
http://creativecommons.org/licenses/by-nc-sa/2.0> or
send a letter to Creative Commons, 559 Nathan Abbott
Way, Stanford, California 94305, USA.

Más contenido relacionado

Similar a Gentoo Linux, or Why in the World You Should Compile Everything

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 

Similar a Gentoo Linux, or Why in the World You Should Compile Everything (20)

Intro To Gentoo Embedded Cclug
Intro To Gentoo Embedded CclugIntro To Gentoo Embedded Cclug
Intro To Gentoo Embedded Cclug
 
Linux: Everyting-as-a-service
Linux: Everyting-as-a-serviceLinux: Everyting-as-a-service
Linux: Everyting-as-a-service
 
Linux basics (part 2)
Linux basics (part 2)Linux basics (part 2)
Linux basics (part 2)
 
Docking postgres
Docking postgresDocking postgres
Docking postgres
 
Lec 10-linux-review
Lec 10-linux-reviewLec 10-linux-review
Lec 10-linux-review
 
CentOS at Facebook
CentOS at FacebookCentOS at Facebook
CentOS at Facebook
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at Facebook
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Running CentOS on the Facebook fleet
Running CentOS on the Facebook fleetRunning CentOS on the Facebook fleet
Running CentOS on the Facebook fleet
 
Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)
 
Deployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxDeployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS Linux
 
Up and Running with Freebsd
Up and Running with FreebsdUp and Running with Freebsd
Up and Running with Freebsd
 
Linux
LinuxLinux
Linux
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
 
Database Firewall with Snort
Database Firewall with SnortDatabase Firewall with Snort
Database Firewall with Snort
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
 

Más de Donnie Berkholz

Más de Donnie Berkholz (20)

Pricing and Packaging in Covid-19 Times - Heavybit
Pricing and Packaging in Covid-19 Times - HeavybitPricing and Packaging in Covid-19 Times - Heavybit
Pricing and Packaging in Covid-19 Times - Heavybit
 
Open Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyOpen Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old Company
 
Open Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyOpen Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old Company
 
Discovering rivers & building bridges: DevOps @ CWT
Discovering rivers & building bridges: DevOps @ CWTDiscovering rivers & building bridges: DevOps @ CWT
Discovering rivers & building bridges: DevOps @ CWT
 
Assholes are killing your project (MDC 2017)
Assholes are killing your project (MDC 2017)Assholes are killing your project (MDC 2017)
Assholes are killing your project (MDC 2017)
 
Reality Check: How much influence do developers really have?
Reality Check: How much influence do developers really have?Reality Check: How much influence do developers really have?
Reality Check: How much influence do developers really have?
 
Cloud Native: A dose of reality
Cloud Native: A dose of realityCloud Native: A dose of reality
Cloud Native: A dose of reality
 
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
 
Mining the Go Developer Community
Mining the Go Developer CommunityMining the Go Developer Community
Mining the Go Developer Community
 
DevOps 101+: From collaboration to microservices
DevOps 101+: From collaboration to microservicesDevOps 101+: From collaboration to microservices
DevOps 101+: From collaboration to microservices
 
How the rise of DevOps and containers is transforming IT service delivery
How the rise of DevOps and containers is transforming IT service deliveryHow the rise of DevOps and containers is transforming IT service delivery
How the rise of DevOps and containers is transforming IT service delivery
 
How IT will disrupt in 2016: The ITaaS imperative
How IT will disrupt in 2016: The ITaaS imperativeHow IT will disrupt in 2016: The ITaaS imperative
How IT will disrupt in 2016: The ITaaS imperative
 
The OpenStack Pulse: Containers and Platforms
The OpenStack Pulse: Containers and PlatformsThe OpenStack Pulse: Containers and Platforms
The OpenStack Pulse: Containers and Platforms
 
Commit yourself already: Contributing to open source
Commit yourself already: Contributing to open sourceCommit yourself already: Contributing to open source
Commit yourself already: Contributing to open source
 
Microservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondMicroservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyond
 
Can we compare communities or are they all unique snowflakes?
Can we compare communities or are they all unique snowflakes?Can we compare communities or are they all unique snowflakes?
Can we compare communities or are they all unique snowflakes?
 
How microservices are redefining modern application architecture
How microservices are redefining modern application architectureHow microservices are redefining modern application architecture
How microservices are redefining modern application architecture
 
DevOps, containers & microservices: Separating the hype from the reality
DevOps, containers & microservices: Separating the hype from the realityDevOps, containers & microservices: Separating the hype from the reality
DevOps, containers & microservices: Separating the hype from the reality
 
Emerging trends in software development: The next generation of storage
Emerging trends in software development: The next generation of storageEmerging trends in software development: The next generation of storage
Emerging trends in software development: The next generation of storage
 
Building with containers: How containers will drive cloud services
Building with containers: How containers will drive cloud servicesBuilding with containers: How containers will drive cloud services
Building with containers: How containers will drive cloud services
 

Último

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Gentoo Linux, or Why in the World You Should Compile Everything

  • 1. Gentoo Linux, or Why in the World You Should Compile Everything Donnie Berkholz Council Member & Sr. Developer Gentoo Linux dberkholz@gentoo.org @dberkholz
  • 3. How I came to Gentoo
  • 6. Gentoo features • Beautiful splash screen, console and colorful CLI • Fully automated software installation • Extremely easy maintenance • Available in most architectures and OS's • Configuration file protection and automerge
  • 7. Gentoo features(con't) • Advantages of compiling from source • Multiple versions/implementations handling • Binary package support
  • 8. Portage features • Customization of CFLAGS, LDFLAGS • USE flags (more on that later) • Various optional features - choose to suit your own need through FEATURES variable • Protection for live system • FEATURES sandbox, collision-protect, protect- owned • Compilation speeding up • FEATURES ccache, distcc • System trimming • FEATURES nodoc, noman, noinfo • INSTALL_MASK
  • 9. Portage features (con't) • SMP support • emerge --jobs=JOBS --load-average=LOAD • MAKEOPTS='-jN', where N is number of processors + 1 • FEATURES parallel-fetch • Auto resuming after failure whenever possible • emerge --keep-going • Blocker automatic solving • com_err and ss V.S. e2fsprogs-libs • Debugging support • Adding "-g3 -ggdb3 -gdwarf-2" to CFLAGS • FEATURES keepwork, nostrip, splitdebug, installsources
  • 10. Portage features (con't) • Embedded system support • Features in portage 2.2 • License filtering • Generic package sets • FEATURES preserve-libs
  • 11. Portage tree • Gentoo's software repository • One of the largest • Bleeding edge packages • Branches • Overlays
  • 12. Ebuild file • Defines variables and functions used to compile and install software • KEYWORDS • SLOT • DEPEND, RDEPEND, PDEPEND • LICENSE • SRC_URI • Functions - src_unpack(), src_compile(), src_install() • Eclasses
  • 13. USE flags • Map onto ./configure options • Defaults defined by profile • Define your own in addition to defaults • Install only what you want • Example: • USE="-gnome kde qt -arts -nls"
  • 14. Init system • OpenRC • Named run levels (boot, default) • Smart dependencies • Parallel startup • Hotplug/Coldplug
  • 15. Documentation • Gentoo Handbook • Desktop docs • Upgrade guides • System admin • Developer docs • Project docs
  • 16. Gentoo Community • Close contact with end users • Many ebuilds submitted by users (sunrise overlay) • IRC • Web forums • Fully public bug tracking • Developers attend FOSS events around the world
  • 17. Stay informed • Main page - http://www.gentoo.org • Planet - http://planet.gentoo.org • Forums - http://forums.gentoo.org • Gentoo Monthly Newsletter (GMN) • http://www.gentoo.org/news/zh_cn/gmn/ • IRC channels • http://www.gentoo.org/main/en/irc.xml • Mailing lists • http://www.gentoo.org/main/en/lists.xml • Packages - http://packages.gentoo.org • Gentoo Linux Security Announcements (GLSA)
  • 18. Is Gentoo for me? • If you are lazy • If you are a perfectionist • If you like being in control • If you want a stable and secure system • If you want to know how a Unix-like system works • If you want to make the most out of your hardware • If you want to make your own distribution • If you want to install GNU/Linux on your PS3 and have it easily, regularly updated
  • 19. EAPI: Ebuild API • EAPI 0: Forever... • EAPI 1: Nov 2007 • EAPI 2: Sept 2008 • EAPI 3: Jan 2010 • EAPI 4: Jan 2011
  • 20. EAPI: Ebuild API • 201499: single dependency variable • DEPENDENCIES: “run+build: dev-libs/foo” • 174412: remove EXPORT_FUNCTIONS • Should be automated • 179800: always-called eclass phase functions • Run something at src_prepare without making sure ebuilds call $ECLASS_src_prepare when overriding • 185567: function to package source code • Creating custom tarballs from upstream, e.g. • 186454: move DESCRIPTION to metadata.xml • package-wide, not per-ebuild
  • 21. EAPI: Ebuild API • 402167: move HOMEPAGE to metadata.xml • 399019, 399307: move unpacking logic to eclasses • WIP • remove need to dep on proper unpacker • 354219: zero or one-of for REQUIRED_USE • many cases of REQUIRED_USE would benefit from a zero-of-or-one-of / at-most-one-of group.
  • 22. Gentoo Linux, or Why in the World You Should Compile Everything Donnie Berkholz Council Member & Sr. Developer Gentoo Linux dberkholz@gentoo.org @dberkholz
  • 23. <http://dev.gentoo.org/~dberkholz/IntroToGentoo.odp> Copyright 2006–2012 Rajiv Manglani, Zhang Le, Donnie Berkholz. Some rights reserved. The Gentoo Linux logo is Copyright 2002 Gentoo Foundation, used with permission. This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license, visit < http://creativecommons.org/licenses/by-nc-sa/2.0> or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Notas del editor

  1. Gentoo – the fastest swimming penguin Based either on Linux, FreeBSD, etc Source-based metadistribution Can be optimized and customized for any purpose Extremely configurable, portable, easy-to-maintain All volunteer, active developer community Is and will always be Free Software Commitment to giving back to the FOSS community
  2. Started by Daniel Robbins with the name &amp;quot;Enoch&amp;quot; in 1999 Changed name to &amp;quot;Gentoo&amp;quot; later due to speed increase as a result of EGCS adoption Portage - the next generation ports – born after a detour to FreeBSD Gentoo Linux 1.0 released on 2002/03/31 Gentoo Foundation set up in 2004 to take care of financial issue and protect intellectual property Gentoo Council decides on global issues and policies
  3. Beautiful splash screen, console and colorful CLI Fully automated software installation Dependency solving and fulfillment Source fetching, patching, compiling, installing Extremely easy maintenance &apos;system&apos; and &apos;world&apos; package set keep &apos;world&apos; up-to-date with a single command versionless, seamless upgrading Available in most architectures and OS&apos;s amd64, alpha, arm, hppa, ia64, mips, ppc, sparc, x86 other Linux distros, Mac OS X, Solaris, FreeBSD, AIX, Interix Configuration file protection and automerge
  4. Advantages of compiling from source Optimized for your own CPU DIY as soon as new software release is out Even if not released yet - live ebuilds (cvs/svn/git...)‏ Multiple versions/implementations handling coexist along with each other peacefully switch on-the-fly mechanisms - software slots, virtual package tools - eselect , gcc-config, binutils-config, java-config Binary package support Native binary package format &amp; repositories Alien binary package format support, e.g. rpm, deb. Upstream binary package: openoffice-bin, mozilla-firefox-bin
  5. Embedded system support crossdev - create any arbitrary cross toolchain in one command First set CBUILD, PORTAGE_CONFIGROOT and ROOT properly Then just emerge! Features in portage 2.2 License filtering Generic package sets @live-rebuild - all live ebuilds installed on your system @module-rebuild - all out-of-tree kernel module FEATURES preserve-libs preserve old lib after lib version bump emerge @preserved-rebuild to remove old lib and link apps to new lib
  6. Gentoo&apos;s software repository One of the largest in terms of number of packages No split packages, i.e. foo-devel, -headers Provide non-free software, e.g. adobe flash player/reader Bleeding edge packages Branches - stable, testing Defined your global choice in /etc/make.conf Tweak for each package in /etc/portage/package.keywords Overlays - a subset of tree with higher priority GNOME, KDE, toolchain, x11.... managed by &amp;quot;layman&amp;quot;
  7. Defines variables and functions used to compile and install software KEYWORDS - define branch for this package SLOT - mechanism for multiple version coexistence DEPEND, RDEPEND, PDEPEND - Build time, Runtime, Post-merge dependencies LICENSE - the software license SRC_URI - where to get sources Function - src_unpack(), src_compile(), src_install() Eclass - ebuild&apos;s library
  8. Gentoo&apos;s way to customize software components USE flags generally map onto ./configure options Defaults defined by profile /etc/make.profile Define your own in addition to defaults Global flags in /etc/make.conf Package specific flags in /etc/portage/package.use Install only what you want Example: USE=&amp;quot;-gnome kde qt -arts -nls&amp;quot;
  9. OpenRC, written in C and POSIX-compliant shell script, for compatibility with Gentoo on FreeBSD and embedded systems. Named run levels (boot, default)‏ Smart dependencies Scripts can &apos;use&apos; or &apos;need&apos; others. Scripts can start &apos;before&apos; or &apos;after&apos; others. Parallel startup option Hotplug/Coldplug services
  10. Gentoo Handbook (install, embedded, security...)‏ Desktop docs (X, nVidia/ATI, GNOME, KDE, fluxbox, xfce, alsa, DRI, power management...)‏ Upgrade Guide (kernel, gcc, apache, MySQL, PHP...)‏ System admin (security handbook, localization, cron, sudo, kernel, prelink, distcc, mail server, database, web server, virtualization...)‏ Developer docs (dev handbook, devmanual)‏ Project docs (Gentoo projects operation)‏
  11. Close contact with end users Many ebuilds submitted by users (sunrise overlay) IRC channels (irc.gentoo.org, currently an alias to freenode), #gentoo is one of the largest on the network with an average of 900+ users. Web-based forums (on forums.gentoo.org), 5,495,131 posts, 1500+ posts per day. Fully public bug tracking (bugs.gentoo.org) Developers attend FOSS events around the world