Hvordan skal jeg lærer Linux kernel at kende?

Tags:    linux ubuntu

Hej! Jeg vil lige copy paste, noget jeg har skrevet på et andet forum, da alle herinde højst sandsynligt kan engelsk:

Fold kodeboks ind/udKode 




39 svar postet i denne tråd vises herunder
12 indlæg har modtaget i alt 27 karma
Sorter efter stemmer Sorter efter dato
Det er alt sammen meget basic stuff. Udover lige den med at hacke login systemer.

Men det har som sådan intet med kernen at gøre.

Hvis du vil lære arkitekturen i systemet at kende, så er den mest oplagte vej at starte med en anden udgave af linux end ubuntu. Ubuntu er for folk der ikke gider lære noget før de starter - det er også fint - med mindre ens mål rent faktisk er at lære.

Debian er en anden linux distribution, som faktisk er den Ubuntu udspringer af.

En frisk debian installation er uden GUI.

http://www.debian.org

http://www.debianguiden.dk er en meget grundig gennemgang af systemet fra forberedning af installation til opsætning af systemet. Jeg har ikke brugt den siden 2003 or so - men den ligger der stadig - og det ser ud til at den er opdateret.

Citat fra debianguiden.dk, som jeg synes er meget passende:
Det er også vigtigt, at du er den type, som tager tiden til at læse om tingene, før du hopper ud i den store Debian/Linux verden. Det er svært (hvis ikke umuligt) at lære Linux ved at prøve sig frem uden dokumentation. Det er vigtigt at *læse* dokumentationen og ikke bare skimme let henover den.


Det kræver en indsats og vilje til at bruge tiden til det. Men hvis du kommer igennem det, så lærer du en masse og du får en masse værktøjer, som du når du husker tilbage ikke kan forstå at du nogensinde har kunnet undvære.



Indlæg senest redigeret d. 18.02.2012 18:25 af Bruger #17015
Hej,
På en *nix boks er ordet "root" kælenavn for flere begreber.

"/" kaldes root (toppen/roden af filsystemet)
"../root" administratorens hjemmekatalog
"root" navnet på administatoren
"root-domain, -server, -cache data" konfiguration af din bind- og dns- server.

For at foretage administrative opgaver på en *nix system er du nødt til at have administratorrettigheder; Altså skifte dit login fra almindelig dødelig til brugeren "root" (administratoren på et *nix system)


Du skifer med kommandoen "su -" og herefter (den spørger sikkert om adgangskode) har du nu fået administratorens identitet, med hertil hørende rettigheder.

Nu skulle det være muligt at mounte dit device (lad os antage det hedder "/dev/sdb") med mount-kommandoen:

(mount /dev/sdb /mnt && cd /mnt)

Hvis skidtet virker, kan du skrive "ls -lF" (svarer til "DIR" på en DOS/Windows boks)

Opdateret:

hmm...

Mit svar virker en smule ude af kontekst. Beklager.

Jeg må huske at opdatere browsersiden en gang imellem.



Indlæg senest redigeret d. 20.02.2012 20:58 af Bruger #9859
Hey..
At forstå linux-kernen til fulde er umuligt. Projektet er så stort, så selv det at arbejde med brudstykker er en udfordring.
Hvis du vil forstå kernen må du tage nogle kurser omkring Operativ Systemer.

At knække unix-password er ikke noget som lige er til. De er meget sikre.

- At få adgang til en windows pc's filer (hvis ukrypteret) via linux, kan man bare få hvis du booter op. Så er det muligt at mounte windows-paritioner.


Java har det super med Linux-kernen.
Findes på Oracle/Sun's Java JDK til java.
Og findes jo også det super gode OpenJDK.

De fleste værktøjer og IDE'er såsom Eclipse og NetBeans køre også perfekt i Linux.



Indlæg senest redigeret d. 23.02.2012 09:46 af Bruger #5097
Java skrevet én gang kan (i teorien) køre ligeså fint på Linux som på Windows.

Men Linux kernen er skrevet i C, med små brudstykker i assembly.

De fleste værktøjer til at styre systemet (pakkemanagere og så videre) er skrevet i Perl eller Python.
Stort set al GNU software er skrevet i C.


Jeg er enig i, at lidt påtvunget udfordring tvinger dig til at lære, og det er godt, men hvis man er ny til Linux, så er det måske lige en lidt for stor udfordring, at du (endda uden en netværksforbindelse) skal hente, compilere og installere en wifi driver. Går man i stå allerede ved installationen, så er der ret stor risiko for at man giver op og springer fra, og det lyder lidt som om Jacob er meget ny i Linux.
Med Ubuntu kan du vælge lidt mere hvilke udfordringer, du vil kaste dig over.



Du lærer systemet at kende ved at bruge det. Gør det til et projekt at sætte et system ala ubuntu op med debian. Lav en webserver med apache, mysql og en ftp server. Whatever. Find på noget du gerne vil - og lær at gøre det.

Langt de fleste ting du kommer på vil du kunne google dig til tutorials til. Og når du bliver stærkere, så kan du lave det meste ved bare at slå op i manualen*.

* Med stort set alle terminal programmer i linux kan du finde dokumentation til dem ved enten at skrive program --help, program -h eller man program.



Nu er jeg ikke linux mand, men er det ikke noget med at man skal skrive sudo foran tingen for at gøre det som root?



Hvis du vil vide, hvordan et Linux system er strikket sammen, så prøv at installere Linux From Scratch: http://www.linuxfromscratch.org/

Det er en "distribution" hvor du selv compiler ALT og selv sætter alt op. Ret ubrugeligt til en maskine, som du rent faktisk vil bruge, men uvurderlig oplevelse, hvis du vil forstå, hvordan Linux virker.



Jeg vil anbefale, at du har brugt Linux før...og at du har god tålmodighed :-)



@Robert - LFS er fedt- hvis man er hjemme i terminalen.

@Jacob, jeg tror ikke du er grundig nok i dit læseri. Når du fx skriver /dev/sdX så afslører det sig. X skal erstattes med et nummer der passer på det device du vil ramme. En harddisk mountes på et punkt i /dev/ mappen, og som regel hedder de sda-sdz eller hda-hdz. Umiddelbart tror jeg forskellen på sd og hd ligger i om det er en SATA eller en IDE controller harddisken sidder på - men det kan være der er nogen andre der kan uddybe det.

Alt det burde være forklaret grundigt nok i guiden.

Du kører som root i øjeblikket og det er også fint når du sætter maskinen op, men når du tager den i brug, så skal du oprette dig en bruger, som du bruger istedet for root. Der kommer Tommy's post så ind. Sudo er et lille udviddelses program til su (Switch User) som du bruger for at skifte mellem brugere. Sudo (switch user do) eksekverer en enkelt kommando som en anden bruger...



Hej Jacob.
Hvis du vil ligge en iso fil af en Linux distribution over på et USB drev og boote fra den, vil jeg foreslå du prøver med UNetbootin
Det er et program der gør den del af arbejdet for dig med få klik :-)

Hvis du vil have en lidt nemmere distro end LFS, så prøv Gentoo. Der er der i det mindste et pakkesystem, og som i LFS en god guide der tager dig i hånden under hele installations processen.
Men Linux distributioner er lidt som kvinder: Det handler om smag og behag hvad man er til ;)



t