Najboljša Linux/BSD server distribucija?

Od začetka uporabe Linux operacijskega sistema sem ostal zvest distribuciji Slackware. Navadil sem se na robustnost, za učenje pa je ravno pravšnja. Čeprav mi ponuja praktično vse kar potrebujem za “hosting” web aplikacij, imam občutek, da že dolgo ni več ”najboljša na trgu”.

Na inštalacijo čaka nov strežnik, distribucija še ni izbrana. Kot sem že napisal, mi je Slackware najljubši, a ker gre za precej do-it-yourself distribucijo, mi prestop na drug OS vrjetno ne bi povzročal težav. Uporabljam le shell dostop, potrebujem pa robustno server distribucijo, ki bo ponujala neko jedro, za razvoj aplikacij in hitro izvajanje le-teh (čimvečji izkoristek) ..

Pred leti sem testiral več vrst Linux in BSD distribucij, a me je pomanjkanje znanja in podpore odvrnilo od nadaljne uporabe. Kakšna je dandanes podpora (dokumentacija, forumi, .. ) za BSD distribucije? Svoj čas za FreeBSD ni bilo moč dobiti kakršnekoli podpore - le na IRC kanalu, pa še tam niso točno vedeli, kako zadeva funkcionira ..

Če dam Slackware na stran, se odločam med Debianom, FreeBSDjem in OpenBSDjem .. katerega od teh priporočate? Katere so prednosti in slabosti posamezne distribucije? Obstaja še boljša Linux/BSD distribucija, primerna “za strežnik” ?

Komentarji

  1. rox @ 28.04.08 | 1:37

    Od treh v tvojem ožjem izbodu bi izbral Debian, ker ga pač dobro poznam, ker sem zasvojen z apt-get package managerjem (pozor, že ob krajši uporabi te zadeva zasvoji) in ker vem, da je Debian največja distribucija in da se bo le težko zgodilo, da bom potreboval paket, ki ga v distribuciji ni. Poleg tega ima debian nekaj konfiguracijskih rešitev, ki so zelo kakovostne, a jih žal druge linux distribucije niso prevzele, zato so nestandardne. Kljub temu lahko Debian sistem in jnegove pakete konfigururaš na generičen način, z editiranjem text fajlov.

    Če boš laufal web strežnik, potem ima tudi pri konfiguraciji Apache strežnika Debian neke svoje rešitve, ki so enim všeč, drugim pa ne. Debianove rešitve so primerne predvsem za sistem, kjer je dodajanje in konfiguriranje virtualnih hostov avtomatizirano. Če boš vse delal na roko, ti bo verjtno konfiguracija s symlinki šla na jetra, ker na ta način ni smiselna.

    Glede na to, da dobro poznaš Slackware, ti bo verjetno laže preiti na katerega od BSDjev, kajti Debian ima SystemV init skripte, ki se jih konfigurira na Debianu lasten način (lahko jih tudi na generičen način, seveda).

    Rad bi še pripomnil, da če poznaš slackware in bi rad postavil produkcijski strežnik, potem nimaš pravega razloga za migracijo na karkoli drugega. Slackware se je skozi leta pokazal za distribucijo, ki je primerna za strežnike in strežnik boš enkrat postavil, potem pa bo pač deloval. Debian je bolj primeren za razvojno okolje, kjer se velikokrat zgodi, da potrebuješ novo orodje ali knjižnico in z apt-get package managerjem je instalacija novih paketov res hitra in neboleča. Večinoma problem odpraviš z dvema ukazoma - z enim poiščeš program, ki ga potrebuješ, z drugim pa ga instaliraš. Ponavadi traja vse skupaj manj kot minuto in že uporabljaš svoje novo orodje/knjižnico.

    Takole torej svetujem: če boš imel res samo strežnik, obdrži Slackware, ker se ti ne bo treba vsega na novo učiti in ker so pri strežniku, na katerem je instalirano majhno število programov, razlike med temi distribucijami minimalne. Če bi res rad drugo distribucijo, ti bo verjetno lažje preiti na enega od BSDjev, ker je konfiguracija bolj podobna Slacku; edina večja razlika je to, da boš namesto pkgtoola uporabljal ports tree. Če pa rabiš razvojno okolje, potem je Debian prava stvar zate, ker ima največ paketov, paketi imajo najboljše default konfiguracije in ima najboljši package manager.

  2. rox @ 28.04.08 | 1:49

    Aja, omenil si tudi, da bi rad svoj strežnik skonfiguriral za čimhitrejše izvajanje. Za tovrstno prikrojevanje bo verjetno najboljši Debian, saj ima delno avtomatiziran sistem za prevajanje jedra in jedro, ki ga prevedeš z debianovimi orodji se ti zapakira v paket, ki ga potem upravljaš z apt-get package managerjem, ki ti samodejno konfigurira tudi bootloader. Igranje z jedrom je v Debianu pravi užitek, v drugih distribucijah (npr Redhat) pa prava nočna mora.

    Tudi prevajanje ostalih paketov je v debianu avtomatizirano (debian ti praktično lahko deluje skoraj kot gentoo, če hočeš), tako da če boš zaradi hitrosti izvajanja prevedel jedro in osnovne knjižnice, bo to verjetno najhitreje in najbolje narejeno v Debianu.

    Debian ima tudi zelo aktivno skupnost uporabnikov, v #debian kanalu na irc.freenode.net boš zelo hitro dobil odgovore na svoja vprašanja.

    Če hočeš kakšen bolj konkreten nasvet, boš moral pa bolj natančno povedati kaj bi rad imel instalirano na strežniku.

    LP,
    Rox

  3. UrosG @ 28.04.08 | 6:10

    Če zbiraš med bsdji, potem FreeBSD, saj je openBSD namenjen bolj kakšnim firewallom ali routerjem. Kar se pa tiče debian vs FreeBSD je pa lista za oz. proti tako dolga, da bi potreboval cel članek, pa še takrat bi več kot pol izpustil. Predvsem uporabi, kar bolj razumeš. Sam se linuxa ne bi taknil, ker bi porabil preveč energije za ponovno učenje in iskanje vsega. V FreeBSDju sem domač in je to povsem spontana odločitev. Kar se tiče podpore na BSDju ni problem, jo je kolikor želiš.

  4. J. @ 28.04.08 | 7:59

    No ja, jaz imam na vseh strežnikih Debiana, res je sem da sem slišal da je FreeBSD dosti hitrejši, ampak je bilo enostavno preveč dela, vse konfiguracije pa vse sam, na koncu sem pustil vse skupaj, ker nisem želel nameniti nevem koliko časa za administracijo strežnika … no sej ni nujno, če se ti da, pa če znaš …

    Kar se pa tiče debiana, tudi če hočeš confige postavit popolnoma na svoje ni problemov, jaz sem veliko stvari spremenil, prav tako nimam ne za PHP, ne za Apache, kot tudi ne za MySql privzetih nastavitev, ker bi bila zadeva zdaj že zelo zaSWAPana ali pa offline. Skratka Debian se da čisto lepo nastaviti, samo mogoče ni peformance taki, kot pri FreeBSD.

    Aja, apt-get <3 :D

  5. rox @ 28.04.08 | 8:27

    J.: Tudi Debiana lahko konkretno pohitriš, če sam skompajlaš kernel in par libov. Če skompajlaš kernel, libc, zlib, libm, libstdc++ pa morda še libcrypto, si optimiziral kodo, ki laufa 80% časa. Že samo z optimizacijo za točno arhitekturo pridobiš kakih 20-30% pri libih in kakih 10-15% pri kernelu, da pa se pridobiti precej več.

  6. andrej @ 28.04.08 | 8:34

    @rox: Strežnik potrebujem za specifični aplikaciji (sphinx & DB) ..

    Omenjene distribucije sem izbral predvsem zato, ker sem se z njimi že bežno srečal, a jih nikoli dovolj uporabljal, da bi lahko poznal vse njihove prednosti/slabosti.
    Dnevno sicer uporabljam Debiana kot produkcijski strežnik (nisem admin, ne ukvarjam se torej z inštaliranjem & posodabljanjem & konfiguriranjem aplikacij), a se mi zdi po performancu enak *BSD.
    FreeBSD sem že testiral, a z bolj “light” aplikacijami .. zanima me predvsem, kako se obnese pod težko obremenitvijo?
    Pri OpenBSD pa se mi dopade varnost .. morda je slednji res bolj primeren za firewall/gateway .. morda tudi load balancing?

    Slackware je ok, a nič posebnega :) Vedno vse delam na roko, pkgtool le malokrat uporabljam .. ker bo to bolj “install-and-leave-it-run” strežnik, bo vrjetno FreeBSD res najboljša odločitev .. primarni cilj te migracije je namreč razno performance - ob gori podatkov v DB & stalnemu indeksiranju rabim stabilen strežnik z hitro odzivnostjo na user querije ..

  7. rox @ 28.04.08 | 9:02

    Huh, sphinx, hudo specifično. Če bi rad optimiziral performance, se ti res splača vse skupaj pokompajlati. No, saj v freebsd imaš make world.

  8. andrej @ 28.04.08 | 9:57

    Hah :) Specifični v smislu “točno določeni” :)) Indeksacija pri Sphinxu ni težavna, predvsem tu predstavlja problem število user querijev & velikanska baza (trenutno mysql), ki se vsako minuto povečuje .. zato iščem neko dolgoročno rešitev ..
    Debian je v tem smislu kul, ker je posodabljanje res simpl .. FreeBSD & OpenBSD pa se mi zdita “sigurne” izbire .. a pred namestitvijo raje vprašam poznavalce za mnenje :-)

Napiši odgovor