Upload
mikolaj-pastuszko
View
705
Download
0
Embed Size (px)
DESCRIPTION
ArchLinux introduction presented at Dni Wolnego Programowania 2010 in Bielsko-Biała, Poland
Citation preview
archarchlinuxlinux
III Dni Wolnego OprogramowaniaIII Dni Wolnego Oprogramowania
Bielsko-Biała Bielsko-Biała 20102010
© Mikołaj Pastuszko© Mikołaj Pastuszko
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
22
AgendaAgenda
Arch? Co to jest?Arch? Co to jest?
Filozofia ArchFilozofia Arch
Porównanie z innymi dystrybucjamiPorównanie z innymi dystrybucjami
PakietyPakiety zarządzaniezarządzanie tworzenietworzenie repozytoriarepozytoria
KonfiguracjaKonfiguracja
Wisienki na torcieWisienki na torcie, czyli d, czyli dodatki odatki specjalnie dla Archspecjalnie dla Arch
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
33
Arch? Co to jest?Arch? Co to jest?
Dystrybucja LinuksaDystrybucja Linuksa
Pierwsza wersja (0.1) opublikowania Pierwsza wersja (0.1) opublikowania 11 marca 200211 marca 2002
Tworzony przez Tworzony przez użytkownikówużytkowników
Łatwy... Łatwy... KISSKISS!!
Lekki, szybki, elastyczny...Lekki, szybki, elastyczny... Optymalizacja dla Optymalizacja dla i686i686 oraz oraz x86-64x86-64
Dla średnio zaawansowanych i zaawansowanychDla średnio zaawansowanych i zaawansowanych
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
44
Arch? Co to jest?Arch? Co to jest?
Instalacja z konsoliInstalacja z konsoli Chakra ProjectChakra Project = Arch + LiveCD + instalator graficzny + KDE4 = Arch + LiveCD + instalator graficzny + KDE4
Pakiety binarne...Pakiety binarne... ...ale nie tylko! → ...ale nie tylko! → ABS ABS && AUR AUR
Zarządzanie pakietamiZarządzanie pakietami model rolling-releasemodel rolling-release
pacmanpacman
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
55
FilozofiaFilozofia
Postulaty:Postulaty:
Prostota systemuProstota systemu
Wolność wyboruWolność wyboru
Nieustanne kształcenieNieustanne kształcenie
Zorientowanie na potrzeby użytkownikaZorientowanie na potrzeby użytkownika
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
66
Prostota systemuProstota systemu
KKeep eep IIt t SSimple, imple, SStupidtupid
Co to znaczy prosty?Co to znaczy prosty?
Bez niepotrzebnych dodatków, modyfikacji i komplikacji.Bez niepotrzebnych dodatków, modyfikacji i komplikacji. Złożoność? Tak. Skomplikowanie? Nie.Złożoność? Tak. Skomplikowanie? Nie.
Jeśli próbujesz ukryć złożoność systemu, otrzymasz jeszcze bardziej Jeśli próbujesz ukryć złożoność systemu, otrzymasz jeszcze bardziej złożony system.złożony system.
Zamiast tego, spróbuj uczynić system przejrzystym i logicznym od Zamiast tego, spróbuj uczynić system przejrzystym i logicznym od samego środka.samego środka.
KKeep eep IIt t SSimple, imple, SStupidtupid
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
77
Wolność wyboruWolność wyboru
Wolność od samego początkuWolność od samego początku Użytkownik decydujący się na korzystanie z Archa jest zobowiązany do Użytkownik decydujący się na korzystanie z Archa jest zobowiązany do
własnoręcznego dostosowania systemu do swoich potrzeb.własnoręcznego dostosowania systemu do swoich potrzeb.
Zamiast narzucania niepotrzebnych i niechcianych pakietów, Arch oferuje Zamiast narzucania niepotrzebnych i niechcianych pakietów, Arch oferuje możliwość budowy od podstaw, bez sugerowania konfiguracji domyślnej.możliwość budowy od podstaw, bez sugerowania konfiguracji domyślnej.
To To użytkownikużytkownik podejmuje wszelkie decyzje. podejmuje wszelkie decyzje.
Graficzne kreatory i konfiguratory?Graficzne kreatory i konfiguratory? W pewnym momencie użytkownik będzie potrzebować funkcjonalności, W pewnym momencie użytkownik będzie potrzebować funkcjonalności,
którą GUI przed nim ukrywa.którą GUI przed nim ukrywa.
Arch Linux is what Arch Linux is what youyou make it. make it.Judd Vinet, twórca dystrybucjiJudd Vinet, twórca dystrybucji
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
88
Nieustanne kształcenieNieustanne kształcenie
Kształcenie użytkownikaKształcenie użytkownika Nauczenie się czegoś jest ważniejsze, niż osiągnięcie celu bez prawie Nauczenie się czegoś jest ważniejsze, niż osiągnięcie celu bez prawie
żadnych własnych wysiłków.żadnych własnych wysiłków.
++ KKeep eep IIt t SSimple, imple, SStupidtupid
== Proste narzędzia nieograniczające użytkownikaProste narzędzia nieograniczające użytkownika
WolnośćWolność
ElastycznośćElastyczność
SamokształcenieSamokształcenie
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
99
Nieustanne kształcenieNieustanne kształcenie
Kształtowanie systemuKształtowanie systemu
Użytkownicy uczestnicząUżytkownicy uczestniczą w rozwoju → w rozwoju → społecznośćspołeczność
Użytkownicy publikująUżytkownicy publikują swoje paczki w swoje paczki w AUR AUR (Arch User Repository)(Arch User Repository)
Użytkownicy wybierająUżytkownicy wybierają paczki z paczki z AURAUR, które trafią do oficjalnych , które trafią do oficjalnych repozytoriówrepozytoriów
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1010
Zorientowanie na użytkownikaZorientowanie na użytkownika
Pełna Pełna kontrolakontrola nad systemem nad systemem
Pełna Pełna odpowiedzialnośćodpowiedzialność za system za system
System powinien spełniać System powinien spełniać potrzebypotrzeby użytkownikaużytkownika To To użytkownikużytkownik podejmuje wszelkie podejmuje wszelkie decyzjedecyzje..
System jest System jest rozwijanyrozwijany przez przez użytkownikówużytkowników
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1111
Fight!Fight!
vsvs
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1212
archarchlinuxlinux vs Gentoo vs Gentoo
RóżniceRóżnice Pakiety:Pakiety: binarnebinarne ↔↔ źródłoweźródłowe
Update:Update: 5 minut5 minut ↔↔ 5 godzin5 godzin
Manifesty:Manifesty: PKGBUILDPKGBUILD ↔↔ ebuildebuild
Konfiguracja:Konfiguracja: KISS!KISS! ↔↔ 5 godzin...5 godzin...
PodobieństwaPodobieństwa Elastyczność i dostosowanie do Elastyczność i dostosowanie do potrzeb użytkownikapotrzeb użytkownika
OptymalizacjaOptymalizacja dla konkretnej architektury dla konkretnej architektury
Prosta instalacja pakietów ze źródełProsta instalacja pakietów ze źródeł
Model Model rolling releaserolling release
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1313
archarchlinuxlinux vs Slackware vs Slackware
RóżniceRóżnice Pakiety:Pakiety: pacmanpacman ↔↔ ręcznieręcznie
Wersje pakietów:Wersje pakietów: rolling releaserolling release ↔↔ stabilnestabilne
Użytkowanie:Użytkowanie: KISS!KISS! ↔↔ trudnetrudne
PodobieństwaPodobieństwa Elastyczność i dostosowanie do Elastyczność i dostosowanie do potrzeb użytkownikapotrzeb użytkownika
Prosta i minimalistyczna budowa (Prosta i minimalistyczna budowa (KISSKISS))
Skrypty startowe w stylu Skrypty startowe w stylu BSDBSD
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1414
archarchlinuxlinux vs Ubuntu vs Ubuntu
RóżniceRóżnice Rozwój:Rozwój: niezależnyniezależny ↔↔ sponsorowanysponsorowany
Użytkownicy:Użytkownicy: doświadczenidoświadczeni ↔↔ początkującypoczątkujący
Wersje systemu:Wersje systemu: rolling releaserolling release ↔↔ release co 6 miesięcyrelease co 6 miesięcy
Pakiety źródłowe:Pakiety źródłowe: ABS ABS (~ BSD ports)(~ BSD ports) ↔ ↔ ręcznieręcznie
Konfiguracja:Konfiguracja: KISS!KISS! ↔↔ GUI & kreatoryGUI & kreatory
Społeczność:Społeczność: mniejsza, aktywnamniejsza, aktywna ↔↔ większa, mniej aktywnawiększa, mniej aktywna
PodobieństwaPodobieństwa Linuksy...Linuksy...
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1515
PakietyPakiety
ZarządzanieZarządzanie pacmanpacman
TworzenieTworzenie ABSABS
RepozytoriaRepozytoria AURAUR
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1616
Pakiety - ZarządzaniePakiety - Zarządzanie
pacmanpacman
Napisany w języku Napisany w języku CC → szybki→ szybki
Pakiety w formacie Pakiety w formacie .tar.gz.tar.gz
Pakiety z Pakiety z repozytoriówrepozytoriów lub lub lokalnelokalne
Obsługa Obsługa zależnościzależności
Bardzo prosty w użyciuBardzo prosty w użyciu
Prosta konfiguracjaProsta konfiguracja → → /etc/pacman.conf/etc/pacman.conf
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1717
Pakiety - ZarządzaniePakiety - Zarządzanie
SynchronizacjaSynchronizacja Instalacja, update, wyszukiwanieInstalacja, update, wyszukiwanie
# pacman -Spacman -S
Aktualizacja systemu jednym poleceniemAktualizacja systemu jednym poleceniem
# pacman -Syupacman -Syu
Informacje o pakietach i zależnościachInformacje o pakietach i zależnościach# pacman -Qpacman -Q
Instalacja pakietów lokalnychInstalacja pakietów lokalnych# pacman -Upacman -U
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1818
Pakiety - TworzeniePakiety - Tworzenie
Co jest potrzebne?Co jest potrzebne? PKGBUILDPKGBUILD
Opcjonalnie dodatkowe skryptyOpcjonalnie dodatkowe skrypty
Jak zbudować?Jak zbudować?# makepkgmakepkg
Co się dzieje?Co się dzieje? Pobierane są źródłaPobierane są źródła
Sprawdzane są sumy kontrolne i zależnościSprawdzane są sumy kontrolne i zależności
Wykonywana jest kompilacja i skrypty budująceWykonywana jest kompilacja i skrypty budujące
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
1919
PKGBUILDPKGBUILD
# Maintainer: Joe User <[email protected]>
pkgname=patchpkgver=2.5.4pkgrel=3pkgdesc="A utility to apply patch files to original sources"arch=('i686' 'x86_64')url="http://www.gnu.org/software/patch/patch.html"license=('GPL')groups=('base-devel')depends=('glibc' 'ed')source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz)md5sums=('ee5ae84d115f051d87fcaaef3b4ae782')
build() { cd $srcdir/$pkgname-$pkgver ./configure --prefix=/usr make || return 1 make prefix=$pkgdir/usr install}
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2020
ABSABS
AArch rch BBuild uild SSystemystem Tworzenie Tworzenie nowych pakietównowych pakietów
Dostosowywanie Dostosowywanie istniejących pakietów → opcje kompilacjiistniejących pakietów → opcje kompilacji
Przebudowywanie Przebudowywanie systemu używając własnych flag kompilatorasystemu używając własnych flag kompilatora
System portów System portów podobny do BSDpodobny do BSD Drzewo reprezentujące oficjalne repozytoriumDrzewo reprezentujące oficjalne repozytorium
Zawiera pliki Zawiera pliki PKGBUILDPKGBUILD
/var/abs/.../var/abs/...
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2121
Pakiety – RepozytoriaPakiety – Repozytoria
OficjalneOficjalne [core][core]
[extra][extra]
[community][community]
[testing], [community-testing][testing], [community-testing]
AUR AUR a.k.a. a.k.a. [unsupported][unsupported]
NieoficjalneNieoficjalne archlinux.frarchlinux.fr
KDEmodKDEmod
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2222
AURAUR
AArch rch UUser ser RRepositoryepository
Baza plików Baza plików PKGBUILDPKGBUILD
Tworzona przez Tworzona przez społecznośćspołeczność
OgromnaOgromna
Głosowanie → Głosowanie → [community][community] Trusted UsersTrusted Users
Packages in unsupportedPackages in unsupported 2023520235
Packages added or updated in the past 7 daysPackages added or updated in the past 7 days 732732
Registered UsersRegistered Users 2075820758
EbuildsEbuilds 2677626776
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2323
KonfiguracjaKonfiguracja
/etc/rc.conf/etc/rc.conf
Ustawienia językoweUstawienia językowe
Moduły jądraModuły jądra
SiećSieć
DemonyDemony
Start systemuStart systemu Styl Styl BSDBSD
/etc/rc.sysinit/etc/rc.sysinit → → /etc/rc.single/etc/rc.single → →
→ → /etc/rc.multi/etc/rc.multi → → /etc/rc.local/etc/rc.local
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2424
KonfiguracjaKonfiguracja
/etc/pacman.conf/etc/pacman.conf Zachowanie pacmana (ignorowane pakiety itp.)Zachowanie pacmana (ignorowane pakiety itp.)
Adresy repozytoriów (mirrors)Adresy repozytoriów (mirrors)
/etc/makepkg.conf/etc/makepkg.conf Opcje i flagi kompilatoraOpcje i flagi kompilatora
Konfiguracja programu pakującegoKonfiguracja programu pakującego
/etc/abs.conf/etc/abs.conf Katalog z drzewem plików PKBGUILDKatalog z drzewem plików PKBGUILD
RepozytoriaRepozytoria
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2525
Wisienki na torcieWisienki na torcie
YaourtYaourt
ArchAssistantArchAssistant
KDEmodKDEmod
ShamanShaman
Chakra ProjectChakra Project
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2626
YaourtYaourt
YYet et AAnnOOther ther UUser ser RRepository epository TToolool
KonsKonsoolowa nakładka na lowa nakładka na pacmanpacmanaa
Obsługuje Obsługuje dodatkowo AURdodatkowo AUR WyszukiwanieWyszukiwanie
Kompilacja i instalacjaKompilacja i instalacja
Interfejs identyczny jak Interfejs identyczny jak pacmanpacman
Inne udogodnieniaInne udogodnienia Kolory, interaktywne wyszukiwanie, statystyki itp.Kolory, interaktywne wyszukiwanie, statystyki itp.
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2727
ArchAssistantArchAssistant
Pomocnik Pomocnik żyjący na tacce systemowej (systray)żyjący na tacce systemowej (systray)
Administracja systememAdministracja systemem Obsługa Obsługa siecisieci (również (również WiFiWiFi))
→ → netcfg2netcfg2
Edycja plików systemowychEdycja plików systemowych
Informacje systemoweInformacje systemowe
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2828
KDEmodKDEmod
KDE4KDE4 wzbogacone wzbogacone ShamanShaman
PlasmoidyPlasmoidy
OptymalizacjaOptymalizacja dla dla archarchlinuxlinux
ModularneModularne
RepozytoriaRepozytoria [kdemod-core], [kdemod-extragear], [kdemod-playground][kdemod-core], [kdemod-extragear], [kdemod-playground]
KDE3 → [kdemod-legacy]KDE3 → [kdemod-legacy]
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
2929
ShamanShaman
GUI dla GUI dla pacmanpacmanaa Ścisła integracja → Ścisła integracja → szybkość!szybkość!
Manipulowanie repozytoriamiManipulowanie repozytoriami
Wsparcie dla Wsparcie dla ABSABS
Powiadamianie o dostępnych Powiadamianie o dostępnych aktualizacjachaktualizacjach
Obecnie prace nad Obecnie prace nad Shaman2Shaman2 Obsługa Obsługa dowolnegodowolnego managera pakietów → nie tylko managera pakietów → nie tylko archarchlinuxlinux!!
Obsługa Obsługa wtyczekwtyczek
ProstyProsty
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
3030
ShamanShaman
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
3131
Chakra ProjectChakra Project
Chakra ProjectChakra Project = = archarchlinuxlinux + + KDEmod + LiveCDKDEmod + LiveCD + + instalatorinstalator graficzny graficzny
CelCel
NowoczesnyNowoczesny system operacyjny system operacyjny
Interfejs Interfejs przyjaznyprzyjazny użytkownikowi użytkownikowi
Funkcjonalne Funkcjonalne narzędzianarzędzia
KISS!KISS!
Obecnie w fazie alphaObecnie w fazie alpha
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
3232
ŹródłaŹródła
http://www.archlinux.org/http://www.archlinux.org/ http://wiki.archlinux.org/http://wiki.archlinux.org/
http://bbs.archlinux.org/http://bbs.archlinux.org/
http://aur.archlinux.org/http://aur.archlinux.org/
http://archux.com/http://archux.com/
http://www.arch-linux.pl/http://www.arch-linux.pl/
http://chakra-project.org/http://chakra-project.org/
20102010© Mikołaj Pastuszko© Mikołaj Pastuszko
3333
DziękujęDziękuję
Pytania?Pytania?