Min næste lille Linux-box - Gentoo eller ej

Jeg lovede tidligere, at jeg ville vende tilbage (hurtigere end i praksis) til min næste Linux hjemme-server, og nu har jeg købt en ny maskine. Den vender jeg tilbage til i et kommende indlæg.

Da min nye hjemme-server skal køre på en 500 MHz CPU, så er det relevant at tænke på om der kan vindes ydelse ved at hånd-oversætte programmer til selve serveren. Jeg har læst folk snakke om at der kan vindes 10-15% ekstra på den måde. Om det er sandt, har jeg ikke efterprøvet.
Jeg har rodet med Gentoo Linux et par dage nu og jeg synes det er smart at man (ligesom for FreeBSD) kan hente programmer som kildekode, oversætte f.eks. Apache direkte og installere i en kommando

emerge apache

snyde nemt - men det tager lang tid tid for pakkerne skal oversættes.
Jeg har lidt en bekymring om Gentoo i praksis holder som et server-OS' Hvad er jeres holdning'

Er der nogen af jer som har erfaring med ydelse af "host"-oversatte programmer fremfor generelle RPM/DEB-pakke som Ubuntu/SuSE/Red Hat-pakker. Er det besværet værd? Jeg kan se. at jeg med Gentoo bruger en masse tid på at køre "make" af nye programmer.

Kommentarer (23)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Jonas Høgh

Efter et par uheldige oplevelser med "vi har opdateret gcc / glibc / $randomsystempakke så hvis du har dit system kært skal du nu køre emerge --emptytree world, ellers kan vi ikke garantere for følgerne" (det tog typisk 1-2 døgn på en P4 2,4GHz) skiftede jeg til kubuntu, og har ikke set mig tilbage. Tør ikke tænke på hvordan det vil se ud ved 500 MHz.

Hertil kommer, at der sker alt for mange "spændende" ændringer i Gentoos pakker til at det i min bog kommer i betragtning som server-OS, ikke engang til hjemmebrug.

  • 0
  • 0
Thomas Lønskov Luther

Jeg har også selv haft kig på gentoo til min desktop PC, men jeg blev hurtig lidt træt af at alt skulle bygges fra grunden, ganske vidst findes der (uofficielle?) binære pakker af de populære applicationer, men så er hele ideen jo gået lidt af fløjten IMO. Derfor røg gentoo ud igen, da jeg ikke fik kørt en update ofte nok og derfor endte med at bruge rigtig mange timer på at få det til at opdatere korrekt. Umiddelbart er det smart at bygge alting fra grunden, men det tog simpelthen for meget tid og jeg havde også et par tilfælde hvor jeg havde fået sat nogle forkerte eflags og dermed skulle rekompilere mange af de store pakker (på en server er det nok ikke så stort et problem da der typisk ikke er X, KDE/Gnome og lign der tager lang tid at kompilere).

Jeg er også lidt skeptisk for om man vitterligt kan vinde 10+% i performance på håndoversatte programmer, kernen kan naturligvis tilpasses den platform der køres på og dermed hente nogle fordele, men ved "alm" applikationer er jeg mere i tvivl.

Thomas
PS. Gentoo røg ud til fordel for Kubuntu, performance er stadig fin fin og opdateringer tager nu kun en brøkdel af tiden (1GHz Athlon T-bird)

  • 0
  • 0
Danni Finne

Jeg brugte Gentoo et par år, og synes at emerge og USE-variablen er det smarteste system jeg endnu har prøvet.

Men ... Jeg kørte det på et par servere, som ikke havde alverdens hestekræfter at sparke rundt med... Og hvor bliver man dog træt af at compile pakker hele tiden.

Skulle man vinde 10-15%, bliver de ekstra ressourcer alligevel brugt af Portage som hele tiden står i en screen og compiler i baggrunden.

Idag kører jeg Debian og er såmænd også meget glad for det :-)

  • 0
  • 0
Hasse Hagen Johansen

Tjah. Jeg bruger Gentoo på min mini-itx mythtv computer. Grundener at det på det tidspunkt jeg samlede den var det nemmeste med hensyn til at få openchrome driverne til accellereret mpeg2. Det er er dog ret hårdt for maskinen at compile(det er en 800mhz via c3).

Jeg kunne jo selvfølgelig bruge distcc sammen med en af mine kraftigere maskiner...men ville nok idag vælge noget debian/ubuntu istedet for at slippe compile...men de har jo også fået de drivere idag

Hvis man "bare" vil køre webserver,mail,dns o.s.v. så ville jeg ikke vælge gentoo

  • 0
  • 0
Alexander Færøy

Okay, lad os lige få slået nogle ting fast.

Du vinder ikke 10% ekstra performance ved at kompilere alting fra bunden af, og
det ved Gentoo "folket" godt. Gentoo ønsker at give deres brugere et fleksibelt
system, hvor man let og elegant kan lave forskellige tilpassede systemer efter
behov og uden alt for meget besvær.

USE flags er det mange bliver forelsket i med Gentoo, da det giver en
fleksibilitet som ikke mange andre styresystemer eller distributioner kan
tilbyde. Det er inspireret fra FreeBSD som jeg (desværre) ikke kender alt for
meget til.

En anden fordel ved at bygge ting fra bunden er at Gentoo kan supportere en
lang række arkitekturer som normale distributioner ikke har nogle interesse i
mere.

Til jer der kører Gentoo på servere og snakker om at maskinerne står og
kompilerer hele tiden vil jeg give jer et lille hint. Har i penge til en
ekstra, måske lidt kraftig maskine med en masse RAM og nogle hurtige CPU'er, så
kan i ret let sætte en buildserver op som bygger GRP pakker (Gentoo's binære
pakker) som i så pusher ud til jeres produktionsmaskiner. På den måde undgår i
at de bruger CPU-tid på at kompilere ting.
Det er rimelig let og sætte op!

Nu når vi snakker Gentoo kan jeg ligeså godt gøre lidt reklame for et projekt
som mange Gentoo power-users vil finde interessant. Gentoo's pakkesystem
Portage har efterhånden et par år på bagen og indeholder stadig dele fra
dengang hvor Daniel Robbins var konge over Gentooland. Der er en masse features
som ville kunne gøre Gentoo brugers liv meget lettere. F.eks. kender de fleste
Gentoo folk til det at have sat sin maskine til at opdatere "world" hen over natten og
når de vågner op finder de ud af at Portage er død efter 3 pakker pga. en anden
pakke skal være bygget med et bestemt USE flag. Dette kan fikses ved at tilføje
USE-flag dependencies, hvilket Portage desværre ikke har fået endnu. En anden
ting der også ville være lækkert er SLOT dependencies, hvilket muligvis også
ville kunne redde simple opgradering hvor en pakke (hostexpathost) laver et
ABI-knæk. SLOT dependencies er også en ting Portage mangler!

Der findes en alternativ pakkemanager ved navn Paludis
(http://paludis.pioto.org), som supporter alle de her super smarte nye
features. Paludis er skrevet i C++ fra bunden og har et Ruby og Python
interface til folk der vil lave små-scripts til deres pakkemanager. Du kan læse
om forskellen fra Portage til Paludis på
http://paludis.pioto.org/portagedifferences.html

Hvis man har lyst og mod på at prøve noget andet, noget nyt og hurtigere så bør
man prøve Paludis. Jeg har kørt med det på alle mine Gentoo systemer i over et
år nu og man kan virkelig mærke at der sker store ting fra udgivelse til
udgivelse.

Man skal dog huske at Paludis funktionalitet er stadig begrænset af det pakke
træ du bruger!

  • 0
  • 0
Kim Højgaard-hansen

Jeg har kørt gentoo på en hjemmeserver (PII 350mhz) i et par år uden at blive frusteret over det. Som Alexander nævner kan man bygge pakkerne eksternt, men i virkeligheden handler det bare om lidt planlægning, så serveren også bliver udnyttet lidt om natten :)

på plus siden for man jo et af de bedst integrerede pakkesystemer jeg har mødt. Jeg finder de irriterende at bøvle med andre tools som automagix, diverse underlige repository opsætninger osv. Det er rart når man har alt det man har brug for med et "pakkemanager --sync", og derefter har et interface til at styre det igennem. Det har jeg ikke set bedre nogen steder.

Men det er da et spørgsmål om hvad man vil. Jeg kører OpenBSD på et par servere, og finder det utroligt lækkert at der er et stable release man kan regne med virker hvert ½ år. Der bruger jeg binære pakker så vidt muligt, da de bl.a. giver muligheden for binære pakker med "no_x11".

På FreeBSD er det som regel endt med ports, men det er ikke meget erfaring jeg har med det. Synes dog de har lidt samme problem med mange tools til samme opgave.

  • 0
  • 0
Helge Svendsen

En blanding.

Hvis det er en serverprocess (apache, postfix eller andet), så kompilerer jeg altid selv. Det har mest at gøre med, at man kan få slået alt det fra, man ikke har brug for. Det sparer memory, og giver bedre sikkerhed. CPU wise tror jeg ikke man vinder det store performance gain.

Når det bare er utilities, som kun skal bruges af en selv på serveren. Så tager jeg tit genvejen med en pkg_add -r <modul>.

Jeg opdaterer også altid kernel via source med en make buildkernel og make buildworld på nye kernel.

Det har mest at gøre med at jeg har en SMP maskine, og det skal lige slåes til i kernelconfig på FreeBSD. Jeg tror man har mere performance gain ud af at compilere sin egen kernel end "ports" som de hedder på FreeBSD.

  • 0
  • 0
Flemming Sørensen

"Jeg har lidt en bekymring om Gentoo i praksis holder som et server-OS? Hvad er jeres holdning?"

Der var engang jeg brugte RedHat, SuSE, og RedFlag, men idag vel jeg holde på at der skal smides en Trustix på. Jeg har det på både filserver og webserver, og jeg er rigtigt glad for det. En Trustix gør som den skal, og den gør det godt og stabilt. Det eneste der kan ødelægge min uptime er udskiftning af HD'er, blæsere, og den slags.

Og så er Trustix super nem at konfigurere, for der er ikke alle muligt semi-gui værktøjer, der ligner noget der er lavet af en retaderet abe på stoffer.

  • 0
  • 0
Claus Stovgaard

Nu har jeg efterhånden brugt gentoo i en del år. Kører det på min stationær der hjemme, og på pæn mange servere efterhånden. Jeg vil ikke anbefale det til en desktop computer, da mange af de store pakker typisk tager lang tid at kompilere.

Der er både fordele og ulemper ved Gentoo. Der er ingen tvivl om at man på langsomme maskine kan hente en del hastighed ved at kompilere specifik til den maskine. Men i forhold til det der kan hentes ved at tveake opsætningen af servicene er det dog småting. Jeg kører f.eks. gentoo LAMP på et sæt gamle 350 Mhz blackbird processor uden problemer. Hele fordelen ved gentoo som jeg ser det er mulighederne for at tveake så mange ting. Som eroyf (Alexander). skriver, så er der mulighed for at kompilere på en build server, og så distribuere til dine maskiner. Du kan også splitte kompileringen op hos flere maskiner (distcc, se http://www.gentoo.org/doc/en/cross-compiling-distcc.xml ). Da jeg typisk skal lave rimelig specifikke servere, så starter jeg med at slå alle useflag fra, og slår kun dem til jeg skal benytte. På den måde har jeg det mest minimale system man næsten kan have. F.eks. til et LAMP setup

USE="-*\
acl acpi apache2\
bash-completion bzip2\
caps cli crypt ctype\
ftp\
gd gdbm gif\
hardened hardenedphp\
imagemagick\
java jpeg\
libwww\
math mime mysql mysqli\
ncurses nptl nptlonly\
pam pcre perl png posix python\
readline\
session snmp sockets sse ssl syslog\
tcpd threads tiff truetype\
unicode\
vhosts vim-syntax\
xml\
zlib"

Med hensyn til hvordan det virker som serverOS, kan jeg sige at jeg sidder i servergruppen hos en ISP, hvor vi kører gentoo på alle servere, hvilket jeg er meget tilfreds med. Nogen ting tager længere tid i forbindelse med vedligehold, men den mængde af kontrol over serverne har jeg ikke oplevet med andre systemer.

Hvad skal du kører af services Peter?

  • 0
  • 0
Jonas Høgh

@Claus: Er det ikke et problem i et servermiljø, at de fleste sikkerhedspatches til Gentoo udelukkende bliver udsendt til den nyeste version af pakken? Dvs. at man hele tiden er nødt til at holde alle sine systemer up to date, med alt hvad det giver af funktionelle ændringer, som man er tvunget til at indarbejde i sin konfiguration. Eller er der noget jeg helt har overset?

  • 0
  • 0
Claus Stovgaard

Det er lidt forskelligt om jeg tager java med, men f.eks. så er der Storage Manager fra Adaptec, der er et javaprogram som gør diskovervågning simpel. Hvis man ikke har behov for det, så er det jo bare at fjerne java, så man ikke bruger tid på at vedligeholde det.

  • 0
  • 0
Claus Stovgaard

Jeg giver dig 100% ret. At det er en af de ting som kan gøre Gentoo træls. Hvis man ønsker en distribution hvor man ikke skal tage højde for nye funktioner (og derved ændringer i konfigurationer) vil jeg anbefale Debian stable. Jeg er bla. ved at konstruere en Debian server ud til SDU med LDAP/Kerberos, som skal være utrolig let at vedligeholde. Og tror ikke der er noget som er meget lettere en ”apt-get update && apt-get upgrade”.

Men hvis man er meget kritisk med servicene man kører, vil man jo typisk også se på hvor alvorlig den sikkerhedrettelse er. Og ikke bare ukritisk opdatere fordi der er en speciel type af konfiguration (som serveren ikke kører) der giver mulighed for sikkerhedbrister.

  • 0
  • 0
Lars Bjerregaard

Gentoo holder helt afgjort som et server OS, og dens ydelse sparker bagdel. Du kan virkeligt få et slankt system der kun indeholder det du vil have det. MEN... prisen er at du skal bruge en del mere tid på at holde systemet opdateret.

Så, med mindre du er villig til at kaste den tid i det, så vil jeg ikke anbefale Gentoo til et Internet-vendt system, men i stedet f.eks. Debian eller Ubuntu. Til et LAN system kan jeg bare sige go for it, det er en lærerig oplevelse, med belønning for den ægte nørd. Hvis du kan lide fornemmelsen selvgjort er velgjort, så er Gentoo afgjort for dig.

Gentoo er suverænt, men det kræver noget af dig!

  • 0
  • 0
Jens Fallesen

Jeg bruger normalt altid ports, fordi det giver mig større mulighed for at tilpasse parametre i nogle af de pakker, jeg bruger.

Desuden bilder jeg mig selv ind, at jeg bedre kan gennemskue, hvad der foregår, når jeg opgraderer ports vha. portupgrade. Hvis en dependency er gået i skoven, vil det typisk vise sig, når noget fejler under build-processen – med packages viser det sig måske først, når man prøver at bruge programmet.

Sidst jeg skulle bygge en relativt simpel webserver med lidt ekstra på en Soekris-maskine valgte jeg dog packages, fordi jeg ikke havde tålmodighed til at bruge ports. :-)

  • 0
  • 0
Bjarke Sørensen

Jeg har i mange år kørt server i prod med Gentoo det virker fint.

Jeg bruger ikke mere tid på at installere pakker end andre gør - for jeg sidder ikke og glor på at det bliver oversat.

Jeg gør det dog ikke for at vinde noget i runtime hastighed - jeg har derimod engang læst en test hvor de benchmarked Gentoo og Mandrake hhv. og det viste sig at det dynamisk linkede binære faktisk var hurtigere end Gentoos host-optimerede og funktionelt skræddersyede installationer.

Anywho.. jeg bruger Gentoo fordi jeg føler at det er nemmere at installere nye ting og at holde gamle ting opdateret. Jo jo, det tager maskinen lidt tid at oversætte, men som regel har pakke-udviklerne sat sig ind i tingene og lavet om (uha - er det skidt (nej!)) nogle default ting som f.eks. Apaches opsætning - den er super når nu man rent faktisk skal bruge Apache til noget.

Og hvis du er bekymret over compile-tiden på en 500Mhz, så understøtter Portage (emerge mm.) distcc så du kan bruge alle de andre strømslugere på netværkets idle Cpu til noget ;-)

  • 0
  • 0
Dennis Krøger

"jeg har derimod engang læst en test hvor de benchmarked Gentoo og Mandrake hhv. og det viste sig at det dynamisk linkede binære faktisk var hurtigere end Gentoos host-optimerede og funktionelt skræddersyede installationer."

Er du sikker på at det er selve den dynamiske linking du tænker på? Der er Gentoo ikke anderledes, som Alexander også nævner, tror ikke at der er ret mange moderne operativsystemer som ikke benytter dynamisk linking.

Til gengæld brugte Mandrake vist prelink, som udfører en del af opstarten (relokering af netop de dynamiske libraries) på forhånd, opstart kan derfor udføres hurtigere, især hvis programmet er afhængigt af mange, store libraries.

Dette kan også gøres i Gentoo, se evt. http://www.gentoo.org/doc/en/prelink-howto.xml

  • 0
  • 0
Log ind eller Opret konto for at kommentere