/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Frustreret nybegynder
Fra : Martin Møller


Dato : 10-02-03 17:48

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. Det jeg er
mest frustreret over lige nu drejer sig om opbygningen af filsystemet,
libraries, dependencies, kompilering og den slags.

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. 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? 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?

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. Og hvis apt-get kommer med en fejl om version conflict
eller noget, ja så er jeg lost. 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. 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.

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. Jeg kiggede i Uni. Bogladen på skolen på
bøger om Linux-administration, men det så ud som om, de ret hurtigt
gik igang med "højniveau-ting" som opsætning af sendmail og Apache og
det er ikke lige det jeg søger. Nogen gode forslag?

--
Med venlig hilsen / Best regards
Martin Møller
E-mail: martinhm@spamfilter.dk

 
 
Adam Sjøgren (10-02-2003)
Kommentar
Fra : Adam Sjøgren


Dato : 10-02-03 18:23

On Mon, 10 Feb 2003 17:47:37 +0100, Martin Møller wrote:

> 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.

Hvis du bedre kan lide at de ting der hører sammen ligger sammen, så
er det vist MacOS X du skal have fat i.

> Hvad sker der, hvis det managerprograms database bliver smadret?

Så er verden ikke så sjov længere. Heldigvis er det tekstfiler.

(Jeg har kørt Debian siden version 1.2 var ny, og det er ikke sket for
mig endnu).

> Jeg regner ikke med, at man med Linux er nødt til at geninstallerer
> i tide og utide?

Det behøver man ikke - det plejer at være smartere at løse problemet -
men der er alligevel mange der godt kan lide at gøre sådan. Måske af
gammel vane.

> 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.

Du fjerner programmer med "apt-get remove x". Hvis du også vil have
smidt konfigurationsfilerne ud, er det "apt-get --purge remove x" du
skal have fat i.

Der findes vist forskellige programmer du kan køre for at checke om du
har pakker installeret som ingen pakker afhænger af - debfoster kan
hjælpe med det f.ex.

> Og hvis apt-get kommer med en fejl om version conflict eller noget,
> ja så er jeg lost.

Det kræver lidt erfaring at finde ud af hvad de forskellige
fejlmeddelelser betyder. Ligesom på alle andre systemer.

> 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.

Tjah, samme som ovenfor - heldigvis behøver du sjældent at oversætte
noget selv, for der er Debian pakker med det meste.

Oftest er det en "det-der-mangler"-dev pakke, der skal til.

Hvis du bruger "fakeroot apt-get --build source x", kommer den og
siger hvilke pakker der skal til, for at kunne bygge pakke x.

> 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.

<http://sslug.dk/linuxbog/>


Mvh.

--
"Vi är små citroner" Adam Sjøgren
asjo@koldfront.dk

Kent Friis (10-02-2003)
Kommentar
Fra : Kent Friis


Dato : 10-02-03 19:04

Den Mon, 10 Feb 2003 17:47:37 +0100 skrev Martin Møller:
>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. Det jeg er
>mest frustreret over lige nu drejer sig om opbygningen af filsystemet,
>libraries, dependencies, kompilering og den slags.

Ikke en normal nybegynder... Jeg antager du er mindst det der kaldes
"poweruser" på windows.

>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.

At lægge fx gnome-filer for sig, SDL-filer for sig, libc filer for sig
osv, er simpelt for mennesker, men besværligt for computeren der bare
ved at den skal bruge libxml2, og ikke aner at den hører under gnome.

At lægge libraries for sig og exe'er for sig er nemt for computeren,
for så ved den hvor den skal søge efter tingene. Det er måske nok
sværere for mennesket, og man vænner sig til det.

Det har også fordele når man arbejder med kommandolinien, hvis alt
ligger i separate directories, skal PATH være enormt lang, og der
skal fuld sti til alting. På en linux-maskine skal PATH bare indeholde
/bin:/usr/bin:/usr/local/bin:$HOME/bin, og så kan ethvert program
principielt startes, uanset hvor man står (så man behøver heller ikke
fuld sti til data-filen). Libraries findes tilsvarende, bare med
lib i stedet for bin.

Forskellen mellem de forskellige /bin kataloger (og ditto /lib) er
der også en god grund til:

/bin er de ting der er nødvendige før /usr bliver mount'et. /usr fylder
nemlig en del, og derfor kan det fx være en smart ide at lægge /usr
på et netværksdrev, hvis man har 20 ens maskiner. Men det kræver at
programmer som mount og ifconfig er tilgængelige før netværket kører.

/usr/local/bin er til de ting man installerer uden om distributionen,
så hvis man lægger /usr/local på en separat disk, kan man reinstallere
uden at miste et eneste program. Lidt i stil med at installere
programmerne på D:, men da Linux ikke har nogen registreringsdatabase,
så virker det i modsætning til windows, hvor man alligevel ender med
at måtte installere programmerne igen.

(ikke at du skal forvente at få brug for at reinstallere, men hvis
man får lyst til at skifte fra RedHat til Debian er det den eneste
vej).

$HOME/bin er så til de ting der tilhører en bestemt bruger. Linux (og
Unix) er nemlig fra grunden af et flerbrugersystem, og men bruger-
rettigheder der virker, så alle og enhver kan ikke bare installere
deres spil under /usr.

>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?

Både og - principielt kunne den sagtens genopbygges ved at læse
pakkerne igennem igen (fra CD eller nettet), og se hvilke filer der
er installeret fra hvilke pakker. Men som andre også nævner, så sker
det ikke særlig tit.

>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?

Nope, man er principielt aldrig nødt til at geninstallere, systemet
har ikke nogen "self-destruct timer", som man nogen gange skulle tro
at windows har. Det kan være nemmere end at opgradere på nogen
distributioner, men selv det har Debian løsningen på.

>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. Og hvis apt-get kommer med en fejl om version conflict
>eller noget, ja så er jeg lost. 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. 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.

Som begynder er det helt klart nemmere at bruge pakke-systemet og
installere pakkerne fra CD'en eller direkte fra distributionens
ftp-server.

>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. Jeg kiggede i Uni. Bogladen på skolen på
>bøger om Linux-administration, men det så ud som om, de ret hurtigt
>gik igang med "højniveau-ting" som opsætning af sendmail og Apache og
>det er ikke lige det jeg søger. Nogen gode forslag?

Friheden til at vælge - http://www.sslug.dk/linuxbog/

Mvh
Kent
--
Motion: andet ord for "ondt i fødderne".

enrique (10-02-2003)
Kommentar
Fra : enrique


Dato : 10-02-03 20:12

On Mon, 10 Feb 2003 17:47:37 +0100, Martin Møller wrote:

> 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?

Det er sket en gang for mig under RH pga en smadret IBM hd, men den kunne
let genskabes ud fra en guide jeg fandt på nettet. Desuden har man jo
altid backuppen.

--
Mvh. / Kind regards
Henrik Farre

http://www.cs.auc.dk/~enrique


Claus Christian Lars~ (10-02-2003)
Kommentar
Fra : Claus Christian Lars~


Dato : 10-02-03 20:30

Martin Møller wrote:

> 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


www.debianguiden.dk

hilsen claus


Martin Christensen (11-02-2003)
Kommentar
Fra : Martin Christensen


Dato : 11-02-03 23:01

-----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-----

Adam Sjøgren (12-02-2003)
Kommentar
Fra : Adam Sjøgren


Dato : 12-02-03 21:50

On Tue, 11 Feb 2003 23:01:06 +0100, Martin Christensen wrote:

> Debians .deb-pakker er komprimerede cpio-arkiver, hvis ikke jeg
> husker galt.

(Detalje: fra deb(5):

"FORMAT
The file is an ar archive with a magic number of !<arch>."
)


Mvh.

--
"How come we play war and not peace?" Adam Sjøgren
"Too few role models." asjo@koldfront.dk

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste