Archive for the ‘linux’ tag
LAMP w Mandriva no comments
LAMP – akronim określający zestaw oprogramowania open source stanowiący popularną platformę serwerową dynamicznych stron WWW:
* Linux, system operacyjny;
* Apache, serwer WWW;
* MySQL, serwer bazy danych;
* Perl, PHP, (ew. Python, Primate (mod mono)), interpreter języka skryptowego.
Pomimo że żaden z tych elementów nie został stworzony specjalnie do współdziałania z pozostałymi, taki zestaw oprogramowania jest bardzo popularny ze względu na niski koszt i dostępność wszystkich komponentów (m.in. są dołączane do większości dystrybucji Linuksa).
Akronim LAMP został stworzony przez Michaela Kunze w artykule dla niemieckiego magazynu komputerowego c’t. Celem artykułu było wskazanie zestawu darmowego oprogramowania, który mógł stanowić alternatywę dla oprogramowania komercyjnego. Znając zamiłowanie środowiska informatycznego do akronimów, Kunze stworzył LAMP jako chwytliwy sposób popularyzacji wolnego oprogramowania (w jęz. angielskim słowo „lamp” oznacza lampę).
Wśród anglojęzycznych informatyków termin LAMP został rozpowszechniony przez wydawnictwo O’Reilly i producentów MySQL.
Istnieją odmiany tego zestawu oprogramowania i co za tym idzie akronimu: LAPP (gdzie MySQL zastępuje PostgreSQL), WAMP (Microsoft Windows zamiast Linuksa), FAMP (FreeBSD) oraz samo AMP (pominięty system operacyjny – wariant lansowany przez Apple Inc.).
Oprogramowanie, na którym działa Wikipedia, jest również platformą LAMP – MediaWiki stworzone na Linuksie, korzysta z serwera Apache, dane z kolei przechowuje baza danych MySQL, a językiem skryptowym jest PHP (poprzednio Perl).
Początki Debiana no comments
Każdy pakiet w Debianie ma swojego opiekuna, który utrzymuje go w odpowiedniej wersji, a także dba o jego zgodność z polityką Debiana, utrzymuje zgodność z innymi pakietami i stara się, aby był on na odpowiednio wysokim poziomie. Użytkownicy zgłaszają błędy poprzez system zgłaszania błędów, a następnie opiekun stara się naprawić błędy w aplikacji. Zazwyczaj jeden opiekun zajmuje się jednym pakietem, jednak czasami niewielkie grupy deweloperów zajmują się jednym dużym pakietem lub grupą pakietów silnie ze sobą powiązanych.
Gdy opiekun chce wydać nową wersję pakietu najpierw wysyła go do katalogu „incoming” w archiwum pakietów Debiana. Serwer sprawdzi czy plik został poprawie wysłany i czy wszystkie wymagane pliki znajdują się w nim. Dla pewności sprawdza poprawność klucza OpenPGP opiekuna. Każdy z deweloperów Debiana posiada własny klucz publiczny. Pakiet podpisywany jest aby uniknąć wysłania go poprzez nieuprawnioną do tego osobę, która mogłaby wprowadzić modyfikację kodu mogącą wywołać obniżenie bezpieczeństwa systemu, bądź dodanie kodu łamiącego zasady Debiana lub licencji programu.
Jeżeli wysłany pakiet spełnił powyższe wymagania, zostaje przesunięty do obszaru nazwanego „pool”. Każdego dnia setki ze światowych mirrorów pobierają pakiety z tego katalogu. Wszystkie pobrane pakiety są dostępne tylko w niestabilnej gałęzi Debiana, która zawiera najnowsze wersje każdego pakietu.
Jednak nowy kod to także niesprawdzony kod, dlatego każdy pakiet z tej gałęzi jest udostępniany bez jakichkolwiek gwarancji bezpieczeństwa czy stabilności. Aby pakiet stał się kandydatem do następnego stabilnego wydania Debiana najpierw musi trafić do gałęzi testowej. Wymagania aby pakiet trafił do gałęzi testowej są następujące:
* musi być obecny przez pewną ilość dni w wydaniu niestabilnym;
* nie może mieć więcej błędów krytycznych wydania niż pakiet, który aktualnie znajduje się w testowej gałęzi. Błąd krytyczny wydania to taki błąd, który może negatywnie wpłynąć na bezpieczeństwo lub stabilność systemu i powinien być poprawiony przed następnym stabilnym wydaniem;
* musi być skompilowany we wszystkich oficjalnie wspieranych architekturach;
* nie może być zależny od pakietów które nie znajdują się w wydaniu testowym.
W ten sposób błąd krytyczny w jednym pakiecie od którego zależy wiele innych pakietów (np. biblioteka) może spowodować, że wiele pakietów nie trafi do testowej gałęzi.
Menadżer danego wydania stabilnego publikuje wytyczne dla deweloperów i decyduje o terminie wydania stabilnego. Jeżeli wszystkie ważne pakiety są we względnie nowych wersjach i są dostępne dla oficjalnie wspieranych architektur, a także wypełnione są założenia dla danego wydania następuje wydanie nowego wydania stabilnego. W jednym czasie wszystkie pakiety z gałęzi testowej stają się częścią wydania stabilnego. Operacja ta jest poprzedzona tzw. zamrożeniem gałęzi (ang. freeze), w tym najważniejszych podsystemów (jądro, biblioteki, kompilatory, interpretery języków skryptowych itp), w trakcie którego nie jest dozwolone umieszczanie nowych wersji pakietów w gałęzi testowej (poza aktualizacjami usuwającymi błędy ważne dla wydania czy wprowadzanie ważne poprawki bezpieczeństwa), ani dokonywanie zmian pociągających za sobą duże zmiany w archiwum (zmiana biblioteki mogłaby pociągnąć za sobą potrzebę przetestowania wszystkich zależnych od niej pakietów).
Jest możliwość, że stosunkowo stary pakiet, który jest rzadko uaktualniany będzie należał do więcej niż jednej gałęzi w tym samym czasie. Gałęzie są prostą metodą przechodzenia pakietu z katalogu „pool” do stabilnego wydania.