Hvorfor ikke Linux?


[Linker]

På svært mange områder vil det ikke ha så mye å si om operativsystemet er FreeBSD eller Linux. De har begge sine sterke og svake sider. Det følgende er mine personlige oppfatninger om klare bakdeler med Linux. Jeg har brukt Linux i flere år.

Fordi:

  1. Linux kommer i stadig nye varianter. Ifølge http://www.linux.org/dist/english.html finnes det pr. mai 2001 72 Linux-distribusjoner, stort og smått medregnet. I juni 2000 var det 46. I tillegg kommer ikke-engelske varianter.Alle disse har sine små særegenheter, egne installasjonsrutiner, egne plasseringer av f.eks. konfigurasjonsfiler og så videre. Med andre ord er enormt, uoversiktlig hav av systemer som har mer eller mindre til felles med hverandre. Det gjør i sin tur at det kan være vanskelig å bruke programvare som er skreddersydd til en distribusjon, på en annen. Det blir vanskelig å hente konsistent informasjon på WWW eller Usenet, siden mange av svarene er distribusjonsavhengige.
    FreeBSD kommer i én "distribusjon". Den eneste forskjellen ligger i kronologiske versjoner (som 4.3-release) og evt. i hvilke "branch" (-stable eller -current) du følger, men pga. at ports og packages også er tilknyttet informasjon om hvilke versjon de er beregnet på, samt at du kan installere et "upgrade kit" som gjør det mulig å bruke programmer beregnet på en annen versjon FreeBSD enn det du har, fører dette sjelden til problemer. Linux-programmer er også avhengige av hvilke versjon av glibc (GNU C libraries) du bruker.
  2. Programpakkehåndteringen. Linux-programmer legger seg både hist og her.Selv om man tar rpm og deb med i betraktningen, er ports en overlegen måte å installere og administrere programpakker på, pga. at de tar seg av alle "dependecies" (andre pakker eller biblioteker det aktuelle programmet er avhengig av), og laster ned og installerer dem.
  3. Linux har bash som default shell, og sh som en symlink til /bin/bash. FreeBSD har /bin/sh som default. Vil du ha bash installerer du det selv. Det havner (som sagt) i /usr/local/bin/bash. Shellscript som har #!/bin/bash som første linje vil heller ikke fungere uten videre (uten at du spesifikt plasserer bash der eller lager en symlink) på NetBSD, OpenBSD, HP/UX, BSDi BSD/OS eller Solaris. /bin/bash er altså ingen "standard".
  4. FreeBSD er binærkompatibelt med Linux. (samt med NetBSD og OpenBSD.) Det betyr at FreeBSD kan kjøre mange Linux-programmer uten videre, ved å ha kompilert inn dette i kjernen. Større programmer (Quake, WP8) krever at man installerer "linux_base" fra ports. (Dette er en minimal installasjon av Red Hat 6.) Du kan også mounte ext2fs-partisjoner fra FreeBSD. Linux kan derimot ikke kjøre programmer kompilert for FreeBSD.
  5. Linux-distribusjoner installerer ved default en stor mengde programmer på maskinen din. Du må i etterkant slette det du finner ut at du ikke trenger. FreeBSD installerer bare systemprogrammer/biblioteker/demoner/servere, samt en enkel editor (ee), en enkel webleser (lynx) og verktøy til å installere alt det du lyster av applikasjoner(pkg_add, pkg_info og pkg_delete), når du vet selv hva du vil ha. [1]
  6. Tungvin oppdatering av kildekode til kjernen. Enten må du laste ned en pakket fil på 10-15 MB for hver gang, eller så må du patche den eksisterende koden du har liggende. CVSup er betraktelig enklere. Det anbefales å holde kode for kjernen og det øvrige basissystemet synkront, siden endringene i disse to delene går parallelt. Det er ingen "ny FreeBSD-kjerne", og det vil aldri være behov for å pakke den med gzip eller bzip. Linux er i prinsippet bare kjernen.Vil man vite fordelene med å oppgradere sin versjon av FreeBSD til en annen, ser man på release notes på freebsd.org.
  7. Selve konfigureringen av kjernen er mye enklere i FreeBSD enn i Linux. Sammenlign disse to prosedyrene:[2]
    Her har jeg forutsatt at kildekode til kjernen (i Linux: mellom 10 og 15 MB) er lastet ned til riktig katalog, og at man befinner seg i denne)

     

    FreeBSD

    Linux

    Sett navn på kernel-konfigurasjonsfil (f.eks KJERNE), og rediger denne. Sett inn eller fjern opsjoner eller drivere etter behov. Referanser i filen LINT.
    # make buildkernel KERNCONF= KJERNE
    # make installkernel KERNCONF=KJERNE
    # reboot
    eller ganske enkelt:

    # make kernel

    # make config, eller make menuconfig, eller make xconfig - svar y(es) n(o) eller m(odules) på de opsjoner programmet spør om
    # make dep
    # make clean,
    eller make mrproper
    # make zImage, bzImage,
    eller make bzdisk
    # make modules && make modules_install
    dersom du har konfigurert noen moduler
    # make bzlilo
    (men bare dersom kjernen heter /vmlinuz, lilo ligger i /sbin og /etc/lilo.conf stemmer med dette.
    #reboot

    Det er adskillig færre grøfter å falle i med FreeBSD's metode, etter min mening.

  8. Mange Linux-brukere er ikke klar over at Linux bare er kjernen. De går ut fra at Enlightenment, XFree86 eller Apache er et "Linux-program". De svever også gjerne i den tro at Linux er det eneste "Open Source"-alternativet til MS Windows. http://www.freeos.com/ lister opp 21 frie operativsystemer[3]. De tror også at Linux er et UNIX-system. Linux er en Unix-workalike, og selv Linus Torvalds ville være enig i det. Strengt tatt er heller ikke FreeBSD en UNIX (jfr. copyrightretten til The Open Group), men stammer fra AT&T UNIX. Les mer her.
  9. Linux-unnskyldninger for hvorfor saker og ting ikke fungerer:
  10. Flere grunner? Se på "Why Linux Sucks" av Nick Johnsson.

[1] Installasjonsprogrammet sysinstall gir deg anledning til installere haugevis av programmer i første omgang, men det er mest hensiktsmessig å vente. Sysinstall kan du bruke igjen når som helst. Programmene blir installert som packages.
[2] Hentet fra http://www.linux.no/biblioteket/HOWTO/Kernel-HOWTO-5.html og http://www.kernel.org/pub/linux/kernel/README , hvis du vil dobbeltsjekke. Og hvis denne beskrivelsen er feil, kommer det av at dokumentasjonen på nettet er uklar og vanskelig å forstå!
[3] Ja, mange av dem er uferdige eksperimentprosjekter. Men var ikke Linux også det for ikke mange år siden?

Men på den annen side

All oppmerksomheten som blir Linux til del er også til fordel for andre frie Unix-baserte operativsystemer, selv BeOS, som bruker bash, og FreeBSD. Programmene som skrives for eller portes til Linux kan lett portes til FreeBSD eller kjøres direkte. Faktisk er det en fordel om programmer først skrives for Linux, siden det vil gi mange flere som vil være med å beta-teste dem.

Nyttige linker

"Unix Guru Universe: FreeBSD"
The FreeBSD Project
A Comprehensive Guide To FreeBSD
FreeBSD Hypertext Man Pages: Index Page
Newbie Install of FreeBSD
Martin Cracauer: NetBSD and FreeBSD compared
FreeBSD Links
Linux/FreeBSD + PPP Setup Instructions
BSDI Users Mailing List: questions-digest V3 #433
The FreeBSD Diary
Resources on the Internet
On FreeBSD
The FreeBSD User Guide
Newbie Install Preview
The FreeBSD Ring
FreeBSD Rocks!
A Comprehensive Guide To FreeBSD
A Comprehensive Guide To FreeBSD
BSDI-USERS Mailing List
Chris R.'s FreeBSD-UK Help Page
FreeBSD How-To's for the Lazy and Hopeless
http://www.freebsd.org/~brian
FreeBSD Tutorials - Man Pages - FREEBSD.PEON.NET
``Making the world'' your own
A Deamon's Guide To FreeBSD
FreeBSD
Ask Jeeves Answer: *BSD Information on Minnie
FreeBSD Rocks!
Dave's FreeBSD Page
FreeOS - The Resource Center for Free Operating Systems
FreeBSD Hypertext Man Pages: Index Page
How to Install Q3A Test for Linux on FreeBSD
Index of /~pgl/stuff/pics/bsd
Darius' Quake Page
BSD Application search :
FreeBSD Gaming News