Chciałbym dzisiaj, zaprezentować wszystkim nową dystrybucję Linuksa – reGen2. Jak sama nazwa wskazuje, projekt bazuje w dużej mierze na Gentoo i być może niektórzy spotkali się już wcześniej z tą nazwą.
Dystrybucję zapoczątkował Caleb Cushing, w internecie znany jako xenoterracide w 2009r, po tym jak na skutek nieporozumień i konfliktów z Danielem Robbinsem przestał opiekować się drzewem Portage w Funtoo. Jego repozytorium zawierało trzy gałęzie: gentoo.org, funtoo.org oraz regen2.org. System ten jednak prawie wcale nie różnił się od Funtoo. reGen2 z założenia miał być łatwiejszą, szybszą, stabilniejsza i bezpieczniejszą dystrybucją. Z czasem, Caleb Cushing planował także wprowadzić nowy, szybszy system zarządzania pakietami, który początkowo nazwal emerge-ng. Niestety, w maju 2009, zrezygnował z dalszych prac, na swoim blogu, pisząc jedynie kilka słów informujących o tym jak wiele jest do zrobienia i że nie podoła wszystkiemu sam.
W czerwcu 2011 roku, a więc po przeszło dwóch latach od porzucenia prac, postanowiliśmy skontaktować się z pierwotnym autorem dystrybucji, prosząc o przejęcie projektu. Dzięki uprzejmości Caleba, uzyskaliśmy dostęp nie tylko do nazwy i repozytorium, ale także do kanału IRC w sieci FreeNode. W chwili obecnej, mimo iż nazwa pozostała nie zmieniona, jest to zupełnie nowy projekt, prowadzony przez grupę AsioTec.
reGen2 jest wariacją Gentoo, łączącą w sobie najlepsze cechy obu dystrybucji (Gentoo i Funtoo), potrafiącą współpracować zarówno z jądrem Linuksa, jak i FreeBSD. Zaimplementowane rozwiązania oraz polityka zespołu sprawiają, że jest to rozwiązanie niemal dla każdego. Co więcej, reGen2 jest dystrybucją ciągłą, w znacznym stopniu kompatybilną z obema dystrybucjami, umożliwiając tym samym łatwą, szybką i co najważniejsze, bezbolesną migrację.
Z punktu widzenia użytkownika końcowego główna różnica pomiędzy wszystkimi trzema dystrybucjami, jest drzewo Portage. Mimo, iż każde ma wspólą część znaną z Gentoo, to zarówno Funtoo jak i reGen2 wprowadzają pewne zmiany i udoskonalenia. Nasze drzewo synchronizowane jest z Gentoo dwa razy w ciągu doby, oraz posiada dodatkowo zintegrowane 2 overlaye:
- foo-overlay
- regen2-overlay
Ponadtwo główne cechy reGen2 to:
- Drzewo Portage: własne, zgodne w 99,9% z Gentoo.Wszystkie wprowadzone przez deweloperów Gentoo zmiany są automatycznie włączane co 12 godzin. Zapewnia to przede wszystkim stałe aktualizacje wszystkich pakietów.
- Drzewo oparte o GIT: Jest to szybszy i bardziej efektywny sposób synchronizacji. Dodatkowo, GIT zapewnia sprawdzanie integralności wykorzystując algorytm SHA-1, przez co zbędne staje się sprawdzanie sum kontrolnych plików umieszczonych w drzewie podczas instalacji pakietów, co skraca czas ich instalacji. Ponadto, reGen2 wykorzystuje mechanizm “shallow clone”, dzięki któremu na dysku nie jest przechowywana cała historia zmian, a w konsekwencji Portage nie rozrasta się tak bardzo wraz z kolejnymi synchronizacjami. Miesięczne drzewo może zajmować nawet do 40MB mniej!
- Thin Manifest: Znany doskonale z Funtoo specjalny tryb, w którym pliki manifest przechowują jedynie sumy kontrolne danych pobieranych do ${DISTFILES}. Dzięki takiemu rozwiązaniu zajmują one zdecydowanie mniej miejsca na dysku, a sam proces emergowania pakietu trwa krócej.
- Local Patch: Ficzers autorstwa Slashbeast, dający możliwość nakładania dodatkowych łatek na pakiety bez konieczności edytowanie ebuildów. Wystarczy jedynie dopisac FEATURES=”localpatch” do /etc/make.conf. Domyślnie łatki umieszczone powinny być w /etc/portage/patches/[kategoria]/[pakiet]/. Ponadto, w przypadku reGen2, ficzers ten został dodatkowo rozszerzony o opcję oznaczania pakietów na które nałożone zostaną dodatkowe łatki.
- Automatyczne Zależności: XZ jest coraz częściej stosowany przy kompresji paczek. Jednak, aby móc z niego skorzystać, niezbędna jest instalacja pakietu xz-utils. W reGen2, pakiet ten jest automatycznie dodawany do zależności jeżeli jest tylko wymagany, a nie został wcześniej zainstalowany.
- reGen2 Kernel: regen2-sources jest patchsetem bazującym na gentoo-sources. Dodatkowo wprowadza on wsparcie dla Advanced Multi Layered Unification Filesystem, Budget Fair Queueing oraz Uber-Readahead.



