[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian i sverige



Har postat det här förut.  Och fick redan då reda på att den innehåll
en del fel.  Men det här är iaf mitt svar på varför jag använder
Debian.  Ett brev till mina jobbarkompisar på RIT.se, för att få
igenom en övergång från Redhat/slackware till Debian:



Alla distributioner har sina för och nackdelar. Och det finns ju en
del...
        http://www.linux.org/dist/english.html


Med ett tiotal internetservrar hos en ISP tror jag att dessa kriterier
för val är intressanta:

 * det ska finnas program för de tjänster vi vill använda/erbjuda
 * de ska gå att konfigurera och anpassa för speciella ändamål
 * de ska kräva minimalt med löpande administration
 * de ska vara säkra och stabila
 * det ska vara snabbt/enkelt att upgradera
 * bra ordning på filer och dokumentation
 * fungera på den hårdvara vi använder

Egenskaper som för ändamålet är inte spelar så stor roll. Dvs som är
oviktiga:

 * enkelt för nybörjare
 * officepaket och slutanvändareprogram
 * optimerad desktopmiljö
 * support för den allra senaste hårdvaran
 * funktioner för samexistens med ms windows
 * osv...



Bakgrund


Kom först i kontakt med unix å Amigan (vars os har mycket från unix).
På universitetet lärde jag mig Unix, Perl, NCSA httpd, emacs, cgi,
html, etc i solaris-miljö. Programmerade lite i C, kompilerade en
massa program med make, etc. På CultCom satt jag med SGI Irix i ett
par år. Under tiden kom jag i jobbet kontakt med SCO och HP/UX (men
bara ytligt).  När jag så skulle skaffa mig min första x86-dator
frågade jag min sysadmin vilken linuxdistro jag skulle använda, och
han sa Debian. ... Sedan dess har jag även användt Mandrake (för
undervisning) och även RedHat, eftersom den är ganska vanlig.


Det är med denna bakgrund jag kan sätta Debian GNU/Linux i relation
till andra *nix.  Men här handlar det ändå främst att se skillnanden
mellan Debian-baserade och RedHat-baserade distributioner.  Jag har
sympati för Slackware, men ser den distron som ett alternativ för de
som vill lära sig sitt os, använda make, konigurera i textfiler etc.
Bra för att lära sig och för sin egen dator, men inte som bas för en
större mängd servrar som ska kunna konfigureras lika dant, och
uppgraderas snabbt. Har även sympati för *bsd. Man känner sig nästan
som windowsanhängare när man väljer bort BSD, på grund av att Linux
har en större bas av utvecklare och ett större utbud av program och
system. Är glad iaf för att jag inte använder Red Hat, för det är ju
så main stream som det kan bli. ;-)

Så vill jag berätta vad som är så bra med Debian



*** Linux Standard Base

Jag älskar Unix för att det är så tekniskt snyggt gjort.  Allt verkar
så välstrukturerat, ordnat och bra uttänkt.  När man använder Debian
märks det verkligen att de är måna om att hålla var sak på sin plats.
De gör ett underbart jobb med att se till så att alla program hållr
sig till samma standard för hur saker ska fungera, konfigureras osv.

Linux Standard Base http://www.linuxbase.org/ jobbar på att skapa en
standard för hur systemet ska se ut.  Alla stora distros ställer sig
bakom LSB. Debian är djupt involverad. Många har föreslagit att Debian
ska vara en referensdistribution för LSB.

Ta en titt på "Debian Policy Manual"
    http://paranormal.se/doc/debian-policy/policy.html/

Debian följer the "Filesystem Hierarchy Standard"
    http://paranormal.se/doc/debian-policy/fhs/fhs.txt.gz

Olika program verkar i defaultutförande vilja placera sig lite var som
helst i systemet. Men i Debian kan du alltid vara säker på att hitta
binärerna i /usr/bin, sysadminprogrammen i /usr/sbin,
konfigurationsfilerna i /etc, loggfilerna i /var/log, osv.  Allt på
sin plats. Och du kan alltid hitta dem under dess logiska
namn. Således ligger konfigurationsfilerna för apache under
/etc/apache och inte /etc/httpd/conf/.



*** Dokumentation

Allt är väl dokumenterat.  Förrutom man- och info-filer placeras övrig
information, så som READM-filer, FAQs och HTML-dokumetation under
respektive katalog i /usr/share/doc. Alltid åtkommlig enligt Debians
policy, med webbläsare. Ta en titt:
    http://paranormal.se/doc/HTML/
    http://paranormal.se/doc/

Låt oss ta Exim som exempel. Du kan antingen söka via sökformuläret
längst ned på HTML-sidan, eller bara hoppa in i rätt katalog:
    http://paranormal.se/cgi-bin/dsearch?search=exim
    http://paranormal.se/doc/exim/

 * All dokumentation från distributionen finns med
 * manual finns ofta under manual.html
 * Kommentarer specifika för Debian finns under README.Debian.gz
 * Changelog för debian under changelog.Debian.gz
 * alltid en copyright
 * Filer packade för att spara på plats

Du märker hur mån paketerarna är om att följa Debians policy.  Se
exempelvis denna readme för PostgreSQL:
    http://paranormal.se/doc/postgresql/README.Debian.gz

Eftersom dokumentationen för PostgreSQL är omfattande, kommer den i
ett eget paket:
    http://paranormal.se/doc/postgresql-doc/

Även dokumentationen inne i konfigurationsfiler är ofta tydligare och
bättre än vad jag har sett i andra system. Några exempel, där jag
jämför karl.rit.se med astral.paranomral.se:

//karl/etc/hosts.allow

# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.

//astral/etc/hosts.allow

# /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5),
hosts_options(5)
#                   and /usr/doc/netbase/portmapper.txt.gz
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for
the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper. See
portmap(8)
# and /usr/doc/netbase/portmapper.txt.gz for further information.

//karl/etc/inetd.conf

# inetd.conf    This file describes the services that will be available
#               through the INETD TCP/IP super server.  To re-configure
#               the running INETD process, edit this file, then send the
#               INETD process a SIGHUP signal.
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
# To re-read this file after changes, just do a 'killall -HUP inetd'

//astral/etc/inetd.conf

# /etc/inetd.conf:  see inetd(8) for further informations.
#
# Internet server configuration database
#
#
# Lines starting with "#:LABEL:" or "#<off>#" should not
# be changed unless you know what you are doing!
#
# If you want to disable an entry so it isn't touched during
# package updates just comment it out with a single '#' character.
#
# Packages should modify this file by using update-inetd(8)
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>

//karl/etc/initab

# inittab       This file describes how the INIT process should set up
#               the system in a certain run-level.

//astral/etc/initab

# /etc/inittab: init(8) configuration.

Osv... Lägg märke till att Debian hela tiden hänvisar till de
man-sidor som förklarar vad som pågår.

Appropå det så har alla program i Debian sin egen manualsida.  Om DET
INTE FINNS en manualsida för programmet får du upp en sida som
förklarar läget och ger dig en rad tipps om hur du kan gå tillväga för
att hitta mer info om programmet. Utdrag:

       This program, utility or function does not have  a  useful
       manpage.  Please do not report this as a bug, because this
       has already been reported as a bug; when a manpage becomes
       available  it  will be included, and the bug report closed
       <http://www.debian.org/Bugs/>.  If you are a competent and
       accurate  writer and are willing to spend the time reading
       the source code and writing good manpages please  write  a
       better  man page than this one. Please contact the package
       maintainer in order to avoid several people working on the
       same manpage.



*** Valfrihet

Du har stor möjlighet att välja programvara.  Om du installerar ett
program som föreslår att du har en webbserver, tvingas du inte att
välja en specifik webbserver, utan kan ta vilken som helst. Om ett
program är beroende av att du har en Mail Transfer Agent installerad,
kan du fritt välja mellan flera stycken. 

En RPM säger exakt vilka filer som måste finnas installerade.  I
Debian beskriver många program istället vilken *funktion* de tillför,
och paket kan då säga se vara beroende av dessa *funktioner*.

Om en RPM har en dependency på en fil så måste du installera det
paketet. Det finns inget val. Det finns inget mellanting.  Men i
Debian finns flera nyanser av dependencies. Det ger dig ökad
valfrihet.
    http://paranormal.se/doc/debian/FAQ/ch-pkg_basics.html#s-depends

Så vad kan man välja mellan? Se bara på utbudet av MTAs (exim,
masqmail, postfix, sendmail, smail, zmailer), webbservrar (roxen,
aolserver, boa, cern-httpd, apache) osv. Du kan byta från ett paket
till ett annat utan större problem. Debian kontrollerar alla
dependencies och ser till så att konfigurationsfiler korrigeras.



*** Konfiguration

När nya paket installeras sätts de alltid upp för att fungera väl i
systemet.

 * om tidigare version finns stängs demonen ned
 * existerande konfigurationsfiler säkerhetskopieras
 * Filerna isntalleras enligt debians policy
 * cron-job sätts upp
 * loggrotering initieras
 * initial fungerande konfiguration
 * demonen startas

Du kan börja använda systemet med en gång. Inga shell-kommandon
behövs. Installationsscripten vet hur systemet ser ut.

Det finns flera nivåer av frågor. Du väljer själv hur mycket detaljer
du vill svara på. Vill du svara på många frågor får du ofta chansen
att ställa in programmets konfiguration under installationen.
Exempelvis kan du vid installationen av apache bestämma precis vilka
moduler du vill ska användas (för varje modul får du en beskrivning
och en rekommendation efter hur användbar den är).  Debian kan också
minnas vad du svarat på tidigare frågor. Så när du installerar nästa
version av paketet så behöver du inte svara på samma frågor om du inte
vill.

Under installationen kan det hända att du får tipps om att konfigurera
vissa filer, ta en titt på någon dokumentation eller kanske en varning
om den hittar något som kanske är fel. Om du inte kör uppdateringen i
interaktivt mode så kan du få dessa meddelanden mailade till dig.

Du kan alltid ingripa genom att själv merga en ny version av en
konfigurationsfil med den gamla. Men för det mesta sköter den allt
sådant själv. Den klarar galant av att exempelvis uppdatera
apache-konfigurationen för en ny funktion utan att röra några av mina
gamla inställningar.



*** Paketsystemet

Jag älskar Debians paketsystem.  Allt finns på ett ställe, precis som
CPAN. (Eh krypteringsgrejs har iofs sina egna speglingar.)  Alla paket
är kategoriserade i flera grupper, och har namn, kortbeskrivning och
beskrivning.  Med ett enkelt program hämtar du hem de senaste listorna
på program. Programmen kan hämtas från CD-skiva, lokal HD, NFS eller
FTP.  Jag får mina program från sunet:
    ftp://ftp.sunet.se/pub/Linux/distributions/debian/

När du väljer ett paket, får du reda på vad paketet är beroende av,
rekommenderar eller föreslår. Den kan kräva att ett visst bibliotek
ska vara minst ver 2.8 men inte mer än 2.95. Den kan också säga sig
vara i konflikt med andra paket. Det finns helt enkelt många fler
variabler (än i RPM) med uppgift att se till så att inga konflikter
uppstår i systemet.

Låt mig ta ett paket som exempel. Läs mer om formatet här:
    http://paranormal.se/doc/debian/FAQ/ch-pkg_basics.html#s-controlfile

Package: man-db
Status: hold ok installed 
Priority: important
Section: doc
Installed-Size: 738
Maintainer: Fabrizio Polacco <fpolacco@debian.org>
Version: 2.3.16-1
Replaces: man, nlsutils
Provides: man, man-browser
Depends: groff (>> 1.15-2) | jgroff (>> 1.15), libc6 (>= 2.1.2), libdb2
(>= 1:2.4.14-7)
Suggests: bsdmainutils
Conflicts: man
Conffiles:
 /etc/cron.daily/man-db d8be7e4710c29337be2f30dc6e772aa6
 /etc/cron.weekly/man-db 08c0fab5c204668afadbd6458b4c0f2a
Description: Display the on-line manual.
 This package provides the man command. This utility is the primary
 way of examining the on-line help files (manual pages). Other utilities
 provided include the whatis and apropos commands for searching the
 manual page database, the manpath utility for determining the manual
 page search path, and the maintenance utilities mandb, catman and
 zsoelim. This package uses the groff suite of programs to format and
 display the manual pages.

Lägg märke till Replace, Provides, Suggests, Conflicts och Depends.
Här kan man tydligen välja mellan groff och jgroff, bara de är
tillräckligt nya versioner.  I övrigt, läs om deb i FAQn:
    http://paranormal.se/doc/debian/FAQ/ch-pkg_basics.html

APT är ett system i Debian som kan hantera alla konflikter.  Du leds
genom ett antal steg där du resolvar dependencies och konflikter. För
varje steg kan du välja vilka av de beroende paketen du vill ta med,
vilka föreslagna paket du vill utelämna, du kan ångra och backa ett
steg, osv. Du ser hela tiden vad för ändrig som föreslås. I normala
fall kan du bara välja "okej" ända tills APT är nöjd och inga
konflikter återstår.

Så hämtas alla valda paket och sätts upp för installation. Om något
skulle gå fel under konfigurationen har ingen skada skett åt det
nuvarande installerade systemet. När allt är konfigurerat och klart
sker installationen snabbt genom att gamla demonen stängs av, de nya
filerna flyttas till sin plats, och nya demonen sätts på.
Avbrottstiden är minimal.

Om ett program består av flera delar kan dessa delar komma i var sitt
paket.  Speciellt då olika delar kanske är beroende av olika saker.
En del av ett program kanske behöver ett speicellt bibliotek.  I så
fall så delas programmet in i flera paket där huvudpaketet
rekommenderar dig att även installera de andra paketen.  Men om du
inte vill ha den funktionen kan du låta bli. Och då slipper du ju
också installera det där extra biblioteket. Om dokumentationen är
omfattande kommer också den i ett eget paket.

För varje ny version finns en beskrivning av vad som är nytt i den.
Här anges också hur viktigt det är att uppgradera.  Exempel från
PostgreSQL (från *unstable*):

postgresql (7.0.2-1) unstable; urgency=low

  * New upstream bug-fix release
  * postgresql: fixed typos in README.Debian.  Closes: bug#64697
  * postgresql: flagged /etc/postgresql/pg_options as a conffile
  * postgresql: log file is no longer cleared at postmaster startup. Its
    permissions are now 660.  PGDEBUG=0 made explicit in default
    postmaster.init.  Closes: bug#64707.
  * postgresql: postinst was getting rubbish for the current timezone.
    Closes: bug#64776.
  * postgresql-doc: Moved indexpage.html down to html/index.html.

 -- Oliver Elphick <Oliver.Elphick@lfix.co.uk>  Fri,  9 Jun 2000
14:40:51 +0100


Om du ställt in APT till *stable* kan du låta ett cronscript
automatiskt hämta hem viktiga uppdateringar och installera dem.  Du
behöver inte lyfta ett finger. Eventuella kommentarer får du via mail.


Det här är en mycket väl fungerande och mycket stort syste. Jag har nu
tre gånger uppgraderat mitt Debian-system från en version till en
annan. Uppgraderingen från libc5 till libc6 var mycket omfattande, men
gick nästan helt utan problem. Några omstarter behövs inte.

Och Debian har fler paket i sin distribution än någon annan. Jag
väljer "update" och får meddelandet (efter ca 10 sekunder):

    Information about 5037 package(s) was updated.



*** Bugghanteringen

Det finns ett väl utvecklat och fungerande system för bugghatering:

    http://www.debian.org/Bugs/

Paketerarna vidareförmedlar buggrapporter till utvecklarna. När fixar
och nya versioner kommer, rapporteras detta i change-loggen. Du kan
fritt söka i databasen.



*** Support

Som du märkt, om du ställt in din webbläsare på svenska, så finns det
mesta av informationen på http://www.debian.org/ på svenska.  Det
finns också en lågtrafikerad svensk mailinglista. Frågor på den listan
får ofta ett snabbt svar:

   
http://www.debian.org/Lists-Archives/debian-user-swedish-0005/threads.html

Och det finns en stor mängd mailinglistor för olika områden. Alla med
sina arkiv:

    http://www.debian.org/Lists-Archives/

För våran del kanske Debian ISP är av intresse:

    http://www.debian.org/Lists-Archives/debian-isp-0006/threads.html



*** Debian har rätt filosofi

Debian är ett kollektivt projekt som arbetar efter samma principer som
andra stora projekt inom Linux-världen. Det är det enda rätta
alternativet ur ett moraliskt och principiellt persoketiv.  Läs deras
sociala kontrakt:

    http://www.debian.org/social_contract


Och slutligen:

    http://www.debian.org/intro/why_debian
    http://www.debian.org/releases/
    http://www.debian.org/doc/FAQ/





-- 
/ Jonas  -  http://jonas.liljegren.org/myself/en/index.html



Reply to: