View previous topic :: View next topic |
Author |
Message |
radziel n00b
Joined: 02 Jul 2005 Posts: 40 Location: Poland, Olsztyn
|
Posted: Thu May 29, 2008 2:38 pm Post subject: Separacja środowiska "testowego" od "produkcy |
|
|
Witam,
jako że nie znalazłem podobnego tematu, chciałbym rozpocząć dyskusję na temat odseparowania środowiska developerskiego / testowego od... produkcyjnego? dla przeciętnego człowieka*.
Tyle wstępu, teraz przejdźmy do sedna. Nieraz miałem sytuację kiedy daną aplikację instalowałem tylko po to by ją przetestować lub też użyć raz. Niestety - "testowe emergowanie" dość często ma u mnie miejsce, w związku z tym po pewnym czasie dochodzi do sytuacji kiedy przeglądać world'a widzę kilkanaście pakietów których wykorzystywania w systemie nie jestem pewny.
Ponad to kompilacja czasem jest przerywana przez jakiś błąd i tym samym jesteśmy pozbawieni dostępu do kluczowego-dla-nas-programu. Oczywiście można zemergować niższą wersję... ale to trwa... (np. xorg-server)
Chciałbym tym samym odseparować sobie środowisko testowe od hm... "produkcyjnego", zachowując jednocześnie jak najlepsze "odwzorowanie warunków" pierwowzoru. Chciałbym móc jak najwięcej rzeczy testować bez uczucia, że jak coś pójdzie nie tak, to stracę godzinę na przywracanie całości do poprzedniego stanu.
Przeanalizowałem znane mi rozwiązania.
1. drugie gentoo na oddzielnej partycji
Rozwiązanie przyszło od razu. Ale ma wady. Po pierwsze - duplikacja pakietów. Dodatkowo sam bym musiał pilnować by w środowisku testowym były identyczne wersje pakietów oraz ich konfiguracja.
2. via vmware / virtualbox
Moim zdaniem jeżeli (1) odpada, to tego typu emulacje tym bardziej.
3. UML
Natrafiłem kiedyś http://gentoo-wiki.com/HOWTO_User_Mode_Linux Po ( przyznaję się ) pobieżnym przejrzeniu rozwiązanie jest ciekawe, jednak nigdy z tego nie korzystałem. Wydaje mi się to nie tyle trudne co czasochłonne w realizacji.
4. unionfs + chroot
Moim zdaniem najlepsze rozwiązanie (z tych co wymieniłem). Wystarczy stworzyć np katalog /test a w nim samą strukturę katalogów z / . Potem podmontować katalogi korzystając z unionfs. Na koniec chrootować się na /test i mamy idealne środowisko do testów.
Co Wy o tym myślicie? Czy może jest to "wyciąganie armaty do zabicia komara", "porywanie się z motyką na słońce" czy też "mission impossible"? A może znacie inne lepsze rozwiązanie?
* dla kogoś kto nie jest developerem gentoo, nie posiada dwóch identycznych maszyn, i z jego komputera korzysta więcej osób, w dodatku dla reszty sprzęt ma zawsze bezproblemowo działać. _________________ r. |
|
Back to top |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Thu May 29, 2008 3:18 pm Post subject: |
|
|
Ja zanim coś aktualizuje, robie binpaczke z daną wersją, potem pare sekund i wróciłem do działającej wersji. |
|
Back to top |
|
|
nieprosty n00b
Joined: 06 Sep 2006 Posts: 22 Location: Austria - Graz
|
Posted: Thu May 29, 2008 3:19 pm Post subject: |
|
|
Ze wszystkich rozwiązan, które wymieniłeś wszystkie będą strasznie czasochłonne. Chodzi mi głównie o utrzymywanie środowiska testowego up2date.
Ale zakładając, że naprawdę jest Ci coś takiego potrzebne to ja widzie takie rozwiązanie:
Robisz pakiety binarne z całej zawartości world.
Po każdym wydanym emerge jakiś skrypt analizuje co zostało dodane a co usunięte i odpowiednio usuwa pakiety binarne lub je dodaje.
Mając wszystkie pakiety w formie binarnej bez trudu możesz je zainstalować na maszynie testowej nie tracąc czasu lub tylko zaktualizować te które się zmieniły od ostatniej aktualizacji.
Teraz tylko kwestia czy oddzielna partycja czy np. Virtualbox?
Oddzielna partycja ma tę zaletę, że będziesz działał na dokładnie tym samym sprzęcie jeżeli to dla Ciebie istotne. Wada jest konieczność restartowania.
Z VirtualBox możesz korzystać bez restartu ale sprzęt już będzie inny.
Ale IMHO jest to właśnie "wyciąganie armaty do zabicia komara".
Pozdrawiam |
|
Back to top |
|
|
C1REX l33t
Joined: 02 Jan 2004 Posts: 774 Location: Poland/UK
|
Posted: Thu May 29, 2008 4:20 pm Post subject: |
|
|
Ja mam oddzielną partycję na dwie dodatkowe dystrybucje. Ubuntu/Mint siedzi jako system awaryjny (np. do robienia i odzyskiwania backupów).
Trzecia partycja jest do testów czegokolwiek. W tym momencie mam tam Archa.
Jak chcę testować oprogramowanie, to instaluję je w Mint. Co tylko się da i co mi do głowy przyjdzie. Wszystko jest prekonfigurowane i działa out-of-box.
Archa testowałem pod kątem szybkości. Jeśli w którymś momencie moje Gentoo chodzi wolniej, to wiem, że mam zły konfig.
Dzięki temu lekko okroiłem kernela z całkowicie zbędnych opcji.
Jak mam zrobić coś bardzo poważnego z Gentoo (np. emerge -e world z agresywnymi flagami, czy emerge -depclean), to najpierw robię backupa (stage4 z naszego howto - tu podziękowania dla osób, które mi napisały jak to się robi).
Ostatnio przegiąłem z flagami i system działał wyraźnie wolniej i się np. Firefox nie odpalał. Odpalam Ubuntu, rozpakowuję stage4 (ja w nazwie daję datę stworzenia) i mam przeinstalowane Gentoo w 5 minut. _________________ CLICK HERE to help move gentoo up on distrowatch.
If you like Gentoo you can thank devs here - https://www.gentoo.org/donate/ |
|
Back to top |
|
|
radziel n00b
Joined: 02 Jul 2005 Posts: 40 Location: Poland, Olsztyn
|
Posted: Thu May 29, 2008 5:15 pm Post subject: |
|
|
Wielkie dzięki za sugestie. Aż dziw bierze że zapomniałem o możliwości budowy paczek przez emerge. I chyba będzie to najprostsze rozwiązanie...
// BTW - nie będę jeszcze dodawał SOLVED. Wstrzymam się kilka dni. Może jeszcze jakieś rozwiązania?
(albo może już jest jakiś program zarządzania zbudowanymi binarkami? Poszukam i potestuję ) _________________ r. |
|
Back to top |
|
|
nieprosty n00b
Joined: 06 Sep 2006 Posts: 22 Location: Austria - Graz
|
Posted: Fri May 30, 2008 8:25 am Post subject: |
|
|
radziel wrote: | (albo może już jest jakiś program zarządzania zbudowanymi binarkami? Poszukam i potestuję ) |
Jeżeli na drugim systemie będziesz miał podmontowany katalog z binarkami to emerge -k i odpowiednie ustawienie PKGDIR w /make.conf |
|
Back to top |
|
|
timor Guru
Joined: 25 May 2005 Posts: 517 Location: Poland
|
Posted: Sat May 31, 2008 9:21 am Post subject: |
|
|
Nie wiem czemu wzdrygasz się przez maszynami wirtualnymi, to świetne rozwiązanie i korzystam z niego stale.
Możesz w normalnego działania systemu prod. robić rzeczy takie jak np. sprawdzić zachowanie nowej wersji kernela, czy stabilności nowszej wersji paczki bez narażania systemu produkcyjnego. Daje to maximum separacji środowisk możliwe do osiągnięcia na jednej maszynie.
Żeby zaoszczędzić czasu możesz budować na teście paczki i potem na prod. tylko je instalować, dzięki czemu środowisko produkcyjne będzie mniej zaśmiecane, a aktualizacja będzie o wiele krótsza.
Co do czasu, który potrzebny jest na utrzymanie testowej vm to prawda jest taka, że i tak jest "tańszy" niż awaria maszyny produkcyjnej i konieczność usuwania błędów. Dzięki takiemu rozwiązaniu czas na konserwację maszyny prod. jest minimalny. _________________ Nie lubię chomików.... budzą we mnie agresję... |
|
Back to top |
|
|
radziel n00b
Joined: 02 Jul 2005 Posts: 40 Location: Poland, Olsztyn
|
Posted: Sat May 31, 2008 11:07 am Post subject: |
|
|
timor wrote: | Nie wiem czemu wzdrygasz się przez maszynami wirtualnymi, to świetne rozwiązanie i korzystam z niego |
Nie chodzi o to że nimi gardzę. Sam z nich korzystam kiedy potrzebuję dostępu do Windowsa.
Tylko - jak wiadomo - wymagają one innych sterowników dla kontrolera USB, karty sieciowej czy graficznej gdyż je emulują. To dla mnie komplikuje sprawę jeżeli chciałbym sprawnie przenosić paczki między środowiskami.
Tak więc... przekonałem się że budowa binarek podczas emerge na tą chwilę i przy moich założeniach - jest najlepszym rozwiązaniem _________________ r. |
|
Back to top |
|
|
timor Guru
Joined: 25 May 2005 Posts: 517 Location: Poland
|
Posted: Sat May 31, 2008 11:17 am Post subject: |
|
|
Sterowniki to na prawdę mały problem
Zawsze można złożyć dwie identyczne maszyny - hehe
To co jest jeszcze fajne w VM'ach to snapshot'y. Można je robić też z pomocą LVM'a ale na trochę innych zasadach.
Snapshoty bardzo ułatwiają przywracanie systemu do stanu sprzed "kombinowania".
Swoją drogą chętnie bym się dowiedział jak dokładnie to rozwiążesz, może napisz coś jak już zrobisz co nieco. _________________ Nie lubię chomików.... budzą we mnie agresję... |
|
Back to top |
|
|
Kurt Steiner Bodhisattva
Joined: 01 Apr 2005 Posts: 1050 Location: Ostroleka, Polska
|
Posted: Sat May 31, 2008 12:00 pm Post subject: |
|
|
Moved from Polish to Polish OTW. _________________ Proszę, pamiętaj o regulaminie, a jeśli zauważysz, że został on złamany, zgłoś to.
LRU:431698 |
|
Back to top |
|
|
Belliash Advocate
Joined: 24 Nov 2004 Posts: 2503 Location: Wroclaw, Poland
|
Posted: Mon Jun 02, 2008 6:03 pm Post subject: |
|
|
1) zwykly chroot?
2) vmware? virtualbox?
3) usermode linux?
4) dodanie do make.conf opcji ktora bedzie robila zawsze binarne paczki?
5) wrapper do emerge ktory robi backup /etc i uktualizuje system?
No nie wiem co jeszce moglbym wymyslic ale moze to Cie natchnie _________________ Asio Software Technologies
Belliash IT Weblog |
|
Back to top |
|
|
timor Guru
Joined: 25 May 2005 Posts: 517 Location: Poland
|
Posted: Mon Jun 02, 2008 6:34 pm Post subject: |
|
|
Wczoraj byłej na FOD. Poczytaj o Xenie - fajna sprawa _________________ Nie lubię chomików.... budzą we mnie agresję... |
|
Back to top |
|
|
|