Gentoo Linux -- FAQ (časté otázky)
1.
Dotazy:
Začínáme
Mnoho těchto dotazů je zodpovězeno v oficiálních dokumentech a příručkách.
Tento seznam je pouze přehled těch nejčastěji opakovaných. Pro lepší porozumění
fungování Gentoo a GNU/Linuxu a pro odpovědi na další otázky si prosím přečtěte
dokumentaci a příslušné manuálové stránky.
Instalace
Správa balíčků
Používání
Údržba
Vývoj
Zdroje
2.
Začínáme
Jak se Gentoo vyslovuje, co to slovo znamená?
Gentoo je druh malého a rychlého tučňáka, "g" se vyslovuje podobně
jako u slova gin. Latinské jméno tohoto tučňáka je Pygoscelis papua,
česky se jmenuje tučňák oslí. Jméno Gentoo dostal od obyvatel
Falklandských ostrovů (Malvin).
Čím se Gentoo liší?
Gentoo používá systém podobný BSD portům, zvaný Portage. Portage je systém správy balíčků,
umožňující velkou pružnost při instalaci a údržbě softwaru v Gentoo.
Dovoluje nastavení různých voleb při překladu programů (pomoci USE flagů),
podmíněné závislosti, informace o plánované instalaci, bezpečnou instalaci
(pomocí tzv. sandboxu) a odinstalaci programů, systémové profily, ochranu
konfiguračních souborů a má i další charakteristiky.
S Gentoo můžete vytvořit kompletní systém ze zdrojových kódů
s optimalizacemi dle vaší volby. Máte úplnou kontrolu nad tím, které
balíčky budou nebo nebudou nainstalovány. Gentoo vám poskytuje nespočet
možností, takže si můžete upravit instalaci Gentoo podle vlastní chuti. Proto
je Gentoo označované za metadistribuci.
Gentoo je vyvíjeno velmi aktivně. Celá distribuce se velmi svižně vyvíjí -
záplaty balíčků jsou velmi rychle integrovány do hlavního stromu, dokumentace se
denně upravuje, do Portage jsou často přidávány nové vlastnosti, oficiální verze
jsou uvolňovány jednou za půl roku.
3.
Instalace
Programy jsou velmi nestabilní, používám tyto
optimalizace: "-O9 -ffast-math -fomit-frame-pointer". Co s tím?
Nemá smysl používat cokoliv vyššího, než -O3, protože to současné
verze gcc neumožňují. Agresivní optimalizace někdy způsobí, že překladač
urychlí kód do té míry, že už nedělá přesně to samé.
Předtím, než nahlásíte chybu, zkuste prosím přeložit program s CFLAGS
-O2 -march=<vaše_architektura>.
Jak změním heslo roota (nebo libovolného jiného uživatele)?
Ke změně hesla právě přihlášeného uživatele můžete použít passwd. Jako
root můžete změnit heslo jakéhokoli uživatele příkazem passwd
uživatelské_jméno. Pro další volby a nastavení si prosím po dokončení
instalace přečtěte man passwd.
Jak přidám dalšího obyčejného uživatele?
Příkaz adduser jenicek přidá uživatele "jenicek". Tento postup však nově
vytvořenému uživateli nedá mnoho práv, která mu pravděpodobně chcete udělit, a
proto je lepší použít následující příkaz:
Výpis kódu 3.1: Použití useradd |
# useradd -m -G users,audio,wheel jenicek
|
Toto přidá uživatele "jenicek". Parametr audio jej přidá do stejnojmenné
skupiny, a tudíž umožní použití zařízení pro práci se zvukem. Parametr
wheel zařídí členství ve skupině wheel, což umožní použití příkazu
su pro změnu uživatelských práv na roota.
Proč se uživatel nemůže přihlásit jako root příkazem su?
Z bezpečnostních důvodů se mohou přihlásit jako root příkazem su jen
uživatelé patřící do skupiny wheel. Následujícím příkazem může root
přidat uživatele do skupiny wheel:
Výpis kódu 3.2: Přidání uživatele do skupiny wheel |
# gpasswd -a uživatel wheel
|
Jak se zbavím devfs?
Gentoo umí pracovat s devfs v jádře, udev v uživatelské oblasti i
se statickým /dev. Od té doby, kdy je kernel řady 2.6 stabilní
na většině architektur, je doporučeno řešení s udev. Pro informace o
konfiguraci udev si prosím přečtěte příručku
k udev.
Přejete-li si používat statický /dev, nastavte prosím
v souboru /etc/conf.d/rc RC_DEVICES="static".
Mohu přejít na vyšší verzi Gentoo bez nové instalace?
Ve skutečnosti neexistuje rozdíl mezi různými verzemi po jejich
nainstalování. Gentoo 1.4 a novější jsou založeny na glibc-2.3.x.
Příkazy emerge --sync; emerge -u world dostanou celý váš systém na
úroveň "nejnovějšího Gentoo". Rozdíly mezi jednotlivými verzemi spočívají pouze
v instalačním médiu a předkompilovaných balíčcích. Aktualizace Gentoo podává více
informací o profilech a jejich úloze při aktualizaci.
Další informace můžete získat v
Příručce k aktualizaci Gentoo.
Mé jádro nebootuje, co teď?
Nemusíte opakovat kompletní instalaci, ale jen kroky související s jádrem.
Předpokládejme, že Gentoo máte nainstalováno na /dev/hda1
(/boot) a /dev/hda3 (/) se swapem na /dev/hda2:
Výpis kódu 3.3: Reconfiguring the kernel |
# mount /dev/hda3 /mnt/gentoo
# mount /dev/hda1 /mnt/gentoo/boot
# swapon /dev/hda2
# mount -t proc none /mnt/gentoo/proc
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/src/linux
# make menuconfig
# make && make modules_install
# cp arch/i386/boot/bzImage /boot/<jméno-jádra>
# /sbin/lilo
# exit
# umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
# reboot
|
Pokud ovšem spočívá problém v nastavení zavaděče, postupujte stejným
způsobem, ale místo konfigurace a překladu jádra nastavte správně zavaděč
(jeho rekompilace není nutná).
Má proxy vyžaduje autentizaci, co musím udělat?
Pokud má tento způsob Portage používat automaticky, nastavte
v /etc/make.conf:
Výpis kódu 3.4: /etc/make.conf |
HTTP_PROXY="http://jméno:heslo@stroj-s-proxy.org:čísloportu"
FTP_PROXY="ftp://jméno:heslo@stroj-s-proxy.org:čísloportu"
RSYNC_PROXY="rsync://username:password@stroj-s-proxy.org:čísloportu"
|
Jak vypálím ISO obraz?
Musíte vypálit soubor v tzv. raw módu. To znamená, že nesmíte
jen umístit soubor na CD; je třeba jej interpretovat jako obsah CD.
Existuje spousta vypalovacích nástrojů; popsat je všechny je úkol hodný Sisyfa.
Popis několika populárních ale neuškodí:
-
V EasyCD Creatoru vyberte File, Record CD from CD image.
Pak změňte Files of type na ISO image file. Pak vyberte ISO
obraz a klikněte na Open. Po kliknutí na Start recording
bude ISO obraz správně vypálen na CD-R.
-
V Nero Burning ROM vypněte průvodce, který se automaticky objeví, a
vyberte Burn Image z nabídky File. Vyberte obraz, který
chcete vypálit a klikněte na Open. Po kliknutí na tlačítko
Burn můžete začít sledovat, jak se vypaluje vaše nové CD.
-
Pokud chcete pálit pomocí cdrecordu, jednoduše použijte příkaz
cdrecord dev=/dev/hdc (/dev/hdc nahraďte za cestu
k vaší vypalovačce) následovaný cestou k ISO souboru.
-
V K3b vyberte Tools > CD > Burn Image. Pak
vyberte ISO obraz v rámečku Image to burn. Nakonec klikněte na
Start.
-
V MacOS X Pantheru spusťte Disk Utility
z Applications/Utilities, zvolte Open
z nabídky Images, vyberte připojený obraz disku z hlavního
okna a spusťte vypalování pomocí Burn v menu Images.
-
V MacOS X Jaguaru spusťte Disk Copy
z Applications/Utilities, zvolte Burn Image
z nabídky File, vyberte ISO obraz a klikněte na tlačítko
Burn.
Jaké CD a který stage bych měl použít pro svůj procesor?
Nejprve musíte zjistit, jaký procesor používáte. Předpokládejme, že se jedná
o Pentium M. Pak musíte zjistit, s jakým procesorem je kompatibilní
instrukční sada procesoru. Navštivte stránky výrobce procesoru, i když Google je přinejmenším stejně
efektivní :-).
Pokud si nejste jisti, vyberte "nižší" CD/stage, například i686, případně
"generic x86" (nebo jeho ekvivalent pro Vaši architekturu). Toto zajistí, že
systém bude pracovat, avšak nebude tak rychlý, jak by mohl být při použití
dalších optimalizací.
K dispozici je mnohem více voleb, než je použito pro vytváření
distribuovaných stage archivů. Pro popis nastavení -march prosím
konzultujte dokumentaci
gcc.
Po restartu nemohu přistupovat k síti; co je špatně?
Nejprve se musíte přesvědčit, že je Vaše síťová karta správně detekována
jádrem. Spusťte ifconfig -a a podívejte se, co říká o zařízení eth0
(nebo wlan0, pokud používáte bezdrátovou síťovou kartu). Je možné, že budete
muset načíst odpovídající jaderné moduly, aby kernel Vaši síťovou kartu
rozpoznal. Pokud je tomu tak, ujistěte se, že jsou tyto moduly zaznamenány
v /etc/modules.autoload.d/kernel-2.6 (případně
kernel-2.4, pokud stále používáte jádro řady 2.4).
Pokud jste do jádra zapomněli přídat podporu pro svoji síťovou kartu, budete
jej muset překonfigurovat a znovu přeložit.
Pokud jádro kartu rozpoznává, avšak Vaše síť používá DHCP, je možné, že jste
zapomněli spustit emerge dhcpcd. Rebootujte tedy
z Instalačního CD a nainstalujte dhcpcd.
Informace o tom, jak zachránit systém pomocí bootu z instalačních CD, jsou
samozřejmě k dispozici.
Chci bootovat Windows pomocí GRUBu nabo LILa, ale ukazuje se jenom černá
obrazovka. Co s tím je?
Je to známý problém. Pokud nejsou Windows nainstalovány na prvním disku,
odmítají nabootovat a ukazují prázdnou černou obrazovku. Abyste toto omezení
překonali, musíte je ošálit tak, aby si myslely, že jsou opravdu nainstalovány
na prvním disku; dosáhnete toho patřičnou úpravou konfigurace bootloaderu.
V následujícím příkladu je Gentoo nainstalováno na hda
(první disk) a Windows na hdb, upravte si jej podle potřeby.
Výpis kódu 3.5: Ukázka dualbootu s Windows - grub.conf |
title Windows XP
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,0)
chainloader +1
|
Výpis kódu 3.6: Ukázka dualbootu s Windows - lilo.conf |
other=/dev/hdb1
label=WindowsXP
table=/dev/hdb
map-drive = 0x80
to = 0x81
map-drive = 0x81
to = 0x80
|
Tento kód přesvědčí Windows, aby si myslely, že jsou na prvím disku, a ty se
nechají spustit. Více informací najdete v
dokumentaci GRUBu a v man lilo.conf podle vašeho zavaděče.
Jak mohu nainstalovat Gentoo ze stage1 či stage2?
Gentoo Handbook popisuje pouze instalaci ze stage3. Přesto jsou však stále
k dispozici i archivy stage1 a stage2, zejména kvůli potřebám vývoje (tým
Release Engineering vytváří stage3 ze stage1). Tyto archivy by
uživatelé neměli používat — i ze stage3 je možné kompletně nainstalovat
("bootstrap") systém. Je potřeba funkční připojení k Internetu.
Bootstrapping je sestavení toolchainu (knihovna jazyka C a kompilátor),
který můžete použít k následné instalaci všech klíčových částí systému.
Tento proces je nejsnáze aplikovatelný postupem od stage3. Předtím, než začnete
postupovat podle kapitoly Konfigurace jádra, proveďte v souboru
bootstrap.sh patřičné změny podle svých potřeb a spusťte jej:
Výpis kódu 3.7: Bootstrap systému |
# cd /usr/portage/scripts
# vi bootstrap.sh
# ./bootstrap.sh
|
Dále znovu přeložte všechny systémové balíčky pomocí nového toolchainu. Nový
překlad je potřeba kvůli tomu, že je stage3 již obsahuje:
Výpis kódu 3.8: Překlad klíčových systémových balíčků |
# emerge -e system
|
Nyní můžete pokračovat konfigurací jádra. Za zmínku však stojí, že
již nelze použít předkompilované GRP balíčky.
4.
Správa balíčků
Jaký je formát balíčků?
Balíčky nejsou ve stromu Portage uloženy "celé", namísto toho používáme
skripty pro řešení závislostí, stažení zdrojových kódů a kompilaci daného
balíčku. Binárky sestavujeme obecně pouze pro vydávané verze distribuce. Gentoo Ebuild
HOWTO popisuje tyto skripty do větší hloubky.
Pro pravidelně uvolňované verze Gentoo vytváříme celou řadu binárních balíčků
ve vylepšeném formátu .tbz2 (s metadaty připojenými na konec
souboru, kompatibilní s běžným .tbz2). Tyto předkompilované balíčky
mohou být použity pro rychlou (avšak ne plně optimalizovanou) instalaci funkční
verze balíčků.
Je možné vytvořit RPM balíčky (Redhat package manager) pomocí Portage, avšak
nelze použít stávající RPM balíčky pro instalaci.
Chci si část ./configure při kompilaci balíčku zařídit sám. Mohu?
Ano, avšak není to jednoduché ani doporučené. Protože takový postup vyžaduje
dobré porozumění vnitřním mechanismům Portage, je namísto toho doporučeno
modifikovat daný ebuild podle potřeby a umístit jej do překryvného adresáře
(overlay). Je to mnohem jednodušší pro správu a většinou i snadnější.
Více informací naleznete v dokumentu Ebuild
HOWTO.
Jak mám používat emerge, jsem-li za firewallem?
Viz dotazy na proxy, rsync a
ruční stahování zdrojových kódů.
Co dělat, když mi nefunguje rsync?
Pokud jste za firewallem, který nepovoluje rsync, můžete použít
emerge-webrsync, který vám stáhne a nainstaluje aktuální Portage přes
obyčejný HTTP. Pro informace o stahování zdrojových kódů a snapshotů stromu
Portage si prosím přečtěte část pojednávající o proxy.
Doma mám jen pomalé modemové připojení. Mohu stáhnout programy jinde a
přidat je do svého systému?
Určitě. Můžete spustit emerge --pretend balíček a zjistit tak, jaké
programy se budou instalovat. Příkazem emerge -fp balíček zjistíte jména
potřebných souborů a adresy pro jejich stažení. Stáhněte je a doneste domů na
libovolném médiu. Nakopírujte stažené soubory do
/usr/portage/distfiles/ a spusťte příkaz emerge balíček. Je
to však trošku únavné řešení.
Je bezpečné smazat zdrojové balíčky z /usr/portage/distfiles?
Jejich smazání nebude mít škodlivý vliv na činnost systému, avšak je doporučeno
si ponechat k dispozici poslední verzi od každého, protože je často
vydáváno více balíčků používajících stejnou verzi zdrojového archivu. Pokud je
smažete a budete aktualizovat, bude potřeba stáhnout tyto balíčky znovu
z Internetu. Uživatelé vyvinuli
některé programy, které mažou všechny verze kromě nejnovější. Tento postup
může fungovat, avšak skripty nejsou oficiálně podporované; používejte je
pouze na vlastní nebezpečí.
Co se nachází v /var/tmp/portage? Je bezpečné smazat soubory a adresáře
v /usr/tmp/portage?
Gentoo si během překladu ukládá zdrojové kódy balíčků v adresáři
/vat/tmp/portage. Tyto soubory a adresáře jsou obvykle po úspěšné
instalaci smazány, avšak někdy automatika selže. Pokud emerge neběží,
můžete smazat veškerý obsah. Abyste si byli jisti, můžete před mazáním použít
příkaz pgrep emerge.
5.
Používání
Jak nastavím národní rozložení klávesnice?
Nastavte proměnnou KEYMAP v /etc/conf.d/keymaps. Aby
správně pracovaly i rozšířené znaky, možná budete muset odpovídajícím způsobem
nastavit i proměnné CONSOLETRANSLATION a CONSOLEFONT
ze souboru /etc/conf.d/consolefont (pro více informací o
lokalizaci viz lokalizační
přiručku). Nakonec buď restartujte počítač, nebo jen příslušný skript:
Výpis kódu 5.1: Restart keymaps |
# /etc/init.d/keymaps restart
# /etc/init.d/consolefont restart
|
Překlad IP adres pomocí DNS funguje jen rootovi
Soubor /etc/resolv.conf má špatná práva; nastavte je následujím
příkazem:
Výpis kódu 5.2: Changing permissions on /etc/resolv.conf |
# chmod 0644 /etc/resolv.conf
|
Proč nemůže můj uživatel použít svůj vlastní crontab?
Musíte uživatele přidat do skupiny cron.
Jak zařídím, aby byl numlock po startu zapnutý?
Přihlašujete-li se do konzole, potřebujete udělat pouze rc-update add numlock
default &&/etc/init.d/numlock start.
Různá GUI poskytují pro podobná nastavení různé nástroje; podívejte se prosím do
nápovědy nebo na Internet.
Jak automaticky vymazat obrazovku terminálu po odhlášení?
Pro vymazání vašeho terminálu přidejte clear do skriptu
~/.bash_logout:
Výpis kódu 5.3: Vymazání terminálu po odhlášení |
$ echo clear >> ~/.bash_logout
|
Pokud toto chování chcete automaticky nastavit u každého nového uživatele,
zopakujte totéž se souborem /etc/skel/.bash_logout:
Výpis kódu 5.4: Vymazání terminálu po odhlášení pro nově vytvářené uživatele |
# echo clear >> /etc/skel/.bash_logout |
Po přihlášení jako root pomocí su nemohu spustit grafické programy.
Toto chování se, jak se zdá, objevuje jen při přihlašování v grafickém
prostředí. Uživatelé spouštějící X-server příkazem startx se
s tímto chováním nesetkávají. Problém je popsán v bugreportu o nastavení
PAM v Gentoo, nicméně řešení je jednoduché: přidejte následující řádek do
/etc/profile:
Výpis kódu 5.5: Export proměnné XAUTHORITY |
export XAUTHORITY="${HOME}/.Xauthority"
|
6.
Údržba
ReiserFS a problémy s poškozením souborového systému -- jak je vyřešit atd.
Jestliže máte poškozený oddíl s ReiserFS, zkuste spustit instalační CD
Gentoo a z něj reiserfsck --rebuild-tree na poškozeném systému.
To by mělo obnovit konzistenci systému, přesto kvůli poškození může dojít
ke ztrátě některých souborů či adresářů.
7.
Vývoj
Kam mohu hlásit chyby?
Použijte naši Bugzillu. Nevíte-li,
zda jde opravdu o chybu, navštivte kanál #gentoo (pouze anglicky) nebo
#gentoo.cs (česky a slovensky); obojí na IRC síti FreeNode.
Jak často vychází nové verze?
Balíčky jsou zpravidla aktualizovány krátce poté, co je jejich autoři uvolní.
Co se týká samotného Gentoo a nových stage souborů, profilů a ISO souborů,
podívejte se na projekt Release Engineering.
Nové verze jsou ohlašovány v poštovní konferenci gentoo-announce. Pro více informací si rovněž
přečtěte dotaz na aktualizace.
Můj počítač pípá jako šílený. Jak mohu pípání v konzoli vypnout?
Pípání v konzoli může být vypnuto pomocí setterm:
Výpis kódu 7.1: Použítí setterm |
# setterm -blength 0
|
Pokud chcete vypnout pípání v konzoli hned při startu počítače, musíte
přidat tento příkaz do /etc/conf.d/local.start. To ovšem vypne
pípání jen na aktuálním terminálu. Vypnutí na ostatních terminálech,
zařídíte přesměrováním výstupu příkazu na cílový terminál:
Výpis kódu 7.2: Použití setterm, jiný terminál |
# setterm -blength 0 >/dev/vc/1
|
/dev/vc/1 nahraďte terminálem, na němž chcete pípání vypnout.
8.
Zdroje
Kde mohu nalézt další informace o Gentoo Linuxu?
Oficiální dokumentaci Gentoo naleznete na
http://www.gentoo.org/doc/cs/.
Mohu si koupit CD s Gentoo Linuxem?
Instalační CD pro všechny podporované architektury jsou k dispozici
v našem obchodu.
Zakoupením CD rovněž podporujete vývoj distribuce, takže, pokud můžete, zvažte
to.
Aktuální CD naleznete i u různých dalších prodejců, jejichž seznam je na
stránce Get Gentoo!.
V tomto dokumentu jsem nenalezl odpověď na svou otázku. Co mám dělat?
Jako první krok je záhodno projít si příslušnou dokumentaci, pokud
neuspějete, hledejte různé konference Gentoo Linuxu na Googlu. Pro vyhledání slova "foo"
v konferencích zadejte "lists.gentoo.org foo". Pokud všechno ostatní selže
nebo pokud chcete poklábosit lidmi okolo Gentoo, navštivte naše IRC:
kanál #gentoo (anglicky) nebo #gentoo.cs (česky a slovensky)
na irc.freenode.net.
Obsah tohoto dokumentu je licencován pod licencí Creative Commons -
Attribution / Share Alike.
|