Handbook:IA64/Installation/Stage/cs
Instalace stage balíku
Nastavení data a času
Před nainstalováním Gentoo je dobré zabezpečit správné nastavení datumu a času. Špatně nastavené hodiny mohou vést ke zvláštním výsledkům: základní soubory systému by měly být rozbaleny se správnými časovými značkami. Dokonce je možné, že v důsledku použití šifrované komunikace (SSL/TLS) u mnoha webových stránek a služeb, nemusí jít vůbec stáhnout instalační soubory, pokud budou hodiny příliš posunuté!
Ověřte aktuální datum a čas spuštěním příkazu date:
root #
date
Po Říj 3 13:16:22 PDT 2016
Pokud je zobrazené datum/čas chybné, aktualizujte ho jedním z následujících způsobů.
Automaticky
Most readers will desire to have their system update the time automatically using a time server.
Máte-li základní desku bez hodin reálného času (RTC), měly byste nastavit automatickou synchronizaci systémového času s časovým serverem. To se týká i systémů, které mají RTC, ale nefunguje jim baterie.
Oficiální instalační média Gentoo obsahují příkaz ntpd (dostupný v balíčku net-misc/ntp). Oficiální média obsahují konfigurační soubor směřující na časové servery ntp.org. Ty mohou být použity k automatické synchronizaci systémových hodin k času UTC prostřednictvím časového serveru. Použití této metody vyžaduje funkční připojení k síti a nemusí být k dispozici na všech architekturách.
Automatická synchronizace času má svoji cenu. Odhalí časovému serveru (v příkladu níže ntp.org) IP adresu systému a související síťové informace. Uživatelé dbající o své soukromí by si toho měli být vědomi před tím, než se se pustí do nastavení času tímto způsobem.
root #
ntpd -q -g
Ručně
Příkaz date může být použit také k ručnímu nastavení času systémových hodin. Použijte syntaxi MMDDhhmmYYYY
(měsíc, den, hodina, minuta a rok).
Na všech Linuxových systémech se doporučuje používat čas UTC. Později během instalace určíme časovou zónu. Tím změníme zobrazení hodin na místní čas.
Příklad nastavení datumu na 3. října, 13.16 v roce 2016:
root #
date 100313162016
Výběr balíku stage
Not every architecture has a multilib option. Many only run with native code. Multilib is most commonly applied to amd64.
Multilib (32 and 64bitový)
Výběr základního stage balíku může později ušetřit spoustu čas během procesu instalace, zvláště ve chvíli, kdy budete vybírat profil systému. Vyběr stage balíku má přímý dopad na budoucí konfiguraci systému a může vám později ušetřit muka. Balík multilib obsahuje, je-li to možné, 64bitové knihovny a jako zálohu volí 32bitové verze pouze tehdy, je-li to potřeba z pohledu kompatibility. Jde o vynikající volbu pro většinu instalací, jelikož poskytuje vysokou míru flexibility a přizpůsobení v budoucnosti. Ti, kteří touží po tom, aby byl jejich systém schopen snadno měnit profily, by měli stáhnout balík multilib pro svoji procesorovou architekturu.
Většina uživatelů nemusí používat nabízené "pokročilé" balíky; jsou určeny pro specifické konfigurace softwaru a hardwaru.
Ne-multilib (čistě 64bitový)
Vyberete-li non-multilib balík jako základ pro systém poskytne výhradně 64bitové prostředí operačního systému. Tím se stává možnost přejít na multilib profil nepravděpodobné, i když stále možné. Ti, kteří s Gentoo teprve začínají by neměli volit non-multilib balík pokud to není absolutně nezbytné.
Vemte na vědomí, že přechod z ne-multilib na multilib systém vyžaduje extrémní znalosti fungování Gentoo a nízkoúrovňových nástrojů (dokonce i našim vyvojářům základních nástrojů by proběhl mráz po zádech). Není to nic pro slabé povahy a jedná se o záležitost, která je mimo záběr tohoto průvodce.
OpenRC
OpenRC is a dependency-based init system (responsible for starting up system services once the kernel has booted) that maintains compatibility with the system provided init program, normally located in /sbin/init. It is Gentoo's native and original init system, but is also deployed by a few other Linux distributions and BSD systems.
OpenRC does not function as a replacement for the /sbin/init file by default and is 100% compatible with Gentoo init scripts. This means a solution can be found to run the dozens of daemons in the Gentoo ebuild repository.
systemd
systemd is a modern SysV-style init and rc replacement for Linux systems. It is used as the primary init system by a majority of Linux distributions. systemd is fully supported in Gentoo and works for its intended purpose. If something seems lacking in the Handbook for a systemd install path, review the systemd article before asking for support.
It is technically possible to switch a running Gentoo installation from OpenRC to systemd and back. However, switching requires some effort and is outside the scope of this installation manual. Before downloading a stage tarball, decide whether OpenRC or systemd will be used as the target init system and download the relevant stage tarball.
Stažení archivu stage
Přejděte do přípojného bodu, kam jste připojili kořenový systém souborů (nejspíše /mnt/gentoo):
root #
cd /mnt/gentoo
Grafické prohlížeče
Ti, kteří používají prostředí s plně grafickými prohlížeči nebudou mít problém zkopírovat URL ze sekce download hlavní webové stránky. Jednoduše zvolte odpovídající tab, klikněte pravým tlačítkem na odkaz stage souboru, potom na Zkopírovat adresu odkazu (Firefox) nebo Zkopírovat umístění odkazu (Chromium), abyste zkopírovali odkaz do schránky, následně předejte odkaz nástroji wget na příkazovém řádku, abyste archiv stáhli:
root #
wget <VLOŽENÁ_URL_STAGE>
Prohlížeče příkazového řádku
Tradicionalisté nebo "staří" uživatelé Gentoo pracující výhradně v příkazovém řádku mohou upřednostňovat použití programu links, negrafického prohlížeče ovládaného pomocí menu. Ke stažení stage surfujte na seznam zrcadel Gentoo tímto způsobem:
root #
links https://www.gentoo.org/downloads/mirrors/
HTTP proxy s prohlížečem links použijete tak, že mu předáte volbu -http-proxy
:
root #
links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/
Vedle links můžete použít také prohlížeč lynx. Stejně jako links se jedná o negrafický prohlížeč, který však nemá menu.
root #
lynx https://www.gentoo.org/downloads/mirrors/
Pokud potřebujete definovat proxy, exportujte proměnné http_proxy a/nebo ftp_proxy.
root #
export http_proxy="http://proxy.server.com:port"
root #
export ftp_proxy="http://proxy.server.com:port"
V seznamu zvolte zrcadlo umístěné někde oblíž. Obvykle postačí HTTP zrcadla, ale ostatní protokoly jsou v nabídce také. Přesuňte se do adresáře releases/ia64/autobuilds/. Zobrazí se vám veškeré nabízené soubory stage (mohou být uloženy v podadresářích pojmenovaných podle jednotlivých subarchitekturách). Jeden z nich vyberte a stiskněte d, čímž dojde ke stažení.
Jakmile je soubor stage stažen, je možné ověřit integritu a potvrdit obsah stage archivu. Ti, které to zajímá, nechť přejdou do další sekce.
Ti, kteří nemají zájem ověřovat a potvrzovat soubor stage mohou zavřít prohlížeč v příkazovém řádku stisknutím q a přesunout se přímo do sekce rozbalení stage archivu.
Ověření a potvrzení
Most stages are now explicitly suffixed with the init system type (openrc or systemd), although some architectures may still be missing these for now.
Stejně jako u minimálních instalačních CD jsou k dispozici i doplňkové soubory k ověření a kontrole souboru stage. I když mohou být tyto kroky přeskořeny, jsou tyto soubory poskytovány uživatelům, kteří dbají na legitimitu souboru(ů), které stáhli.
root #
wget https://distfiles.gentoo.org/releases/
- Soubor .CONTENTS obsahuje seznam všech souborů v balíku.
- Soubor .DIGESTS obsahuje kontrolní součty souboru stage dle různých algoritmů.
- Soubor .DIGESTS.asc obsahuje stejně jako soubor .DIGESTS kontrolní součty souboru stage dle různých algoritmů a navíc je zároveň kryptograficky podepsán pro ověření toho, že pochází z projektu Gentoo.
Použijte příkaz openssl a porovnejte výstup s kontrolními součty obsaženými v souborech .DIGESTS nebo .DIGESTS.asc.
Například ověření kontrolního součtu SHA512 provedete takto:
root #
openssl dgst -r -sha512 stage3-ia64-<release>.tar.?(bz2|xz)
dgst
instructs the openssl command to use the Message Digest sub-command, -r
prints the digest output in coreutils format, and -sha512
selects the SHA512 digest.
Ověření kontrolního součtu Whirpool:
root #
openssl dgst -r -whirlpool stage3-ia64-<release>.tar.?(bz2|xz)
Porovnejte výstupy těchto příkazů s hodnotami zapsanými v souborech .DIGESTS(.asc). Hodnoty se musí shodovat, v opačném případě mohlo dojít k porušení staženého souboru (nebo souboru se součty).
Jiným cestou je použití příkazu sha512sum:
root #
sha512sum stage3-ia64-<release>.tar.?(bz2|xz)
The --check
option instructs sha256sum to read a list of expected files and associated hashes, and then print an associated "OK" for each file that calculates correctly or a "FAILED" for files that do not.
Stejně jako u souboru ISO je možné ověřit kryptografický podpis souboru .DIGESTS.asc pomocí příkazu gpg a ověřit tak, že kontrolní součty nebyly měněny:
For official Gentoo live images, the sec-keys/openpgp-keys-gentoo-release package provides PGP signing keys for automated releases. The keys must first be imported into the user's session in order to be used for verification:
root #
gpg --import /usr/share/openpgp-keys/gentoo-release.asc
For all non-official live images which offer gpg and wget in the live environment, a bundle containing Gentoo keys can be fetched and imported:
root #
wget -O - https://qa-reports.gentoo.org/output/service-keys.gpg | gpg --import
Verify the signature of the tarball and, optionally, associated checksum files:
root #
gpg --verify stage3-ia64-<release>.tar.?(bz2|xz){.DIGESTS.asc,}
If verification succeeds, "Good signature from" will be in the output of the previous command(s).
The fingerprints of the OpenPGP keys used for signing release media can be found on the release media signatures page.
Rozbalení souboru stage
Nyní stažený stage soubor rozbalte do systému. K tomu použijeme příkaz tar:
root #
tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner
Přesvědčte se, že jste použili stejné volby (xpf
a --xattrs-include='*.*'
). Volba x
znamená extrahovat, p
zachovat (angl. preserve) oprávnění a f
značí, že chceme rozbalit soubor (ang. file), nikoli standardní vstup. Volba --xattrs-include='*.*'
zajistí zahrnutí rozšířených atributů, které jsou v archivu také uloženy. Konečně volba --numeric-owner
se použije k zajištění, že uživatelská a skupinová ID souborů rozbalených z archivu zůstanou stejná, dle záměrů týmu Gentoo spravujícího vydání distribuce (i když dobrodružní uživatelé nepoužijí oficiální instalační média Gentoo).
The options starting with the double dash (--
) do not have a short parameters. --xattrs-include='*.*'
is to include preservation of the the extended attributes in all namespaces stored in the archive. Finally, --numeric-owner
is used to ensure that the user and group IDs of the files being extracted from the tarball will remain the same as Gentoo's release engineering team intended (even if adventurous users are not using official Gentoo live environments for the installation process).
Nyní, když je stage soubor rozbalený, pokračujte ke konfiguraci kompilačních voleb.
Konfigurace kompilačních voleb
Úvod
Gentoo je možné vyladit nastavením několika proměnných, které mají dopad na chování Portage, oficiálního správce balíčků Gentoo. Všechny proměnné mohou být nastaveny jako proměnné prostředí (pomocí příkazu export), nicméně to není trvalé řešení. Nastavení se uchovává v konfiguračním souboru /etc/portage/make.conf, odkud je Portage načítá.
Technically variables can be exported via the shell's profile or rc files, however that is not best practice for basic system administration.
Portage reads in the make.conf file when it runs, which will change runtime behavior depending on the values saved in the file. make.conf can be considered the primary configuration file for Portage, so treat its content carefully.
Komentovaný výpis všech možných proměnných lze najít v souboru /mnt/gentoo/usr/share/portage/make.conf.example. K úspěšnému nainstalování Gentoo je třeba nastavit pouze proměnné uvedené níže.
For a successful Gentoo installation only the variables that are mentioned below need to be set.}}
Spusťte editor (v tomto průvodci používáme nano) a upravte optimalizační proměnné, které nyní probereme.
root #
nano -w /mnt/gentoo/etc/portage/make.conf
Ze souboru make.conf.example je zjevné, jak má být uspořádán: komentované řádky začínají "#", ostatní řádky definují proměnné prostřednictvím syntaxe PROMENNA="obsah". Nyní se podíváme na několik z těchto proměnných.
CFLAGS a CXXFLAGS
Proměnné CFLAGS a CXXFLAGS definují optimalizační parametry C potažmo C++ kompilátorů GCC. Na tomto místě se definují všeobecně, pro dosažení maximálního výkonu by musely být nastaveny pro každý program zvlášť. Důvodem je, že každý program je různý. Nicméně to není únosné, proto se tyto volby nastavují v souboru make.conf.
V souboru make.conf by měly být obecně nastaveny takové optimalizační přepínače, jejichž použití povede k co nejlepší odezvě systému. Do této proměnné neumisťujte experimentální nastavení; příliš mnoho optimalizací může způsobit špatné chování programů (pády nebo hůře, závadné chování).
Nebudeme zde popisovat všechny možnosti vyladění. Nastudovat si je můžete v GNU online manuálu nebo info stránce gcc (info gcc - lze spustit jen ve fungujícím systému Linux). Také samotný soubor make.conf.example obsahuje mnoho příkladů a informací, nezapomeňte si jej také přečíst.
Prvním nastavením je hodnota parametru -march=
nebo -mtune=
, který stanoví jméno cílové architektury. Možné volby jsou popsány v souborumake.conf.example (jako komentáře). Běžně používanou hodnotou je "native", která kompiléru říká, aby používal cílovou architekturu daného systému (toho, na nějž uživatel instaluje Gentoo).
Druhým je parametr -O
(jedná se o velké O, nikoli o nulu), který určuje třídu optimalizací gcc. Možné třídy jsou s (pro optimalizaci velikosti), 0 (nula - žádné optimalizace), 1, 2 nebo dokonce 3 pro více urychlujících optimalizací (každá třída obsahuje stejné parametry, jako ta přechozí a k tomu nějaké další). -O2
je doporučenou výchozí hodnotou. O -O3
je známo, že při plošném použití v celém systému způsobuje problémy, tudíž doporučujeme držet se -O2
.
Dalším oblíbeným optimalizačním parametrem je -pipe
(použije roury namísto dočasných souborů ke komunikaci mezi různými fázemi kompilace). Ten nemá dopad na generovaný kód, ale používá více paměti. V systémech s nízkým množstvím paměti může kvůli tomu dojít k zabití gcc. V takovém případě tento parametr nepoužívejte.
Použití -fomit-frame-pointer
(který nezachová frame pointer v registru pro funkce, které jej nepotřebují) může mít závažné dopady na debugging aplikací.
Jakmile jsou proměnné CFLAGS a CXXFLAGS definovány, složte optimalizační přepínače do jednoho řetězce. Výchozí hodnoty obsažené ve stage3 archivu by měly být dostatečné. Následující zápis je pouze příkladem:
# Přepínače kompilátoru používané pro všechny jazyky
COMMON_FLAGS="-O2 -pipe"
# Použij stejnou hodnotu pro obě proměnné
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
Ačkoli článek o optimalizaci GCC obsahuje více informací o tom, jak mohou různé volby kompilace ovlivnit systém, může být pro začátečníka praktičtější začít s optimalizací systému článkem o bezpečném nastavení CFLAG.
MAKEOPTS
Proměnná MAKEOPTS určuje, kolik paralelních kompilací může být prováděno při instalaci balíku. Dobrou volbou je počet CPU (nebo jader CPU) v systému plus jedna, ale toto vodítko není vždy dokonalé.
A good choice is the smaller of: the number of threads the CPU has, or the total amount of system RAM divided by 2 GiB.
Using a large number of jobs can significantly impact memory consumption. A good recommendation is to have at least 2 GiB of RAM for every job specified (so, e.g.
-j6
requires at least 12 GiB). To avoid running out of memory, lower the number of jobs to fit the available memory.When using parallel emerges (
--jobs
), the effective number of jobs run can grow exponentially (up to make jobs multiplied by emerge jobs). This can be worked around by running a localhost-only distcc configuration that will limit the number of compiler instances per host.MAKEOPTS="-j2"
Search for MAKEOPTS in man 5 make.conf for more details.
Připravit, pozor, teď!
Upravte soubor /mnt/gentoo/etc/portage/make.conf tak, aby odpovídal vašim osobním preferencím a uložte jej (uživatelé nano stisknou Ctrl+X).
Pak pokračujte na Instalace základu systému Gentoo.
References