Feeds:
Wpisy
Komentarze

Archive for the ‘gentoo’ Category

Exherbo i paludis

W poprzednim poście omówiłem instalację Exherbo. Teraz zajmę się instalacją pakietów.

Informacje o konkretnym pakiecie np.
paludis -q firefox

Wyszukiwanie pakietów np. zawierających w nazwie, opisie xorg
inquisitio xorg

Dodanie repozytorium x11 (sami tworzymy plik na podstawie arbor.conf)
cat /etc/paludis/repositories/x11.conf
location = ${ROOT}/var/db/paludis/repositories/x11
sync = git://git.exherbo.org/x11.git
format = exheres
names_cache = ${ROOT}/var/cache/paludis/names
write_cache = ${ROOT}/var/cache/paludis/metadata

Uaktualniamy (za pierwszym wykonaniem sync będzie pisało x-x11, potem już tylko x11).
paludis –sync

Instalujemy np.
paludis -ip fluxbox

W gentoo emerge -f zaciągało pakiety, w paludis trzeba paludis -if

Ciekawy wywiad na temat paludisa: http://www.osnews.com/comments/19054

Read Full Post »

Exherbo instalacja

Exherbo nie oferuje na razie pomocy technicznej użytkownikom. Jak nie przeczytałeś dokumentacji, a tym bardziej masz trywialny problem, to radź sobie sam.

Jeśli ktoś instalował gentoo to powinien sobie poradzić.

Zaczynamy od ściągnięcia stage (spakowany jest xz).

A potem już instalujemy.

Po paludis --sync powinniśmy zaktualizować sandbox (tego nie ma w dokumentacji):

paludis -i1 sandbox --dl-upgrade as-needed.

Po instalacji kernela (kompilacja lub przekopiowanie kernel+initrd+modules+firmware) uaktualniamy grub.

Przed rebootem warto jeszcze ustawić hasło dla roota oraz włączyć ctrl+alt+del (w pliku /etc/inittab należy odkomentować odpowiednią linijkę).

Do wifi użyłem wpa_supplicant (konfigi z gentoo).

Linki

http://www.exherbo.org

http://paludis.pioto.org

http://exherbo.wikidot.com/ (nic tu prawie nie ma)

#exherbo na freenode (do pokazywania zmian używaj git format-patch i dpaste.com)

http://voroskoi.wordpress.com/2008/12/07/exherbo-config/

http://nouveau.freedesktop.org/wiki/ExherboInstall

W następnym wpisie zająłem się instalacją pakietów paludisem

Read Full Post »

Dlaczego wybrałem Gentoo Linux?

Dlaczego wybrałem Gentoo Linux?

Windows się wiesza?

W pewnym momencie mojego życia zapragnąłem używać linuxa. Windows XP się wieszał i miałem tego dość. Zainstalowałem kilka dystrybucji na kilku partycjach. Były to mandriva, slackware i coś jeszcze. Co ciekawe komputer przestał się wieszać na slackware, mandriva i to coś natomiast padały tak jak windows.

Byłem miło zaskoczony stabilnością slacka, także wyrobiłem sobie zdanie że windows jest wiechliwy jak też i niektóre dystrybucje linuxa. Chciałem mieć jednak zależności w pakietach więc jedynym rozwiązaniem wydawał się gentoo. Był zachwalany, jednak za pierwszym podejściem nie mogłem go zainstalować.

Za drugim podejściem byłem bardziej wytrwały i w końcu doszedłem dlaczego nie mogłem zainstalować żadnego pakietu przez polecenie emerge. Miałem uszkodzoną pamięć. Po wymianie na nową gentoo zaczęło mi wreszcie śmigać.

Wnioski jakie z tego wyciągnąłem

  1. slackware jest najstabilniejszym distro binarnym
  2. używając gentoo będziesz miał stabilność slacka, zależności lepsze od debiana, plus sprawdzenie sprzętu
  3. W gentoo nie trzeba instalować zależności ręcznie jak w innych distrach rpm-owych. Wtedy nie było chyba urpmi czy podobnych dobrze działających jak portage narzędzi.

Mniej balastu

Kolejnym powodem wybrania gentoo to mniejszy balastu w systemie niż w innych dystrybucjach.

W gentoo dodajesz do startu usługi które chcesz mieć, w innych user-friendly distrach odejmujesz zbędne usługi jak demon drukarek hp, bo masz drukarkę canon albo w ogóle.

W gentoo samemu włączasz opcje (tzw. flagi USE) jakie ma mieć skompilowana aplikacja czy cały system, w innych binarnych distrach możesz najwyżej ręcznie przebudować pakiety ze źródeł.

Wiem co się dzieje

Istnieje także inny bonus dotyczący instalacji gentoo, a czego nie ma w innych distrach. Proces instalacji jest na niższym poziomie. Więc uczysz się obsługi fdisk, grub i kilku innych narzędzi. Dzięki temu jak np. windows nadpisze ci mbr, to po prostu odpalisz gentoo z płytki i zainstalujesz grub. Nie musisz instalować całej dystrybucji od nowa.

Wady czyli elastyczność ma dwa ostrza

Oczywiście gentoo ma też swoje wady jak dłuższy czas instalacji, więcej nauki na początku użytkowania, programy często są oznaczane jako stabilne później niż w innych distrach (szczególnie dotyczy dużych kobył jak gnome).

Flagi USE

Inny minus wynika z możliwości ustawiania flag USE. Daje to dużą elastyczność ale także ogromną ilość kombinacji. Przez co flagi które nie są domyślnie włączone dla pakietów, są gorzej przetestowane.

Czasami włączenie globalne flagi doc może spowodować kołowe zależności (circular dependencies).

Dodatkowo zależności na poziomie flag są gorzej przetestowane od zależności na poziomie pakietów.
Dlatego też warto włączyć flagę X globalnie przy instalacji środowiska graficznego, bo jest to popularne ustawienie.

Zależności na poziomie flag (tzw. zależności biblioteczne) mogą sprawić problemy w dwóch przypadkach:

  1. Np. pakiet gtk+ wymaga pakietu cairo, z włączoną flagą svg. Jednak ktoś nie włączył tej zależności bibliotecznej do pakietu gtk+. Wtedy podczas instalacji gtk+ najpierw zainstaluje się cairo, następnie rozpocznie się i kompilacja gtk+. Jednak zakończy się błędem, bo nie będzie spełniona zależność biblioteczna wpisana w skrypt configure.
  2. Może się też zdarzyć, że skrypt configure w źródłach programu nie sprawdza zależności bibliotecznych które powinien. Wtedy program zakończy się błędem dopiero podczas uruchomienia. Tu jest większa wina twórcy aplikacji a nie pakietu. Tak miałem z pakietem tuxpaint, który ładnie się zainstalował ale podczas uruchamiania wyskakiwał błąd. Wymagał pakietu sdl zainstalowanego z flagą png.

Odinstalowanie a reverse-dependency

Jeśli już mówię o zależnościach to wspomnę, że jest problem z odinstalowaniem pakietów. Nie są dobrze obsługiwane wsteczne zależności (reverse dependencies). Tu już trzeba ręcznie pakiet po pakiecie odinstalować lub skorzystać z narzędzi, które nie chciałem używać, bo wyświetlały ostrzegawcze komunikaty, że są w fazie testowej.

Podróż do źródeł a binaria

Gentoo jest dystrybucją źródłową. Jednak istnieje możliwość instalacji gotowych pakietów binarnych, szczególnie tych większych np. OpenOffice lub Firefox.

Zaletą binarnych pakietów jest krótszy czas instalacji. Program zainstalowany z binariów może też szybciej działać, ponieważ autorzy włączają do binariów biblioteki specjalnie zoptymalizowane pod ten program.

Wadą binariów jest gorsza integracja z systemem: nie używa ustawień czcionek systemowych, słownika itp. Dodatkowo w binariach bywają włączone starsze wersje bibliotek zawierające błędy bezpieczeństwa. I nasz system po aktualizacji nadal może być podatny na zagrożenia.

Nowe gentoo raz na rok?

Gentoo jest dystrybucją ciągłą (rolling release). Dlatego chyba nie ma tak często oficjalnych wersji. Kiedyś były częściej. Ale stage3 czyli pakiet potrzebny do postawienia systemu jest od niedawna tworzony co tydzień. Która dystrybucja ma wersję co tydzień?

Rolling-release oznacza to, że nie musimy czekać na nową wersję jakiejś aplikacji aż do następnego wydania dystrybucji. Przy odpowiedniej wiedzy można mieć system zainstalowany na dysku kilka lat temu, ale z najnowszymi aplikacjami.

Popularność

Gentoo może i ma ostatnio spadek popularności, ale nadal dla wielu użytkowników działa lepiej od innych dystrybucji (włączając mnie oczywiście).

PS. Ostatnio trochę pracuję nad projektem ułatwienia instalacji gentoo dla nowych użytkowników. Jeszcze nic nie upubliczniłem, bo muszę oczyścić kod.

Read Full Post »

filesystem checksum

na różnych systemach plików miałem uszkodzone pliki po jakimś czasie używania.

Jeśli nasz komputer to pc a nie notebook to trzeba najpierw zabezpieczyć się przed przerwami w dostawie pradu. Rozwiązania są dwa: ups lub kontroler raid z baterią.

Większość nowoczesnych systemów plików posiada coś takiego jak journaling. Ale jego implementacja może się różnić. I tak xfs journaluje tylko metadane, ext3 dane i metadane. Dlatego po awarii prądu na xfs możemy pliki mieć wyzerowane.

Reiserfs odradzam z kilku powodów, a jednym z nich jest bezpieczeństwo danych.

Oprócz journalingu dodatkowe bezpieczeństwo daje journal checksuming. Ext3 nie wspiera tego, ale zfs, btrfs i ext4 już tak.

Jeśli używamy ext3 i nie mamy ups lub raid z baterią, to warto się zainteresować opcją barrier.
http://en.wikipedia.org/wiki/Ext3#No_checksumming_in_journal

Ext3 does not do checksumming when writing to the journal. If barrier=1 is not enabled as a mount option (in /etc/fstab), and if the hardware is doing out-of-order write caching, one runs the risk of severe filesystem corruption during a crash.[13][14] (This option is not enabled by default on almost all popular Linux distributions, and thus most distributions are at risk.)

http://forums.gentoo.org/viewtopic-p-5096620.html#5096620

The idea is to separate requests in groups… The requests issued before the barrier are guaranteed to be committed to the physical media after the ones issued afterwards (see /usr/src/linux/Documentation/block/barrier.txt for a thorough explanation 🙂 ). They are implemented using either ordered writes or cache flushes (depending on the capabilities of the underlying devices)…

Warto jeszcze przyspieszyć ext3
http://forums.gentoo.org/viewtopic-t-305871-highlight-barrier+ext3.html

Read Full Post »

gimp svn i gentoo

echo „dev-libs/glib ~x86” >> /etc/portage/package.keywords
#na nowym systemie nie wymagane nowe glib
emerge glib

#gtk-doc wymagany przez gimp, chociaż można to wyłączyć
#ruby wymagany przez gegl configure
emerge gtk-doc ruby

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
mkdir gimp_svn
cd gimp_svn
svn co http://svn.gnome.org/svn/babl/trunk/ babl
svn co http://svn.gnome.org/svn/gegl/trunk/ gegl
svn co http://svn.gnome.org/svn/libxslt/trunk/ libxslt
svn co http://svn.gnome.org/svn/gimp/trunk/ gimp
emerge gtk-doc
cd babl
./autogen.sh && make && make install
cd ../gegl
./autogen.sh && make && make install
cd ../libxslt
./autogen.sh && make && make install
cd ../gimp
./autogen.sh && make && make install
ldconfig
gimp-2.5

Aktualizacja:
./autogen.sh dla gegl wyrzuca jakiś błąd ale się kompiluje dalej

generating subtractive.c
../tools/create-reference.rb:556:in `foreach’: No such file or directory – operations.html (Errno::ENOENT)
from ../tools/create-reference.rb:556
from ../tools/create-reference.rb:531:in `open’
from ../tools/create-reference.rb:531

Read Full Post »