This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

Instalace základního systému Gentoo

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:AMD64/Installation/Base and the translation is 100% complete.
AMD64 Handbook
Installation
About the installation
Choosing the media
Configuring the network
Preparing the disks
Installing stage3
Installing base system
Configuring the kernel
Configuring the system
Installing tools
Configuring the bootloader
Finalizing
Working with Gentoo
Portage introduction
USE flags
Portage features
Initscript system
Environment variables
Working with Portage
Files and directories
Variables
Mixing software branches
Additional tools
Custom package repository
Advanced features
Network configuration
Getting started
Advanced configuration
Modular networking
Wireless
Adding functionality
Dynamic management


Chrooting

Volitelné: volba zrcadel

Distribuční soubory

Pro rychlejší stahování zdrojových kódů se doporučuje zvolit rychlé zrcadlo. Portage hledá v souboru make.conf proměnnou GENTOO_MIRRORS a používá zrcadla v ní obsažená. Můžete si projít seznam zrcadel Gentoo a vyhledat zcradlo (nebo zrcadla), která jsou blízko vašeho fyzického umístění (jelikož ta jsou nejčastěji nejrychlejší). Nicméně poskytujeme šikovný nástroj zvaný mirrorselect, který poskytuje uživatelům hezké rozhraní pro výběr potřebných zrcadel. Jednoduše se přesuňte na zrcadla dle své volby a vyberte jedno nebo více zrcadel stisknutím Spacebar.

root #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Gentoo ebuild repository

A second important step in selecting mirrors is to configure the Gentoo ebuild repository via the /etc/portage/repos.conf/gentoo.conf file. This file contains the sync information needed to update the package repository (the collection of ebuilds and related files containing all the information Portage needs to download and install software packages).

Configuring the repository can be done in a few simple steps. First, if it does not exist, create the repos.conf directory:

root #mkdir /mnt/gentoo/etc/portage/repos.conf

Potom zkopírujte nastavení repozitáře, které poskytuje Portage (nově vytvořeného) adresáře repos.conf:

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Nahlédněte do něj pomocí textového editoru nebo za použití příkazu cat. Uvnitř by měl mít soubor formát .ini a vypadat takto:

FILE /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

# for daily squashfs snapshots
#sync-type = squashdelta
#sync-uri = mirror://gentoo/../snapshots/squashfs

The default sync-uri variable value listed above will determine a mirror location based on a rotation. This will aid in easing bandwidth stress on Gentoo's infrastructure and will provide a fail-safe in case a specific mirror is offline. It is recommended the default URI is retained unless a local, private Portage mirror will be used.

Tip
Ti, které to zajímá, najdou oficiální specifikaci Portage plug-in sync API v článku Synchronizace.

Zkopírujte info o DNS

Před tím, než vstoupíme do nového prostředí, nám zbývá udělat ještě jedna věc, a tou je zkopírování DNS informace v /etc/resolv.conf. To musíme udělat pro to, abychom měli jistotu, že síť bude po vstupu do nového prostředí fungovat. Soubor /etc/resolv.conf obsahuje jmenné servery sítě.

To copy this information, it is recommended to pass the --dereference option to the cp command. This ensures that, if /etc/resolv.conf is a symbolic link, that the link's target file is copied instead of the symbolic link itself. Otherwise in the new environment the symbolic link would point to a non-existing file (as the link's target is most likely not available inside the new environment).

root #cp -L /etc/resolv.conf /mnt/gentoo/etc/

Připojení nezbytných souborových systémů

Za několik okamžiků dojde ke změně kořene na nové umístění. K zajištění toho, aby nové prostředí fungovalo jak má, je nutné zpřístupnit v něm rovněž některé systémy souborů.

Systému souborů, které je nutné mít k dispozici, jsou:

  • /proc/ je pseudo systém souborů (vypadá jako běžné soubory, ale ve skutečnosti je generován za běhu) prostřednictvím nějž jádro Linuxu vystavuje informace navenek
  • /sys/ je pseudo systém souborů, podobně jako /proc/, který měl původně nahradit a je lépe uspořádaný než /proc/
  • /dev/ je normální systém souborů částečně spravovaný Linuxovým správcem zařízení (obvykle udev), který obsahuje všechny soubory zařízení

/proc bude připojen na /mnt/gentoo/proc, zatímco zbývající dvě umístění budou navázána. To znamená, že například /mnt/gentoo/sys bude ve skutečnosti /sys (jedná se pouze o druhé připojení stejného souborového systému) zatímco /mnt/gentoo/proc/ je novým připojením (dalo by se říci instancí) souborového systému.

root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
Note
Operace --make-rslave jsou potřeba kvůli podpoře systemd v pozdějším průběhu instalace.
Warning
When using non-Gentoo installation media, this might not be sufficient. Some distributions make /dev/shm a symbolic link to /run/shm/ which, after the chroot, becomes invalid. Making /dev/shm/ a proper tmpfs mount up front can fix this:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

Also ensure that mode 1777 is set:

root # chmod 1777 /dev/shm

Vstup do nového prostředí

Nyní, když jsou všechny oddíly připojeny a inicializovány a základní prostřední bylo nainstalováno, je čas přejít do nového instalačního prostředí chrootováním. To znamená, že sezení změní (change) svůj kořenový adresář (root, tj. umístění nejvyšší úrovně, k němuž lze přistoupit) z instalačního prostřední (instalačního CD nebo jiného instalačního média) na instalovaný systém (jmenovitě incializované diskové oddíly). Proto pojmenování "change root" nebo "chroot".

Změna kořenového adresáře se děje ve třech krocích:

  1. Umístění kořenového adresáře se změní z / (instalační médium) na /mnt/gentoo (diskové oddíly) s použitím chroot
  2. Některá nastavení (ta v /etc/prodile) jsou znovu načtena do paměti s použitím příkazu source
  3. Hlavní ukazatel je změněn, což nám pomůže zapamatovat si, že sezení je uvnitř prostředí se změněným kořenovým adresářem.
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

From this point, all actions performed are immediately on the new Gentoo Linux environment. Of course it is far from finished, which is why the installation still has some sections left!

Tip
If the Gentoo installation is interrupted anywhere after this point, it should be possible to 'resume' the installation at this step. There is no need to repartition the disks again! Simply mount the root partition and run the steps above starting with copying the DNS info to re-enter the working environment. This is also useful for fixing bootloader issues. More information can be found in the chroot article.

Mounting the boot partition

Now that the new environment has been entered, it is necessary to create and mount the /boot partition. This will be important when it is time to compile the kernel and install the bootloader:

root #mkdir /boot
root #mount /dev/sda2 /boot

Konfigurace Portage

Installing an ebuild repository snapshot from the web

Next step is to install a snapshot of the main ebuild repository. This snapshot contains a collection of files that informs Portage about available software titles (for installation), which profiles the system administrator can select, package or profile specific news items, etc.

The use of emerge-webrsync is recommended for those who are behind restrictive firewalls (because it uses HTTP/FTP protocols for downloading the snapshot) and saves network bandwidth. Readers who have no network or bandwidth restrictions can happily skip down to the next section.

This will fetch the latest snapshot (which is released on a daily basis) from one of Gentoo's mirrors and install it onto the system:

root #emerge-webrsync
Note
Během této operace si může emerge-webrsync stěžovat na to, že chybí umístění /usr/portage. jde o předpokládaný problém a nic čeho byste se měli obávat - nástroj umístění vytvoří.

From this point onward, Portage might mention that certain updates are recommended to be executed. This is because system packages installed through the stage file might have newer versions available; Portage is now aware of new packages because of the repository snapshot. Package updates can be safely ignored for now; updates can be delayed after the Gentoo installation has finished.

Optional: Updating the Gentoo ebuild repository

It is possible to update the Gentoo ebuild repository to the latest version. The previous emerge-webrsync command will have installed a very recent snapshot (usually recent up to 24h) so this step is definitely optional.

Suppose there is a need for the last package updates (up to 1 hour), then use emerge --sync. This command will use the rsync protocol to update the Gentoo ebuild repository (which was fetched earlier on through emerge-webrsync) to the latest state.

root #emerge --sync

V případě pomalého terminálu, jako jsou některé framebuffery nebo sériové konzole, se doporučuje použít volbu --quiet k urychlení procesu:

root #emerge --sync --quiet

Přečtení novinek

When the Gentoo ebuild repository is synchronized to the system, Portage may warn the user with messages similar to the following:

CODE Informace Portage o novinkách
 * IMPORTANT: 2 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

News items were created to provide a communication medium to push critical messages to users via the rsync tree. To manage them, use eselect news. The eselect application is a Gentoo application that allows for a common management interface towards system changes and operations. In this case, eselect is asked to use its news module.

V modulu news se nejčastěji používají tři operace:

  • S pomocí list zobrazíte přehled dostupných novinek
  • S pomocí read si novinky přečtete
  • S pomocí purge můžete novinky po přečtení odstranit a už je znovu nečíst
root #eselect news list
root #eselect news read

Více informací o čtečce novinek lze získat v její manuálové stránce:

root #man news.eselect

Výběr správného profilu

Warning
Do not select any of the the 17.1 profiles until reading the corresponding 17.1 news item. This profile is experimental and requires special migration instructions.

"Profile" je stavební kámen každého systému Gentoo. Nejenže určuje výchozí hodnoty USE, CFLAGS a dalších důležitých proměnných, ale omezuje v systému také rozsah určitých verzí balíčků. Tato nastavení jsou udržována vývojáři Gentoo Portage.

Na to jaký profil právě váš systém používá se můžete podívat pomocí eselect za použití modulu profile:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0 *
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
Note
Výstup příkazu je pouze příkladný a v průběhu času se mění.

Jak lze vidět, pro některé architektury jsou k dispozici také podprofily desktop.

Warning
Profile upgrades are not to be taken lightly. When selecting the initial profile, make sure to use profile corresponding to the same version as the one initially used by stage3 (e.g. 13.0). Each new profile version is announced through a news item containing migration instructions. Make sure to read it and follow them before switching to a newer profile.

After viewing the available profiles for the amd64 architecture, users can select a different profile for the system:

root #eselect profile set 2


Ne-multilib

Pro čistě 64bitového prostřední bez 32bitových aplikací či knihoven, použijte ne-multilib profil:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0 *
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib

Nyní zvolte "no-multilib" profil:

root #eselect profile set 5
root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib *

systemd

Pokud toužíte používat jako výchozí init systém ve svém profilu systemd, vyberte profil, který má systemd ve svém názvu:

root #eselect profile set default/linux/amd64/13.0/systemd
root #eselect profile list
Available profile symlink targets:
  [10]  default/linux/amd64/13.0/developer
  [11]  default/linux/amd64/13.0/no-multilib
  [12]  default/linux/amd64/13.0/systemd *
  [13]  default/linux/amd64/13.0/x32
  [14]  hardened/linux/amd64
Tip
Jak můžete vidět výše, namísto přiřazené numerické hodnoty můžete použít také název profilu.


Note
The developer subprofile is specifically for Gentoo Linux development and is not meant to be used by casual users.

Aktualizace setu @world

Pokud byl v tomto bodě zvolen v systému nový profil, je moudré aktualizovat systémový set @world tak, aby byl položen základ pro nový profil.

This following step is necessary so the system can apply any updates or USE flag changes which have appeared since the stage3 was built and from any profile selection:

root #emerge --ask --update --deep --newuse @world
Tip
If a full scale desktop environment profile has been selected this process could greatly extend the amount of time necessary for the install process. Those in a time crunch can work by this 'rule of thumb': the shorter the profile name, the less specific the system's @world set; the less specific the @world set, the fewer packages the system will require. In other words:
  • selecting default/linux/amd64/13.0 will require very few packages to be updated, whereas
  • selecting default/linux/amd64/13.0/desktop/gnome/systemd will require many packages to be installed since the init system is changing from OpenRC to systemd, and the GNOME desktop environment framework will be installed.

Konfigurace proměnné USE

USE is one of the most powerful variables Gentoo provides to its users. Several programs can be compiled with or without optional support for certain items. For instance, some programs can be compiled with support for GTK+ or with support for Qt. Others can be compiled with or without SSL support. Some programs can even be compiled with framebuffer support (svgalib) instead of X11 support (X-server).

Většina distribucí kompiluje své balíčky s co nejširší možnou podporou, což zvyšuje velikost programů a čas jejich spuštění, nemluvě o ohromném množství závislostí. S Gentoo může uživatel určit možnosti toho, jak má být program sestaven. Zde přichází do hry proměnná USE.

In the USE variable users define keywords which are mapped onto compile-options. For instance, ssl will compile SSL support in the programs that support it. -X will remove X-server support (note the minus sign in front). gnome gtk -kde -qt4 -qt5 will compile programs with GNOME (and GTK+) support, and not with KDE (and Qt) support, making the system fully tweaked for GNOME (if the architecture supports it).

Výchozí nastavení USE je umístěno v souborech make.defaults profilu Gentoo použitého v systému. Gentoo používá (složitý ) systém dědění ve svých profilech, do kterého se v této části nebudeme pouštět. Nejjednodušším způsobem jak zjistit aktivní nastavení proměnné USE je spuštění příkazu emerge --info a výběr řádku, který má na začátku USE:

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Note
Výše uvedený příklad je zkrácený, ve skutečnosti je seznam hodnot USE o mnoho, mnoho rozsáhlejší.

Úplný popis dostupných USE přepínačů lze najít v systému v souboru /usr/portage/profiles/use.desc.

root #less /usr/portage/profiles/use.desc

Uvnitř příkazu less jde listovat pomocí kláves a , ukončit jej lze stisknutím q.

As an example we show a USE setting for a KDE-based system with DVD, ALSA, and CD recording support:

root #nano -w /etc/portage/make.conf
FILE /etc/portage/make.confEnabling USE for a KDE-based system with DVD, ALSA and CD recording support
USE="-gtk -gnome qt4 qt5 kde dvd alsa cdr"

Jamile je USE definována v /etc/portage/make.conf je "přidán" (nebo "odebrán" pokud přepínač začíná znaménkem -) na výchozí seznam. Uživatelé, kteří chtějí potlačit všechna výchozí nastavení USE a spravovat je zcela samo, nechť vloží na začátek definice USE v make.conf -*:

FILE /etc/portage/make.confIgnoring default USE flags
USE="-* X acl alsa"
Warning
Although possible, setting -* (as seen in the example above) is discouraged as carefully chosen USE flag defaults may be configured in some ebuilds to prevent conflicts and other errors.


Časová zóna

Vyberte časovou zónu systému. Podívejte se na nabídku časových zón v /usr/share/zoneinfo/ a pak jednu z nich zapište do souboru /etc/timezone.

root #ls /usr/share/zoneinfo

Předpokládejme, že jsme vybrali časovou zónu "Europe/Brussels":

root #echo "Europe/Brussels" > /etc/timezone

Vyhýbejte se časovým zónám v /usr/share/zoneinfo/Etc/GMT*, jelikož jejich názvy neodpovídají předpokládaným zónám. Například GMT-8 je ve skutečnosti GMT+8.

Následně přenastavte balíček sys-libs/timezone-data, čímž aktualizujete soubor /etc/localtime v závislosti na záznamu v /etc/timezone. Soubor /etc/localtime je používán systémovou knihovnou C k rozeznání toho, v jaké časové zóně se systém nachází.

root #emerge --config sys-libs/timezone-data

Místní nastavení

Většina uživatelů bude chtít používat ve svém systému pouze dvojí místní nastavení.

Locales specify not only the language that the user should use to interact with the system, but also what the rules are for sorting strings, displaying dates and times, etc.

Místní nastavení, která má systém podporovat by měla být uvedena v /etc/locale.gen.

root #nano -w /etc/locale.gen

Následující místní nastavení jsou příkladem, jak získat angličtinu (Spojené státy) a němčinu (Německo) s přináležejícím formátem znaků (jako UTF-8).

FILE /etc/locale.genEnabling US and DE locales with the appropriate character formats
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
Warning
Doporučuje použití alespoň jednoho místního nastavení s UTF-8, jelikož některé aplikace jej mohou vyžadovat.

Dalším krokem je spuštění locale-gen. tento příkaz vygeneruje všechna místní nastavení specifikovaná v souboru /etc/locale.gen.

root #locale-gen

K ověření toho, že všechna zvolená místní nastavení jsou k dispozici spusťte locale -a.

Jakmile je vše hotovo, je čas zvolit systémové místní nastavení. Opět k tomu použijeme eselect, nyní s modulem locale.

Pomocí eselect locale list, zobrazíme dostupné volby:

root #eselect locale list
Dostupné volby proměnné LANG:
  [1] C
  [2] POSIX
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] de_DE
  [7] de_DE.iso88591
  [8] de_DE.iso885915
  [9] de_DE.utf8
  [ ] (free form)

Pomocí eselect locale set HODNOTA můžeme nastavit správné místní nastavení:

root #eselect locale set 9

Ručně lze téhož dosáhnout prostřednictvím souboru /etc/env.d/02locale:

FILE /etc/env.d/02localeManually Ruční nastavení systémové definice místního nastavení
LANG="de_DE.UTF-8"
LC_COLLATE="C"

Ujistěte se, že je místní nastavení provedeno, jinak bude systém později zobrazovat varování a chyby v průběhu sestavování jádra a nasazování softwaru v pozdějších fázích instalace.

Nyní znovu načtěte prostředí:

root #env-update && source /etc/profile && export PS1="(chroot) $PS1"

Vytvořili jsme kompletního Průvodce místním nastavením, který pomáhá provést uživatele tímto procesem. Dalším článkem hodným pozornosti je průvodce UTF-8 obsahující informace zvlášť k povolení URF-8 v systému.