Blog (107)
Komentarze (2.3k)
Recenzje (0)
@webnullcz. 1 | Gentoo - (Dystrybucje GNU/Linux)

cz. 1 | Gentoo - (Dystrybucje GNU/Linux)

22.12.2010 21:55, aktualizacja: 26.12.2010 22:21

Witam.

W tym artykule opiszę moje pierwsze wrażenia z użytkowania Gentoo, jakie są plusy oraz minusy tej dystrybucji według mnie.

UWAGA: Gentoo nie jest dystrybucją dla osób które chcą dopiero zacząć przygodę z Linuksem, dla takich osób jest Ubuntu.

375576

Gentoo jest dystrybucją ciągłą nie podzieloną na wydania, aby mieć zawsze aktualny system wystarczy po prostu aktualizować pakiety na bieżąco - niema żadnej potrzeby aktualizacji wydania, pakiety są zawsze świeże.

Według opinii wielu ludzi Gentoo jest trudne w obsłudze, jednak ja myślę, że wystarczy coś poznać aby to stało się bliższe i łatwiejsze - ludzie boją się tego co niewiadome.

Instalacja

Wbrew pozorom nie jest trudna dla kogoś kto majstrował przy systemach Uniksowych wiedząc co wklepuje do konsoli. Wystarczy podążać za wskazówkami Handbooka ze strony Gentoo aby zainstalować system bez problemów.

Gentoo nie posiada domyślnie instalatora, niektórzy mogą zadać sobie pytanie - "to jak można zainstalować to Gentoo" jednak zasada jest prosta. Potrzebujemy już zainstalowanego systemu Linux, może być na dysku twardym, pendrive czy jako live na płycie CD/DVD. Instalacja polega na rozpakowaniu głównych plików Gentoo na specjalnie utworzonej partycji dla systemu, przy pomocy chroot wejść do rozpakowanego systemu, skompilować jądro, ustawić punkty montowania w /etc/fstab, język systemu, skonfigurować boot loader oraz zainstalować opcjonalne pakiety potrzebne do np. połączenia z siecią przy pierwszym włączeniu.

Dla tych którzy jeszcze są nie wtajemniczeni i nic Im nie mówi nazwa chroot postaram się krótko i treściwie wytłumaczyć.

Chroot inaczej "change root", zmiana katalogu głównego zarówno w teorii jak i w praktyce. Otwieramy dowolną powłokę (terminal), następnie wpisujemy chroot /mnt/gentoo aby zmienić katalog systemowy z / na /mnt/gentoo - wtedy / jest jako /mnt/gentoo. Jednak najpierw trzeba zamontować główne systemy plików - /dev z urządzeniami czy /proc.

Działanie

Ręcznie skompilowane jądro z ręcznie wybranymi modułami tylko takimi które potrzebujemy wydaje się być responsywniejsze lecz nie przeprowadzalem żadnych testów porównawczych.

System na starym dysku ATA startuje ok. 10 sec razem z usługą /etc/init.d/net.eth0 która zajmuje kilka sek. aby podłączyć system do sieci.

Jeżeli chodzi o reposnsywność to środowisko zbudowane z gotowych różnych elementów zbliżone do LXDE chodzi bardzo szybko. Wydaje się jakby nie było żadnych opóźnień, jeden klik i coś znika lub pojawia się zanim zdążymy spuścić lekko palec z myszki.

375588

Mam dla porównania Ubuntu 10.10 i muszę powiedzieć, że to straszny muł w porównaniu do Gentoo, może nawet kilka razy wolniej chodzi - a szczególnie nautilus ;)

Instalacja pakietów

Portage to bardzo zaawansowany system zarządzania pakietami napisany w języku Python. Pozwala na bardzo elastyczne operacje jak instalowanie kilku pakietów w jednym czasie czy możliwość instalacji dowolnej wersji z repozytorium - w repozytorium może być kilka wersji danego programu, zawsze można zainstalować starszą jeśli nowsza nie działa lub odwrotnie.

Sama instalacja pakietów jest prosta i składa się z takich etapów: 1. Sprawdzenie możliwych flag użytkowych "USE" 2. Wybranie pasujących nam flag 3. Instalacja pakietu

W razie jakichkolwiek błędów log kompilacji dostarcza wszelkich potrzebnych informacji do rozwiązania problemu - błąd kompilacji znajduje się na samym dole czyli tam gdzie kompilacja została przerwana z powodu błędu dlatego nie trudno go wykryć.

Muszę przyznać, że Gentoo nie jest dla ludzi którzy nie myślą przed wydaniem jakiegokolwiek polecenia bo przepisują lub kopiują je z forów - tutaj trzeba często pogooglować, przeanalizować logi czego się nie robi w zwykłych dystrybucjach oferujących binarne pakiety.

Konfiguracja

AKTUALIZACJA: 23.12.2010

Pliki konfiguracyjne w Gentoo są przemyślane i bardzo estetyczne.

W pliku /etc/make.conf znajdują się opcje dotyczące kompilacji i instalacji oprogramowania które informują menadżer pakietów w jakim języku są instalowane aplikacje, z jakimi flagami USE (obsługa dodatkowych funkcji np. obsługa bazy danych MySQL, SQLite przez aplikację), czy pod jaką architekturę sprzętową mają być optymalizowane programy.

W /etc/conf.d znajdują się ważniejsze pliki konfiguracyjne różnych programów.

Przykładowo:

/etc/conf.d/fsck

# Pass any arguments to fsck.
# By default we preen.
# Linux systems also force -C0 and -T.
# If fsck_args is not specified then Linux systems also use -A
# (and -R if / is rw)
#fsck_args="-p"

# We can also specify the passno in /etc/fstab to check
# If you multiplex fsck (ie ln -s fsck /etc/init.d/fsck.late) then you can
# do an fsck outside of the normal scope, say for /home.
# Here are some exampes:-
#fsck_passno="=1 =2"
#fsck_passno=">1"
#fsck_passno="<2"

# Most modern fs's don't require a full fsck on boot, but for those that do
# it may be advisable to skip this when running on battery.
# WARNING: Do not turn this off if you have any JFS partitions.
fsck_on_battery="YES"

# fsck_shutdown causes fsck to trigger during shutdown as well as startup.
# The end result of this is that if any periodic non-root filesystem checks are
# scheduled, under normal circumstances the actual check will happen during
# shutdown rather than at next boot.
# This is useful when periodic filesystem checks are causing undesirable
# delays at startup, but such delays at shutdown are acceptable.
fsck_shutdown="NO"

Do edycji konfiguracji systemu oraz jego programów służy także wbudowane narzędzie eselect.

Usage: eselect <global options><module name><module options>

Global options:
  --brief                   Make output shorter
  --no-color,--no-colour    Disable coloured output

Built-in modules:
  help                      Display a help message
  usage                     Display a usage message
  version                   Display version information

Extra modules:
  bashcomp                  Manage contributed bash-completion scripts
  binutils                  Manage installed versions of sys-devel/binutils
  boost                     Manage boost installations
  ctags                     Manage /usr/bin/ctags implementations
  editor                    Manage the EDITOR environment variable
  env                       Manage environment variables set in /etc/env.d/
  esd                       Select esound daemon or wrapper
  fontconfig                Manage fontconfig /etc/fonts/conf.d/ symlinks
  java-nsplugin             Manage the Java plugin for Netscape-like Browsers
  java-vm                   Manage the Java system and user VM
  kernel                    Manage the /usr/src/linux symlink
  mesa                      Manage the OpenGL driver architecture used by
                            media-libs/mesa
  modules                   A module for querying modules. By default, it
                            lists all available modules
  news                      Read Gentoo ("GLEP 42") news items
  opengl                    Manage the OpenGL implementation used by your
                            system
  pager                     Manage the PAGER environment variable
  php                       Manage php installations
  pinentry                  Manage /usr/bin/pinentry symlink
  profile                   Manage the /etc/make.profile symlink
  python                    Manage Python symlinks
  rc                        Manage /etc/init.d scripts in runlevels
  visual                    Manage the VISUAL environment variable
  wxwidgets                 Manage the system default wxWidgets profile.
  xvmc                      Manage the XvMC implementation used by your system

Przy pomocy eselect możemy czytać komunikaty od deweloperów Gentoo, zarządzać usługami startowymi, ustawiać zmienne środowiskowe, ustawiać domyślne aplikacje, czy konfigurować niektóre programy/usługi.

Narzędzie dispatch-conf służy do aktualizowania plików konfiguracyjnych. Pokazuje zmiany w plikach konfiguracyjnych po aktualizacji i przed aktualizacją co bardzo ułatwia aktualizowanie konfiguracji bez utraty poprzednich danych konfiguracyjnych.

Podsumowanie

[color=#32CD32]Plusy: [color=#32CD32]+ Szybkość, responsywność przez optymalizację dla naszego sprzętu [color=#32CD32]+ Dostosowywalność, konfiguralność przez dużo autorskich narzędzi czy najważniejsze flagi kompilacyjne [color=#32CD32]+ Możliwości Portage które trudno znaleźć w innych menadżerach pakietów [color=#32CD32]+ Dobra dokumentacja [color=#32CD32]+ Duże repozytorium, bardzo proste w użyciu nakładki przez narzędzie "layman" [color=#32CD32]+ Metoda instalacji [color=#32CD32]+ Bajecznie prosta konfiguracja i kompilacja jądra

[color=#FF4500]Minusy: [color=#FF4500]- Często kompilacja trwa bardzo długo [color=#FF4500]- Trudności przy kompilacji niektórych pakietów z niestabilnego repozytorium [color=#FF4500]- Na początku wszystko jest bardzo skomplikowane

Pozostałe części "Dystrybucje GNU/Linux": cz. 1 | Gentoo cz. 2 | Debian cz. 3 | Arch Linux

Wybrane dla Ciebie
Komentarze (69)