Dziś jest sobota, 11 października 2008 roku (z kalendarza...)

Więcej o Archu

Icon

16.11.2007, 22:54

Arch Linux

Komentarze (2)

Powrót

Na prośbę Albiego prezentuję moje podejście do Arch Linuksa, ale rozpatrywane od strony czysto technicznej, jako że zorientowałem się, że zajmowałem się jakimiś głupotami na Zyxist.com, zamiast podać konkrety. Przypomnę - Arch Linux, prosta i lekka dystrybucja Linuksa stawiająca na logiczną budowę, pliki konfiguracyjne, dobry menedżer pakietów, aktualność i chęć nauki u instalującego.

Kilka uwag praktycznych odnośnie dystrybucji. Aby nie zawieść się na niej, nie wolno bać się konsoli, plików konfiguracyjnych, a także nauki. Ponadto trzeba mieć dobre łącze internetowe. Arch od niedawna jest oficjalnie dystrybucją rolling release - repozytoria pełne są najnowszych wersji programów i dobrze jest robić częste aktualizacje systemu. Arch jest zoptymalizowany pod procesory i686, co bardzo pozytywnie rzutuje na wydajność.

Ubiegłoroczna instalacja. Dystrybucja posiada pracujący w trybie tekstowym instalator tekstowy, za pomocą którego można skonfigurować system do uruchomienia. Płyta instalacyjna pełni też rolę dysku ratunkowego, zatem wykonana jest w formie LiveCD. W przeciwieństwie do Ubuntu, pracuje ona wyłącznie w konsoli. Jeżeli chcemy zainstalować system, po prostu wpisujemy podaną w komunikacie powitalnym ścieżkę do instalatora i zaczynamy działać, wybierając po kolei pozycje z głównego menu oraz postępując według instrukcji. Instalator wygląda hardcore'owo, ale w praktyce proces przebiega sprawnie. Przy pewnej wprawie można przeprowadzić instalację w mniej, niż 10 minut (zmierzyłem :)). Etapy instalacji to:

  • Partycjonowanie dysku programem cfdisk.
  • Ustawienie punktów montowania, czyli podpięcie partycji pod system plików.
  • Zainstalowanie pakietów, najlepiej tylko z grupy base - jakieś 98 MB. Na etapie instalacji przeważnie nie ma sensu pchać reszty.
  • Edycja plików konfiguracyjnych - zazwyczaj wystarczy tylko otworzyć główny rc.conf, ustawić tam nazwę hosta, strefy czasowe, locale i połączenie z Internetem.
  • Instalacja jądra i bootloadera.

System uruchamia się bardzo szybko, szczególnie tuż po instalacji; normalnie jest to zaledwie kilkanaście sekund. Początkowo mamy do dyspozycji jedynie konsolę i konto root. Za jego pomocą najpierw testujemy, czy mamy sieć (jak nie, to koniecznie robimy, aby była) i nakazujemy menedżerowi pakietów zaktualizowanie pakietów do najnowszych wersji dostępnych w repozytoriach. Dalej mamy pełną swobodę, w zależności od tego, jaki efekt chcemy osiągnąć. Jeżeli pragniemy zrobić serwer, instalujemy odpowiednie demony i konfigurujemy je. Dla desktopu czeka nas instalacja GUI. Arch nie faworyzuje żadnego środowiska czy menedżera okien i możemy wybrać to, co nam się podoba.

Konfiguracja systemu została bardzo dobrze rozplanowana. Najważniejsze rzeczy znajdują się w pliku rc.conf, gdzie konfigurujemy połączenie z siecią, ustawienia lokalizacyjne oraz moduły i demony ładowane przy starcie systemu. Te drugie znajdują się zawsze w /etc/rc.d/ i za parametr przyjmują nazwę akcji, np. "start", "stop", "restart". Jest to bardzo wygodne. Część demonów można dodatkowo konfigurować, po prostu ustawiając w rc.conf odpowiednie zmienne. Podstawowe programy mają swoje pliki bezpośrednio w katalogu /etc, ale twórcy powoli odchodzą od tego rozwiązania na rzecz osobnych podkatalogów. Tam, gdzie jest możliwość, konfiguracja została rozbita na mniejsze pliki, jak to ma miejsce w przypadku Apache'a tak, aby łatwo było znaleźć opcje odpowiedzialne za konkretne zadania. Posiadaczy laptopów szczególnie ucieszy istnienie tzw. profili sieciowych definiujących różne metody połączenia z siecią. Możemy dzięki temu mieć na komputerze dane dotyczące Internetu w domu oraz w pracy i przy starcie wybierać, które z nich użyć.

Arch Linux posiada narzędzia do automatycznej detekcji sprzętu i dobierania do nich modułów jądra. W przypadku X.org także można go użyć do wygenerowania konfiguracji, lecz dobrze jest ją zawsze sprawdzić. Na pewno konieczne będzie ręczne wydanie polecenia zainstalowania sterowników do karty graficznej. Rok temu był tutaj problem z powodu walniętej paczki i przez pierwsze dwa miesiące jechałem na standardowych ustawieniach VESA, jednak obecnie element ten pracuje OK. Podczas sierpniowej reinstalacji musiałem ręcznie wprowadzić do konfiguracji parametry mojego monitora LCD zgodnie z zaleceniami instrukcji.

Wszystkie popularne środowiska i menedżery okien znajdują się w głównych repozytoriach i stamtąd można je prosto zainstalować pacmanem:

$ pacman -S kde

Wymagany na to czas to kwestia pobrania pakietów z sieci. Jednak kilka osób (słusznie) zauważyło, że takie podejście kłóci się nieco z filozofią Archa. Takie KDE to, oprócz samego wyglądu okienek, także cały zestaw rozmaitych aplikacji, nie zawsze nam potrzebnych, których nie trzeba instalować. Wynikiem jest KDEmod, czyli specjalna wersja KDE zoptymalizowana pod kątem Archa i rozbita na pojedyncze składniki. Dokładny wykaz paczek dostępny jest na stronie projektu i możemy tutaj powybierać sobie z KDE to, czego naprawdę potrzebujemy. Uważam, że jest to strzał w dziesiątkę.

W repozytoriach bardzo często pojawiają się nowe wersje programów. Z tego powodu robienie częstych aktualizacji jest tu czymś normalnym i musi istnieć stabilny i bezpieczny mechanizm ich wykonywania. Odpowiada za to sam menedżer pakietów. Wystarczy zalogować się na konto administratora i wydać polecenie:

$ pacman -Syu

Przeważnie pacman będzie chciał najpierw zaktualizować sam siebie i dopiero potem pozwoli puścić całą resztę. Po ściągnięciu wszystkiego z Internetu rozpocznie się procedura aktualizacji. Pacman nigdy nie kasuje już istniejących plików konfiguracyjnych. Zamiast tego zapisuje nową wersję z rozszerzeniem .pacnew i możemy sobie ją użyć, jeśli będziemy mieli ochotę. Jeżeli aktualizacja wiąże się z większymi zmianami (np. autorzy połączyli kilka podstawowych pakietów w jeden), jesteśmy pytani o potwierdzenie. Mechanizm się sprawdza - trzeba mieć niezłego pecha, aby system po takiej operacji nie wstał sam z siebie. Jak dotąd nigdy nie miałem tutaj żadnych problemów.

Arch Linux jest binarną dystrybucją, jednak tworzenie własnych pakietów jest tutaj bardzo proste dzięki ABS (Arch Build System). Pakiety są zwykłymi archiwami TAR.GZ z dodatkową informacją o wersji i zależnościach. Aby stworzyć takowy, wystarczy napisać specjalny skrypt zwany PKGBUILD i nakazać ABS-owi jego przetworzenie. Jego napisanie nie jest trudne. Wystarczy podać kilka informacji o pakiecie, powiedzieć, skąd można pobrać źródła i jak je skompilować. Oficjalne repozytoria Arch Linuksa podzielone są na kilka głównych zbiorów:

  • core - zbiór podstawowych pakietów niezbędnych do uruchomienia systemu.
  • extra - wszystkie popularne aplikacje (środowiska graficzne, pakiety biurowe, przeglądarki itp. itd.)
  • community - paczki dostarczane przez zwykłych użytkowników systemu i zatwierdzone przez twórców.
  • testing - zbiór pakietów testowych, w zasadzie nie trzeba o nim pamiętać.

Oprócz tego istnieje tzw. AUR (Arch User Repository), do którego można nadsyłać PKGBUILD-y własnych pakietów, które po ściągnięciu na dysk nadawały się do obróbki za pomocą ABS-u. Obecnie Francuzi opracowali nakładkę na pacmana zwaną yaourt, która pozwala na jeszcze prostszą instalację programów z repozytorium AUR. Oczywiście istnieje także możliwość stworzenia własnych binarnych repozytoriów. Przykładowo, wspomniany wyżej KDEmod umieszczony jest w takowym, jako że nie jest to (jeszcze) oficjalna część Archa.

Polska społeczność Arch Linuksa jest już całkiem liczna, aczkolwiek wciąż niewielka w porównaniu np. z Gentoo. Nie przeszkadza to prężnie działać stronie internetowej, forum, planecie RSS oraz administrowanemu przeze mnie wiki. Oczywiście działają też odpowiedniki angielskie. Jeśli mam być szczery, to jednak jakość części materiałów jest przeciętna. Autorzy niektórych posuwają się nawet do super-minimalizmu: "Program XXX robi YYY, aby go zainstalować, wpisz `pacman -S xxx`". Dlatego staram się wraz z kilkoma innymi redaktorami dawać jak najlepszy przykład, opisując dużo dodatkowych opcji, a także różnych ciekawych i praktycznych porad, które wyszperałem gdzieś w sieci lub opracowałem.

W programowaniu bardzo dużo stawia się na projekt, organizację kodu, ponowne jego wykorzystanie oraz rozmaite abstrakcje. Uważam, że Arch Linux czerpie z tych technik to, co najlepsze, przenosząc je na grunt dystrybucji linuksowych i z powodzeniem pokazuje, że tekstowa konfiguracja wcale nie musi być skomplikowana. To, co ma być proste, jest proste. Jak coś jest niepotrzebne, to tego nie ma. Oczywiście nie gwarantuję, że na początku będzie łatwo, ale gdy już wyczujemy system, sprawy potoczą się z górki.

Powrót

Komentarze

Napisał Albi w sobotę, 17 listopada 2007 o 03:00

Dzięki za wyczerpującą odpowiedź na mój komentarz ;)

Chyba najprostszym rozwiązaniem będzie zainstalowanie na próbę tego systemu. Z tego co rozumiem, instalator nie zajmuje dużo miejsca (coś jak net-install z debiana)?

Napisał MySZ w wtorek, 27 listopada 2007 o 02:29

Kiedyś też lubiłem distro minimalistyczne - zaczynałem od Slackware, zahaczyłem o kilka innych distro, poprzez PLD do obecnie używanego Ubuntu. Czasem mnie kusi żeby popróbować się właśnie z Archem czy nawet Gentoo/LFS, ale to już nie te czasy - Ubuntu pozwala mi na wygodną, sprawną pracę bez spędzania godzin na szukaniu rozwiązania jakiegoś problemu ;) A na pewno nie jestem typowo niedzielnym userem, który boi się konsoli - wręcz przeciwnie, cały czas na niej pracuję :) Niestety życie wymusza czasem tego typu kompromisy ;)

Strona 1 z 1 :: 1

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 2 | Serwer wirtualny zapewnia