Gentoo, często zadawane pytania
1.
Pytania
Wprowadzenie
Odpowiedzi na wiele z tych pytań można znaleźć w oficjalnej dokumentacji Gentoo.
Ten dokument jest po prostu zbiorem częstych pytań. Więcej informacji na
poruszone tu tematy można zdobyć na odpowiednich stronach man i w pozostałej
części oficjalnej dokumentacji. Tam również można znaleźć odpowiedzi na pytania,
które nie są zawarte w tym dokumencie.
Zaczynamy
Instalacja
Zarządzanie pakietami
Użytkowanie
Obsługa
Rozwój
Zasoby
2.
Zaczynamy
Jak wymawia się wyraz Gentoo i co on oznacza?
Gentoo wymawia się jako "dżentu". Naukową nazwą pingwina Gentoo jest
Pygoscelis papua. Nazwa Gentoo została nadana pingwinowi przez
mieszkańców Falklandów.
Co wyróżnia Gentoo?
Gentoo używa wzorowanego na tym z BSD zbioru pakietów, który nazywa się Portage. Nasz system zarządzania
pakietami zapewnia dużą elastyczność podczas instalacji oraz korzystania
z programów w Gentoo. Pozwala na łatwy wybór opcji kompilacji (za pomocą flag USE),
dobrą obsługę zależności, wyświetla podsumowania przed instalacją, a także
pozwala na bezpieczną instalację i usuwanie oprogramowania (za pomocą sandbox),
zawiera zestaw profili systemowych i ochronę
plików konfiguracyjnych. Wszystkie cechy Portage
zostały opisane w osobnym rozdziale Podręcznika.
W Gentoo można zbudować cały system ze źródeł używając własnych
optymalizacji. Posiada się całkowitą kontrolę wyboru pakietów do instalacji.
Gentoo pozwala na dokonanie wielu własnych wyborów, można je zainstalować według
własnych upodobań, dlatego jest nazywane metadystrybucją.
Gentoo jest szybko rozwijającą się dystrybucją. Poprawki do pakietów są bardzo
szybko dodawane do głównego drzewa, dokumentacja jest aktualizowana codziennie,
bardzo często do Portage dodawane są nowe funkcje. Oficjalne wydania Gentoo są
publikowane dwa razy do roku.
3.
Instalacja
System jest niestabilny przy optymalizacjach "-O9 -ffast-math
-fomit-frame-pointer". Dlaczego?
Nie ma potrzeby używania opcji wyższych niż -O3, ponieważ obecne wersje
GCC tego nie wspierają. Bardzo agresywne optymalizacje czasami powodują
uproszczenie składanego kodu tak, że nie pełni on już takiej roli jaką
powinien.
Przed zgłoszeniem błędu, należy spróbować kompilacji z następującymi
ustawieniami CFLAGS: -O2 -march=<architektura>.
Jak zmienić hasło użytkownika root (lub dowolnego innego)?
Należy użyć polecenia passwd, aby zmienić hasło zalogowanego użytkownika.
Jako root można zmienić hasło dowolnego użytkownika wykonując passwd
nazwa_użytkownika. Aby dowiedzieć się więcej o dodatkowych opcjach i
ustawieniach, należy zajrzeć do man passwd.
Jak dodać użytkownika?
Polecenie adduser nazwa_użytkownika doda użytkownika o nazwie
"nazwa_użytkownika". Jednakże ta metoda nie daje użytkownikowi wielu praw, które
zapewne chciałby uzyskać, więc lepsze jest następujące polecenie:
Listing 3.1: Używanie useradd |
# useradd -m -G users,audio,wheel nazwa_użytkownika
|
Doda ono użytkownika o nazwie "nazwa_użytkownika". Opcja audio dodaje
go do grupy audio i zezwala na dostęp do urządzeń dźwiękowych. Opcja
wheel dodaje użytkownika do grupy wheel, która pozwala
użytkownikowi wykonać polecenie su, które z kolei pozwala uzyskać
przywileje użytkownika root.
Dlaczego nie można wejść na roota za pomocą polecenia su?
Z powodów bezpieczeństwa użytkownicy mogą wykonać polecenie su tylko
jeśli należą do grupy wheel. Aby dodać nazwa_użytkownika do grupy wheel,
wykonujemy następujące polecenie jako root:
Listing 3.2: Dodawanie użytkownika do grupy wheel |
# gpasswd -a nazwa_użytkownika wheel
|
Jak zaktualizować Gentoo do najnowszego wydania bez instalowania go od
nowa?
W rzeczywistości nie ma żadnej różnicy pomiędzy różnymi wydaniami gdy zostaną
one zainstalowane i zaktualizowane. Wykonanie polecenia
emerge --sync && emerge -uDN world spowoduje aktualizację
systemu do "najnowszego Gentoo". Różnice pomiędzy pojedynczymi wydaniami leżą
w nośniku instalacyjnym oraz fabrycznie kompilowanych pakietach. Należy
zajrzeć do tekstu o aktualizacji
Gentoo po więcej informacji o profilach i ich znaczeniu przy aktualizacji.
Jądro nie ładuje się (właściwie), co należy zrobić?
Nie trzeba powtarzać całej instalacji, ale zbadanie jądra oraz wszystkich
powiązanych z nim kroków jest konieczne. Przypuśćmy, że mamy zainstalowane
Gentoo na /dev/hda1 (/boot) i /dev/hda3 (/) z
/dev/hda2 będącą partycją swap:
Listing 3.3: Ponowna konfiguracja jądra |
# 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/<nazwa_jądra>
# /sbin/lilo
# exit
# umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
# reboot
|
Jeśli, z drugiej strony, problem leży po stronie konfiguracji bootloadera,
wtedy należy podążyć według tego samego schematu, ale zamiast konfiguracji i
kompilacji jądra, powinniśmy ponownie skonfigurować bootloader (ponowna
kompilacja nie jest konieczna).
Proxy wymaga uwierzytelniania, co należy zrobić?
Aby Portage automatycznie łączył się przez proxy, które wymaga
uwierzytelniania, należy zdefiniować go w /etc/make.conf:
Listing 3.4: /etc/make.conf |
http_proxy="http://nazwa_użytkownika:hasło@maszyna_proxy.org:numer_portu"
ftp_proxy="ftp://nazwa_użytkownika:hasło@maszyna_proxy.org:numer_portu"
RSYNC_PROXY="rsync://nazwa_użytkownika:hasło@maszyna_proxy.serwer:numer_portu"
|
Jak nagrać plik ISO na płytę?
Należy nagrywać plik w trybie RAW. To oznacza, że nie wystarczy tylko
przenieść plik na płytę CD, ale trzeba zinterpretować plik jako całą płytę CD.
Istnieje wiele dostępnych narzędzi nagrywających płyty CD. Opiszemy tu
najpopularniejsze:
-
W EasyCD Creator wybieramy File, Record CD from CD image. Po
czym zmieniamy Files of type na ISO image file. Następnie
znajdujemy plik ISO i klikamy Open. Po kliknięciu na Start
recording obraz ISO zostanie poprawnie nagrany na płytę.
-
W Nero Burning ROM wyłączamy kreatora, który wyskakuje automatycznie i
wybieramy Burn Image z menu File. Wybieramy obraz, który
chcemy nagrać i klikamy Open. Po czym przyciskamy Burn i
obserwujemy proces nagrywania.
-
W cdrecord, po prostu wpisujemy polecenie cdrecord dev=/dev/hdc
(należy zastąpić /dev/hdc ścieżką dostępu do nagrywarki) za
którym umieszczamy plik ISO.
-
W K3B, wybieramy Tools, CD i Burn CD Image. Następnie
odszukujemy plik w obszarze 'Image to Burn'. Po czym klikamy Start.
-
W Mac OS X Panther, uruchamiamy Disk Utility z
Applications/Utilities, wybieramy Open z menu
Images, wybieramy zamontowany obraz dysku w głównym oknie i wybieramy
Burn w menu Images.
-
W Mac OS X Jaguar, uruchamiamy Disk Copy z
Applications/Utilities, wybieramy Burn Image z menu
File, wybieramy ISO i klikamy przycisk Burn.
Którego CD lub pliku "stage" powinno się użyć dla danego CPU?
Najpierw należy dowiedzieć się jaki to procesor. Przypuśćmy, że jest to
Pentium-M. Dokładne informacje o procesorze można pobrać ze strony internetowej
jego producenta, jednakże Google jest
równie dobre.
Jeśli nie jesteśmy pewni, wtedy należy użyć "niższego" CD lub pliku "stage", na
przykład i686 lub zwykłego x86 (lub równoważny naszej architekturze). To
zapewni, że system będzie pracował, ale może nie być tak szybki jak przy
innych optymalizacjach.
Warto zauważyć, że istnieje dużo więcej opcji niż wtedy gdy budujemy system na
gotowych plikach binarnych zbudowanych przez Gentoo. W tym
tekście ze stron gcc znajdują się dokładne informacje o tym jak ustawić
-march.
Po ponownym uruchomieniu nie działa sieć. Co jest źle?
Po pierwsze należy sprawdzić czy karta sieciowa jest prawidłowo rozpoznawana
przez jądro. Wykonujemy ifconfig -a i szukamy eth0 lub wlan0 (w
przypadku bezprzewodowej karty sieciowej). Możemy być zmuszeni do załadowania
specjalnych modułów, aby jądro mogło poprawnie rozpoznać kartę sieciową. Jeśli w
tym rzecz, wtedy należy się upewnić, że te moduły jądra znajdują się w
/etc/modules.autoload.d/kernel-2.6 (lub kernel-2.4
jeśli nadal używamy jądra 2.4).
Jeśli zapomnieliśmy włączyć wsparcie dla naszej karty sieciowej w jądrze, to
należy ponownie skonfigurować jądro.
Jeśli jądro rozpoznaje poprawnie kartę sieciową, ale ustawiliśmy konfigurację
sieciową, aby używała DHCP, wtedy najprawdopodobniej zapomnieliśmy wykonać
emerge dhcpcd. Aby zainstalować ten pakiet należy ponownie uruchomić
system za pomocą płyty instalacyjnej.
Informacje na temat ratowania systemu za pomocą płyty instalacyjnej są dostępne tu.
Kiedy uruchamiam Windows z GRUB-a lub LILO pojawia się tylko czarny ekran. Co
robić?
Jest to częsty problem. Windows odmawia uruchomienia się, gdy nie jest
zainstalowany na pierwszym twardym dysku w systemie i pojawia się tylko czarny
ekran. Aby sobie poradzić z tym problemem trzeba będzie za pomocą pewnych zmian
w konfiguracji oszukać Windows tak, aby myślał, że został zainstalowany na
pierwszym twardym dysku. W poniższych przykładach prezentujemy konfigurację w
sytuacji gdy Gentoo jest zainstalowane na hda (pierwszym twardym
dysku), a Windows na hdb (czyli drugim dysku).
Listing 3.5: Przykładowy wpis dla Windows w grub.conf |
title Windows XP
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,0)
chainloader +1
|
Listing 3.6: Przykładowy wpis dla Windows w lilo.conf |
other=/dev/hdb1
label=WindowsXP
table=/dev/hdb
map-drive = 0x80
to = 0x81
map-drive = 0x81
to = 0x80
|
Dzięki temu Windows uwierzy, że został zainstalowany na pierwszym twardym dysku
i uruchomi się bez problemów. Więcej szczegółów można znaleźć w dokumentacji
GRUB-a i w man lilo.conf, w zależności od używanego programu
ładującego.
W jaki sposób zainstalować Gentoo używając stage 1 lub stage 2?
Podręcznik Gentoo opisuje jedynie instalację z użyciem stage 3. Jednak wraz z
Gentoo cały czas dostarczane są archiwa ze stage 1 i stage 2. Spowodowane jest
to tym, że zespół wydający zaczyna od stage 1, aby uzyskać stage 3. Jednak
używanie wyżej wymienionych rozwiązań nie jest polecane użytkownikom. Równie
dobrze mogą oni użyć stage 3 do zbudowania swojego systemu. Będziemy
potrzebowali do tego połączenia z internetem.
Boostrap to budowanie narzędzi kluczowych (biblioteki C i kompilatora) dla
naszego systemu, po którym będziemy mogli przystąpić do instalacji podstawowych
pakietów systemu. Aby to zrobić, będziemy korzystać z instalacji przy pomocy
stage 3. Przed przejściem do działu Konfiguracja jądra, należy
zmodyfikować skrypt bootstrap.sh, aby dopasować go do naszych
potrzeb. Po modyfikacji, należy go uruchomić:
Listing 3.7: Bootstrapowanie systemu |
# cd /usr/portage/scripts
# vi bootstrap.sh
# ./bootstrap.sh
|
Następnie należy przebudować wszystkie podstawowe składniki systemu:
Listing 3.8: Przebudowa głównych składników systemu |
# emerge -e system
|
Po zakończeniu kompilacji można przejść do rozdziału Konfiguracja jądra
Podręcznika Gentoo i kontynuować instalację od tego momentu. Niestety po
wykorzystaniu tych poleceń nie można korzystać już z GRP.
4.
Zarządzanie pakietami
W jakiej postaci przechowywane są pakiety?
Pakiety nie są "przechowywane" per se. Zamiast tego Gentoo dostarcza zbiór
skryptów, które posiadają informacje o zależnościach, pobierają kod źródłowy i
kompilują pakiet specjalnie dostosowany do naszych potrzeb. Generalnie rzecz
biorąc pliki binarne budujemy tylko dla nowych wydań i obrazów. Gentoo Ebuild
HOWTO omawia szczegółowo zawartość skryptu ebuild.
Dla pełnych wydań ISO, tworzymy pełen zestaw pakietów binarnych w
postaci .tbz2, który jest zgodny z .tar.bz2 z dołączonymi
metainformacjami na końcu pliku. Mogą one być użyte do szybkiej i wydajnej
instalacji działających (jednakże nie w pełni zoptymalizowanych) wersji
pakietów.
Jest możliwe tworzenie plików RPM (plików Redhat package manager) za pomocą
Portage, ale w chwili obecnej nie jest możliwa instalacja pakietu z
już istniejącego pliku RPM.
Czy można samodzielnie przeprowadzić krok ./configure?
Tak, lecz jest to dość skomplikowane i dlatego nie jest to zalecane. Ponieważ ta
metoda wymaga dobrego zrozumienia poleceń oraz wnętrza Portage, zamiast tego
radzimy po prostu poprawić ebuild i dodać go do nakładki na Portage (overlaya)
Jest to dużo prostsze w obsłudze i zwykle prostsze. Szczegółowe
informacje znajdują się w Ebuild
HOWTO.
Jak używać emerge za zaporą ogniową?
Należy zajrzeć do odpowiedzi na pytania o proxy, rsync i ręczne ściąganie
plików źródłowych.
Co zrobić gdy rsync nie działa?
Jeśli jesteśmy za zaporą ogniową, która zabrania ruch rsync, wtedy możemy
użyć polecenia emerge-webrsync, które pobierze i zainstaluje obraz
Portage poprzez zwykły protokół HTTP. Należy przeczytać część o proxy tego dokumentu, aby uzyskać informacje o
ściąganiu plików źródłowych i obrazów Portage przez proxy.
Czy można ściągnąć źródła na innym komputerze (np. z szybszym łączem), a później
dodać je do systemu?
Tak. Należy wykonać emerge --pretend pakiet, aby zobaczyć które
programy zostaną zainstalowane. Aby dowiedzieć się jak nazywają się źródła i
skąd je pobrać należy wykonać polecenie emerge -fp pakiet. Następnie
ściągamy źródła i przenosimy je na dowolnym nośniku do domu. Kopiujemy pobrane
pliki do katalogu /usr/portage/distfiles/ po czym wykonujemy
emerge pakiet. Cały proces jest dość męczący, ale czasem nie ma innego
wyjścia.
Źródła pakietów są przechowywane w katalogu /usr/portage/distfiles. Czy ich
usunięcie jest bezpieczne?
Usunięcie tych plików nie ma żadnego negatywnego wpływu na codzienną
wydajność. Jednakże zachowanie najnowszych wersji plików może być bardzo
pożyteczne, gdyż często wiele ebuildów może być zależne właśnie od danego
oprogramowania. Jeśli usunęliśmy dane archiwum, to przy próbie aktualizacji
pakietu zależnego od tego usuniętego, będzie konieczne ponowne ściągnięcie go
z Internetu. Istnieją programy, które stworzyli
użytkownicy, aby czyściły wszystkie, oprócz najnowszych wersji, pliki
źródłowe. Programy te zostały przetestowane i działają dobrze. Mimo tego nie są
oficjalnie wspierane. Używacie ich na własne ryzyko.
Co zawiera katalog /var/tmp/portage? Czy usunięcie plików i katalogów w
/var/tmp/portage jest bezpieczne?
Podczas kompilacji Gentoo zachowuje źródła pakietu w
/var/tmp/portage. Te pliki zwykle są usuwane po udanej kompilacji,
ale czasem kompilacja zawodzi. Można bezpiecznie wyczyścić całą zawartość tego
katalogu jeśli nie jest uruchomione polecenie emerge. Dla pewności należy
zawsze wykonać pgrep emerge przed czyszczeniem tego katalogu.
5.
Użytkowanie
Jak ustawić międzynarodowy układ klawiatury?
Edytujemy zmienną KEYMAP w /etc/conf.d/keymaps. Czasem, aby
działały dodatkowe znaki na klawiaturze, trzeba również ustawić zmienne
CONSOLETRANSLATION i CONSOLEFONT w pliku
/etc/conf.d/consolefont. Więcej informacji o lokalizacji Gentoo
można znaleźć w tekście zatytułowanym Lokalizacja Gentoo Linux.
Listing 5.1: Ponowne uruchamianie keymaps |
# /etc/init.d/keymaps restart
# /etc/init.d/consolefont restart
|
Rozwiązywanie nazw DNS działa tylko dla użytkownika root
/etc/resolv.conf ma złe uprawnienia; zmieniamy to za pomocą
polecenia chmod:
Listing 5.2: Zmiana uprawnień dla /etc/resolv.conf |
# chmod 0644 /etc/resolv.conf
|
Dlaczego użytkownik nie może mieć własnego pliku crontab?
Należy dodać danego użytkownika do grupy cron.
Jak włączyć numlock podczas ładowania systemu?
Jeśli pracujemy w wierszu poleceń, wystarczy tylko wykonać rc-update add
numlock default &&/etc/init.d/numlock start.
Każde środowisko graficzne zawiera inne narzędzia dla tego typu zadań.
Informacje o tych programach znajdują się w dokumentacji tych środowisk.
Jak wyczyścić terminal po wylogowniu się?
Aby wyczyścić terminal dodajemy clear do skryptu
~/.bash_logout:
Listing 5.3: Czyszczenie terminala podczas wylogowywania się |
$ echo clear >> ~/.bash_logout
|
Jeśli chcemy, aby się to działo automatycznie po dodaniu nowego użytkownika,
wykonujemy to samo dla /etc/skel/.bash_logout:
Listing 5.4: Domyślne dla wszystkich czyszczenie terminala podczas wylogowywania się |
# echo clear >> /etc/skel/.bash_logout
|
6.
Obsługa
ReiserFS i uszkodzenie systemu plików -- jak to naprawić, itd.
Jeśli partycja ReiserFS jest uszkodzona, należy załadować system za pomocą płyty
instalacyjnej Gentoo i uruchomić reiserfsck --rebuild-tree na uszkodzonej
partycji. To powinno ponownie uczynić system plików spójnym, jednakże z powodu
uszkodzenia niektóre pliki lub katalogi mogą zostać utracone.
7.
Rozwój
Gdzie zgłaszać błędy?
Należy użyć naszej Bugzilli lub
odwiedzić kanał #gentoo w sieciFreeNode.
Jak często wypuszczane są nowe wydania?
Pakiety w Gentoo aktualizowane są zaraz po tym jak autorzy wydadzą nową wersję
programu. Po informacje kiedy samo Gentoo tworzy nowe wydania plików "stage",
profili lub obrazy ISO, należy udać się na stronę projektu Release Engineering. Nowe wydania są także
ogłaszane na liście dyskusyjnej gentoo-announce. Więcej informacji na ten temat
jest w odpowiedzi na pytanie dotyczące aktualizacji.
Głośnik systemowy brzęczy jak szalony. Jak wyłączyć dźwięki w konsoli?
Brzęczenie konsoli może być wyłączone za pomocą setterm w następujący sposób:
Listing 7.1: Używanie setterm |
# setterm -blength 0
|
Aby wyłączyć brzęczenie na konsoli podczas ładowania systemu, należy umieścić
powyższe polecenie w /etc/conf.d/local.start. Jednakże to tylko
wyłącza brzęczenie dla aktywnego terminala. Aby wyłączyć brzęczenie dla innych
terminali wtedy należy przenieść wyjście tego polecenia do konkretnego
terminala, na przykład w ten sposób:
Listing 7.2: Używanie setterm (bis) |
# setterm -blength 0 >/dev/vc/1
|
Należy zastąpić /dev/vc/1 żądanym terminalem na którym mają być wyłączone
dźwięki.
8.
Zasoby
Gdzie można znaleźć bardziej szczegółowe informacje o Gentoo Linux?
Cała oficjalna dokumentacja Gentoo znajduje się na stronie
http://www.gentoo.org/doc/pl/.
Czy można kupić płytę CD z Gentoo Linux?
Płyty instalacyjne dla wszystkich wspieranych architektur są dostępne w Gentoo Store. Zakup płyty
CD w naszym sklepie to dobry sposób na wsparcie dalszego rozwoju Gentoo.
Można również kupić nasze płyty CD u różnych sprzedawców wypisanych na
stronie Pobieranie Gentoo.
Gdzie szukać odpowiedzi na pytania, których nie ma w tym FAQ?
Dobrym krokiem jest przejrzenie dokumentacji. Jeśli to nie pomoże, przeglądamy
listy dyskusyjne Gentoo Linux w Google.
Aby przeszukiwać listy dyskusyjne Gentoo, po prostu wystarczy wpisać
"lists.gentoo.org tratata", aby wyszukać "tratata". Zapraszamy również na kanał
#gentoo w sieci irc.freenode.net.
Zawartość tego dokumentu jest rozpowszechniana na podstawie licencji Creative Commons -
Attribution / Share Alike.
|