-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Martin Møller <martinhm@spamfilter.dk> writes:
> Jeg installerede Debian for lidt siden, og har fået det mest
> grundlæggende til at køre, men jeg kan se, at der er meget, jeg ikke
> ved om Linux, så det virker ret rodet og uoverskueligt.
Debian er alt andet end rodet og uoverskuelig, når man har gennemskuet
logikken, men jeg må altså sige, at som begynder har du nok valgt den
forkerte distribution. Men... hvis du selv har fået det hele op at
køre, er du helt sikkert så svær at skræmme, at du hurtigt vil komme
efter de ting, som mere begyndervenlige distributioner kan give dig.
Hvis jeg var dig ville jeg kigge lidt på bøgerne på the Linux
Documentation Project (
http://mirrors.sunsite.dk/ldp/), især 'The
Linux User's Guide' og 'System Administrator's Guide', hvis jeg husker
navnene rigtigt. De fortæller dig ikke alt, du skal vide, men du
kommer godt i gang med det grundlæggende. Du er sikkert selv i stand
til at bedømme, hvad du har brug for at læse, og hvad der er mindre
vigtigt, men du behøver langt fra at vide det hele, før du går i gang.
> Det jeg er mest frustreret over lige nu drejer sig om opbygningen af
> filsystemet, libraries, dependencies, kompilering og den slags.
Det er beskrevet i første bog nævn ovenfor. Du bliver nok nødt til at
præcisere dit spørgsmål omkring dependencies og kompilering. apt-get
håndterer langt de fleste dependencies for dig, og kompilering er som
regel ret ligetil.
> Som eksempel synes jeg det virker som om, at en masse sammenhørende
> filer (libraries og applikationer), som jeg til enhver tid ville
> vælge at lægge i separate directories, rodes sammen i store
> directories (bin og lib) og at man så sætter sin lid til, at et
> managerprogram kan holde styr på, hvad der foregår.
Ja. Unix har alle dage holdt samme kategorier af filer sammen i stedet
for filer i samme programdistribution. Når en meget stor del af de
pakker, man installerer på et system, er biblioteker, som der linkes
imod fra flere andre sider, giver det måske god mening. I dag er det
måske mindre smart, så der er nogle, der har lavet alternative
strukturer til programmer, der ikke er dicideret systemkritiske. Se fx
pack/coll-strukturen, som vist nok i sin tid blev udviklet af folkene
bag SunSITE.
Dette er dog ikke nødvendigt at give sig i kast med som begynder.
> Hvad sker der, hvis det managerprograms database bliver smadret? Har
> man så ikke et tæmmeligt seriøst oprydningsarbejde med at finde ud
> af, hvad der hører sammen med hvad, og hvad der overhovedet er
> installeret?
Jo, afgjort, ligesom man er alvorligt på spanden, hvis man smadrer
Windows' registreringsdatabase. Men man skal enten være meget uheldig
eller meget fummelfingret (eller fummelhjernet
, hvis man skal
gøre sådan noget. Jeg har aldrig oplevet, at det er sket.
> En af grundene til at jeg har forsøgt mig med Linux er, at jeg er
> ualmindelig træt af Windows-syndromet med et system, der langsomt
> bliver fyldt op med skrammel, så man til sidst skal rive det hele
> ned og bygge forfra. Jeg regner ikke med, at man med Linux er nødt
> til at geninstallerer i tide og utide?
Du regner rigtigt. Det fænomen du beskriver, er i øvrigt kendt som
'bitråd', 'bit rot' på engelsk, og jeg har kun hørt det brugt om
Windows. Det er lang tid siden jeg selv installerede Debian på denne
maskine. Jeg kan ikke huske, om det er 2, 3 eller 4 år siden
efterhånden... at dømme fra nogle af de ældste filer på systemet, er
det vist 3.
> Jeg kan bruge "apt-get install x" og når det virker, så er det jo
> fint, men jeg har ingen ide om, hvad der sker og hvordan jeg fjerner
> programmet igen og også får fjernet de libs, som kun det ene program
> havde brug for.
Der er allerede blevet svaret på, hvordan man fjerner pakker, så jeg
kan fortælle lidt om, hvordan det virker.
Debians .deb-pakker er komprimerede cpio-arkiver, hvis ikke jeg husker
galt. Et cpio-arkiv er blot en fil, der opfører sig som et gammeldags
lagringsmiddel som fx DAT-bånd eller hvad, det nu måtte være (hvis
ellers jeg har forstået det ret). Dette komprimerede arkiv indeholder
nogle kontrolfiler og de filer, der bliver installeret i sidste ende.
Når man beder apt-get om at installere en pakke X, ser den først på,
om de pakker, som X afhænger af, er installeret, og hvis ikke de er,
spørger den, om den også skal installere dem. Afhænger X fx af A og B,
og kører du apt-get install X, så spørger den, om den skal installere
A, B og X; hvis du siger nej, installerer den intet. Sådan løses
dependencies.
Der er nogle dependecies, der ikke er helt ligefremme. Der er fx nogle
pakker, der afhænger af en mailserver, og det er i princippet
ligegyldigt, hvilken mailserver det er. Så har man en såkaldt virtuel
pakke 'mail-transport-agent', der i sig selv ikke repræsenterer et
specielt program. Mailservere som Exim, Postfix og Sendmail leverer så
pakken 'mail-transport-agent'. Installerer du et program, der afhænger
af en virtuel pakke, der ikke er installeret, skal du tage stilling
til, hvilken af disse installationskandidater til den virtuelle pakke,
du vil installere. Men det er kun sjældent, at det bliver relevant.
Nå, apt-get henter de pakker, du beder den installere, fra en server
et sted. Når de skal installeres, bliver de først pakket ud. Jeg
nævnte tidligere, at der følger nogle kontrolfiler med disse pakker.
Disse kan eksempelvis være før-installation-scripts,
efter-installation-scripts osv., og de bruges ofte til at hjælpe med
at generere fornuftige konfigurationsfiler. Disse scripts afvikles,
hvor det er passende. Installationen af de filer, der er relevante for
pakken, er ligefrem: de kopieres blot ind på det rette sted i
filsystemet.
> Og hvis apt-get kommer med en fejl om version conflict eller noget,
> ja så er jeg lost.
Du kan som regel ikke installere en ældre version af et program oven i
en nyere version, og du kan ikke have forskellige versioner
installeret samtidigt.
> Ligeledes kan jeg godt skrive make, men når er kommer fejl
> ang. header-filer, den ikke kan finde, så er jeg også på herrens
> mark.
Du mangler nok nogle af de relevante udviklingspakker, altså dem, der
slutter med '-dev'. Her har du typisk brug for pakker, der hedder
noget i stil med libblabla-dev. De indeholder de headerfiler, du har
brug for.
> Det er p.t. kun lykkes mig at kompilere mpg123 på en Red Hat. Alle
> andre forsøg på kompilere noget som helst (ud over det, jeg selv har
> skrevet på små programmer) er altid endt med, at jeg enten ikke har
> fået programmet eller at jeg har fundet en binary.
Det er ofte ganske trivielt, når man har installeret de rigtige
pakker. Hvis du kører Woody, skal du dog være opmærksom på, at de er
temmeligt langt bagud, så det kan godt være, at nyere versioner af
udviklingspakkerne kræves.
> Så jeg skriver i håb om at finde en bog om hvordan et grundlæggende
> Linux-system fungerer - hvad der sker, når det starter, hvordan libs
> er organiseret, hvordan kompilering forgår o.s.v. Sådan helt
> gundelæggende adminitration.
Allerede givet, samt se SSLUGs bøger.
Martin
- --
Homepage:
http://www.cs.auc.dk/~factotum/
GPG public key:
http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <
http://www.gnupg.org>
iEYEARECAAYFAj5JcqIACgkQYu1fMmOQldWYJQCfVQcJZeBAuqj1ItNyos9jeaZp
yoYAoJuhKuBA1KxAfQtZvJkVjZWFW1ii
=vT+q
-----END PGP SIGNATURE-----