• Nie Znaleziono Wyników

System Zarz ˛adzania Dystrybucj ˛a

N/A
N/A
Protected

Academic year: 2021

Share "System Zarz ˛adzania Dystrybucj ˛a"

Copied!
10
0
0

Pełen tekst

(1)

PRI - Projekt

System Zarz ˛adzania Dystrybucj ˛a

Leszek Krupi´nski 13 czerwca 2003

(2)

Spis tre´sci

1 Opis dziedziny problemowej 2

2 Cel 3

3 Zakres 4

4 Kontekst 5

5 Opis wymaga ´n 6

5.1 Wymagania funkcjonalne . . . . 6 5.2 Wymagania niefunkcjonalne . . . . 7

6 Ewolucja systemu 8

7 Słownik 9

(3)

Rozdział 1

Opis dziedziny problemowej

PLD (PLD Linux Distribution), polska dystrybucja systemu Linux, oparta jest o system pakietów RPM (RedHat Package Manager). Pakiet jest to program wraz z informacjami o nim: nazw ˛a, opisem, numerem wersji, pakietami od których za- le˙zy (to znaczy które musz ˛a by´c zainstalowane w systemie aby dany pakiet mógł działa´c). Wszystkie te informacje mog ˛a słu˙zy´c do wygenerowania pliku „spec”, który jest niezb˛edny do wygenerowania pakietu. Pakiety mog ˛a by´c kompilowane dla jednej z wielu architektur procesorów, na których mo˙ze by´c zainstalowana dystrybucja PLD (i386, i586, i686, Sparc, Alpha, PowerPC). Budowaniem pakie- tów zarz ˛adza specjalny program, tzw. builder. Za pomoc ˛a zlece´n od developerów dystrybucji kompiluje on ˙z ˛adane pakiety wraz ze wszystkimi pakietami, które od danego zale˙z ˛a. W razie niepowodzenia kompilacji do developerów dystrybucji przekazywane s ˛a informacje o tym. Jako ˙ze pakiety nie mog ˛a by´c kompilowane jednocze´snie, builder zarz ˛adza kolejk ˛a zlece´n.

Dystrybucja musi zbiera´c informacje od u˙zytkowników o ewentualnych bł˛e- dach w funkcjonowaniu pakietów. Dlatego te˙z powinna udost˛epnia´c system BTS (Bug Tracking System). Zbiera on informacje od u˙zytkowników przez interfejs WWW.

2

(4)

Rozdział 2 Cel

Efektywny program buildera wyeliminuje konieczno´s´c r˛ecznego zarz ˛adzania zle- ceniami budowania pakietów, a tak˙ze pozwoli na efektywne wykorzystywanie czasu procesorów maszyn, na których odbywa sie proces kompilacji.

Natomiast BTS pozwoli na szybie i efektywne usuwanie wszelkich bł˛edów w systemie, jak tylko zostan ˛a zauwa˙zone.

(5)

Rozdział 3 Zakres

Builder w szczególno´sci b˛edzie odpowiedzialny za:

• przechowywanie informacji o pakietach

• przyjmowanie zlece´n przebudowania pakietów od developerów

• informowanie o ewentualnym niepowodzeniu kompilacji

• przechowywanie informacji o kolejnych wersjach programów

• zachowywanie zmian w plikach spec w postaci ró˙znicowej

• kontrol˛e dost˛epu do systemu

• modyfikacj˛e kolejki zlece´n przez upowa˙znionych developerów

• wywoływanie procesu budowania pakietu na maszynach zajmuj ˛acych si˛e okre´slon ˛a architektur ˛a

Zadania systemu BTS to:

• rejestracja u˙zytkowników dystrybucji

• przyjmowanie zgłosze´n o bł˛edach w funkcjonowaniu aplikacji wraz z opi- sami

• przydzielanie zgłosze´n do developerów

• przechowywanie informacji o stanie zgłoszenia (oczekuj ˛ace, przydzielone, rozwi ˛azane, bł˛edne)

4

(6)

Rozdział 4 Kontekst

W systemie wyst˛epuje 3 aktorów zewn˛etrznych oraz aktor systemowy.

administrator – osoba zajmuj ˛aca si˛e administrowaniem systemu, posiada mo˙zli- wo´s´c ingerencji w kolejk˛e budowania pakietów, rejestrowania developerów w systemie. Zajmuje si˛e te˙z r˛ecznym przeprowadzaniem operacji nieprze- widzianych w systemie.

developer – aktor b˛ed ˛acy osob ˛a zajmuj ˛ac ˛a si˛e rozwojem dystrybucji. Developer tworzy pakiety, dodaje informacje o nich, zajmuje si˛e tak˙ze bł˛edami przy- dzielonymi mu poprzez system BTS. Developer mo˙ze mie´c status opiekuna pakietu. W takim przypadku, tylko od niego zale˙zy uznanie danej wersji pakietu za stabiln ˛a, ma te˙z prawo cofa´c zmiany w specu zrobione przez innych developerów.

u˙zytkownik – u˙zytkownik systemu nie b˛ed ˛acy twórc ˛a dystrybucji. Po zarejestro- waniu w systemie posiada on mo˙zliwo´s´c zgłaszania bł˛edów w funkcjono- waniu poszczególnych pakietów dystrybucji. U˙zytkownik wypełnia formu- larz zawieraj ˛acy wszystkie informacje o pakiecie: wersj˛e, opis problemu, jego typ.

(7)

Rozdział 5

Opis wymaga ´n

5.1 Wymagania funkcjonalne

1. System ma przechowywa´c informacje o developerach dystrybucji. Na pod- stawie tych danych mo˙zliwe jest rejestrowanie zmian w specach, przydzie- lanie opiekunów pakietów, a tak˙ze wysyłanie zlece´n wstawienia pakietu do kolejki do zbudowania.

2. System ma tak˙ze słu˙zy´c jako baza danych informacji o pakietach. Wszyst- kie pakiety musz ˛a posiada´c opisy, które mog ˛a by´c wy´swietlone na przykład poprzez interfejs WWW. Dodatkowo, ka˙zdy pakiet musi posiada´c informa- cje o najnowszej wersji stabilnej i niestabilnej.

3. W systemie powinny by´c zapisane informacje o plikach, na które skła- daj ˛a si˛e pakiety (czyli kody ´zródłowe programów, skrypty itp). Przy ka˙z- dym pliku powinna by´c zapisana jego suma kontrolna MD5 (dzi˛eki czemu mo˙zna sprawdzi´c, czy plik został przesłany poprawnie), URL (Uniform Re- source Locator) miejsca w internecie, sk ˛ad został ten plik oryginalnie po- brany a tak˙ze jego wersja.

4. Wszystkie modyfikacje w specach powinny by´c przechowywane w forma- cje ró˙znicowym, aby mo˙zna było łatwo te zmiany cofn ˛a´c. Ka˙zda zmiana powinna posiada´c swój numer rewizji, dat˛e, oraz zapisany identyfikator de- velopera wykonuj ˛acego zmian˛e.

5. Developer ma mie´c mo˙zliwo´s´c wstawienia pakietu do kolejki do zbudowa- nia dla konkretnej architektury b ˛ad´z dla wszystkich mo˙zliwych. System powinien automatycznie zbudowa´c wszystkie pakiety, które zale˙z ˛a od da- nego pakietu.

6

(8)

ROZDZIAŁ 5. OPIS WYMAGA ´N 7

6. Administrator ma mie´c mo˙zliwo´s´c dowolnego przestawiania pakietów ocze- kuj ˛acych w kolejce na zbudowanie, a zwłaszcza wstawienie pakietu bezwa- runkowo na pocz ˛atek kolejki. Powinien mie´c tak˙ze mo˙zliwo´s´c usuwania pakietów z kolejki je´sli zajdzie taka potrzeba (na przykład pakiet został wstawiony do kolejki przez przypadek).

7. W systemie maj ˛a by´c przechowywane wszelkie informacje na temat ka˙zdej próby zbudowania pakietu, zwłaszcza je´sli zako´nczyła si˛e ona niepowodze- niem. Informacja o niepowodzeniu procesu powinna zosta´c przesłana do osoby zlecaj ˛acej budowanie.

8. Zarejestrowani u˙zytkownicy dystrybucji powinni mie´c mo˙zliwo´s´c zgłasza- nia informacji o bł˛edach. Zgłoszenia te (tickety) powinny by´c opatrzone odpowiednim komentarzem, powinny by´c przypisane do konkretnej wersji programu. System powinien umo˙zliwia´c przypisanie ticketu do konkret- nego developera, który zajmie si˛e problemem. Ka˙zdy z ticketów powinien mie´c okre´slony stan - czy problem oczekuje na rozwi ˛azanie, jest w trakcie rozwi ˛azania, czy mo˙ze nie da si˛e zaobserwowa´c podobnego bł˛edu.

9. Co miesi ˛ac powinien by´c przygotowywany raport, zawieraj ˛acy informacje o wszystkich pakietach, których najnowszych wersji nie udało si˛e zbudowa´c.

5.2 Wymagania niefunkcjonalne

1. opiekunem pakietu mo˙ze by´c tylko developer o sta˙zu wi˛ekszym ni˙z rok 2. stabilno´s´c pakietu mo˙ze ustali´c tylko jego opiekun

3. u˙zytkownik musi przy rejestracji poda´c prawdziwy, istniej ˛acy adres e-mail

(9)

Rozdział 6

Ewolucja systemu

W przyszło´sci system ten mo˙ze zintegrowa´c wszystkie aspekty tworzenia dys- trybucji. Dzi˛eki temu administracja pakietami i kontami developerów zostanie scentralizowana.

System mo˙zna poszerzy´c o system CVS (Concurrent Versioning System).

System ten słu˙zy do usprawnienia pracy grupowej nad wspólnym projektem. Umo˙z- liwia on prac˛e wielu developerów nad jednym plikiem, zapobiegaj ˛ac wzajem- nemu „przeszkadzaniu”.

System ten mo˙ze w przyszło´sci słu˙zy´c tak˙ze do wymiany informacji mi˛edzy developerami. Integracja systemu umo˙zliwi stworzenie wielu metod dost˛epu do dyskusji: przez interfejs WWW, pocztowy czy NNTP.

System Zarz ˛adzania Dystrybucj ˛a mo˙ze tak˙ze słu˙zy´c pomoc ˛a dla CDG (Core Developers Group) - grupy developerów podejmuj ˛acych najwa˙zniejsze dla dys- trybucji decyzje. System mo˙ze by´c rozbudowany o system do głosowa´n.

8

(10)

Rozdział 7 Słownik

dystrybucja – zbiór pakietów oraz j ˛adro systemu Linux developer – osoba rozwijaj ˛aca dystrybucj˛e PLD

administrator – osoba zarz ˛adzaj ˛aca Systemem Zarz ˛adzania Dystrybucj ˛a RPM – RedHat Package Manager - system zarz ˛adzania pakietami

pakiet – skompilowany program lub kod ´zródłowy, wraz z informacjami nie- zb˛ednymi do jego instalacji – informacje o pakietach których dany pakiet wymaga, opis, skrypty które maj ˛a by´c wykonane po instalacji, przed ni ˛a lub po odinstalowaniu pakietu.

spec – zbiór informacji niezb˛ednych do zbudowania pakietu BTS – Bug Tracking System – system ´sledzenia bł˛edów

ticket – notatka o bł˛edzie wyst˛epuj ˛acym w pewnym pakiecie; zawiera informacje o wersji tego pakietu, okoliczno´sciach zaj´scia, osobie zgłaszaj ˛acej i develo- perze, który jest przydzielony do tego bł˛edu

Cytaty

Powiązane dokumenty

Uczeniesi ֒ezewzmocnieniem—eksploracja17 Politykaeksploracji Abypo l ֒aczy´cskuteczn֒aeksploracj֒e´swiatazeksploatacj֒aposiadanejwiedzy

Korzystaj ˛ ac z wyznacznika Gramma, podaj wzór na odległo´s´c punktu od podprzestrzeni afinicznej w prze- strzeni euklidesowej.. Ka˙zde zadanie nale˙zy pisa´c na

[r]

1 UoZL „bada- nie lub udzielenie pacjentowi innego świadczenia zdrowotnego bez jego zgody jest dopuszczalne, jeżeli wy- maga on niezwłocznej pomocy lekar- skiej,

1) przetwarzać powierzone dane osobowe wyłącznie na podstawie Umowy oraz na udokumentowane polecenie Podmiotu powierzającego, chyba że obowiązek taki nakłada na niego

Osoby, które otrzymały nagrodę za awans na dany poziom we wcześniejszych edycjach Programu Bonusu za Rozwój nie otrzymują wypłaty za ponowny awans na ten sam poziom w Programie Celuj

[r]

 W oknie Menedżera serwisów wybierz kafelek Połączenie do bazy danych, kliknij polecenie Konfiguracja połączenia a następnie wskaż lokalizację bazy danych