Temat: Kompilować czy instalować z paczek

Mam następujący dylemat.
Mam środowisko webowe - apache, php, bazy danych etc.
Do tej pory zawsze sam kompilowałem apacha, php, mysqla itd.
Zastanawiam się czy nie przejść na instalowanie tego wszystkiego z paczek.
Niewątpliwą zaletą paczek jest łatwa aktualizacja i ogólnie krótszy czas stawiania systemu.
Wadą jest to, że paczki nie zawsze zawierają takie składniki jakie byśmy chcieli - moduły do apacha i php etc.

Którego sposobu używacie? CO polecacie?

konto usunięte

Temat: Kompilować czy instalować z paczek

O jakich paczkach mówisz?
Jeśli pod Debiana to nie musisz kompilować nić żeby doinstalować jakąś obsługę dodatkową tylko doinstalujesz paczkę jako moduł.
Właśnie za to kocham apt-get'a :)Mariusz Mikołajek edytował(a) ten post dnia 09.11.08 o godzinie 12:37
Michał Ł.

Michał Ł. Doświadczenie jest
czymś, co zdobywasz
wtedy, gdy
przesta...

Temat: Kompilować czy instalować z paczek

Hej

Wydaje mi się, że i to i to jest ok tylko musisz to sobie odpowiednio ustawić - tzn jeżeli kompilujesz paczki zrób sobie gdzieś jakiś standard (z jakimi opcjami, jakie opcje kompilatora itp, ustal ile czasu Ci to zajmie żeby poinformować userów o przerwie itp itd).

Kompilowanie wg mnie opłaca się tam, gdzie środowisko ma jakieś szczególne wymagania (np maszyny obliczeniowe, gdzie kompiluje chcą wycisnąć z procesora max mocy). Fakt, że czasem są problemy (np kiedy opisywane na Gentoo nie kompilujące się pakiety ... problem wynikł z faktu, że ktoś za mocno przesadził z opcjami kompilatora) ale jeżeli dobrze to sobie ustawisz nie będzie problemu.

Jeżeli korzystasz z jakiegoś zewnętrznego supportu mogą oni nie wspierać kompilowanych przez Ciebie paczek.

MichałMichał Ł. edytował(a) ten post dnia 09.11.08 o godzinie 14:04

Temat: Kompilować czy instalować z paczek

Mariusz Mikołajek:
O jakich paczkach mówisz?

Pod pojęciem "paczka" mam na myśli deby z repozytorium systemowego.

konto usunięte

Temat: Kompilować czy instalować z paczek

Wojciech Małota:
Wadą jest to, że paczki nie zawsze zawierają takie składniki jakie byśmy chcieli - moduły do apacha i php etc.

Tego nie rozumiem - Jeśli brakuje ci modułu to go instalujesz, nie trzeba nic kompilować.
zamiast kompiloać coś --with-mysql po prostu instalujesz moduł php-mysql i to wszystko. Rozumiem że serwer masz na potrzeby www a nie na system specjalistyczny do obliczeń ala CERN wiec możesz być spokojny że deby spełnią twoje oczekiwania.

z apt-geta instalacja apacha to nie jest jedna paczka tylko długa lista, instalujesz postawowego apacha a później instalujesz moduły które będą ci potrzebne.Mariusz Mikołajek edytował(a) ten post dnia 09.11.08 o godzinie 15:42

Temat: Kompilować czy instalować z paczek

Moim zdaniem paczki.

Ile urwiesz na wydajności kompilując samemu, 5-10% ?
A stracisz kupę czasu i każdy upgrade to będzie wyzwanie. Przy aktualnych cenach sprzętu to po prostu się nie opłaca.

konto usunięte

Temat: Kompilować czy instalować z paczek

Dokładnie, w wiekszosci opcji wszyscu polecaja flagi typu:

-O2 -mtune=procesor -fomit-frame-pointer -pipe

W większości systemów z paczkami takie flagi są domyślne, więc straciłeś tylko czas. Druga rzecz, to pomyśl ile czasu poświecisz na utrzymanie i kompilowanie tego. Nie taniej w przypadku braku mocy dostawic nową maszyne ?

konto usunięte

Temat: Kompilować czy instalować z paczek

Wojciech Małota:
Którego sposobu używacie? CO polecacie?

Jeśli masz się narobić dla efektu bliżej nieodczuwalnego lub niemierzalnego ... to lepiej się nie narób. Ja nigdy nie kompiluję, jeśli jest gotowa paczka na system. A już zwłaszcza wtedy, kiedy jest więcej niż jedna maszyna do instalacji.

W przypadku apacza jest to cokolwiek kłopotliwe, bo w podstawowym zestawie paczek jest raczek niewiele, a pozostałe wymagają ściągnięcia i dokompilowania. Aleee .... akurat w przypadku apacza można sobie z tym jakoś poradzić (o ile chodzi o rpmbuild).

Generalnie nie da się polecić czegoś generalnie :) To jest zawsze sprawa konkretnej sytuacji/problemu.

Często się też zdarzało, że gotowa paczka była produkowana z użyciem kilku innych i jeśli chciało się to zrobić samemu to trzeba było "objechać" kilka innych stron i pościągać źródła. Takim prostym przykładem jest filesystem zfs. Jeśli chcesz go wyprodkować własnoręcznie to musisz też ściągnąc i skompilować fuse :)

A często na początku nie wiadomo co nas czeka ... i ile to zajmie.
Szymon Kosok

Szymon Kosok Właściciel,
Webrevolution.pl

Temat: Kompilować czy instalować z paczek

Ja tam kocham moje Gentoo i emerge. :P
Paweł Michalski

Paweł Michalski Administrator
systemów i aplikacji

Temat: Kompilować czy instalować z paczek

Polecam generalnie paczki. Szybsza instalacja, wydajność praktycznie ta sama.
A co do ręcznego kompilowania to dobrą alternatywą jest Gentoo z Portage. Tam wszystkie pakiety się kompiluje, ale jest dobry system zarządzania, trzymania zależności oraz aktualizacji.

Temat: Kompilować czy instalować z paczek

Dzięki za sugestie. Potestuję zabawę z paczkami.

Z innej beczki:
Krzysztof P.:
Takim prostym przykładem jest filesystem zfs.

Bawiłeś się zfs? Jakie odczucia? :-)
Andrzej Zieliński

Andrzej Zieliński Administrator
Systemów
Informatycznych, Sp.
z.o.o

Temat: Kompilować czy instalować z paczek

Jeśli nie prowadzisz obliczeń da CERNu czy wojska USA to daruj sobie samodzielne kompilowanie, to już nie te czasy.
Ja już od kilku lat instaluje wszystko z paczek, żadnej kompilacji (chyba że chodzi o jakieś bardzo dziwne programy) i wszystko działa jak ta lala. Doszedłem do wniosku że korzyści z kompilacji są zbyt małe a koszty za duże. Paczki mają tą przewagę że bardzo łatwo i szybko można zaktualizować system lub usunąć niepotrzebne pakiety.

konto usunięte

Temat: Kompilować czy instalować z paczek

Kompilując ze źródeł nie zyskasz nic na wydajności, a jedynie stracisz (i to bardzo wiele) na utrzymaniu i bezpieczeństwie. Wszystko pięknie, ładnie gdy masz tylko jedną maszynę -> problem pojawia się wtedy, gdy masz -dziesiąt/-set maszyn i jakbyś miał tam wszystko ze źródeł kompilować...

Jeśli nie masz automatu do tego, który pomoże CI w instalacji, konfiguracji i aktualizacji tego wszystkiego to leżysz.

Jeśli szukasz wydajności to szukaj wąskich gardeł (cachowanie, baza danych, optymalizacja kodu) i je mierzysz (ważne są liczby!) lub dokupujesz nowe maszyny. a nie szukasz 1% wzrostu wydajności spowodowanego tym, że samemu sobie skompilujesz soft.Kamil Grabowski edytował(a) ten post dnia 10.11.08 o godzinie 02:04

Temat: Kompilować czy instalować z paczek

Kamil Grabowski:
Wszystko pięknie, ładnie gdy masz tylko jedną maszynę -> problem pojawia się wtedy, gdy masz -dziesiąt/-set maszyn i jakbyś miał tam wszystko ze źródeł kompilować...

Właśnie zbliżam się do takiego stanu kiedy będę miał więcej maszyn pod sobą stąd właśnie ten wątek.

Powiedzcie mi jeszcze taką rzecz.
Jak macie ileśtam serwerów i wszystko jest instalowane z paczek to upgrade wygląda tak, że odpalacie po prostu na każdej maszynie (powiedzmy na debianie):

apt-get update
apt-get upgrade

Czy najpierw robicie upgrade jakiejś wydzielonej maszyny przeznaczonej do testów, sprawdzacie stabilność systemu po upgradzie i dopiero potem wrzucacie nowe wersje pakietów do jakiegoś lokalnego repozytorium, z którego już aktualizują się wszystkie serwery?

konto usunięte

Temat: Kompilować czy instalować z paczek

Wojciech Małota:
Bawiłeś się zfs? Jakie odczucia? :-)

Ma to swoją moc ... ale na razie w pełni działa tylko na Solaris 10 i FreeBSD. Pozostałe Linuxy klasy enterprise nie go obsługują i jestem zdania, że dopiero jak zaczną to zacznie się "gorączka złota" :)

I może na tym trochę stracić Veritas ... tzn. Symantec.

Temat: Kompilować czy instalować z paczek

Tak jeszcze mi się nasunęła jedna myśl. Spojrzałem w repozytorium najnowszego Ubuntu i tam w repozytorium jest php 5.2.4 mimo, że php 5.2.6 już jakiś czas istnieje.

konto usunięte

Temat: Kompilować czy instalować z paczek

Taka jest polityka wiekszosci dytrybucji, ze nie rzucaja sie na to co autorzy nazywaja "wersja stabilna". Czestokroc zdraza sie, ze wypuszczaja wersje nie przetestowane do konca. Developerzy Ubuntu / Debiana testuja osobno nowe wersje i po prostu troche to trwa. Jezeli nie potrzebujesz tego co pojawilo sie nowego w PHP 5.x.x. to sobie odpusc i najlepiej przestan żyć numerkami programu.

konto usunięte

Temat: Kompilować czy instalować z paczek

Osobiście z dnia na dzień tracę zaufanie do ubuntu jeśli chodzi o serwer produkcyjny - tym bardziej, że coraz częściej mają dużo fackupów, jak choćby ostatnio z apachem:

https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/...

Zastanawiałem się czemu mi się apache tak psuje wywala...
Prawdziwa, też jest ostatnia wypowiedź:

"Currently gutsy is unusable as a webserver in production evironments, and upgrade to hardy is usually a hard task it must be handle with a lot of care."

Niby gutsy przechodzi w niepamięć, ponieważ są kolejne wersja, to mimo to z wersji na wersje tracę zaufanie do tej dystrybucji - mimo, że ją bardzo lubię :) Ale to jest moje osobiste zdanie. No dobra, ale odchodzę od tematu.

Padło pytanie jak robimy upgrade maszyn. Może zabrzmi to kontrowersyjnie, ale jak najmniej niepotrzebnych aktualizacji systemu. Jeśli działa to zostawiamy i niech śmiga. Oczywiście nie tyczy się to krytycznych aktualizacji lub łatania dziur, które warto z wiadomych przyczyn poprawić.

Jeśli potrzebna jest aktualizacja (poważniejsza) to staram się stawiać nową maszynę. Może opiszę jak to jest u jednego z naszych klientów. Firma ta ma troszkę większych projektów napisanych w php (pisanych jeszcze za czasów php3 aż do początków php5). Aktualnie od jakiegoś półtora roku jest to głównie ruby on rails.

Wspólnie z kolegami z pracy oraz przy współpracy z programistami z tej firmy staramy się uniezależniać projekt od systemu. Mówiąc prościej: ściągam projekt z repozytorium svn (a już niedługo git), zmieniać kilka rzeczy w plikach konfiguracyjnych i projekt działa.

Daje nam to bardzo ważną rzecz. Padła maszyna -> w ciągu kilku minut mogę stworzyć identyczną (vmware infrastructure). Skrypty budujące budują mi maszynę. Za pomocą jednego kliknięcia myszy w webistrano budowane i konfigurowane jest środowisko dla projektu (export z svn projektu, stworzenie struktury katalogów, symlinki itp.). Chwila moment i maszyna jest gotowa. Co ważne jest to zautomatyzowane, więc nie ma możliwości, że gdzieś zostanie pominięty jeden z kroków.

Aktualizacja systemu -> stawiasz nową maszynę z nowym, czystym systemem. Odpalam projekt. Wszystko działa prawidłowo. Nie działa to usuwam nową maszynę i podnoszę tą starą. Mówię tu oczywiście o większych aktualizacjach (kernel, aktualizacja gemów dla rubego, aktualizacja apache, php itp.).

Dlaczego tak robię? Bo kiedyś miałem sytuację, jak bodajże na debianie zrobiłem sobie apt-get upgrade i nie wiedząc czemu system nie wstał. Zaktualizujesz sobie dystrybucję i okazuje się, że apache babola ma lub np. nie chcą się skompilować vmware tools (sterowniki itp. vmware)

Podsumowując:

- nowy soft nie zawsze jest lepszy od starego
- jeśli nie musisz robić aktualizacji to ich nie robisz
- jeśli wszystko działa na php 5.2.1 to nie robisz aktualizacji to php 5.2.2 tylko dlatego, że numerek się zmienił, która nic nie wnosi do Twojego projektu
- Twój klient/pracodawca prawdopodobnie zawsze chętniej zapłaci za to, że coś działa i się nie psuje, niż za to, że ma system "up to date".

Temat: Kompilować czy instalować z paczek

Ja akurat ubuntu używam tylko do zabawy i testów wszelakich natomiast produkcję mam na debianie.

konto usunięte

Temat: Kompilować czy instalować z paczek

ja rowniez pracuje na pakietach z repo. nie przypominam sobie ostatniej kompilacji ;) pewnie glownie dlatego ze w debianie zwlaszcza w lennym jest wszystko co dusza zapragnie :)
a jak juz mowa o debianie i buntu-klonach to polecam sie przesiasc z apt-* na aptitude.

Następna dyskusja:

Konfiguracja BGP - quagga c...




Wyślij zaproszenie do