![]()
![]()
![]()
Der er et kapitel, som viser dig, hvordan du installerer Red Hat og SuSE Linux fra CDROM. Linux er "friheden til at vælge", og bogen viser bl.a. en stribe af de grafiske brugergrænseflader, som findes til Linux.
For at du kan få mest ud af Linux, skal du kunne nogle basale UNIX kommandoer og noget systemadministration. Det er et meget stort emne, men bogen giver dig den mest nødvendige viden.
Der findes mange programmer til Linux, men de fleste kender du ikke, hvis du alene kommer med Windows95 erfaring. Derfor præsenterer vi en række af de vigtigste programmer.
Linux er en god platform i et computernetværk, både som server og klient. Vi beskriver de basale ting, du bør vide om et netværk.
Programmering og Linux er en god kombination. Der findes en hav af oversættere (compilere) til næsten alle programmeringssprog under Linux. Vi gennemgår simple programmer og viser, hvordan du får dem til at køre.
Endelig er Internet vejen frem til mere information om Linux. Der er megen god dokumentation og mange programmer derude. Vi viser dig de vigtigste links i Linux-verdenen.
![]()
Linux er et frit, åbent og gratis styresystem. Et styresystem er det program, der styrer computeren. Du kender sikkert allerede DOS, MacOS, OS/2 og Microsoft Windows 95/98/NT. Linux styresystemet er meget mere stabilt end Windows. Det går simpelthen ikke ned hele tiden, og det kan mange flere ting, hvis du forstår at udnytte det. Men Linux er ikke "et bedre Windows". Linux er et UNIX-lignende styresystem og derfor meget forskelligt fra Windows, hvilket du må gøre dig klart, før du hopper med på vognen og skifter til Linux.
I dette afsnit vil vi forsøge at være mere objektive mht. Linux, for selvom Linux er spændende for os Linux-brugere, er det måske ikke spændende for dig. Vores udgangspunkt er at fortælle, på hvilke områder Linux er interessant, og samtidigt at gøre opmærksom på, at Linux måske ikke passer til dig.
![]()
Du kan bruge Linux til alt muligt, lige fra server i en virksomhed til PC'en hjemme på skrivebordet. Men fleksibilitet og valgfrihed har en pris.
Hvis du vil have den flotteste grafiske brugergrænseflade og de nemmeste konfigurations værktøjer, er du nødt til at sætte dig ind i, hvilke der findes, og måske prøve nogle forskellige for at finde ud af, hvad du synes bedst om. Dvs. du må selv installere dem, eksperimentere med mulighederne og evt. afinstallere dem igen.
Man kan sige, at øget kompleksitet er prisen for den mangfoldighed, Linux besidder. En af fordelene er, at du har valgmulighederne. Du kan sætte alt op selv, men oftest behøver du ikke at sætte dig ind i alt - normalt vil programmer og brugergrænseflader have standardindstillinger, som kan bruges som et godt udgangspunkt.
Installation af Linux kan være sværere end Windows - men det er reelt kun, fordi flere af de ting, du spørges om, er uvante. Har du installeret Linux, er driften derimod nemmere. Du kan (foruden sikkerhedsopdateringer) køre med det samme system i flere år.
Nu skal det heller ikke lyde, som om du skal prøve alt selv. Start med, hvad du har installeret, og så kan du senere ændre det, hvis du har lyst. Nærværende bog indeholder endvidere mange forslag til, hvordan du kan sætte din Linux-maskine op.
![]()
Du bør tænke over, hvad du primært vil bruge din computer til, før du bestemmer dig for at skifte til Linux. Findes dine favoritprogrammer ikke til Linux, eller kan du ikke finde erstatninger, som du er tilfreds med, så lad være med at skifte til Linux.
I det følgende tager vi nogle specifikke programtyper frem.
![]()
Vi kan her nævne et par udbredte office-programmer til Linux. ApplixWare kan købes, mens de to andre kan hentes gratis fra Internet:
Skal du skrive breve og f.eks. foredrag alene, har Linux de office programmer, som du skal bruge. Dine problemer vil typisk opstå, hvis du arbejder sammen med andre, som ikke bruger Linux.
![]()
Hvis du skal lave avancerede websider, er Linux perfekt for dig. Ikke alene har du en lang række gratis værktøjer til rådighed, men du kan prøve det hele af hjemmefra, da Linux kommer med en komplet webserver.
![]()
Et andet problem har nok været, at Linux distributioner kom med forskellige standardbiblioteker, og den stadige udvikling gjorde, at man ikke kunne være sikker på, hvad Linux var dagen efter. Dette er heldigvis blevet meget bedre nu, hvor Linux er stabil og yder godt.
Spil til Linux kommer først, når og hvis Linux bliver en meget stor succes med bred accept. Dvs. når de firmaer, der laver spillene, kan se, at der er penge at hente, fordi mange vil købe spillene til Linux.
Der er dog undtagelser. Firmaet ID Soft, som lavede DOOM, Quake og andre spil, har haft stor glæde af Linux; faktisk har de udviklet flere af spillene på Linux og så bagefter flyttet koden til Windows. Derfor findes mange af ID Soft spillene til Linux, og de kører rigtig godt. Loki software i nu også begyndt at oversætte spil til Linux, bla. Civilization serien, så meget ser nok anderledes ud om et år. Der findes også masser af mindre spil svarende til, hvad der kendes fra Windows, såsom Tetris, minesweeper og forskellige grafiske kabaler.
Er du meget til spil, bør du nok mindst have Windows installeret på samme maskine som Linux.
![]()
![]()
Visuelle værktøjer som Delphi, Visual Basic og Visual C++ findes dog ikke til Linux, men der er et par gode grafiske debuggere (f.eks. DDD), og integrerede udviklingsmiljøer er på vej til Linux. Netop nu er KDeveloper og Code Warrior kommet til Linux i de første udgaver.
![]()
![]()
![]()
På Windows kommer du hurtigt i gang, men du kommer aldrig videre end "i gang". Eller, hvis du vil videre end i gang, går indlæringskurven nærmest lodret, for så skal du til at lære, hvordan Windows fejler og præcist hvordan under hvilke forhold, hvilket varierer fra maskine til maskine. Fordi Linux er så konsistent, som det er, kan du bruge din viden omkring Linux på stort set alle Linux maskiner - hver gang. På grund af Windows' inkonsistens bliver det utroligt svært at blive "rigtigt god" til Windows. Linux er både utroligt komplekst, men også utroligt simpelt, fordi hver lille "ting" udfører sin egen lille velafgrænsede opgave. Og ikke nok med det; har du lært noget af logikken bag Linux, kan den let overføres til de andre UNIX'er.
Linux er designet helt anderledes end f.eks. Windows. En Windows bruger kan genbruge en del af sin DOS/Windows erfaring på Linux - men bestemt ikke alt. Linux er beregnet til, at flere personer kan bruge computeren på en gang, evt. over et netværk. Derfor skal du logge ind på systemet med et brugernavn og et password (kodeord). Nogle synes, at det er lidt besværligt, når computeren bare skal bruges af en person derhjemme. Men Linux er indrettet med sikkerhed i højsædet, og det giver nogle fordele. Du kan ikke komme til at ødelægge systemfiler, når du er logget ind med dit almindelige brugernavn. Hvis du kommer til at køre et program med virus i, kan dette heller ikke ødelægge systemfilerne, hvis du kører det som almindelig bruger. Kun hvis du er logget ind som "administrator" (som har brugernavnet root), kan du få adgang til at ødelægge eller ændre systemets centrale dele.
Desuden kan det være smart, hvis man er en familie, at de forskellige familiemedlemmer har hvert sit brugernavn. På den måde kan hver person have sin foretrukne grafiske brugergrænseflade og opsætning, og det er let at holde styr på de forskellige familiemedlemmers filer. Linux gør det muligt, at ethvert medlem af familien har et "privatliv" på computeren, dvs. lillebror kan ikke læse storesøsters kærestebreve (hvilket storesøster typisk vil være glad for).
Mange ting er ganske anderledes bygget op i Linux end i Windows, og du skal regne med, at du ikke kan alt med Linux samme dag, du har installeret det. Du kommer til at skulle læse om Linux og spørge andre om hjælp - der er til gengæld mange, som gerne vil hjælpe. Som regel er der masser af hjælp at hente via Internet, enten via nyhedsgrupper (newsgroups) eller hos en af de mange Linux grupper (LUG'er) - se Kapitel 9.
![]()
Har du ikke lyst til at lære tekstbaserede kommandoer overhovedet, er Linux måske lige på kanten til at være interessant for dig.
Du kan dog komme langt med grafiske værktøjer i Linux, og den daglige brug kan sagtens foregå uden at taste kryptiske kommandoer ind - også installation og afinstallation af nye programmer kan køre grafisk. Men skal du selv installere specielle programmer og konfigurere systemet, kommer du ikke uden om kommandolinjen.
![]()
![]()
![]()
Så kan du køre dine Windows programmer samtidigt med, at du kører dine Linux programmer - og principielt kan alle programmer køre. VMware kræver naturligvis, at Windows er installeret på computeren, og prisen er, at din maskine skal være ret kraftig - både CPU (gerne mere end 266 MHz Pentium II) og RAM (gerne 128 MB).
![]()
![]()
En af de væsenligste forskelle er installationsprogrammet og sværhedsgraden af dette. En anden forskel er konfigurationsværktøjerne og måden, man lettest installerer nye programmer på. Normalt kan de samme programmer dog køre på alle Linux-distributioner.
De mest kendte distributioner er:
![]()
Du kan dog roligt regne med, at de såkaldte Win-modems og Win-printere ikke kører under Linux.
![]()
Alle er velkomne til at trykke bogen og tjene de penge på salget, som de ønsker. Eventuelle indtægter er os uvedkommende, men vi vil være glade for at vide, at den udgives. Licensen kan findes på http://www.opencontent.org/opl.shtml. Nogle dele af bogen er skrevet af andre forfattere, hvilket er nævnt i afsnit 5.
Kommentarer, ris og ros og specielt fejl og mangler bedes sendt til linuxbog@sslug.dk.
MSDOS (DOS), Microsoft, Windows 95/98 og Windows NT er registrerede varemærker ejet af Microsoft Corporation.
UNIX er et registreret varemærke ejet af The Open Group.
Linux er et registreret varemærke ejet af Linus Torvalds.
![]()
![]()
![]()
€ Det her taster brugeren Det her svarer Linux |
![]()
Der kan være mange grunde til, at du kan have glæde af Linux. Her er et par grunde:
![]()
På det seneste er GPL ved at blive "afløst" af begrebet Open Source, som er blevet introduceret for at gøre det klart, at det handler om åben adgang til kildeteksten. Open Source er i høj grad det ord, som du vil høre mange gange som fællesnævner for programmer, der er frigivet under en licens, som gør det muligt at kopiere, modificere og videregive kildekode til programmet. Der er flere typer licenser, som gør et program til et Open Source program. GPL er et godt eksempel på en Open Source licens.
I modsætning til mange firmaers udvikling af software udvikles Linux-programmer af mange mennesker, der rundt om i verden deler interesser og laver Open Source programmer til glæde for os alle - også selv om man i et udviklingsteam aldrig har set hinanden. De, der deltager i udviklingen af et Open Source program, modtager som oftest ikke penge for deres indsats, men får til gengæld opmærksomhed og beundring fra os brugere bagefter. De viser samtidig en potentiel arbejdsgiver, hvor dygtige de er. På grund af det enorme omfang, som Internettet har opnået, eksisterer der nu et hav af udviklingsprojekter, som låner kode af hinanden og leverer fri software af høj kvalitet - ofte med en meget lille udviklingstid.
Linux-programmer er oftest beskyttet som Open Source, og dermed har alle gratis adgang til program og kildekode. Det betyder dog ikke, at al software til Linux nødvendigvis skal være Open Source og gratis. Det er frit for enhver at fremstille kommercielle programmer og sælge disse til Linux-brugere. Professionelle programmer som matematikprogrammer (Matlab og Mathematica), officepakker (ApplixWare og StarOffice) og programmer fra Corel sælges til Linux. Faktisk har Corel meddelt, at Linux nu er en af de platforme, der skal understøttes fuldt ud. Allerede nu findes WordPerfect til Linux, og andre af Corels produkter er på vej. Oracle og Informix er meget store firmaer inden for databaser, og begge har nu officielt erklæret, at der kommer Linux-versioner af deres software. Intel har ligeledes meldt ud, at de vil støtte Linux. Det skal også nævnes, at det meget kendte program Netscape Navigator startede som kommercielt program, men bliver i dag videreudviklet som Open Source.
Linux-verdenen er kendetegnet ved en åbenhed og tolerance, hvor grænser og kulturskel ikke er væsentlige. Det er normalt nemt at finde ud af, hvem der har skrevet programmerne, og du kan kontakte dem direkte per email. Med lidt interesse og engagement kan du hurtigt komme i dialog med programmøren og være med til at skabe Linux-programmernes fremtid. Internettet er blevet en global arbejdsplads med kommunikation som bærende element.
Du kan læse mere om Open Source på følgende steder:
![]()
Linux er et 32-bit styresystem til PC og andre platforme (64-bit til Alpha), som enten kan erstatte DOS/Windows fuldstændigt eller installeres på samme maskine som disse. De basale operationer er normalt tekstbaserede, men efterhånden er der også mulighed for at benytte grafiske værktøjer. Fra Microsoft-verdenen kender de fleste problemet med, at installation af programmer meget ofte skal afsluttes med at genstarte maskinen, hvilket er ret kedeligt, hvis der skal tredive sikkerhedsopdateringer på maskinen. Linux er derimod nem at vedligeholde for en erfaren systemadministrator, da nye programmer normalt kan installeres over netværket. Systemadministratoren skal således ikke fysisk i nærheden af maskinen. En anden stor fordel er, at Linux-maskinen kan opgraderes, mens den kører uden at skulle genstartes.
I modsætning til Windows 95/98 kører programmerne under Linux i ægte multitasking. Hvis et program er gået ned, kan det blot afsluttes fra Linux uden, at dette påvirker stabiliteten af de øvrige programmer. På den enkelte Linux-maskine kan flere personer dele maskinen (også på samme tid) og undgå det rod, der tit opstår på en DOS/Windows PC med forskellige opsætningsfiler, der ændres uden central styring. På enhver Linux-maskine er der en "superbruger", kaldet root, som er administrator af maskinen. Kun root kan ændre den generelle opsætning. Hver bruger oprettes på lige fod med andre og har normalt ikke rettigheder til at slette eller ændre i andre brugeres filer og slet ikke systemets filer. Den enkelte bruger kobler sig på med sit brugernavn og en privat adgangskode. Hvis man ikke har adgangskoden, kan man ikke komme ind på maskinen.
I UNIX-verdenen hedder det grafiske vinduesystem X, og det følger også med til Linux. X-systemet er meget stabilt og er teknisk set forud for andre alternativer. Den store fordel ved X er, at du via en netværksforbindelse kan koble dig ind på andre UNIX-arbejdsstationer og køre programmer på disse maskiner. Programmerne kan være grafisk baserede, og det grafiske output vises på din skærm. Hver enkelt bruger kan vælge sin egen opsætning, så programmerne kører med de vante farver, skrifttyper osv.
For at køre Linux med grafisk brugergrænseflade kræves mindst en 386 PC med 8 MB hukommelse og minimum 50 MB harddisk. Normalt vil du dog få meget større glæde af Linux-maskinen med 16 eller 32 MB hukommelse; f.eks. vil en 166 MHz Pentium PC med 32 MB hukommelse og 500 MB harddisk give en potent UNIX-arbejdsstation. Den arbejder hurtigt, du får en masse programmer, og systemet er meget stabilt - altsammen for meget få penge. Det skal også nævnes, at nok har de fleste en Intel baseret maskine, men Linux kører også fint på mange andre platforme.
![]()
Mange firmaer kører Linux som Windows filservere. Pga. af stor ydelse og en endnu bedre stabilitet kommer Linux her ind og overtager Windows NT funktioner - og gør det bedre. Mange firmaer ønsker webservere f.eks. med database tilgang, som skal kunne yde meget. Også her er Linux et godt valg.
Internetudbydere anvender hyppigt Linux på grund af god skalerbarhed, høj driftsikkerhed, nem vedligeholdelse og en meget hurtig adgang til nyheder om sikkerhedsproblemer og løsninger på disse. World Online A/S (Tidligere Image Scandinavia) er en af de største internetudbydere i Danmark og bruger Linux som platform.
På flere universiteter og andre læreanstalter er Linux blevet meget udbredt på grund af adgangen til gratis programmer og muligheden for at lave flerbrugersystemer til mange studerende. Mange firmaer kører Linux i dag, enten for at få gode udviklingsplatforme, som filservere eller som oftest som firewalls til at afskærme firmanetværk mod Internettet.
Internationalt er Linux kernen i store WAN (Wide Area Network) systemer. Her kan nævnes IKEA, US Postal Services, NASA og CERN, der alle er karakteriseret ved, at de ikke nemt kunne få opfyldt specialiserede ønsker hos de etablerede edb-leverandører. I stedet har de valgt at få fuld adgang til hele systemkoden og derefter lave præcis det system, de ønskede.
En række danske firmaer - anført af Dansk Data Elektronik, SuperUsers, Kampsax Technology og Plomus - sælger specialløsninger og konsulent-tjenester baseret på Linux. Den mest kendte succeshistorie er nok TeVefonen på TV2's tekst-tv, som blev lavet af den danske afdeling af Grundig TV.
![]()
I modsætning til andre var Linus visionær og havde en god timing. Den 25. august 1991 indbød han gennem en nyhedsgruppe på det meget spæde Internet andre til at deltage i projektet. Han overdrev ikke om, hvad han havde lavet indtil da: "...it will probably never support anything other than AT-harddisks". Der er sket meget siden, hvor Linus og mange tusinde softwareudviklere fra hele verden har været med til at skabe et professionelt multitaskingsystem. I dag er der understøttelse af en utrolig stor mængde hardware og til mange platforme ud over PC.
Kendetegnet for det nye Linux-projekt var, at det skulle være et frit UNIX-lignende styresystem til Intel 80386 maskiner, og at enhver skulle have lov til at arbejde med kildeteksten og lave tilføjelser. Hvis andres tilføjelser til kildeteksten gjorde, at Linux virkede bedre, blev en ny version af Linux frigivet med tilføjelserne.Linux version 0.01, der blev frigivet 17. september 1991, kunne oversættes på en såkaldt Minix maskine og var ikke andet end et stykke legetøj. Tingene tog dog hurtigt fart: 5. oktober 1991 blev Linux version 0.02 annonceret - en kommandofortolker (BASH) og en frit tilgængelig C-compiler (GNU C-compileren) kørte, men ikke meget mere. Linux var stadig afhængig af Minix, og Linus' vurdering var på det tidspunkt, at det nok mest var et hobbyprojekt, da Linus forventede, at en anden fri UNIX - med navnet HURD - snart ville blive frigivet. HURD skulle være bedre designet end Linux, men er stadig ikke klar til almindelig brug. Mottoet er tilsyneladende: "Den, der venter på noget godt, venter aldrig for længe". I mellemtiden har historien vist, at Linux var værd at satse på, og i dag kører Linux på en hel række platforme - bl.a. Intel-kompatible PC'ere, PowerPC, Amiga, MIPS, HP, DEC Alpha og Sun Sparc.
Kort før julen 1991 blev version 0.11 frigivet, og nu var Linux et selvstændigt system. Minix var ikke længere nødvendig. På det tidspunkt blev der frigivet nye versioner ca. hver 14. dag eller oftere. Kernen var hverken fejlfri eller fuldt udviklet. Det var virkelig et system fra dengang, hvor "Mænd var mænd og skrev deres egne device-drivere" - citat Linus Torvalds.
Derefter gik det slag i slag under dygtig ledelse af Linus selv. Allerede to år senere havde Linux virkelig taget form. Der var allerede på det tidspunkt gratis Linux-distributioner til rådighed på Internettet. På den måde kunne man nu installere styresystemet, et hav af UNIX-værktøjer, LaTeX (til at skrive rapporter) samt compilere til Fortran, Pascal, C, og C++. X vinduesystemet kørte næsten stabilt. Selve kernen var i starten af 1994 ved at nå den magiske version 1.00, som var det første stabile mål. Siden hen er udviklingstempoet mangedoblet, og nye kerner kommer ofte. Normalt er det ikke nødvendigt at følge med dette tempo, men det understreger den rivende udvikling, der er i gang. Understøttelse af ny hardware kommer meget hurtigt. Udviklingen sker jo i en dynamisk verden med nem og hurtig email kontakt mellem alle, som deltager i udviklingen af fremtidens Linux-systemer.
Det kan nævnes, at i 1992 var der ca. 1000 personer, som kørte Linux, og kildekoden til Linux kernen var på ca. 40.000 linjers tekst. I dag (august 1999) med Linux kerne 2.2.11, er kernekoden vokset til over 1.5 millioner linjer, og den indeholder over 42 millioner tegn. Antallet af Linux-brugere er tilsvarende vokset til mellem 10 og 20 millioner.
Endelig skal det retfærdigvis også nævnes, at Linux aldrig har fået så stor succes, hvis det ikke var for GNU software (se GNU logoet på Figur 1-2). GNU er en samling af højkvalitets software, udviklet af Free Software Foundation (FSF). FSF ledes af Richard M. Stallman (RMS), som startede og var/er hoveddrivkraft i udviklingen af GNU Emacs (en stærk editor) og GNU C-compileren. GNU software er i dag et stort kerne element af alle Linux distributioner.
![]()
Vi har valgt Red Hat og SuSE, fordi de begge er nemme distributioner at gå til for en begynder, og for den mere erfarne er de stadig et godt valg. Af andre kendte distributioner er der Slackware - som har været god, Mandrake - som er en Red Hat variation og Debian - som ikke er helt nem at installere, men som er teknisk rigtig god og drevet af en stor non-profit organisation :-) I Appendiks C kan findes mere information om at få installeret Debian.
![]()
På en SuSE 6.1 evaluation CDROM kan du under /docu/ finde en bog om SuSE, dog primært på tysk. En engelsk version findes også som tekst-fil eller PostScript.
Vi kan også nævne, at du måske kan have glæde af nogle bøger om Linux generelt:
![]()
En anden distribution, som kan have din interesse, er Debian, som ikke bør være den første, du starter med, men det er måske den, du ender med. Du kan finde en installations-vejledning til Debian i Appendiks C.
![]()
![]()
Generelt er det de helt nye grafikkort, som kan være et problem, og nogle laptops ligeså - men ellers kan langt de fleste maskiner køre Linux.
![]()
I Windows er det klogt at køre en fejlsøgning på disken og derefter en defragmentering. Dette finder du under egenskaber for disken under "Denne computer" (Windows på dansk). Evt. kan du skanne efter dårlige sektorer under DOS med ScanDisk. Finder du fejl på disken nu, er det måske tegn på, at du hellere bør købe en ny harddisk til Linux.
Før du går videre, vil det være en god ide at udskrive alle system oplysninger om computeren for at lette installation og evt. fejlfinding. Dette gøres ved at gå ind i "Denne computer" og derefter trykke på Kontrolpanel. Dobbeltklik på System og vælg Enhedshåndtering fanebladet. I bunden af vinduet vælges udskriv. Det kan anbefales at udskrive samtlige systemoplysninger.
Det er nu, du bør tage en backup af de vigtige data på din disk. Det bør ikke gå galt, hvis du læser videre og går forsigtigt frem. Fik vi nævnt, at du bør tage backup ? :-)![]()
DOS/Windows (i det følgende kaldet DOS) har programmet fdisk.exe. Linux har programmerne fdisk og disk-druid. Alle programmerne er tilfredsstillende beskrevet i deres respektive dokumentationer.
Hvis du har Windows installeret og ønsker bevare det efter, at Linux er blevet installeret, så kan du først køre fdisk.exe i en DOS skal (ikke DOS vindue) til at skaffe pladsen på harddisken, som Linux skal bruge, og derefter bruge et af de to Linux programmer i løbet at installationsfasen. Det skyldes, at DOS har en tendens til at tage magten over hele maskinen. Hvis du derfor ved hjælp af fdisk.exe først tager den plads fra Linux skal have, går det uden problemer, da Linux udmærket kan eksistere sammen med andre operativsystemer.
Fips er et DOS-program, som leveres sammen med distributionen, og som kan formindske en bestående (DOS) partition, så der kan blive plads til Linux. På Red Hat CDROM'er findes det i kataloget dosutils. Før Fips køres, skal partitionen være defragmenteret, og før defragmentering skal systemfiler markeres, så de kan flyttes rundt på harddisken. Hvis Windows9x er installeret, skal du bruge dens defragmenteringsprogram og ikke et, der ellers kan køre under DOS uden Windows (defrag eller Norton's speeddisk).
Selvom vi gennemgår brugen af Fips, skal vi indrømme, at et program som Partition Magic er langt bedre, og det kan downloades fra Internet. Det er gratis i en prøveperiode.
Hvis du har disketter og/eller CDROM, så du til enhver tid kan geninstallere dine DOS programmer, kan du slette alt på disken og genopbygge alt på en ren disk. Først DOS programmerne og derefter Linux.
Det kan også være fristende at gå den lettere vej, nemlig at reservere en hel harddisk til Linux, så du i en overgangstid kan veksle mellem en DOS disk og en Linux disk.
Skulle det i løbet af anstrengelserne blive nødvendigt at fjerne en mislykket Linux installation fra harddisken og begynde forfra med DOS, vil du få brug for at have en DOS boot diskette, som blandt andet skal indeholde DOS fdisk.exe. Fdisk kan køre med en (udokumenteret) option fdisk /mbr, som kan fjerne de registreringer, Linux måtte have lagt i diskens master boot record (det vil vi minde dig om et par gange).
![]()
Programmet fips vil vise dig, at du har en partition med Windows (det er det mest normale). Tryk return for at komme til næste skærmbillede. Lav gerne en backup til en formatteret diskette ved at trykke y (for yes) to gange.
Nu vil Fips fortælle, at den foreslår at dele disken i to partitioner, så du skal nu til at vurdere, hvor meget plads du vil bruge på hver af de to partitioner. Brug venstre og højre pil til at ændre fordelingen, hvor Old partition er størrelsen på din Windows partition. Husk, at du bør lave noget fri plads til udvidelse af Windows programmer, selvom du nok senere hen vil mene, at du hellere vil have pladsen under Linux. Det er dit valg. Tryk derefter c for continue, og derefter genstartes maskinen med mindre plads under Windows. Din ekstra DOS partition skal senere slettes for at give plads til mindst en Linux partition og en Linux swappartition.
Vi kan lige nævne, at hvis du har en Windows 95 installeret, som er fra før 1996 (final beta release), så er der set problemer (for Windows 95), hvis Linux installeres på "extended partitions". Problemet eksisterer ikke med officielt releasede Windows versioner - det er kun final beta og tidligere, der har problemer.
![]()
Ud over at være nem at installere og administrere må Red Hat Linux også siges at være fuldstændigt med hensyn til udvalget af applikationer. Alle traditionelle Linux-programmer plus en hel del nye ligger klar til at installere fra CDROM'en.
![]()
Linux 2.2.12 kernen er med. Der er en væsentlig forbedring i performance for SMP maskiner (fler-processor systemer), og der er bedre understøttelse for RAID (diskmirror systemer). Der er bedre udnyttelse af Pentium I, II og III og tilsvarende for AMD og Cyrix processorer.
Ligesom i Red Hat 6.0 er de professionelle grafiske brugergrænseflader GNOME (se http://www.gnome.org) og KDE (se http://www.kde.org) begge med. KDE er nået til version 1.1.2. Det er mere krævende systemer, men fuldt på højde med f.eks. Windows (faktisk bedre).
Der er nu væsentlig bedre interface til "Select individual packages", dvs. at du selv styrer, hvilke programmer du vil have installeret. Normalt vælger du kun kategorier af programmer.
X-grafik systemet er opdateret til version 3.3.5, bl.a. er RIVA TNT, Riva TNT2, RIVA 128 og Permedia 2 er nu understøttet.
Nu kan du også installere via HTTP. (Tidligere var installation over netværk via NFS, ftp og SMB).
Der er lavet lidt nye scripts til at starte f.eks. webserver og NFS op under boot sekvensen. Dog ligesom i Red Hat 6.0 vil man med et grønt "OK" se, at hver funktion er startet op uden problemer eller med rødt "Failed" se, at den service ikke kunne startes. Meget nyttigt!
![]()
![]()
Hvis din maskine er af ny dato, kan den boote direkte fra CDROM'en. Du skal så ind og vælge CDROM-drevet som første boot-drev i BIOS- opsætningen. Ved samme lejlighed kan du i øvrigt slå en eventuel virus-beskyttelse fra. Den forhindrer skrivning i boot-sektoren og er en udmærket sikkerhedsforanstaltning i det daglige, men hvis vi skal installere LILO (se nedenfor), er vi faktisk nødt til at have lov til dette. Skal du opgradere så er det uhyre nemt i grafisk mode - du vælger tastatur og gange få andre ting, og så kører det. Vi ser dog her på installation.
Hvis du ikke kan boote fra CDROM-drevet, må du i stedet bruge en bootdiskette. Den kan laves i DOS ud fra programmet RAWRITE.EXE (der sikkert ligger under /DOSUTILS på din CDROM) og filen boot.img (der ligger under /images).
Image-filen overføres til disketten ved hjælp af DOS-programmet RAWRITE.EXE, der også ligger på CDROM'en i /dosutils. Læs RAWRITE3.DOC for nærmere detaljer.
Som eksempel på fremstilling af en bootdiskette fra en DOS-prompt med CDROM-drevet E:. Diskettedrevbogstavet er A:. Disketten formatteres, så alle data på den er slettet
C:\WINDOWS\> format A: /u |
C:\WINDOWS\> E:\DOSUTILS\RAWRITE -f E:\images\BOOT.IMG -d a |
![]()
Der vises nu en dialogboks, der giver mulighed for at vælge, hvilket sprog installationsprogrammet skal bruge. Dansk var tidligere med (i Red Hat 5.2), nu kan du f.eks. vælge "English".
Så skal der vælges en tastaturtype. Et almindeligt dansk PC-tastatur hedder i denne sammenhæng "Generic 102-key (intl) PC" og Layout sættes til "Danish". Vælg derefter din mus. Med de fleste nye maskiner er den en PS/2. Kan du finde en tre-knaps mus er det klart at foretrække til Linux. har du kun en to-knaps mus, så husk at trykke nederst at den tredie knap skal emuleres (at man trykker både højre og ventre vil så svare til et tryk på midterste knap af en tre knaps mus). Serielle porte hedder /dev/ttyS plus et tal startende fra nul. COM1 i DOS svarer til /dev/ttyS0. Læs evt. videre i Appendiks A. Tilsvarende sidder mus med PS/2 stik (lille rundt stik) i /dev/psaux Nu vises et reklame billede for Red Hat, og derefter kommer vi til installationstyperne. Som vist på Figur 2-5 er der er fem forskellige muligheder. Vi vælger "Install Custom System".![]()
Tip! Du kan efter installationen med man 7 hier læse mere om filtræet.
| Filtræ | Forklaring |
|---|---|
| / | Toppen af katalogstrukturen ("Min Computer" i Windows). |
| /bin | Her er de mest nødvendige system kommandoer gemt. |
| /boot | Dette katalog er reserveret til system kernen. Men nogle Linux distributioner vælger at placere kernen i roden, dvs. /. |
| /dev | Indeholder alle device filer, dvs. adgang til alle enheder går igennem dette. |
| /etc | Dette katalog indeholder system opsætningsfilerne, såvel som filerne, der er ansvarlige for systemets opstart, og grafik systemets opsætning (noget lignende filerne CONFIG.SYS og AUTOEXEC.BAT). |
| /home | Dette er kataloget for alle brugerkonti. Ja, Linux giver mulighed for, at mange personer kan arbejde på den samme computer samtidigt - uden at blande dem sammen. Linux er et flerbruger styresystem. Vi kan anbefale, at man opretter en bruger til de mest normale jobs og kun bruger root til administration, da du som root ved en fejl kan komme til at slette vigtige filer, hvilket ville være umuligt som almindelig bruger. |
| /lib | Indeholder systemets delte filer. Linux sparer hukommelse ved at lægge kode, som bruges af mange programmer, ind i en fil, kaldet "shared library" - svarende til DLL'er i Windows. På den måde vil der kun eksistere en kopi af filen i hukommelsen, når den bliver brugt. |
| /opt | SuSE anvender dette katalog til at installere store programpakker, såsom KDE og StarOffice. Hvis du installerer SuSEm skal du derfor sørge for, at dette katalog har en del plads. |
| /lost+found | Du har måske prøvet at bruge Norton Utilities til at genskabe en fil, som er tabt i en defekt del af harddisken. Vær mere rolig under Linux. Hvis harddisken laver fejl, vil systemet selv forsøge at genskabe filerne, og hvis det ikke kan finde ud af, hvor i filtræet filen var placeret, vil den blive placeret i /lost+found. |
| /mnt | Hvis du vil have adgang til en CDROM, ZIP drev eller floppy, er det som regel denne del af filsystemet, du får adgang til. |
| /proc | Dette katalog, indeholder en hel del information om de kørende programmer og Linux-kernens status. |
| /root | Superbrugerens hjemmekatalog. |
| /sbin | Her ligger de avancerede kommandoer til system adminstration, og af sikkerhedsgrunde skulle det kun være muligt for system administratoren (root) at få adgang til dette katalog. |
| /tmp | Programmerne bruger dette katalog, som den normale placering for midlertidige filer og affald. Som regel sletter systemet dem, når det starter op. |
| /usr | Her ligger de fleste programmer - såvel som dokumentation og biblioteker. |
| /usr/local | Alt andet specifikt for den enkelte maskine, f.eks. bør du lægge dine egne tilføjede programmer herunder. |
| /var | Indeholder en mængde midlertidige filer, som gemmer systembeskeder, brugernes post, printerjobs osv. |
Nu er vi nået så langt, at vi skal til at beslutte os for, hvilke partitioner der skal oprettes, for at Red Hat Linux har et sted at blive installeret. Har du kørt fips.exe tidligere og har to DOS partitioner, skal du slette den nye DOS partition, som er tom.
Du er temmelig frit stillet med hensyn til antallet og størrelsen af partitionerne. Hvis du kører uden swap-partition, kan du simpelt hen installere alt på en enkelt root-partition ("/"). Mange bruger fire eller fem partitioner. Denne fordeling er ret udbredt og efter vor mening også både fornuftig og fleksibel:
Harddisk-nummerering i Windows og Linux er forskellige. I Linux kaldes alle systemenheder - som f.eks. harddiske - for devices og har fortløbende bogstavnavne. De ligger alle i kataloget /dev
Første IDE disk = /dev/hda
Anden IDE disk = /dev/hdb
Tredje IDE disk = /dev/hdc
Fjerde IDE disk = /dev/hdd
Først SCSI disk = /dev/sda osv.
Partitioner på en disk har numre svarende til disken, f.eks. er /dev/hda2 den anden partition på den første IDE disk.
Til at oprette partitionerne ikke længere fdisk, der er et nyere og lidt venligere program som Red Hat Linux tilbyder - det er integreret direkte i de grafiske installationsmenuer. Dette er vist på Figur 2-6. Har du på et senere tidspunkt brug for at partitionere din harddisk, så kan du læse om fdisk i afsnit A.3.
Du vælger "Add" og sætter så "Mount Point" til "/" og "Size" til den størrelse du ønsker på rod-partitionen. Tilsvarende gøres eventuelle andre Linux Native partitioner. Der laves også en Linux Swap partition med "Add". I det følgende vindue (ikke vist her), skal du angive hvilke partitioner, som skal formatteres. Det skal alle de nye Linux native partitioner. Vælg for en sikkerhedsskyld også at checke for "Bad Blocks".
Nu skal der vælges, hvor de forskellige partitioner skal bruges i Linux filtræet. Linux native partitionen vælges til root-niveau. Skriv / ud for denne. Det kan nævnes, at du også kan køre med flere partitioner og så have separate /usr og /home. Vi vælger dog kun her den simple udgave med en Linux partition. DOS partitioner kan f.eks. lægges ind som /dosc og /dosd osv. Swap partitionen skal ikke lægges ind i fil-træet.![]()
MBR er det første boot-spor af din harddisk - hvor du måske ønsker at kunne boote andre operativsystemer. Læs evt. først afsnit 5.13.
Modsat er LILO et godt og lille program med mange konfigurationsmuligheder. Vælg at installere i Master Boot Record, hvis LILO skal styre alt boot fra nu af. Du kan slutteligt tilføje parametre til boot, så Linux nemmere kan finde hardware. Normalt er dette ikke nødvendigt.Tip: Fortryder du senere dette, så brug i DOS fdisk /mbr for at slette LILO.
Du bør måske læse den mini HOWTO om LILO, som kan findes under Linux Documentation Project på http://sunsite.auc.dk/ldp
Har du brug for at slette eller ændre din LILO opsætning, kan du læse mere i afsnit 5.13. Hvis du skal køre Linux og NT på samme maskine, bør du læse afsnit 5.13.3.
![]()
Du skal nu vælge et god adgangskode (password) for systemadministrator-kontoen (root). Det må ikke være et navn, der kan findes i en ordbog, heller ikke simple ting, som andre kan vide om dig. Brug hellere mere indviklede ting som forbogstaver fra en remse, f.eks. kan "Ole sad på en knold og sang" blive til kodeordet "Osp1kos". Brug store OG små bogstaver samt tal. Brug mindst 7 tegn og meget gerne 8 tegn. Et password på 3 tegn kan knækkes på under et sekund på en PC, og fire tegn på langt under et minut. For 8 tegn tager det lang tid!
Du kan alt som root - også slette alt. Du bør derfor kun bruge din root konto til systemarbejde. Start med at lave brugerkonti til dig selv og evt. andre med det samme. Vi bruger her daisy som login navn for at lave en konto til brugeren "daisy". Tryk på "Add" for hver "Account" du tilføjer.
Nu spørges du om, du vil køre NIS, bruge shadow passwords og MD5 passwords. Er du usikker, så brug hvad der er valgt (det er noget med netværks check af din identitet hhv. sikkerhed af passwords på systemet). NIS skal du dog ikke bruge med mindre din systemadministrator siger dette.
![]()
![]()
Vælg derefter skærmtype. Har du ikke en kendt skærm, skal du finde din skærmmanual, så du kan se, hvor meget den kan klare. Du skal vælge, hvilken grafikdybde der skal vises. 8 bit er måske tilstrækkeligt, men 16 er godt (men langsommere). Dybden fortæller, hvor mange farver, der kan vises samtidigt (8 bit svarer til 256 farver, 16 bit til 65536). Læs evt. videre i Appendiks A. Skærm og grafikkort testes nu, og du vil forhåbentlig se en grafisk skærm. Du kan vælge, om du vil køre med grafisk login (X-systemet) eller ej - dette er op til dig.
Der kommer også spørgsmål, om grafisk login skal anvendes. Er du usikker på om dit grafik kort er understøttet, så lad være med at vælge dette. Modsat så er det meget lækkert at have det grafiske login.
Nu er vi klar til den pause - som passer fint med at alle pakkerne skal installeres. Det kan tage sin tid alt efter hvor "grådig" du er og hvor hurtig din maskine er. Der står dog altid på skærmen, hvor lang tid der ca. er tilbage.
Nu er du færdig - maskinen kan bootes i Linux!
![]()
Hvis du valgte grafisk login, kan du nu logge ind via den bruger konto, du lavede til dig selv eller som root. Du kan hoppe fra den grafiske login skærm til en tekst baseret (f.eks. hvis du har grafik problemer), ved at trykke "Ctrl-Alt-F1". Log f.eks. ind som brugeren root og skriv det password, som du valgte tidligere.
![]()
SuSE Linux findes i to udgaver. En officiel købeversion med seks CDROM'er, som indeholder over 1300 programpakker. Dette gør SuSE til den Linux-distribution, der har de fleste programmer og værktøjer med. Der findes også en evaluation version på en CDROM. Ordet "evaluation" betyder i denne sammenhæng ikke noget med, at man kun må bruge den i begrænset tid eller andet. En SuSE 6.2 evaluation CDROM svarer i omfang og niveau til en Red Hat 6.0. Installationen af den officielle er ikke meget forskellig fra evalueringsudgaven, men der er selvfølgelig meget mere med den store officielle købeversion. Desuden kan det nævnes, at hvis du har en SuSE 6.1 CDROM, er installationen ikke ændret, og indholdet er heller ikke markant anderledes, så bare du kan også trygt installere en SuSE 6.1.
![]()
Både KDE 1.1.1 og GNOME 1.0 (begge meget succesrige grafiske brugergrænseflader) er nu standard i SuSE. SuSE er klart den Linux distribution, som har mest support og integration med KDE, hvor Red Hat tilsvarende har det med GNOME.
Som i Red Hat 6.0 er der nu også profiler, dvs. at man kan vælge, at maskinen skal installeres til et givet formål. Installation er lige så nem som Red Hat og er meget fleksibel.
Der er en ny udgave af X-serveren, XFree86 version 3.3.4. Denne udgave drejer sig først og fremmest om understøttelse af en del nye grafikkort, såsom S3 Trio3D, Voodoo Banshee and Voodoo 3, SiS530/620, Trident Blade 3D, Nvidia Riva TNT2 og Matrox G400. Tilsvarende er der Glide support med til SuSE Linux. SuSE har lavet et grafisk konfigureringsværktøj til Xfree86, SaX (SuSE advanced XF86 configuration tool).
Med hensyn til Office systemer er SuSE god. KDE office pakken følger med, og hvis du køber den fulde SuSE pakke, kan du også installere Wordperfect 8 og/eller StarOffice 5.1 (begge er omtalt i afsnit 6.5.1. Desuden er der demo versioner af ApplixWare og VMWare med.
Sikkerhedsmæssigt er SuSE blevet opgraderet i forhold til version 6.1, idet man har fået PAM systemet fuldt integreret og dermed på niveau med Red Hat med hensyn til password-sikkerhed.
![]()
![]()
Du starter altså fra CDROM eller diskette. Når installationen er i gang, skal du først vælge sprog og skærmtype. Valgene gælder kun under installationen, så du kan vælge engelsk og farve (antager, at det er en farveskærm). Du skal nu vælge keyboard type - og her vælger du dansk.
Derefter kommer du til hovedmenuen for installationen. Hvis du har noget hardware, der kræver indlæsning af moduler eller drivere, kan det ske i punktet Kernel modules (hardware drivers). Det vil dreje sig om alle de enheder, der ikke er med i den standardkerne, der ligger på disketten eller CDROM'en, typisk SCSI eller PC-kort, som skal bruges under installationen.Du kan prøve at lade SuSE finde alle dine kort for dig ved at vælge Automatic module detection. Der går lidt tid med, at computeren prøver at indlæse de forskellige moduler. Når den er færdig, viser den en liste med de moduler, den har indlæst. Hvis der er nogen, du ikke ønsker indlæst, kan du fjerne dem med punktet Remove loaded modules.
Så er vi klar til at rulle! Du kan nu vælge Start Installation / system, og i den menu, vi viser på Figur 2-13, vælger du CDROM. Nu finder SuSE Linux din CDROM, og der kommer nu en menu, hvor du vælger Install Linux from scratch, fordi det lige præcis er det, vi skal. Du vil nok vælge at installere fra CDROM, men du kan også gøre det via ftp, NFS og en anden harddisk.![]()
Du får nu et skærmbillede, som ligner dette:
Hvis du vil lave noget om i partitioneringen, er det nu, det skal ske. Senere vil det blive noget mere besværligt. Men pas på! Hvis du fjerner en partition, sletter du alle data på den. Du skal ligesom ved Red Hat installationen have mindst en Linux native partition og en til Linux swap. Læs afsnit 2.2.3.2. Når du er tilfreds med partitionerne, vælger du Continue. Derefter skal du fortælle, hvor de forskellige partitioner skal befinde sig i filsystemet. Der skal altid være en rod - så du starter med at tildele rodsystemet /. (Da du nok kører engelsk keyboard, kan vi afsløre at / ligger på minus-tasten).Hvis du har lavet flere partitioner (eller hvis du f.eks. har flere harddiske), kan du tildele andre dele af filsystemet disse partitionener. Se evt. kapitlet om installering af Red Hat, hvor der forklares indgående om filsystemer. Husk at vælge med "F4", hvor de enkelte partitioner skal være i filtræet, og vælg med "F6", hvilke partitioner der skal formatteres (alle med Linux, hvis du laver en ny Linux installation).
![]()
Nu kan du vælge Start installation. YaST begynder nu at installere programmerne, mens den viser, hvor langt den er nået. Alt efter maskintype, er det måske passende tid til at tage en stor kop kaffe. Lader du din maskine checke disken for defekter, kan det med de nye store diske godt tage 20 minutter eller måske længere at få overstået bare check-delen.
Når den er færdig, skal du vende tilbage til hovedmenuen. Det gør du ved at vælge Main menu. Fra hovedmenuen skal du vælge sidste punkt med afslutning.
![]()
Du skal svare "Yes" til spørgsmålet om at lave en boot diskette. Det kan altid betale sig at have en diskette at starte fra. Du skal indsætte en diskette i diskettedrevet, give den en passende label og gemme den et sikkert sted.
Du skal ikke konfigurere LILO på nuværende tidspunkt. Det kan du gøre senere. Derimod kan du konfigurere CDROM-drevet, vælge tidszone, indtaste maskin- og domænenavn og evt. installere netværk. Hvis du er i tvivl om netværk, kan det godt betale sig at vente med det, til du har haft Linux kørende et stykke tid og har fået mere erfaring. Du skal måske lige vide, at et loopback netværk er et, hvor du ikke kører med netværkskort, men har installeret netværks programmer. NFS server vil du også blive spurgt om - det er, at din maskine kan dele netværksdrev med andre UNIX kompatible maskiner. Vent også bare med dette.
Nu er tiden kommet, hvor Linux kan boote. Det vil den gøre. Hvis du har installeret fra den originale distribution og valgt programmer, der ikke ligger på den første CDROM, vil de blive installeret fra de følgende CDROM'er. Du bliver bedt om at indsætte de relevante CDROM'er efter tur.
Derefter skal du give superbrugeren root et password og oprette en normal bruger, som du skal bruge til alt normalt arbejde. Du bør også læse tidligere i dette kapitel om, hvorfor du ikke bør være systemadministratoren root mere end højst nødvendigt.
Endelig kan du installere modem og mus, og til slut vil YaST køre en del konfigurationsscripts i baggrunden.
De vil faktisk bruge et godt stykke tid på at blive færdige, så det vil være en god ide at se dig lidt omkring i systemet nu. Lad være med at lukke for systemet, inden konfigureringsscriptene er færdige; de vil blot starte igen næste gang, du tænder for systemet. Du kan se, hvordan det går med dem ved at taste Alt-F9 (du vender tilbage til den første skærm med Alt-F1).
Som sagt: SuSE systemet er nu klar til brug! Du skal også vide, at SuSE ligesom Red Hat anvender RPM pakkeformatet, dvs. man kan normalt installere Red Hat programmer direkte under SuSE og omvendt.
![]()
![]()
Der findes mange andre window managers, og de er alle forskellige. Grunden til, at der findes mange forskellige window managers, er, at brugerne af Linux har forskellig smag, og her er der uendeligt mange muligheder for personlig opsætning. Yderligere kan du til de fleste af de følgende systemer finde "themes", dvs. grafiske udseender, på http://www.themes.org
Lad os se noget grafik. Log ind, f.eks. som brugeren daisy i en tekstbaseret terminal, og skriv
[daisy@linus daisy]$ startx |
Blev du mødt af et grafisk login vindue, så skal du blot logge ind som root og startx bruger du ikke (her).
Er alt gået godt under installationen, bør du i Red Hat eller SuSE se KDE eller GNOME for første gang, alt efter hvad du valgte under installationen. Har du ikke fået lavet en bruger konto til dig selv, er det nu, du skal gøre det med kommandoen adduser eller linuxconf.
I det følgende vil vi omtale de valg af grafisk brugergrænseflade, du har direkte mulighed for (der er mange andre).
Startede grafikvinduerne op uden problemer, så gå direkte videre. Hvis det ikke gik godt, eller du er mere interesseret, kan du læse mere i Appendiks A.
![]()
![]()
Da udviklingen af fvwm gik i stå, byggede en gruppe programmører videre på den og resultatet blev fvwm2. Videreudviklingen har bl.a. menubar (som Windows 95) og bedre support for programmer, som kører som menuknapper (såsom ur).
I fvwm2 er der menuer i knappen, som du finder nederst i venstre hjørne. Der vælges med musen, og hvis du trykker uden for menubjælken med muse-tasterne, kan du få forskellige menuer op. Bemærk, at der under Desktop i nederste højre hjørne er et 2x3 felt, som altid vil vise, hvor de enkelte programmer er startet. Der er en virtuel arbejdsflade, der er 6 gange så stor som skærmen. Du kan starte, flytte og hoppe mellem de forskellige skærme efter behov og dermed godt have en del programmer kørende samtidig uden, at det bliver alt for rodet. Det er nok nyt for mange, men med lidt tilvænning er det meget anvendeligt.For fvwm2 er der en række funktioner bundet i museknapperne:
[daisy@linus daisy]$ echo "exec fvwm2" > ~/.Xclients [daisy@linus daisy]$ chmod +x ~/.Xclients [daisy@linus daisy]$ startx |
Alle de window managers, vi viser, har en standardopsætning, som kan ændres til en personlig opsætning. For fvwm2 kan du begynde med at kopiere /usr/X11R6/lib/X11/fvwm2/system.fvwm2rc til ~/.fvwm2rc.
Kort fortalt kan du i begyndelsen af filen sætte farver og default fontstørrelse anderledes. Der er noget dokumentation om dette i selve filen . Hvis du starter et terminal vindue op - programmet xterm - kan du skrive man fvwm2 for at komme i gang, men alt er manuelle rettelser af ~/.fvwm2rc. For f.eks. KDE, GNOME og WindowMaker kan konfigurationen ske grafisk.
![]()
WindowMaker installeres fra Red Hat 6.0 ved at skrive (som root)
[root@linus root]# rpm -ivh libPropList-0.8.3-2.i386.rpm [root@linus root]# rpm -ivh WindowMaker-0.52.0-2.i386.rpm |
![]()
![]()
Vi vil i dette afsnit fortælle lidt mere om GNOME. Omtalen vil på ingen måde være udtømmende, idet GNOME er et meget komplekst system, som er i stadig udvikling.
![]()
![]()
Næstyderst til venstre finder du et fodaftryk (GNOME's logo) med en pil, der peger opad. Trykker du på fodaftrykket, popper GNOME's hovedmenu op. Som ny GNOME-bruger er det sjovt at gå på opdagelse i alle disse programmer.
Panelet kan indeholde såkaldte applets. En applet er et lille program, hvis grafiske output vises i panelet. Du kan tilføje en applet ved at gå ind i Panel-undermenuen og finde "Add applet". Blandt de sjovere er "Game of Life", mens der af de mere praktiske er flere ure og post-tjekkere at vælge imellem. En god applet (som er med i Red Hat 6.0 standardindstillingen) er pager applet. Den gør det muligt at have flere virtuelle skærme. Der kommer hele tiden nye applets til, så det er en god ide at følge med på GNOME's hjemmeside.
Ud over applets kan du tilføje knapper, som starter programmer (launcher) eller hele undermenuer (drawer).
![]()
![]()
Har du en CDROM i din computer, kan du overveje om du ikke vil høre musik mens du arbejder. Til GNOME finder du programmet gtcd, som er en enkel cd-afspiller.
Du har også mulighed for at se på billeder vha. programmet Electric Eyes. Programmet understøtter de mest udbredte grafik-formater.Desværre følger programmet ggv ikke med i GNOME version 1.0 (og derved ikke med Red Hat 6.0), idet det stadig er for ustabilt. Programmet er i stand til at vise dig, hvad en Postscript fil indeholder, dvs. du kan se, hvordan den ser ud, inden du printer den.
![]()
gnomecal er et kalender-program. Du har mulighed for at gemme aftaler og tilbagevendende begivenheder. Standardindstillingen er en dagsoversigt, men du kan også se på en uge, en måned eller et år ad gangen. En lækker funktion er TO DO lister, dvs. du kan sætte alle dine deadlines ind i din kalender. gnome-cal benytter vCalendar formatet, som er en officiel Internet-standard for kalender-systemer, f.eks. kan du let synkronisere din PalmPilot med din stationære computer!
Har du brug for at holde styr på adresser, er programmet gnomecard nok noget for dig. Programmet er ikke specielt avanceret; det er bare en adressebog.
Vi synes også at gtt (GTimeTracker) bør nævnes. Programmet er et simpelt tidstagerprogram. Arbejder du på flere projekter eller opgaver, er det ofte rart at holde øje med, hvor megen tid du bruger på hvad. Du kan oprette projekter, og du kan starte og stoppe uret.
![]()
Det er nemt at anvende KDE (version 1.1 eller 1.1.1) under Red Hat og SuSE, da det er en del af det, du valgte under hovedinstallationen. Du mangler kun at lave en lille ændring for, at KDE vælges, når X startes op. Prøv at skrive less /etc/X11/xinit/xinitrc i et xterm vindue. Du kan nede mod bunden af dette tekst program (indholdet kaldes shell kode) se, at der står noget med at $HOME/.Xclients, som vil blive kørt (exec), hvis den findes (-f).
if [ -f $HOME/.Xclients ]; then exec $HOME/.Xclients |
Vi sætter kommandoen startkde ind i filen $HOME/.Xclients, hvilket er det samme som ~/.Xclients. Skriv følgende
[daisy@linus daisy]$ echo "startkde" > ~/.Xclients [daisy@linus daisy]$ chmod +x ~/.Xclients |
![]()
Først skal du se i bunden af skærmen. Menu-baren er god - lad os lige se på indholdet fra højre mod venstre. Først er der et ikon, hvor du kan starte et terminalvindue op. I dette vindue kan du skrive kommandoer til Linux og starte programmer. Dernæst er der fire felter, som er virtuelle arbejdsfelter. Rigtig smart system! Videre mod venstre findes et kryds og en hængelås, som er til at afslutte KDE henholdsvis skærmlås. Næste ikon er en hjælpefunktion, dernæst en søgefunktion til at finde filer. Næste funktion vil starte kcommandcenter, som er vist på Figur 3-11.
Med kcommandcenter kan du sætte meget af KDE op grafisk. Det er ikke så svært, så brug lidt tid der. Vi mangler nu de sidste tre ikoner på Figur 3-10. Først er der et link til at starte kfm op hjemme, dvs. KDE filemanager op i eget hjemmekatalog. Næstsidste ikon giver dig en oversigt over de virtuelle arbejdsområder og alle de programmer, du har startet op - så kan du let flytte over til netop det program, du ønsker. Sidste ikon, som er det vigtigste, giver en menu med en lang række af de almindelige KDE programmer, du kan starte op. Den første menu, der kommer frem, kan ses på Figur 3-12. Et meget lille og anvendeligt program i KDE er knotes, som anvendes til at lave små notater - huskesedler - som gemmes også til næste gang, du starter KDE op. Et eksempel kan ses på Figur 3-13. Igen skal vi lige se på kfm, som er vist på Figur 3-14. Her er det indholdet af /usr/bin, som er vist. Bemærk, at du kan udskifte file:/usr/bin med http://www.sslug.dk, og så har du en web-browser, eller med ftp://sunsite.auc.dk, så har du et ftp kopieringsprogram, som du endda kan kopiere direkte mellem en ftp konto og et andet kfm-vindue. Nye programmer kan nemt startes ved at føre musen ud på baggrundstapetet (wallpaper) og trykke på højre musetast (du skal dog lige bemærke, at du i denne menu har en del muligheder - leg selv med dem). Vælg Ny og Application. Skal det f.eks. være Emacs, du vil have et nemt start ikon til, så angiv Emacs.kdelnk. Et nyt vindue kommer op som vist på Figur 3-15. Under fanebladet "Kør" kan du vælge nyt ikon ved at trykke på det lille ikon. I feltet "Kør" skal du skrive stien til programmet - i dette tilfælde /usr/bin/emacs %f. Hvis du ikke ved, hvor Emacs findes, så kan du skrive which emacs i et terminal-vindue. Du har måske gættet det - %f betyder filnavn, og har du det med, kan du trække filer grafisk hen på Emacs-ikonet for at editere filen. KDE udvikler sig hurtigt, og du kan følge udviklingen på http://www.kde.org. Planen er, at der kommer en release 2.0 omkring januar 2000, hvor en fuld officepakke er med (koffice), som virker meget lovende. Vi kan glæde os!!!![]()
Dengang UNIX var ungt, var der ikke noget, der hed grafiske brugergrænseflader og mus. Næh, brugeren sad foran en tekstterminal og tastede alle kommandoer ind. Denne noget primitive måde at arbejde med en computer på genfinder vi i moderne UNIX, og eftersom Linux er et UNIX-lignende styresystem, har du naturligvis også mulighed for at indtaste kommandoerne på dit tastatur. Begynder du at bruge Linux seriøst, vil du dog nok finde ud af, at tekst-kommandoerne ikke er en primitiv arbejdsform - men langt mere effektivt og hurtigere end Windows måden.
Nu må du ikke tro, at det kun er af gammel vane, at UNIX-brugere
taster deres kommandoer ind på en kommandolinje; faktisk er det muligt
at udføre endda meget komplekse opgaver med meget lidt tastearbejde.
Dette skyldes, at der med UNIX altid følger et hav af hjælpeprogrammer
med. Lad os give dig et eksempel - bare rolig, vi forventer ikke, at du
allerede nu kan gennemskue, hvordan det fungerer, men vi vil bare vise
dig, hvor lidt tastearbejde der skal til for at udføre store opgaver.
Lad os antage, at du har en hjemmeside liggende på maskinen www.andeby.dk.
Du er en produktiv person med mange interesser, så din hjemmeside
består af mange html-filer. En dag flytter du, og din hjemmeside
skal skifte maskine - din nye maskine hedder www.kongeh.org. Dit problem
er, at du skal rette alle links på dine sider. I UNIX (og dermed
også Linux) kan det gøres ganske let. Du udfører blot
kommandoen:
€ find . -type f | egrep -i '\.html?$' |\ xargs perl -i -pe 's/www.andeby.dk/www.kongeh.org/gi' |
Når du udfører kommandoen, bliver alle filer, som ender på "html" (bl.a. også "HTML" og "htm"), fundet (find). Du benytter et program ved navn perl til at foretage selve søg-og-erstat-proceduren. Dette eksempel er nok lidt for avanceret til vores lille bog her, men vi håber, at du nu kan se, hvor kraftfuld en enkel kommandolinje kan være i UNIX.
Vi kan også fra starten fortælle dig, at store og små bogstaver ikke er det samme for filnavne. Du kan også godt bruge meget lange filnavne, og der er ikke den samme DOS-opbygning med fil-endelser på max tre bogstaver (CONFIG.SYS osv.). I modsætning til Windows vises alle filer med * og ikke *.* - dertil kommer skjulte filer .* - dette er ret vigtigt.
Du skal også lege lidt med pil-op og pil-ned, som løber igennem de gamle kommandoer igen. Ctrl-A og Ctrl-E bruges til at gå til start og slut af en linje.
Tabulator-tasten kan du få stor glæde af. Ved at skrive den første del af en kommando eller et filnavn og trykke på den én gang, prøver den at gætte, hvad du mener. Er der kun én mulighed skriver den denne mulighed. Er der flere muligheder, kan du trykke på tabulator igen og få vist alle mulighederne.
Hvis du skriver
€ tou<TAB> sikke_et_langt_filnavn |
€ touch sikke_et_langt_filnavn |
€ tou<TAB> sik<TAB> |
![]()
Der er faktisk mere end en konsol. Linux konsolsystem består af en række virtuelle konsoller. Du skifter mellem dem ved at trykke på ALT og en funktionstast mellem F1 og F7 hvor "Alt-F7" dog er tilbage til den grafiske X skærmflade, hvis den er startet op. Hvis du står i X og skal tilbage til de tekstbaserede konsoller, skal du bruge "Ctrl-Alt-F1" op til "Ctrl-Alt-F6". Linux er et ægte multitasking system, så du kan bare logge ind på flere terminaler og arbejde.
![]()
Når du logger ind på din Linux maskine, vil du blive mødt
af en kommando-prompt, dvs. en linje der ligner dette
[daisy@linus daisy]$ |
Dit hjemmekatalog er som sagt stedet, hvor dine filer og underkataloger
ligger placeret. Linux er et flerbrugersystem, og det er derfor vigtigt
at kunne holde styr på, hvor de enkelte brugeres filer er. Kommandoen
pwd (eng. "print working directory") fortæller dig, hvor i
katalogstrukturen du p.t. er.
[daisy@linus daisy]$ pwd /home/daisy |
I det ovenstående eksempel er du i kataloget /home/daisy. Dette katalog er dit hjemmekatalog. Der er to vigtige ting at bemærke. Du skal dels lægge mærke til, at Linux (generelt UNIX) bruger en / (slash) og ikke en \ (backslash) i stier, som det kendes fra Windows. Det er også vigtigt, at du husker at store og små bogstaver er forskellige i Linux. Filerne Linux.html og linux.html er således ikke det samme.
Det er let at oprette underkataloger, f.eks. kan du oprette et underkatalog
ved navn MitKatalog ved at skrive:
[daisy@linus daisy]$ mkdir MitKatalog |
Kommandoen, som opretter et underkatalog, hedder med andre ord
mkdir
(eng. "make directory"). I Linux er der forskel på små og store
bogstaver, og det er faktisk en god ide at bruge stort begyndelsesbogstav
i dine egne underkataloger, mens filer begynder med et lille bogstav. Du
kan nu skifte katalog vha. kommandoen cd (eng. "change directory").
Lad os skifte til kataloget MitKatalog:
[daisy@linus daisy]$ cd MitKatalog [daisy@linus daisy]$ pwd /home/daisy/MitKatalog [daisy@linus daisy]$ cd .. [daisy@linus daisy]$ pwd /home/daisy [daisy@linus daisy]$ |
Som du kan se af ovenstående kommando-serie, skifter du til et
katalog et niveau højere oppe i strukturen ved at skrive cd ..
Husk, at der skal være mellemrum efter cd. I Linux betyder
.. altid kataloget et niveau højere oppe (nogle gange kaldt
forældrekataloget - eng. "parent directory"). Hvis du ønsker
at slette et tomt underkatalog, der altså hverken indeholder filer
eller underkataloger, kan du bruge kommandoen
rmdir (eng. "remove
directory").
[daisy@linus daisy]$ rmdir MitKatalog [daisy@linus daisy]$ |
Lad os nu se på indholdet af dit hjemmekatalog. Kommandoen
ls
viser indholdet af det aktuelle katalog. Kommandoen har dette lidt mærkelige
navn, fordi det er en forkortelse af det engelske "list". Korte og lidt
kryptiske kommandonavne er typisk for Linux. Hvis ls er din første
kommando på dit nye Linux system, er resultatet noget kedeligt:
[daisy@linus daisy]$ ls [daisy@linus daisy]$ |
Det er nu ikke så svært at forstå: du har jo ingen
filer eller underkataloger i dit hjemmekatalog endnu. Og dog, det er ikke
helt rigtigt, for skriver du ls -a ~, ser du, at der er et par filer,
der starter med punktum og ligger i
~ (hjemmekataloget). Den lille
krøllede dims ~ hedder i øvrigt en "tilde".
[daisy@linus daisy]$ ls -a . .Xdefaults .bash_profile .. .bash_logout .bashrc |
Filer, der starter med punktum, anvendes oftest til at gemme din opsætning for de enkelte programmer. De skal normalt ikke ændres særlig tit, og derfor vises de først, når du tilføjer -a som argument til ls.
Vi vil skynde os at lære dig en vigtig Linux kommando: cp.
Denne kommando kopierer (eng. "copy") en fil. Vi kopierer filen
passwd
fra kataloget /etc til det aktuelle katalog (kaldet .),
som p.t. er vores hjemmekatalog:
[daisy@linus daisy]$ cp /etc/passwd . [daisy@linus daisy]$ |
Hvis du nu udfører ls kommandoen igen, ser du, at der
nu er dukket en fil ved navn passwd op i dit hjemmekatalog:
[daisy@linus daisy]$ ls passwd [daisy@linus daisy]$ |
Langt de fleste Linux-kommandoer kan udføres med forskellige
funktioner slået til eller fra. Denne ekstra funktionalitet i en
kommando styres oftest vha. en option. I UNIX-verdenen gives en option
typisk til kommandoen ved at angive en bindestreg og et bogstav.
ls
kommandoen har en nyttig option, som viser indholdet af et katalog i langt
format (derfor bruges bogstavet l for det engelske "long").
[daisy@linus daisy]$ ls -l -rw-r--r-- 1 daisy daisy 652 Jul 14 22:32 passwd [daisy@linus daisy]$ |
Lad os forklare linjen bagfra. Det sidste, du ser, er filens navn, som jo er passwd. Inden da kan du læse, hvornår filen blev oprettet eller sidst blev ændret. Vi kopierede filen den 14. juli kl. 22.32. Tallet 652 fortæller, hvor mange bytes filen fylder.
De to gange daisy er vigtige at forstå. Alle filer og kataloger i et Linux-system har en ejer og tilhører en gruppe. Ejeren er en af brugerne på systemet, mens en gruppe består af en eller flere brugere. En bruger kan godt tilhøre flere grupper. Gruppebegrebet i Linux er særligt smart, hvis man arbejder i et firma, hvor der eksisterer flere afdelinger, idet hver afdeling kan have deres egen gruppe. I gamle dage (tidligere versioner af Red Hat) tilhørte alle brugerne den samme gruppe, men i Red Hat Linux har man valgt at lade hver bruger have deres egen gruppe af sikkerhedsmæssige grunde. Som du kan se, ejes filen passwd af brugeren daisy og er tilknyttet gruppen daisy.
Vi vil springe 1-tallet over og gå videre til det kryptiske "-rw-r--r--". Som allerede nævnt har alle filer og kataloger en ejer og er tilknyttet en gruppe. Det er netop, hvad disse kryptiske tegn fortæller noget om. Det første tegn er filtypen, dvs. om det er en fil "-" eller et katalog "d". De andre ni tegn falder i tre grupper, som er rettigheder for ejeren, gruppen og alle andre. Et "r" fortæller, at det er tilladt at læse (eng. "read") en fil, et "w" betyder, at det er tilladt at skrive (eng. "write") til filen, dvs. ændre og evt. slette filen. Et "x" er en smule mere kompliceret: hvis det drejer sig om en fil, er det tilladt at udføre den (eng. "execute") som program, og hvis der er tale om et katalog, er det tilladt at se indholdet.
passwd er - som du ser - en fil, hvor ejeren (brugeren daisy) har tilladelse til at læse og skrive, mens gruppen daisy har ret til at læse. De samme rettigheder gælder for andre brugere, som ikke er med i gruppen daisy.
Det er naturligvis muligt at ændre på en fils rettigheder.
Til dette formål bruger du kommandoen chmod (eng. "change
mode"). Lad os ændre rettigheder på filen passwd,
så gruppen kan skrive i filen:
[daisy@linus daisy]$ chmod g+w passwd [daisy@linus daisy]$ ls -l -rw-rw-r-- 1 daisy daisy 652 Jul 14 22:32 passwd |
Det lille "g" betyder gruppe, dvs. vi ønsker at ændre på gruppens rettigheder. Hvis det var ejeren, skulle vi bruge "u" (eng. "user"), mens et "o" betyder andre (eng. "other"). Bogstavet "w" betyder, at vi vil ændre på skriverettighederne, og et "+" betyder, at vi vil tillade det, mens et "-" vil forbyde det. Grupper kan oprettes, så kun nogle kan bruge dit program eller læse og/eller skrive i dine filer.
![]()
[daisy@linus daisy]$ cat passwd daemon:*:2:2:daemon:/sbin: adm:*:3:4:adm:/var/adm: lp:*:4:7:lp:/var/spool/lpd: sync:*:5:0:sync:/sbin:/bin/sync shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown halt:*:7:0:halt:/sbin:/sbin/halt mail:*:8:12:mail:/var/spool/mail: news:*:9:13:news:/var/spool/news: uucp:*:10:14:uucp:/var/spool/uucp: operator:*:11:0:operator:/root: games:*:12:100:games:/usr/games: gopher:*:13:30:gopher:/usr/lib/gopher-data: ftp:*:14:50:FTP User:/home/ftp: nobody:*:99:99:Nobody:/: daisy:x:501:501:Daisy,,,,:/home/daisy:/bin/bash |
cat er, som du ser, meget let at bruge, men kommandoen har en dårlig side: hvis filens indhold fylder mere end en side, kommer filen alt for hurtigt over skærmen, og bagefter ser du kun den sidste side (dvs. det antal linjer, som kan vises på din skærm). Kommandoerne less og more er derfor mere velegnede, da det er muligt at bladre frem og tilbage i filen. Kommandoen viser en side ad gangen, og du kan bladre frem ved at trykke på f (eng. "forward") eller mellemrum og tilbage ved at trykke på b (eng. "backward"), og i less kan pil op og ned også anvendes.
![]()
[daisy@linus daisy]$ cp passwd nyFil [daisy@linus daisy]$ mv nyFil megetNyFil [daisy@linus daisy]$ ls -l -rw-rw-r-- 1 daisy daisy 652 Jul 14 22:32 passwd -rw-rw-r-- 1 daisy daisy 652 Jul 14 22:34 megetNyFil |
I eksemplet ovenfor tager vi først en kopi af filen
passwd,
og kopien døber vi
nyFil. Bagefter omdøber vi filen
til
megetNyFil. Som kommandoens navn antyder, kan den mere end
bare omdøbe filer: den kan flytte dem til andre steder i filsystemet.
Eksemplet nedenfor viser dig, hvordan du flytter filen
megetNyFil
til kataloget
MitKatalog.
[daisy@linus daisy]$ mkdir MitKatalog [daisy@linus daisy]$ mv megetNyFil MitKatalog [daisy@linus daisy]$ cd MitKatalog [daisy@linus MitKatalog]$ ls -l -rw-rw-r-- 1 daisy daisy 652 Jul 14 22:34 megetNyFil [daisy@linus MitKatalog]$ cd .. [daisy@linus daisy]$ ls -l -rw-rw-r-- 1 daisy daisy 652 Jul 14 22:32 passwd |
Nu kan det tænkes, at du vil slette filen
megetNyFil.
Kommandoen rm er lige, hvad du mangler (rm (eng. "remove").
[daisy@linus daisy]$ cd MitKatalog [daisy@linus MitKatalog]$ ls -l -rw-rw-r-- 1 daisy daisy 652 Jul 14 22:34 megetNyFil [daisy@linus MitKatalog]$ rm megetNyFil [daisy@linus MitKatalog]$ ls -l [daisy@linus MitKatalog]$ |
Du skal være meget forsigtig med at bruge mv og
rm,
idet der ikke er nogen mulighed for at fortryde. Hvis du vil blive spurgt,
om det er rigtigt, at du vil flytte/slette, kan du tilføje et i-flag,
og ovenstående eksempel bliver til
[daisy@linus MitKatalog]$ rm -i megetNyFil rm: remove `megetNyFil'? |
Her kan du så svare y for ja, og n for nej. En videregående bemærkning: Du kan endda lave aliaser alias rm='rm -i' ; alias mv='mv -i' og gemme dette i din ~/.bashrc, og så vil det altid bruges sikkert.
![]()
For at se manualen for et program, bruger du programmet
man.
Lad os se på et eksempel. Hvis du vil læse manualen til ls,
skal du taste:
[daisy@linus daisy]$ man ls |
Linux vil nu vise dig manualen. Langt de fleste manualer består af en række faste afsnit: "Name", "Synopsis", "Description", "Options", "Bugs" og "See also".
[daisy@linus daisy]$ apropos mail MIME (1) - Multipurpose Internet Mail Extensions Rnmail (1) - a program for replying via mail aliases (5) - aliases file for sendmail biff (1) - "be notified if mail arrives and who it is from" cmail (6) - an email chess helper faces (1) - visual mail, user and print face server. fetchmail (1) - fetch mail from a POP, IMAP, or ETRN-capable server formail (1) - mail (re)formatter logrotate (8) - rotates, compresses, and mails system logs mail (1) - send and receive mail |
Der kan være mange steder i man-siderne, hvor et ord indgår. Som du kan se, får du en kort beskrivelse med, som kan få dig til at huske, hvilket program du leder efter.
Tallene, som står i parentes i eksemplet fra før, fortæller dig, ii hvilket afsnit (eng. "section") i den samlede manual den enkelte man-side står. De forskellige afsnit indeholder forskellige typer man-sider, f.eks. er afsnit 1 om programmer, som almindelige brugere kan bruge, mens afsnit 8 indeholder manualer for systemadministratoren. Hvis du ønsker en kort introduktion til et afsnit af den samlede manual, slår du op på intro's man page, dvs. ønsker du at læse lidt om, hvad afsnit 3 indeholder, udfører du man 3 intro.
Tip: Før du kan bruge apropos, skal du som brugeren root en gang for alle have indekseret alle manual-siderne ved at køre kommandoen /usr/sbin/makewhatis. I øvrigt er man en god måde at komme i gang med manual-sider.
![]()
![]()
[daisy@linus EtKatalog]$ ls aaa bbb ccc [daisy@linus EtKatalog]$ rm * [daisy@linus EtKatalog]$ ls [daisy@linus EtKatalog]$ |
Alle filer er det samme som *. Hvis du i stedet havde skrevet
a*, betyder det alle filer som begynder med a.
[daisy@linus NytKatalog]$ ls aaa abb ccc [daisy@linus NytKatalog]$ rm a* [daisy@linus NytKatalog]$ ls ccc [daisy@linus NytKatalog]$ |
Stjernen, også kaldet joker-tegnet, kan bruges overalt. F.eks.
betyder a*b alle filer, der begynder med a og slutter på
b, hvilket vil inkludere filerne
ab, aDuErGodb, men ikke
en fil med navnet abe. Joker-tegnet kan bruges sammen med alle
de mest almindelige kommandoer i Linux, f.eks. viser nedenstående
eksempel, hvordan du viser alle filer, der begynder med a i kataloget /usr/bin
[daisy@linus daisy]$ cd /usr/bin [daisy@linus bin]$ ls ad* /usr/bin/addftinfo /usr/bin/addr /usr/bin/addr2line |
Det er værd at bemærke, at jokertegn ekspanderes af shell'en ("kommandofortolkeren") - ikke af applikationen. Det har bl.a. den store fordel, at jokertegn altid fungerer - og fungerer konsistent på tværs af applikationer.
Et meget simpelt eksempel: Et katalog indeholder 3 filer: file1, file2 og myfile. Skriver man: ls *, vil shell'en først ekspandere *-tegnet og derefter kalde ls med: ls file1 file2 myfile. Output fra ls er blot:
[daisy@linus test]$ ls file1 file2 myfile |
Men der er flere muligheder i dette. Et eksempel: For at se forskellen mellem file1 og file2 kan du skrive: diff file1 file2. Men du kan også nøjes med at skrive: diff f* og således lade shell'en ekspandere f* til file1 file2.
Somme tider kan denne konsekvente ekspandering af joker-tegn dog være en ulempe.
Et eksempel: Et katalog indeholder 2 filer:
[daisy@linus film]$ ls dogme95.zip film_index.html |
Du kan også bruge zip-filer under Unix, og du kan se indholdet af zip-filen ved f.eks. at skrive:
[daisy@linus film]$ unzip -v d* Archive: dogme95.zip Length Method Size Ratio Date Time CRC-32 Name ------ ------ ---- ----- ---- ---- ------ ---- 14853 Defl:N 5224 65% 10-27-98 16:12 944a4af4 festen.html 14844 Defl:N 5401 64% 11-14-98 19:53 e55c1636 idioterne.html 1941 Defl:N 1024 47% 03-12-99 22:12 5ecb7d23 mifune.html ------ ------ --- ------- 31638 11649 63% 3 files |
Nu vil vi pakke festen.html ud af zip-filen. Det er den eneste fil i zip-filen, der starter med f, så under DOS kunne man blot skrive: unzip d* f*. Men prøver man det under Unix, går det galt:
[daisy@linus film]$ unzip d* f* Archive: dogme95.zip caution: filename not matched: film_index.html |
Du bliver som minimum nødt til at skrive: unzip d* fe*. Der er ingen fil i kataloget, der matcher fe*, så shell'en vil kun ekspandere d* og kalde unzip med: unzip dogme95.zip fe*. Det overlades nu til unzip at ekspandere fe*.
Det bør også nævnes, at mange programmer understøtter en ekstremt sej syntaks, kaldet regular expressions, til alt inden for mønstergenkendelse af tekst, du kan f.eks. slette alle dine filer, der starter med bogstaver mellem a og g ved at skrive rm [a-g]*
Det siger vist sig selv, at man skal passe meget på når man skal slette - for man kan ikke fortryde. Regulære udtryk er beskrevet i afsnit 7 i manualen under navnet regex.
![]()
[daisy@linus daisy]$ ls /usr/bin > usrbin.dir [daisy@linus daisy]$ less usrbin.dir |
Tilsvarende kan du appende (tilføje) til filen ved at anvende >>.
![]()
[daisy@linus daisy]$ ls /usr/bin | less |
Den lodrette streg (|) sætter en "pipe" op. Outputtet fra ls /usr/bin bruges som input til less. Det er naturligvis muligt at sætte en række pipes op efter hinanden og på den måde slippe for en masse midlertidige filer.
![]()
[daisy@linus daisy]$ cat /etc/passwd | grep daisy daisy:x:501:501:Daisy,,,,:/home/daisy:/bin/bash |
Dette er en meget nyttig kommando.
![]()
![]()
[daisy@linus daisy]$ ps PID TTY STAT TIME COMMAND 435 2 S 0:00 /bin/login -- daisy 436 2 S 0:00 -bash 447 2 R 0:00 ps [daisy@linus daisy]$ |
Ovenstående dialog viser, at der er et kørende program (ps) og to sovende (/bin/login og bash). At et program er kørende, ser du ved, at der under STAT står et "R" (for "running"), mens et sovende program i status-feltet har et "S" (for "sleeping"). En sovende proces er en proces, som er blevet startet, men ikke er aktiv, og nu står og venter på at blive aktiveret. Feltet, hvor der står TTY, viser, fra hvilken terminal programmet blev startet. I Linux kan du skifte mellem flere virtuelle konsoller, og hver virtuel konsol opfattes som en terminal.
![]()
top leverer mange oplysninger, og derfor er det spændende at bruge programmet. Endvidere er det værd at læse programmets man-page.
![]()
Du kan løse dit ventetidsproblem ved at udføre
ventetid
i baggrunden. For at udføre et program i baggrunden sætter
vi et & efter kommandoen.
[daisy@linus daisy]$ ventetid & [1] 585 [daisy@linus daisy]$ ps PID TTY STAT TIME COMMAND 435 2 S 0:00 /bin/login -- daisy 436 2 S 0:00 -bash 447 2 R 0:00 ps 585 2 R 0:02 ventetid [daisy@linus daisy]$ |
Programmet ventetid kører nu samtidig med, at du kan indtaste og udføre nye kommandoer. Grunden til, vi siger, at programmet kører i baggrunden, er, at du ikke sidder med det ved din konsol (som vi så kalder for forgrunden).
![]()
[daisy@linus daisy]$ ps PID TTY STAT TIME COMMAND 435 2 S 0:00 /bin/login -- daisy 436 2 S 0:00 -bash 447 2 R 0:00 ps 585 2 R 2:34 ventetid [daisy@linus daisy]$ kill 585 [daisy@linus daisy]$ ps PID TTY STAT TIME COMMAND 435 2 S 0:00 /bin/login -- daisy 436 2 S 0:00 -bash 763 2 R 0:00 ps |
Det skal også nævnes, at enkelte gange kan en proces være kørt helt i skoven, og så må du tage kraftigere skyts i brug. I stedet for kill PROCESNUMMER kan du bruge kill -9 PROCESNUMMER.
![]()
Suid (set user id) et et begreb (ikke program), som giver mulighed for, at en bruger kan udføre et program, som om du var en anden bruger. Dette bruges normalt til at give almindelige brugere rettigheder til at udføre programmer, som om de var superbrugeren (root).
[daisy@linus daisy]$ chmod +s FILNAVN |
Dette kan f.eks. ses ved programmet ping, der skal være
suid root. Dette skyldes at det kun er root kan åbne den slags netværksforbindelse,
som ping bruger.
[daisy@linus daisy]$ ls /sbin/ping -rwsr-xr-x 1 root root 14804 Apr 7 23:21 /bin/ping |
Suid er den største sikkerhedssynder på et UNIX-system. Det er f.eks. en dødssynd at lave shell-scripts suid root, da det er muligt for en bruger at narre scriptet til at efterlade en superbruger shell. Jo færre suid filer du har på dit system jo bedre, men nogle ting er nødt til at være suid root for at fungere. Du kan se hvilke filer, der er suid root med følgende kommando:
[daisy@linus daisy]$ find / -user root -perm +4000 |
![]()
Lad os antage, at du vil skrive en eller anden tekst, og du vil have,
at filen skal hedde minFil.txt. Editoren
vi startes på
følgende måde:
[daisy@linus daisy]$ vi minFil.txt |
Til at begynde med står der intet andet end en masse ~-tegn, med en tilde per linje. Dette betyder, at disse linjer ikke eksisterer i filen endnu. vi arbejder i et af to modes: indsæt- eller kommando-mode. Trykker du på i, når du er i kommando-mode, går du over i indsæt-mode, mens du skal trykke på Escape, hvis du ønsker at komme i kommando-mode. Du kan se, hvilket mode du er i ved at se nederst på skærmen: når der står -- INSERT --, er du i indsæt-mode. vi har en række funktioner, som du kan bruge i kommando-mode. Her er de mest almindelige.
| Kommando | Forklaring |
|---|---|
| i | Skift til indsæt-mode. Nu kan der føjes til filen, fra hvor man står. |
| a | Skift til indsæt-mode med append. Nu kan der føjes til filen, efter der hvor man står. |
| ESC | Skift tilbage til kommando-mode. |
| h j k l | I kommando-mode virker disse som pile-tasterne til at flytte rundt i filen. |
| x | Slet bogstav. |
| dw | Slet ord (delete word). |
| dd | Slet linje. |
| 3dd | Slet tre linjer startende med linjen, du står i. |
| u | Fortryd sidste ændring. |
| /tekst | Søg efter "tekst". Tryk / eller n for at søge videre. |
| 4Y | Kopier 4 linjer til buffer startende med linjen, du står i (yank). |
| p | Indsæt fra buffer (put). Dette virker både efter yank og delete ordrerne. |
| J | Slet linjeskift (join). |
| ZZ | Gem filen, og stop editoren. |
| w | Gem filen. |
| :w NAVN | Gem filen under NAVN. |
| :q! | Stop vi uden at gemme filen. |
![]()
Vi vil her kun anbefale to: Introduktion til UNIX af Knud Jørgen Kirkegaard og Torben Krog, Teknisk Forlag og Goran Andersons bog på svensk (http://www.sslug.dk/gnulinux).
Desuden kan du måske have glæde af John Ray: Linux på 10 minutter fra IDG, som dog er noget overfladisk. Tilsvarende kan du måske også have glæde af Linux for dummies af Phil Hughes, som er udkommet på IDG. Disse to bøger er begge på dansk.
![]()
I UNIX-verdenen består systemadministration ofte i at rette i en masse forskellige konfigurationsfiler. Konfigurationsfilerne er rene tekstfiler, og det vigtigste værktøj til systemadministration er vi (eller en anden editor). Red Hat har lavet om på dette: der findes nu administrationssoftware, som er grafisk. Under overfladen bruges dog stadig rene tekstfiler. Vi vil i dette kapitel primært benytte os af Red Hats grafiske værktøjer.
Systemadministration foretages af systemadministratoren, dvs. af brugeren
root, som også kaldes for superbrugeren (eng. "super user").
Du kan enten logge ind som
root eller skifte til denne med programmet
su (ordet hemmelig vises ikke på skærmen).
[daisy@linus daisy]$ su - root Passwd: hemmelig [root@linus /root]# |
Ved at skrive "su - root" i stedet for blot "su root" sikrer vi os, at alt er glemt om brugeren (daisy), som skiftede til systemadministrator ("su" og "su root" er i øvrigt det samme). Typisk har en bruger en del opsætning, f.eks. omkring e-mail, og denne opsætning bør du ikke "kende" til som root. Bemærk også, at prompten ændrede sig, da du blev root. Dollar-symbolet blev til et hash-tegn. Da root har lov til alt på maskinen, bør du være meget omhyggelig med, om du er root eller almindelig bruger. Måske tror du, at det er smart at være root og kunne alt - det er forkert! Som root kan du komme til at skrive rm -rf /, og så er hele dit Linux-system væk! For ikke at risikere at lave unødige fejl, bør du lave en brugerkonto til dig selv, også selv om du har root-passwordet. Skift kun til superbruger, hvis det er absolut nødvendigt, og skift tilbage til din almindelige brugerkonto hurtigst muligt.
Der eksisterer to varianter af UNIX: System V (udtales "system fem") og BSD (Berkeley Software Distribution). For en almindelig bruger er der ikke den store forskel; den ligger hovedsagelig i, hvor de forskellige konfigurationsfiler er placeret i filsystemet, og hvordan opstartssekvensen (boot) foregår. Red Hat (og de fleste Linux-distributioner) har valgt side og hører til System V familien, men låner lidt fra BSD.
![]()
![]()
[root@linus /root]# ls -al /dev/cdrom lrwxrwxrwx 1 root root 3 Sep 4 14:31 /dev/cdrom -> hdd [root@linus /root]# chmod a+r /dev/hdd |
Redigér filen /etc/fstab med pico -w /etc/fstab eller lignende. Du har sikkert en linje, der starter med /dev/cdrom. Den skal du ændre til
/dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0 |
Tredje kolonne beskriver filformatet, her er det iso9960 til en CDROM. Fjerde kolonne indeholder nøgleord, der beskriver egenskaber ved CDROM-drevet. 'noauto' betyder, at CDROM-drevet ikke automatisk mountes, når maskinen startes op. 'ro' betyder read-only. 'user' gør det muligt at mounte CDROM'er som almindelig bruger. 'exec' gør det muligt at køre Linux-programmer fra CDROM. Betydningen af de to nuller kan du finde frem til ved at udføre kommandoen man mount, eller ved at læse afsnit 5.14.5.
Nu er du klar til at teste det. Stop som root ved at trykke Ctrl-D i den terminal, du arbejder i. Læg f.eks. din Red Hat CDROM i dit CDROM drev, og skriv
[daisy@linus daisy]$ mount /mnt/cdrom |
[daisy@linus daisy]$ umount /mnt/cdrom |
![]()
Redigér filen /etc/fstab med pico -w /etc/fstab eller lignende. Under installationen har du måske sat dine DOS/Windows diske ind, så de kan ses fra Linux, men her er alligevel et eksempel på /etc/fstab.
/dev/hda1 /dosc msdos defaults 0 0 /dev/hda3 /dosd vfat defaults 0 0 |
![]()
[root@linus /root]# rpm -i mtools-3.9.1-5.rpm |
Giv læse- og skriveadgang til /dev/fd0
[root@linus /root]# chmod a+rwx /dev/fd0 |
[daisy@linus daisy]$ mcopy a:* . |
![]()
[root@linus /root]# rpm -ivh autofs-3.1.3-2.i386.rpm |
Derefter skal du se i /etc/auto.master, der viser, at /misc nu er under kontrol af automounteren. Går du ned i /misc, bliver der mountet enheder automatisk. Der er et timeout på 60 sekunder i standardopsætningen - dvs. 60 sekunder, efter du har besøgt f.eks. din CDROM, vil maskinen automatisk køre umount for dig. Filen /etc/auto.misc er så der, hvor du skriver hvilke af dine eksterne enheder der automatisk skal mountes. Filen kan f.eks. se ud som følger, for at din CDROM og floppydrev automatisk mountes i /misc/cdrom hhv. /misc/floppy
cdrom -fstype=iso9660,ro :/dev/cdrom floppy -fstype=auto :/dev/fd0 |
![]()
Firmaet Red Hat og andre er i de senere år gået over til at oversætte programmer en gang for alle og så distribuere programpakker, der indeholder binær kode, biblioteker, manualsider og andet. Fordelen ved disse programpakker er, at systemet kan holde eksakt styr på, hvad der er installeret. Alle pakker checkes for afhængigheder, og du kan afinstallere pakker igen, hvis andre pakker ikke påvirkes af det. Red Hats format for programpakker kaldes RPM, som er en forkortelse for "Red Hat Package Management".
| Kommando | Forklaring |
|---|---|
| rpm -i pakke_version.rpm | Installér pakken |
| rpm -ivh pakke_version.rpm | Installér pakken med status vist. Tilføj option --nodeps hvis pakken skal installere uden at check for manglende støtte pakker. |
| rpm -qip pakke_version.rpm | Viser information om den pakke, som kan installéres. |
| rpm -e pakke | Afinstallér den installerede pakke. |
| rpm -q pakke | Viser version af den installerede pakke. |
| rpm -qf filnavn | Viser, hvilken RPM-pakke filnavnet kom fra. |
| rpm -ql pakkenavn | Viser, hvilke filer der blev installeret med RPM-pakken. |
| rpm -qa | Viser alle installerede RPM-pakker. |
| rpm -ql pakke | Viser alle filnavne indeholdt i pakken. |
| rpm -Va | Check alle RPM-installerede filer for ændringer siden installation af pakkerne. |
[root@linux /root]# cat /etc/serverlist | \ xargs -l1 -i= -r ssh = rpm -U ftp://SERVER/vim-4.6-4.i386.rpm |
![]()
Som allerede nævnt i afsnit 2.2.3.2, indeholder kataloget /etc konfigurationsfiler til dit Linux-system. Filerne er vitale for dit Linux-system, så vær derfor forsigtig, når du vha. en teksteditor retter i filerne. Vi vil foreslå, at du altid først laver en kopi af den fil, du vil ændre, dvs.
[root@linus /etc]# cp hosts hosts.orig [root@linus /etc]# vi hosts |
Hvis der skulle gå noget galt, kan du altid bruge den oprindelige
udgave af filen.
[root@linus /etc]# cp hosts.orig hosts |
![]()
[daisy@linus daisy]$ ls /etc/rc.d/rc3.d K30mcserv K40snmpd K55routed K75gated K80random K95nfsfs K96pcmcia K97network S01kerneld S30syslog S40atd S40crond S40portmap S50inet S55named S60lpd S75keytable S80sendmail S85sound S99local |
Alle de scripts, som begynder med stort K, bliver udført, når du forlader dette runlevel (K står for Kill), mens de, der begynder med stort S, udføres, når du skifter til et runlevel (S står for Start). Tallet bagefter fortæller, i hvilken rækkefølge de skal udføres.
Det er ikke svært at finde ud af, hvilket runlevel din computer
er i. Nedenfor er vist hvordan.
[root@linus /root]# /sbin/runlevel N 3 |
3-tallet viser dig, at din computer er i runlevel 3. Det er muligt at skifte runlevel uden at lukke computeren ned, men N'et viser, at der intet tidligere runlevel er, dvs. computeren har været i runlevel 3, siden den blev tændt. Du skifter runlevel med kommandoen telinit. Du bør altid synkronisere dine harddisk (tomme filsystemernes buffere) inden du skifter runlevel, dvs. kør sync et par gange lige inden, du skifter runlevel med telinit.
Runlevel 3 er det mest almindelige. Skemaet nedenfor viser betydningen af de forskellige runlevels.
| Runlevel | Betydning |
|---|---|
| 0 | Lukker systemet ned (shutdown -h now) |
| 1 | Enkeltbrugertilstand (Single-user mode) |
| 2 | Flerbruger-tilstand uden NFS |
| 3 | Flerbruger-tilstand med NFS |
| 4 | Bruges ikke |
| 5 | Starter op i X11 |
| 6 | Genstart computeren (reboot) |
Single-user mode er et meget nyttigt runlevel. Hvis det sker, at du kommer til at konfigurere et eller andet forkert en dag - ja, det vil ske på et eller andet tidspunkt! - og din computer låser under opstarten, kan du starte den op i single-user mode og foretage diverse rettelser.
I filen /etc/inittab angives hvilket runlevel, der er default runlevel.
![]()
Som vi viste i afsnit 5.4, er runlevel 0 det samme som at lukke ned. En generel, men lidt besværlig måde at lukke en UNIX-maskine på, er at skifte til root og skrive init 0 eller telinit 0
[daisy@linus daisy]$ su - Passwd: hemlig [root@linus /root]# init 0 |
Du skal dog en gang for alle lave en ændring, så "Ctrl-Alt-Delete" kommer til at medføre at Linux lukkes ned. Ændres intet, genstarter systemet (og du vil nok her synes, at det er sjovt, at det minder om den mest kendte DOS kommando). For at få maskinen til at stoppe (kaldes Halt), skal du ændre i /etc/inittab
# Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now |
# Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -h now |
# Trap CTRL-ALT-DELETE ca::ctrlaltdel:echo "No reboot for you my friend!\n" |
![]()
![]()
![]()
[root@linus /root] control-panel |
![]()
Som sagt, bruger du tidligere udgaver af Red Hat, finder du dette værktøj som den første knap i hovedmenuen (et smilende ansigt). Ved at trykke på den får du et nyt vindue, som er vist nedenfor.
Du kan oprette en ny bruger ved at trykke på "Add" knappen. Lad os oprette en ny bruger, som ønsker brugernavnet pingo og i virkeligheden hedder Frederik. Figuren nedenfor viser denne situation. En række af felterne har systemadministratoren selv udfyldt, men control-panel er kommet med en række forslag, f.eks. vil bruger-ID (brugernr.) blive foreslået. Når du er færdig med at indtaste alle oplysningerne, trykker du på "Done" knappen. Som root kan du på et vilkårligt tidspunkt skifte en brugers kodeord ved at skrive passwd BRUGERNAVN, og du kan faktisk også nemt oprette en bruger ved at skrive adduser BRUGERNAVN. Derefter skal du bruge passwd BRUGERNAVN.![]()
![]()
![]()
![]()
Du starter programmet ved at taste sndconfig på kommandolinjen. Programmet er designet til at køre i text mode, og du kan selv vælge, om du vil benytte dig af en xterm eller bruge konsollen. Første skærmbillede ser ud som vist nedenfor.
Du fortsætter ved at trykke på ENTER. Det næste skærmbillede, som du ser nedenfor, fortæller, hvilket lydkort sndconfig har fundet, i dette tilfælde et SoundBlaster 32 - som forventet. Du bør naturligvis tjekke, om programmet finder det rigtige. Det tredje skærmbillede tillader, at du vælger et lydkort. Hvis nu sndconfig ikke har været i stand til at finde dit lydkort, kan du nu vælge det rette. Vi vælger naturligvis vores SoundBlaster 32 lydkort. Du kan bevæge markøren vha. piletasterne, og du flytter markøren ned til OK og CANCEL ved at trykke på TAB-tasten. Det er nu tid til at vælge indstillinger for lydkortet. Her er det typisk lettest, hvis du kender dem på forhånd, så du ikke behøver at gætte dig frem. Det er reelt de samme oplysninger, som du i Microsoft Windows 95 finder under "egenskaber for enheder". Når du har valgt de rigtige indstillinger, vil sndconfig afspille en kort lydsekvens for dig. Når du hører denne, betyder det, at lydkortet er korrekt konfigureret. Gik det helt galt med dit lydkort, kan det være, at du ikke har den rette Linux kerne og modulerne til dette. Du kan læse videre i de følgende afsnit om, hvordan kernen oversættes.![]()
Vores gennemgang af kernekonfiguration er overfladisk, dvs. vi vil ikke gå i detaljer med, hvad de enkelte funktioner kan, men forklare dig, hvordan en konfiguration foregår.
Et par bemærkninger omkring drivere til Linux er på sin plads. Drivere kan eksistere på to måder under Linux; som en del af kernen eller som et modul. Hvis driveren er en del af kernen, ligger den fast i hukommelsen hele tiden, men et modul indlæses først i det øjeblik, der er brug for det - ja, faktisk kan et modul også fjernes fra hukommelsen, når der ikke er brug for det længere (se afsnit 5.9). Det er klart en fordel at benytte moduler, hvis man ikke har megen hukommelse.
![]()
Hvis du vil installere kildekoden til kernen, så skriv
[root@linus /root]# rpm -ivh /cdrom/RedHat/RPMS/kernel-headers-2.2.5-15.i386.rpm [root@linus /root]# rpm -ivh /cdrom/RedHat/RPMS/kernel-source-2.2.5-15.i386.rpm |
I øvrigt kan det tilrådes at lade /usr/src/linux være et symbolsk link til et versionsafhængigt underkatalog:
[root@linus /root]# ls -l /usr/src/linux lrwxrwxrwx 1 root root 11 Jan 31 12:01 linux -> linux-2.2.5 drwxr-xr-x 17 root root 1024 Jan 25 21:22 linux-2.0.36 drwxr-xr-x 15 root root 1024 Jan 31 20:45 linux-2.2.5 |
[root@linus /root]# rm /usr/src/linux [root@linus /root]# mkdir /usr/src/linux-2.3.1 [root@linus /root]# ln -s /usr/src/linux-2.3.1 /usr/src/linux |
![]()
[root@linus /root]# cd /usr/src/linux [root@linus linux]# make dep [root@linus linux]# make clean [root@linus linux]# make zlilo [root@linus linux]# make modules [root@linus linux]# make modules_install |
Hvis du ikke anvender LILO, så erstat make zlilo med make bzImage, og bagefter kan du finde den nye Linux kerne i /usr/src/linux/arch/i386/boot/bzImage. Du kan teste den nye kerne ved at kopiere den til floppy og boote fra denne. Brug cp /usr/src/linux/arch/i386/boot/bzImage /dev/fd0 for at teste på denne måde. Er du tilfreds med den nye kerne, kan du kopiere kernen til /boot og rette i LILO's konfigurationsfil - læs mere i afsnit 5.13.1.
Moduler laves til kernen svarende til kernens versionsnummer under /lib/modules, dvs. for kerne 2.3.1 gemmes de i /lib/modules/2.3.1 Nu spørger du måske om, hvorfor man i det hele taget laver en kerne og så moduler. Dels kan kernen blive mindre og derfor ofte hurtigere. Men er der fejl i et modul, kan man hurtigt rette i modulets kildetekst, genoversætte koden og starte modulet påny - uden at genstarte maskinen!
![]()
Modul-systemet blev skrevet om til kerne version 2.2 (som følger med Red Hat 6.0 og SuSE 6.2). Vi vil antage, at du har en version 2.2 kerne. Du kan evt. tjekke det ved at skrive uname -r. For en standard-installation af Red Hat 6.0 vil din maskine svare "2.2.5-15" og SuSE 6.2 "2.2.10".
![]()
[root@linus /root]# lsmod Module Size Used by ppp 18316 0 (autoclean) slhc 4328 0 (autoclean) [ppp] autofs 9028 1 (autoclean) nfs 29944 1 (autoclean) lockd 30856 1 (autoclean) [nfs] sunrpc 52356 1 (autoclean) [nfs lockd] nls_iso8859-1 2020 1 (autoclean) nls_cp437 3548 1 (autoclean) vfat 11516 1 (autoclean) fat 25664 1 (autoclean) [vfat] awe_wave 157804 0 sb 33204 0 uart401 5968 0 [sb] sound 57208 0 [awe_wave sb uart401] soundlow 300 0 [sound] soundcore 2372 7 [sb sound] |
Tabellen, som lsmod producerer, indeholder navn på modulet, hvor meget hukommelse det bruger, hvor mange programmer der bruger modulet, samt om der er andre moduler, som bruger modulet. Tag nu ppp-modulet: det fylder 18315 bytes, og ingen programmer eller andre moduler benytter det (logisk, idet forbindelsen til Internet-udbyderen er lukket ned).
![]()
[root@linus /root]# insmod hpfs |
Det fine ved modul-systemet er, at du kun behøver at angive navnet på modulet; insmod finder selv ud af, hvor det er placeret.
Det kan være, at du kommer til at angive det forkerte modul, dvs. du forsøger at indlæse et modul til et stykke hardware, som du ikke har. Nedenfor forsøger vi at indlæse driveren til et Intel EtherExpress Pro/100 kort; et kort, som ikke sidder i maskinen.
[root@linus /root]# insmod eepro100 /lib/modules/2.2.5-15/net/eepro100.o: init_module: Device or resource busy |
![]()
[root@linus /root]# rmmod hpfs |
Kigger du i kataloget /lib/modules/2.2.5-15, ser du filen modules.dep. Denne fil skal du ikke pille ved - den bliver automatisk genereret under opstart af Linux (næste gang din maskine booter, se efter linjen "Finding module dependencies" - på det tidspunkt genereres filen). Filen indeholder information om, hvilke moduler et modul afhænger af. Filen er en tekstfil, så du kan bladre i den vha. less eller more.
![]()
# /etc/conf.modules alias parport_lowlevel parport_pc pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start alias sound sb pre-install sound insmod sound dmabuf=1 options opl3 io=0x388 alias midi awe_wave post-install awe_wave /bin/sfxload /etc/midi/GU11-ROM.SF2 options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 |
Syntaksen for filen er som følger: først et nøgleord, derefter et navn på et modul og til slut en række parametre.
Lad os begynde med det "lette" nøgleord først. Det lette nøgleord er "alias". Et alias betyder simpelthen, at når systemet spørger efter et modul, mener systemet i virkeligheden et andet. Det lyder lidt mærkeligt, men det er meget nyttigt. Et alias som alias eth0 eepro100 vil betyde at når Linux forsøger at initialisere ethernettet (eth0), skal driveren eepro100 bruges. Ofte kan Linux ikke automatisk defektere indstikskort i gamle maskiner, og det kan derfor være nyttigt at fortælle Linux, hvilket netkort der sidder i maskinen. Har du et gammelt kort, tilføjer du derfor en "alias"-linje som passer til dit kort.
Et andet nøgleord er "options". Her kan systemadministratoren angive en række options til en driver/modul. I det ovenstående eksempel på conf.modules står der f.eks. options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330. Denne linje fortæller modulet sb en række ting - i dette tilfælde de relevante oplysninger omkring et Sound Blaster lydkort (f.eks. at I/O adressen er 220, og interruptet er 5).
Nøgleordet "pre-install" fortæller modul-systemet, at før et modul indlæses skal et andet modulet være indlæst. Alt hvad der kommer efter modulets navn, tolkes som en kommando med tilhørende options. Ligeledes findes "post-install", som angiver en kommando, der skal udføres efter modulet er indlæst.
![]()
OpenGl er et grafisk standard bibliotek, som bruges af programmer til at kommunikere med 3D grafikkortet. OpenGl blev udviklet af SGI (Silicon Graphics), til at bruge i deres meget kraftige grafiske arbejdsstationer. OpenGl blev introduceret i 1992 og er med tiden blevet et af de mest brugte 2D og 3D grafiske API (application programming interface). I dag bliver OpenGl varetaget af en uafhængig sammenslutning af firmaer inden for 3D-branchen.
Hvis man ønsker at skrive en driver til et 3D grafikkort, som gør brug af OpenGl teknologien, kræver det, at man skal betale for en licens og for en bekræftelse på, at driveren er kompatibel med OpenGl.
Linux brugere har alligevel mulighed for at bruge OpenGl bibliotekerne ved hjælp af det før omtalte Mesa.
Mesa er et 3D grafisk bibliotek, som indeholder et API, der minder uhyre meget om det, man finder i OpenGl.
Mesa er en såkaldt "Open Source" klon af OpenGl, som er gratis at downloade og bruge. For at bruge 3D grafikkort i Linux bliver man først nødt til at installere den Mesa driver, som passer til éns grafikkort. Mesa understøtter (på nuværende tidspunkt) følgende grafiske chips:
Som du kan se er det langt fra alle 3D-grafikkort, som understøttes i Linux. Dette skyldes, at det er "private", som (indtil videre) laver de fleste af driverne til Linux, hvilket også gør, at de ikke er nær så stabile og hurtige som dem til Windows.
De bedst understøttede 3D-kort er nok 3Dfx kortene. Der kommer heldigvis hele tiden nye drivere, først og fremmest til de store fabrikanters 3D-kort.
![]()
Der findes en, som understøtter Voodoo1, Voodoo2 og Voodoo Rush, der findes på http://glide.xxedgexx.com/3DfxRPMS.html)
Og en, understøtter Voodoo Banshee og Voodoo3 findes på http://glide.xxedgexx.com/3DfxRPMS_vb_glibc.html)
Voodoo Banshee og Voodoo3 er både et 2D og 3D kort, så når
du installerer denne driver, bliver din 2D-driver i X også opdateret.
Når du har hentet den driver, som du skal bruge, skal den installeres.
Dette gøres således efter du har hentet Glide RPM pakken.
[root@linus /root]# rpm -Uvh Glide*.rpm |
Når dette er gjort skal Mesa installeres. Mesa findes på
http://www.mesa3d.org)
og ligger i to tar.gz filer (MesaLib og MesaDemos), som begge skal downloades.
Når de to filer er hentet og udpakket, skal Mesa compiles (oversættes).
Læs dokumentationen inden du går i gang:
[root@linus mesa]# make linux-glide |
Du skal nu finde ud af, hvor i dit system de færdigt oversatte
filer skal kopieres hen, derefter skal du gøre som følger:
[root@linus mesa]# cd include/ [root@linus include]# cp -r GL/ /usr/include/ [root@linus include]# cd ../lib [root@linus lib]# cp -d * /usr/lib/ [root@linus lib]# ldconfig |
Nu skulle dit 3Dfx kort virke uden problemer. Hvis du ønsker
at teste dit 3Dfx kort, skal du skrive:
[root@linus lib]# /usr/local/glide/bin/test3Dfx |
Nu skulle der gerne komme et roterende 3Dfx-logo.
Bemærk! Da din nuværende installation kommunikerer direkte med 3Dfx-kortet, bliver du nødt til at køre dine 3Dfx applikationer som root. Da dette kan være irriterende og samtidigt kan udgøre en sikkerhedsrisiko, findes der en måde, hvorpå man kan undgå dette problem. Dette gøres med et såkaldt 3Dfx kernel module. Når først dette modul er installeret, vil de programmer (og spil), som skal bruge 3DFx-kortet, kommunikere via /dev/3Dfx. Denne løsning har ydermere den fordel, at du kan bestemme, hvem der skal have adgang til kortet, men det har samtidig den ulempe, at hastigheden på 3Dfx-kortet bliver nedsat en smule.
Det omtalte modul er at finde på http://www.xs4all.nl/~carlo17/3dfx/.
For at installere det skal du downloade tar.gz-filen, og skrive følgende:
[root@linus /root]# mkdir dev3dfx [root@linus /root]# cd dev3dfx/ [root@linus dev3dfx]# tar -zxvf ../Dev3Df*.tar.gz [root@linus dev3dfx]# make [root@linus dev3dfx]# cp 3dfx.o /lib/modules/`uname -r`/misc [root@linus dev3dfx]# mknod /dev/3dfx c 107 0 [root@linus dev3dfx]# insmod 3dfx |
Derefter skal du redigere dit init-scripts under /etc/rc.d således, at kommandoen insmod 3dfx bliver kørt, hver gang du booter din computer.
Ved hjælp af programmet GlideControl, som er at finde på http://www.ling.ed.ac.uk/~oliphant/gc/, kan man indstille dit Voodoo1 eller Voodoo2 kort under Linux.
Skulle der være problemer, kan det være en god ide at kigge forbi the 3Dfx Linux newsgroup, som er at finde på news://news.3dfx.com/3dfx.glide.linux. Skriv et venligt spørgsmål til denne newsgroup, vent en dags tid eller noget i den stil, og dit svar skulle være kommet. En anden - efter sigende - rigtig god hjemmeside til at komme igang er http://www.3dfxgamers.com/.
![]()
Deres drivere er at finde på http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html. Yderligere information om installation af disse drivere er også at finde på denne side. Man skal dog lige være opmærksom på at disse drivere er på udviklingsstadiet, så de er ikke nær så hurtige og fejlfrie som dem, du muligvis kender fra Windows.
![]()
Installationen indeholder en modificeret udgave af Mesa samt et "glx" modul, som gør det muligt for X at arbejde med Mesa (OpenGl) kommandoer. Ifølge rygter skulle Mesa blive en del af X, fra og med XFree86 version 4.0. G200 driverne er under kraftig udvikling og er ligesom nVidas drivere ikke særligt hurtige eller stabile. Så sørg for at læse dokumentationen, før du går i gang.
![]()
Nu bør f.eks. din netscape kunne udskrive og tilsvarende din gv (til PostScript filer). Du kan udskrive tekstfiler med lpr FILNAVN, og du bør nok læse man-siderne for lpr, lprm, lpq og lpc.
Til at udskrive tekstfiler, f.eks. C-kode, kan du med fordel installere a2ps, som laver meget pæne udskrifter, der viser kode syntaks. Du finder a2ps på http://www.inf.enst.fr/~demaille/a2ps
![]()
Man kan få kørt vilkårlige programmer på vilkårlige tidspunkter, f.eks. hvert minut, time, dag, ugedag eller månedsdag. I filen /etc/crontab retter man normalt ikke, men denne fil viser, at der køres jobs hver time fra /etc/cron.hourly til tilsvarende hver dag, uge og måned via /etc/cron.daily, /etc/cron.monthly og /etc/cron.weekly. For en almindelig bruger er det normalt, at man føjer de kommandoer man vil have kørt på et givet tidspunkt, til filen ~/.crontab og kører kommandoen crontab ~/.crontab.
Syntaksen for alle disse crontab filer er den samme: En kommando per linje og i rækkefølge fra venstre mod højre, minut (0-59), time (0-23), månedsdag (0-31), måned (0-12), ugedag (0-7, hvor 0 og 7 begge er søndag) og endelig den kommando du vil have udført. Hvert felt adskilles af et mellemrum, og hvis man vil have, at f.eks. alle dage køres programmet, så indsæt en "*" for månedsdag og måned.
Vi giver nu et eksempel, hvor vi hver morgen kl. 7 fra mandag til fredag sender brugeren root en mail med, hvor meget load der er på maskinen.
0 7 * * 1-5 uptime | mail root |
![]()
![]()
Et eksempel på /etc/lilo.conf kan være
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/zImage label=linux root=/dev/hda3 read-only image=/boot/vmlinuz-2.0.35-2 label=linux2 root=/dev/hda3 read-only other=/dev/hda1 label=dos table=/dev/hda |
Lilo kan en hel del, men kan være et lige så besværligt værktøj, som det kan være suverænt. Du bør måske læse den mini HOWTO om LILO, som kan findes under Linux Documentation Project på http://sunsite.auc.dk/ldp. Specielt kan det være at de to options "restricted" or "password" er værd at forstå.
![]()
Vi har installeret loadlin i c:\linux\loadlin (loadlin kan downloades i zip-format og pakkes ud som vanligt med pkunzip eller winzip). Vor Linux-kerne har vi kopieret til c:\linux med navnet vmlinuz, og i nedenstående autoexec.bat har vi vores root-partition på /dev/hda3 (tredje partition på hoveddisken). Du skal rette i linjen c:\linux\loadlin\loadlin c:\linux\vmlinuz root=/dev/hda3 ro svarende til din konfiguration.
I det følgende skal du erstatte indholdet for Windows 95 (Win95) med det, som du selv har. Linux har reelt kun noget i AUTOEXEC.BAT
CONFIG.SYS
[MENU] MENUITEM=Win95 MENUITEM=Linux MENUDEFAULT=Linux,5 [Win95] DEVICE=C:\UCD\UCDIDE.SYS /D:UCD0001 DEVICE=C:\WINDOWS\SETVER.EXE DEVICE=C:\WINDOWS\HIMEM.SYS DOS=HIGH device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1) Country=045,850,C:\WINDOWS\COMMAND\country.sys [Linux] |
AUTOEXEC.BAT
GOTO %CONFIG% :Win95 rem - By Windows Setup - C:\WINDOWS\COMMAND\MSCDEX /D:UCD0001 @ECHO OFF PROMPT $p$g SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\DOS; SET TEMP=C:\DOS mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi) mode con codepage select=850 keyb dk,,C:\WINDOWS\COMMAND\keyboard.sys GOTO END :Linux c:\linux\loadlin\loadlin c:\linux\vmlinuz root=/dev/hda3 ro GOTO END :END |
![]()
Når Windows NT installeres, bliver Master Boot Recorden (MBR) på harddisken altid overskrevet, således at NT's egen bootloader får kontrol med opstarten af maskinen. Når Linux installeres, får du en valgmulighed: du kan vælge at overskrive MBR med LILO, eller du kan vælge at installere LILO på en harddiskpartition.
Det er netop det, vi skal udnytte til at dualboote mellem LILO og Windows NT's OS Loader. Vi er ikke interesserede i at miste muligheden for at starte op i Linux ved hjælp af LILO, så det kan betragtes som en forebyggende handling at acceptere tingenes tilstand, det vil sige at placere Windows NT's OS Loader i MBR og at placere LILO på en passende primær partition. Derfor skal du svare NEJ til at placere LILO i Master Boot Recorden (MBR). LILO bør i stedet placeres på den primære partition, Linux er installeret i.
Når du vælger at installere LILO på en harddiskpartition i stedet for i Master Boot Recorden (MBR), er det nødvendigt at fremstille en bootdiskette til Linux, enten som en del af installationen eller efter installationen, men under alle omstændigheder før Linux lukkes ned. Ellers får du svært ved at starte op i Linux igen! Bootdisketten kan fremstilles efter installeringen med Linux-kommandoen mkbootdisk. Husk at have en formatteret diskette parat. Disketten skal være formatteret 'unconditional', så der ikke ligger information skjult på den, for eksempel FORMAT /U A: i en DOS-prompt eller Linux-kommandoen fdformat. Det er vigtigt, at disketten er 100% fri for fysiske fejl!
Eksempel:
[root@linus /root]# fdformat /dev/fd0H1440 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB. Formatting ... done Verifying ... done [root@linus /root]# ls -l /lib/modules total 1 drwxr-xr-x 10 root root 1024 Dec 1 22:40 2.0.36-0.7 lrwxrwxrwx 1 root root 23 Dec 3 13:22 preferred -> /lib/modules/2.0.36-0.7 |
preferred peger på kataloget 2.0.36-0.7. Det benyttes i mkbootdisk-kommandoen:
[root@linus /root]# mkbootdisk 2.0.36-0.7 Insert a disk in /dev/fd0. Any information on the disk will be lost. Press <Enter> to continue or ^C to abort: |
Microsoft anbefaler, at C-drevet under Windows NT kører FAT. Det giver muligheder for fejlfinding, der ikke eksisterer på et NTFS-drev. En uventet, men glædelig sideeffekt af dette er, at Linux kan mounte C-drevet. Det giver blandt andet mulighed for den ideelle dualboot-løsning beskrevet i dette afsnit.
Standard-installationen af Red Hat-udgaven af Linux konfigurerer dualboot-muligheden for Linux's bootmanager LILO automatisk. Det eneste, du skal gøre, er at acceptere de to bootmuligheder 'dos' eller 'Linux'. Når LILO starter, kan du trykke på TAB-tasten for at få en oversigt over boot-mulighederne. Typisk kan du vælge mellem 'Linux' og 'dos'. Når du vælger 'dos', starter LILO Windows NT's OS Loader.
Det lidt mere omstændelige er konfigurering af Windows NT's OS Loader, så LILO kan startes fra Windows NT's OS Loader. Windows NT's OS Loader benytter sig af filreferencer i filen C:\BOOT.INI.
Eksempel på BOOT.INI:
[boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(3)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINNT="NT Workstation 4.00 SP3" multi(0)disk(0)rdisk(0)partition(3)\WINNT="NT Workstation 4.00 SP3 [VGA mode]" /basevideo /sos C:\="Windows 95" |
Når NT-systemet med denne BOOT.INI startes op, har brugeren fem sekunder til at fravælge default-opstarten af WINNT.
Filen skal nu tilrettes, så Linux også bliver en valgmulighed.
Skriv i DOS/NT:
C: CD \ ATTRIB -s -r BOOT.INI EDIT BOOT.INI |
Tilføj følgende linje:
C:\BOOTSECT.LNX="Linux - Red Hat Distribution 6.0" |
Sæt derefter filens attributter igen:
ATTRIB +s +r BOOT.INI |
Filen BOOTSECT.LNX skal fremstilles fra Linux. Først skal vi finde frem til navnet på Linux-partitionen i Linux. Udfør kommandoen df. Notér navnet på filsystemet for rod-disken ("/"). I det følgende ses på et eksempel med to SCSI diske (deraf sda og sdb).
Eksempel:
[root@linus /root]# df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda2 692011 356539 299728 54% / /dev/sda1 618288 424384 193904 69% /dos /dev/sdb1 208592 196616 11976 94% /dos2 /dev/sdb3 513808 426136 87672 83% /dos3 |
Navnet på Linux-partitionen er forskelligt fra system til system. I eksemplet ovenfor er navnet på Linux-roddisken /dev/sda2. Nu skal BOOTSECT.LNX fremstilles. Dette gøres ved at kopiere 512 bytes fra starten af Linux-partitionen /dev/sda2 til filen BOOTSECT.LNX. Udfør kommandoerne:
[root@linus /root]# dd if=/dev/sda2 of=/bootsect.lnx bs=512 count=1 [root@linus /root]# mv /bootsect.lnx /dos/bootsect.lnx |
Har du ikke adgang til den DOS-partition, hvor du booter fra (eller er det NTFS formatteret), kan du i stedet kopiere filen ud på en floppy disk med brug af mcopy.
[root@linus /root]# dd if=/dev/sda2 of=/bootsect.lnx bs=512 count=1 [root@linus /root]# mcopy /bootsect.lnx a: |
Genstart derefter din maskine. Hvis du vælger at reinstallere LILO i Linux, skal du huske at fremstille en ny BOOTSECT.LNX-fil.
Nu kan Linux' bootmanager startes fra Windows NT's OS Loader, således at du kan opnå valgfrihed - også med Windows NT!
Hvis du vil vide meget mere om MBR-placering, bootmanagere og partitioner, kan det anbefales at læse HowTo-guiden om LILO. På Red Hat Linux-CD'en hedder filen /doc/HOWTO/mini/LILO
![]()
![]()
Et eksempel på en linje af passwd filen er
daisy:x:500:501::/home/daisy:/bin/bash |
![]()
daisy:$1$/hbYueDa$46ggNKFugoDABWOJZ3xvz0:10784:0:99999:7::: |
Hvis dn maskine ikke kører shadow passwords, og vil du dette, så kør /usr/sbin/pwconv som brugeren root. Tilsvarende findes /usr/sbin/pwunconv til at få passwords gemt i selve password filen og ikke shadow-filen.
![]()
kongeh:x:1000:daisy,henri,dykker,landmand |
![]()
/dev/hdb2 / ext2 defaults 1 1 /dev/hda1 /dosc vfat defaults 0 0 /dev/hdb3 /home ext2 defaults 1 2 /dev/hdb1 swap swap defaults 0 0 /dev/fd0 /mnt/floppy vfat noauto,user,rw 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0 none /proc proc defaults 0 0 none /dev/pts devpts mode=0622 0 0 |
![]()
127.0.0.1 localhost localhost.localdomain 172.17.0.1 daisy.kongeh.dk daisy 172.17.0.2 henri.kongeh.dk henri 172.17.0.3 dykker.kongeh.dk dykker 172.17.0.3 landmand.kongeh.dk landmand |
Uden DNS (nameserver) bruger systemet automatisk hosts-filen ved ssh, telnet, ftp, ping osv.
![]()
search kongeh.dk nameserver 129.142.6.64 nameserver 129.142.6.65 |
![]()
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd |
![]()
![]()
init.d rc.local rc0.d rc2.d rc4.d rc6.d rc rc.sysinit rc1.d rc3.d rc5.d |
Filen rc.sysinit ændrer man oftest ikke, idet den styrer opstart af keyboard, check af filsystemer, mounter swap og andet basalt.
I filen rc.local kan man selv tilføje kommandoer, som skal startes efter de almindelige programmer.
Alle de ovenstående filer kan læses af alle på et Red Hat system, mens SuSE har valgt, at kun root kan læse de filer.
![]()
README cron kbd random rcS.d skeleton apmd dummy kerneld rc reboot ssh at gpm lpd rc0.d route syslog autofs halt network rc1.d routed xdm boot halt.local nfs rc2.d rpc boot.d inetd nfsserver rc3.d rwhod boot.local init.d pcmcia rc4.d sendmail boot.setup inn pcnfsd rc5.d serial cdb ipfwadm powerfail rc6.d single |
![]()
apmd console keyboard network sendmail static-routes clock init mouse network-scripts soundcard |
Et skridt længere nede i filtræet finder du kataloget /etc/sysconfig/network-scripts, som f.eks. kan indeholde
chat-ppp0 ifcfg-ppp0 ifdown-ppp ifup-plip network-functions chat-ppp1 ifcfg-ppp1 ifdown-sl ifup-post chat-ppp2 ifcfg-ppp2 ifup ifup-ppp ifcfg-eth0 ifdown ifup-aliases ifup-routes ifcfg-lo ifdown-post ifup-ipx ifup-sl |
![]()
DSsmtp.ISP.dk |
![]()
dronningen: daisy root: daisy |
![]()
##PRINTTOOL3## LOCAL POSTSCRIPT 600x600 a4 {} PostScript Default 1
lp:\
:sd=/var/spool/lpd/lp:\
:mx#0:\
:sh:\
:lp=/dev/lp0:\
:if=/var/spool/lpd/lp/filter: |
![]()
![]()
Desuden skal du anvende man exports for at lære syntaks af /etc/exports. Som eksempel viser vi, hvordan du lader alle maskiner læse (ikke skrive) fra din CDROM, som du her har mountet fast på /mnt/cdrom. Derudover lader vi maskiner i domænet kongeh.dk mounte hele /usr/local/ med både læse- og skrive-rettigheder, så alle maskinerne kan lægge ny software ind her og softwaren anvendes så på alle klient-maskinerne. Husk, at du måske også skal tænke over sikkerheden, når du distributerer data over netværket. Giv kun adgang til data til de personer, som skal have den adgang.
/mnt/cdrom *(r) /usr/local *.kongeh.dk(rw) |
![]()
![]()
LANG=da LINGUAS=da LC_ALL=da_DK SYSFONT=lat0-sun16 SYSFONTACM=iso15 |
Der er meget mere i systemadministration, end dette korte kapitel har præsenteret. Til Linux findes der især to dokumenter, som er gode at læse, nemlig "System Administrator's Guide" (SAG) og "Network Administrator's Guide" (NAG) - begge kan downloades fra http://sunsite.auc.dk/ldp og findes på din Red Hat CDROM. De er en del af Linux Documentation Project (LDP). Red Hat's hjemmeside indeholder endvidere en række gode tricks og nyttige oplysninger. Den bedste bog om UNIX systemadministration er uden tvivl Æleen Frisch's "Essential System Administration" udgivet af O'Reilly.
![]()
Programmer som ApplixWare og Matlab er kommercielle og sælges kun i binær form, som det kendes fra andre styresystemer. En variant af denne salgsform findes for kontorpakken StarOffice. Den kan downloades gratis fra Internettet til personlig brug, men det må ikke videregives, og da det fylder ca. 65 MB, kan firmaet bag StarOffice tjene på at sælge den på CDROM. Til kommerciel brug er StarOffice heller ikke gratis, og der har firmaet et reelt marked. Det kan nævnes, at SUN netop har købt firmaet StarDivision, som står bag StarOffice. Database-firmaer som Oracle og Informix har frigivet udgaver af deres systemer til Linux, og de er ikke Open Source.
Corel meddelte i oktober 1998, at WordPerfect bliver frigjort til gratis download i en næsten 100% fuld version (den er gratis for private, mens firmaer må betale). Programmet skal registreres inden for 3 måneder. Programmet findes kun i binær form, men det er et meget flot træk af et firma, som har meldt ud, at Linux er en kerneplatform, som skal understøttes. Lige før jul 1998 kom så den gratis version. Mere end 250.000 Linux brugere havde efter en uge downloaded denne version af WordPerfect. Se mere på http://linux.corel.com.
![]()
Der er et par funktioner i xterm, som er uhyre nyttige at kende. Tryk Ctrl og venstre/midterste museknap over en xterm for at sætte en række indstillinger, f.eks. om der skal være scroll-bar på vinduets kant og lignende. Ctrl og højre musetast anvendes til at ændre fontstørrelsen efter behov. Du skal også vide, at du kan afslutte din shell (bash), dvs. den fortolker, som håndterer, hvad du skriver af kommandoer, ved at trykke Ctrl-D eller skrive exit.
Både til GNOME og KDE findes der særlige programmer, som i funktionalitet minder om xterm. Til GNOME findes f.eks. gnome-terminal. Ved at benytte gnome-terminal, når du bruger GNOME, får du en mere ensartet brugergrænseflade. Du vil endvidere bemærke en række menupunkter øverst i vinduet. Her kan du indstille din gnome-terminal på mange forskellige måder, f.eks. kan du have et grafikbillede som baggrund. Til KDE er findes kvt.![]()
UNIX-programmet man er meget praktisk at kende for at lære at bruge de mange options, der ofte findes til programmerne. Som eksempel kan man se dokumentationen for man-programmet ved at skrive man man på en kommandolinje.
NAME man - format and display the on-line manual pages manpath - determine user's search path for man pages SYNOPSIS man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S section_list] [section] name ... DESCRIPTION man formats and displays the on-line manual pages. |
Under X kan du også bruge en grafisk udgave af man. Dette program hedder xman. Du behøver ikke fortælle xman på kommandolinjen, hvilket program du ønsker at læse manualen til. Endvidere kan GNOME's hjælpesystem også vise dig man pages. GNOME's hjælpesystem finder du i menuen i panelet (den med fodaftrykket).
![]()
Udover C og C++ findes der bl.a. Lisp, Java, Ada, Scheme, Assembler, Smalltalk, Tcl/Tk, Python, Perl, awk, sed og oversættere fra Pascal eller Fortran til C. Kommercielle C, C++ og Fortran 77/90 oversættere kan også købes, f.eks. leverer Portland Group en hel række (se http://www.pgroup.com).
Hvert af sprogene har sine stærke (og svage) sider og har fundet anvendelse på en række områder. I dag ser det ud til, at Perl står meget stærkt. Perl er et fortolket sprog, som ikke er effektivt til store numeriske beregninger, men uovertruffent til at lave programmer, der skal foretage reformattering af tekst. Med ret simple kommandoer kan du hurtigt lave programmer, som i C ville fylde flere hundrede linjer. Eksempler er givet i afsnit 8.3.
Til hurtigt at lave programmer med et GUI (grafisk brugergrænseflade) har Tcl/Tk og Python også fået stor udbredelse. Mere om disse i programmeringskapitlet.
![]()
![]()
Programmet nedit kan, som det er vist på næste figur, lave syntaks-fremvisning (highlight). Der er en del ting i nedit, og alligevel er den nem at gå til, så vi kan varmt anbefale den. Der er dog også grund til at lære f.eks. vi, pico og/eller Emacs senere, idet nedit ikke kan køre uden X Window System. Med andre ord, hvis du skal editere en fil i Linux tekstmode, er det godt at kunne lidt andet. Desuden er nedit normalt ikke installeret på andre UNIX-systemer, men Emacs er ofte og vi er altid.
![]()
Emacs og XEmacs har syntaks-highlighting til næsten alle programmeringssprog (også Matlab og LaTeX), hvilket gør dem meget lækre at arbejde med. Syntaksen i koden forstås, så indrykning af f.eks. C-kode sker automatisk, og koder vises med enten forskellige skrifttyper og/eller farver.
XEmacs og Emacs kan konfigureres gennem et meget slagkraftigt makrosystem, så programmering eller tekstbehandling kan tilpasses ud fra næsten alle ønsker. Hvis det måtte ønskes, kan Emacs styre næsten alt. Du kan fra Emacs oversætte C-programmer, du har editeret, og køre debugger direkte fra Emacs. Du kan sende og modtage elektronisk post gennem Emacs. Der er endvidere mulighed for at starte en kommando-skal op i Emacs, hvorfra programmer kan udføres. Alt dette kan køres samtidig med editering af et vilkårligt antal filer. Mange siger tit "Emacs kan bl.a. alt", og pånær at lave kaffe er det ikke modsagt. Til teksteditering og programmering er Emacs en Rolls Royce.
Start Emacs op ved at skrive emacs, hvad enten du er i en tekst-mode eller i en grafisk brugerflade. Emacs har menuer, hvorfra mange af funktionerne kan styres. Ud for hver funktion står også en tastaturkode. Derfor lærer du hurtigt at styre Emacs, også hvis du foretrækker tastaturkoder. Her gives en kort oversigt over de mest anvendte tastaturkoder. Ctrl står for Control-tasten, og Meta står for Meta-tasten, der i Linux er lig med Alt-tasten (eller Escape).| Kommando | Forklaring |
|---|---|
| Ctrl-x Ctrl-f | Find fil (til indlæsning). Indtast navnet på den ønskede fil, eller anvend tabulator til at få fil-liste, og brug musen (midterste knap) til at vælge. Hvis filen ikke findes i forvejen, vil den blive oprettet. Bemærk, at Ctrl-x f er noget helt andet! |
| Ctrl-x k | Dræb buffer. Anvendes til at fjerne den indlæste fil. |
| Ctrl-x Ctrl-s | Gem fil med samme filnavn. |
| Ctrl-x Ctrl-w | Gem fil med nyt filnavn. |
| Ctrl-s | Søg efter det, du angiver. Der skal ikke trykkes return til sidst. Tryk Ctrl-s for at søge til næste fremkomst af det valgte mønster. |
| Meta-% | Søg og erstat (tryk Alt-Shift-5). Til de enkelte steder, hvor der kan erstattes, kan tastes y for erstat, n for spring videre og endelig kan tastes ! (udråbstegn) for at erstatte alle kommende forekomster. |
| Markering af tekst | Dette kan ske ved at trykke venstre museknap ned og trække ned over teksten. Teksten er nu i en editerings-buffer. |
| Ctrl-w | Klipper markeret tekst til editeringsbuffer. Sker hurtigere med et dobbeltklik på højre museknap. |
| Ctrl-y | Yank text, dvs. indsæt tekst. Bemærk, at dette kan ske hurtigere med midterste museknap. |
| Meta-q | Formater tekst til at fylde linjerne ud. Meget anvendelig til almindelig tekst, hvis linjerne er delt meget skævt. Emacs kan også genkende formler, som ikke vil blive ombrudt. |
;De første fire linjer vil gøre, at de danske bogstaver virker rigtigt.
(standard-display-european t)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
;Bind nogle gode funktioner til Ctrl- og musetasterne
;;Ctrl-venstre mus giver menu over åbne filer
;;Ctrl-midterste mus viser afsnit i filen som der kan hoppes til
;; For C-filer er det alle funktioner (cool).
;;Ctrl-højre mus for at vælge font
(global-set-key [\C-down-mouse-1] 'mouse-buffer-menu)
(global-set-key [\C-down-mouse-2] 'imenu)
(global-set-key [\C-down-mouse-3] 'mouse-set-font)
;Meta-g for goto linje nummer
(global-set-key "\M-g" 'goto-line)
;Vis linje og kolonne numre
(setq line-number-mode t)
(setq column-number-mode t)
;For C og HTML filer skal filerne vises med smart farvning
(setq c-mode-hook 'font-lock-mode)
(setq html-mode-hook 'font-lock-mode)
;Filer der ender på .c og .h er c-filer og .html er HTML-filer
(setq auto-mode-alist
(append '(("\\.c$" . c-mode)
("\\.h$" . c-mode)
("\\.html$" . html-mode)
) auto-mode-alist)) |
Nu et lille sidespring. Historien går, at der i 80-erne var mange UNIX-folk, som var stærke vi-fanatikere, og der var måske lige så mange emacs-freaks. For at få afklaret en gang for alle, hvilken editor der var bedst, blev der afholdt en dyst i paint ball, hvor vi-holdet fik en kneben sejr. Dette bør naturligvis efterprøves en dag, da emacs har udviklet sig meget siden da.
Vi kan endvidere anbefale at købe en bog om Emacs, f.eks. SAMS Teach yourself Emacs in 24 hours af Jesper Pedersen, fra forlaget SAMS.
![]()
Der er nok mange, som har vænnet sig til at bruge simple teksteditorer til Windows som WordPad, og installeres nedit, har man næsten samme enkle interface, men nedit kan mere end WordPad, bl.a. highlighting af C kodesyntaks, så du nemt kan finde rundt i dine programmer. Til GNOME findes gedit og gnp. Sidstnævnte minder nok mest om Microsoft Windows notepad, men den er samtidig en simpel HTML-editor.
![]()
![]()
Man skal enten downloade en stor fil, på ca. 24 MB, eller syv mindre, med størrelser, som er vist nedenfor.
Filstørrelse Dato Filnavn 3085030 Dec 9 20:35 gui00.gz 1081936 Dec 9 20:35 gui01.gz 3917065 Dec 9 20:35 gui02.gz 4108057 Dec 9 20:35 gui03.gz 3683725 Dec 9 20:35 gui04.gz 3937517 Dec 9 20:35 gui05.gz 3536191 Dec 9 20:35 gui06.gz |
Dernæst er det klogt at lave et midlertidigt katalog til filerne, som udpakkes.
[daisy@linus daisy]$ mkdir wptemp [daisy@linus daisy]$ mv gui0?.gz wptemp [daisy@linus daisy]$ cd wptemp [daisy@linus wptemp]$ gunzip * [daisy@linus wptemp]$ tar xvf gui00 [daisy@linus wptemp]$ tar xvf gui01 [daisy@linus wptemp]$ tar xvf gui02 [daisy@linus wptemp]$ tar xvf gui03 [daisy@linus wptemp]$ tar xvf gui04 [daisy@linus wptemp]$ tar xvf gui05 [daisy@linus wptemp]$ tar xvf gui06 [daisy@linus wptemp]$ sh Runme Did you unzip and untar the files you downloaded? (y/n) y |
[daisy@linus wptemp]$ su - root [root@linus root]# mkdir /usr/local/wp8 [root@linus root]# chown daisy /usr/local/wp8 |
Efter et par ekstra trivielle tryk er WP8 nu installeret, og du kan starte WP8 ved at skrive /usr/local/wp8/wpbin/xwp. Senere kan du så lave et link eller alias for at få nem adgang til xwp. Efter installationen kan du slette dit wptemp-katalog med rm -rf wptemp, og filen gui00.gz og tilsvarende op til nummer 06 kan slettes efter fuldendt installation.
Corel har annonceret, at Linux er en af de platforme, der vil blive satset på i fremtiden, og vi kan således forvente, at der kommer flere og nye Linux programmer fra den front allerede i 1999.![]()
StarOffice kræver ret meget RAM (gerne mere end 64 MB) og fylder ca. 150 MB når det er installeret, men så får du også tekstbehandling, regneark og editering af HTML filer. Programmet i version 5.1 kan læse og skrive Microsoft Word97, Excel og PowerPoint filer. Import af WordPerfect filer op til version 8.0 er også understøttet. StarOffice er opridelig udviklet i Tyskland og findes i flere sprogversioner inklusive en engelsk version - der er ikke en dansk version og der er heller ikke dansk stavekontrol med. Det er en god engelsk-sproget (eller tysk-sproget) produkt. På følgende billede er den engelske version vist.
Installation af StarOffice kræver at du enten har købt en CDROM med StarOffice 5.1 eller downloadet den Internet. Har du downloadet den kæmpe tar-fil, så skal du først pakke den ud med[daisy@linus daisy]$ tar xvf so51_lnx_01.tar |
Skift til din egen bruger konto under installationen og vi vælger
at installere StarOffice under /home/daisy/Office51.
[daisy@linus daisy]$ cd /mnt/cdrom/linux/office51 [root@linus office51]$ ./setup |
Nu kommer der en grafisk installationsmenu op, hvor man reelt blot skal trykke "Next" et par gange. Derefter udfylder du information om dig selv og vælger mellem tre installationer. Standard Installation fylder 165 MB under installationen og ca. 150 MB efter. Næste skærm skal du sæ vælger hvor StarOffice installeres. Vi vælger som det foreslås /home/daisy/Office51 (hvor daisy erstattes af dit eget login-navn). Du vil så blive spurgt om Java support - svar bare nej her, hvis du ikke ved noget om dette. Til sidst installeres så endelig StarOffice på dit Linux system. StarOffice integreres direkte med KDE, så kører du med KDE laves automatisk opsætning så StarOffice kommer med i dine programmenuer.
Prøv derefter StarOffice ved at skrive
[daisy@linus daisy]$ Office51/bin/soffice & |
Det skal nævnes, at der har været problemer med at få installeret StarOffice under Red Hat 6.0, og du bør ikke prøve at installere versioner tidligere end 5.1 af StarOffice, og under Red Hat 6.0 skal du ikke installere de ekstra biblioteker (primært glibc), som du kan få installeret. Det kan også nævnes at tidligere versioner fra StarDivision krævede en registreting af brugeren før installation på StarDivisions hjemmeside - og her virkede nogle versioner af Netscape ikke - kun Microsoft Explorer. Dette er heldigvis kun historie (men relevant for dem som har downloaded StarOffice tidligere fra StarDivision). StarOffice vil nu selv bede dig om du vil registrere dig - efter installationen.
Figur 6-6 viser en Excel fil, som er importeret direkte til StarOffice. Der var lidt problemer med de danske bogstaver og den font, som var valgt. Fonten havde ikke æ,ø og å. Dette problem er umiddelbart kun relevant for Red Hat 6.0, hvor det løses ved at hente og installere en RPM pakke, ftp://sunsite.auc.dk/pub/os/linux/redhat-contrib/libc6/i386/xfstt-0.9.99-2.i386.rpm. Det er muligt, at versionsnummeret er nyere end det viste - det gør ikke så meget. Du skal finde nogle True Type fonte. Har du Windows 95 eller lignende, så søg efter filer med *.ttf og kopiér dem alle til /usr/X11R6/lib/X11/fonts/TrueType/. Som root skal du så en gang for alle have lavet katalog over dine nye fonte.
[daisy@linus daisy]$ su - root [root@linus root]# xfstt --sync |
![]()
![]()
MagicPoint er ikke som PowerPoint et program, hvor du både redigerer og præsenterer i en integreret pakke. I stedet skriver du en tekstfil med præsentationen, f.eks. kan en side skrives som
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %PAGE SSLUG Skåne Sjælland Linux User Group %left %bgrad 0 0 100 0 0 "#202080" "#202020" %image "ssluglogo.png" 1900x1500 %leftfill I 1997 500% vækst I 1998 over 1000% vækst. Danmarks næststørste IT organisation Verdens største LUG (?) - over 3700 medlemmer. %center %image "medlem-year220599.png" 1000x850 |
![]()
\documentclass[11pt]{article}
\usepackage[latin1]{inputenc}
\begin{document}
\title{Linux og LaTeX}
\author{Hr. P. Rogram}
\date{5/9-99}
\maketitle
\section{Linux}
Dette afsnit skal omhandle Linux.
\subsection{Latex}
\LaTeX{} er super til tekniske rapporter med formler, såsom
$\sum_{i=0}^N i^2$.
\end{document} |
Oversæt Latex filen linux.tex til linux.dvi (skriv latex linux.tex i en shell). Dvi-filen kan vises med programmet xdvi, som den vil komme til at se ud på printeren. Et skærmbillede svarende til eksemplet kan ses på Figur 6-9.
En dvi-fil kan normalt ikke printes direkte ud. Du oversætter den til PostScript fil med følgende kommando[daisy@linus daisy]$ dvips linux.dvi -t a4 -D 600 -o linux.ps |
Ud kommer i dette tilfælde filen linux.ps med 600 DPI opløsning i A4-format. Denne fil kan udskrives på en PostScript printer. Det kan nævnes, at selvom du ikke har en PostScript printer, kan du få Red Hats printerstyring til at konvertere automatisk til printerens format vha. programmet GhostScript (gs).
Vil du se en PostScript fil, inden du printer den, kan du selv benytte GhostScript, men de fleste vil nok hellere benytte den grafiske brugergrænseflade gv, som vist på Figur 6-10. Det kan også nævnes, at programmet gv også kan læse PDF filer. På det følgende billede ses pingvinen Tux, som er Linux' maskot.
![]()
Vil du vide mere om LaTeX, kan vi anbefale dig bøgerne LaTeX - a document preparation system af Leslie Lamport og The LaTeX Companion af Michel Gossens m.fl. Endvidere er en gruppe danske LaTeX-brugere gået i gang med at skrive en bog om LaTeX. Bogen kommer under samme licens som denne bog, og du kan få mere at vide på http://sunsite.auc.dk/latexbog/.
![]()
Danske ordbøger følger desværre ikke med Red Hat 6.0, men det er heldigvis ikke svært at få dem installeret. Skåne Sjælland Linux User Group har påtaget sig opgaven at vedligeholde både danske og svenske ordbøger. Du skal downloade filen idanish-1.3.0.tar.gz, som du finder på Internettet http://www.sslug.dk/locale/ispell/idanish-1.3.0/idanish-1.3.0.tar.gz. Når du har hentet filen, skal du udføre følgende kommandoer som root:
[root@linus /root]# mv idanish-1.3.0.tar.gz /usr/lib/ispell [root@linus /root]# cd /usr/lib/ispell [root@linus /root]# tar zxvf idanish-1.3.0.tar.gz [root@linus /root]# buildhash dansk.datalista dansk.aff dansk.hash [root@linus /root]# cp dansk.aff dansk.hash /usr/lib/ispell [root@linus /root]# cd .. [root@linus /root]# rm -rf idanish-1.3.0 [root@linus /root]# |
Du kan nu udføre stavekontrol på dansk af filen minTekst ved at udføre kommandoen ispell -ddansk minTekst.
![]()
Ønsker du at kunne editere HTML direkte i grafik mode, er der mulighed for at bruge den indbyggede editor i Netscape. WordPerfect8 og StarOffice har tilsvarende muligheder for at kunne udskrive dokumenterne til HTML, men du har ikke samme fleksibilitet, som hvis du skrev det med netscape eller en almindelig editor. Programmet Amaya fra World Wide Web Consortium (W3C) er også en mulighed. W3C er den officielle organisation bag WWW, og Amaya er deres browser og HTML-editor. Bruger du Amaya, er du sikker på, at dine hjemmesider opfølger de formelle standarder!
![]()
Programmet xfilemanager giver mulighed for at se og anvende programmer gennem ikoner. En tekstfil kan således trækkes over på en editor, som så startes med den givne fil. En anden mulighed er xfm, der har et lignende interface. I øjeblikket kommer en del nye filemanagers i beta-test af langt højere kvalitet. Blandt andet er en Linux-explorer lavet til KDE klar med integreret fil-, web- og ftp-manager, svarende til Explorer i Microsoft Windows 98.
For folk med DOS baggrund findes der en god Norton Commander klon, Midnight Commander (mc). Det kan dog nævnes, at Midnight Commander har et par ekstra funktioner, f.eks. kan du mounte diske fra andre maskiner og kopiere frem og tilbage. Tilsvarende nemt er det at koble til anonym ftp konti.
I mc har du farvekoder og symboler til at angive, om filen kan eksekveres (grøn og *), et symbolsk link (reference til anden fil angives med @), kataloger (fed skrift og /) eller en core fil (levn fra et program, der døde - rød skrifttype). Folkene bag Midnight Commander står også bag et filhåndteringsprogram til GNOME, gmc. XFTP (xftp) bør også nævnes. Programmet er perfekt til at overføre filer fra en maskine til en anden via ftp. Svarende til Midnight Commander har du de to maskiner i hhv. venstre og højre side af vinduet og med musen vælges, hvad der skal kopieres. Programmet kan også kopiere rekursivt. Desværre bliver programmet ikke længere vedligeholdt og findes ikke normalt i de udbredte Linux-distributioner.Du bør også se på tkdesk og filerunner til filstyring.
![]()
Programmet xfig er et vektorbaseret tegneprogram. Man tegner, editerer og fjerner grafiske former såsom ellipser og rektangler. Programmet minder om det gamle DrawPerfect (nu Presentations fra Corel). Programmet kan gemme PostScript filer, som direkte kan importeres i LaTeX. ApplixWare laver ligeledes vektorbaseret grafik.
Ønsker du et bitmap-baseret tegneprogram uden mange smarte features, er xpaint nemt at gå til, men det kan ikke ret meget.
Uden sammenligning er the GNU Image Manipulation Program, også kaldet GIMP (gimp), det bedste valg til avanceret redigering og fremstilling af pixelbaseret grafik. Du kan tegne, skrive, lægge skygger, lave farvegradienter og næsten ufatteligt meget andet. Programmet er under en Open Source licens, har modulbaseret struktur og et kraftfuldt makrosprog. Dette har tiltrukket mange programmører, som tilføjer moduler til glæde for os andre. Udviklingen inden for the GIMP har været og er stadig stor, så i dag er the GIMP på fuldt professionelt niveau - og ganske gratis.
I lighed med andre komplicerede programmer i professionel kvalitet kan the GIMP være svær at komme helt ind på livet af. Heldigvis findes der en glimrende brugervejledning med gennemgang af programmets funktioner og mange eksempler på, hvordan diverse grafiske effekter kan laves. Den kan ses på http://manual.gimp.org, hvorfra den også kan downloades i flere forskellige formater. Det er en ganske omfattende sag, PDF-versionen fylder således hele 591 sider.Programmet xv er et meget smart og nemt shareware program med X (Motif) interface til at vise og manipulere bitmap billeder. Programmet understøtter de fleste gængse grafikformater (inklusiv konvertering til PostScript og eps-filer) og har en del billedredigeringsmuligheder. Programmet er også godt, hvis du ønsker at gemme screen shots. Programmet var tidligere med Red Hat, men er det ikke længere. Du kan dog installere RPM pakken med xv fra f.eks. Red Hat 5.2 eller finde den på Internet.
Desuden kan man have glæde af ImageMagick, der ligesom xv kan vise og konvertere mellem et utal af grafikformater. Specielt er det nemt og effektivt til at konvertere grafik via kommandolinje ordrer (f.eks. convert fil.jpg fil.gif).![]()
Med hensyn til emulatorer kan Linux køre SCO programmer (en kommerciel UNIX-variant) gennem det, der hedder iBCS biblioteket (Intel Binary Code Standard). Dette giver adgang til en del ekstra kommercielle database-programmer.
Har du en kraftig (gerne 128 MB RAM) og hurtig PC (gerne mere end 266 MHz), kan du bruge VMware, som laver en emuleret processor og kobling til maskinen. Så kan du køre dine Windows programmer samtidig med, at du kører dine Linux programmer - og principielt kan alle programmer køre. VMware kræver naturligvis, at Windows er installeret på computeren. VMware findes på http://www.vmware.com
![]()
DOS-emulatoren består egentlig af to dele. Den ene del gør det muligt at afvikle DOS programmer under Linux, mens den anden del er selve styresystemet DOS. Der følger en DOS ved navn FreeDOS med, men du kan i princippet bruge din egen, f.eks. hvis du en gang har købt DOS og stadig har installationsdisketterne liggende. I det følgende vil vi dog kun benytte FreeDOS. Begge dele er indeholdt i dosemu-pakken.
Lad det være sagt med det samme: den version af DOS-emulatoren, som følger med Red Hat 6.0 virker ikke. Grunden er den simple, at Red Hat har valgt at benytte den nyeste version. Men denne version er for udviklerne, dvs. den er fuld af fejl og mangler. Derfor skal du først nedgradere dit system til den stabile version. Nedenfor ser du, hvordan du gør det.
[root@linus root]# rpm -e dosemu-freedos-0.99.10-4 [root@linus root]# rpm -e xdosemu-0.99.10-4 [root@linus root]# rpm -e dosemu-0.99.10-4 [root@linus root]# rpm -i dosemu-0.98.8-1.i386.rpm |
Filen dosemu-0.99.8-1.i386.rpm kan du downloade fra ftp://sunsite.auc.dk/pub/os/linux/sunsite/system/emulators/dosemu. For at få DOS-emulatoren til at virke skal du have DOS installeret. Nedgraderer du som anvist ovenfor, kan du let få en gratis DOS (FreeDOS). Du skal blot omdøbe filen hdimage.first.rpmsave i kataloget /var/lib/dosemu til hdimage.first.
[root@linus root]# cd /var/lib/dosemu [root@linus dosemu]# mv hdimage.first.rpmsave hdimage.first |
Eftersom du under DOS kan rode direkte med hardware (som du ikke som almindelig bruger under Linux kan), kan kun root køre DOS-emulatoren. Hvis du ønsker at ændre dette, skal du rette i filen /etc/dosemu.users. Den RPM-fil, som du har installeret som anvist ovenfor, tillader at alle bruger den, så du skal ikke rette noget.
Under en standard installation af dosemu-pakken oprettes et billede af en harddisk. Billedet emulerer c-drevet. Dette billede finder du (under Red Hat 6.0) som /var/lib/dosemu/hdimage.first. Det er let at hente og gemme filer på dette billede fra Linux. Du skal blot føje linjen
drive g: file="/var/lib/dosemu/hdimage" Offset=8832 |
Vil du vide mere om DOS-emulatoren, er http://www.dosemu.org et godt sted at begynde. FreeDOS finder du på http://www.freedos.org
![]()
WINE er på ingen måder et færdigt produkt endnu, men det er muligt at finde "snapshots" af WINE rundt om på Internettet. Nedenfor viser vi, hvordan et "snapshot" fra den 28. marts 1999 installeres (filen er fundet på ftp://sunsite.auc.dk).
[daisy@linus daisy]$ su - Password: [root@linus root]# rpm -i wine-990328-1.i386.rpm |
Inden du kan komme i gang med at bruge WINE, bør du se lidt på konfigurationen af WINE, som sker i filen /etc/wine.conf. Du skal først og fremmest tilrette filen, så stier til dine Microsoft Windows kataloger er korrekte. Når du ønsker at køre et Windows-program, bruger du kommandoen wine (efterfulgt af navnet på det program, du ønsker at køre). Nedenfor ser du et eksempel på brugen af WINE - kabalespillet fra Windows kører, og gtop ses i baggrunden.
Lad os bare indrømme det: vi har forsøgt med en del Windows-programmer, og kun få har virket i WINE. Men selvom WINE ikke virker helt endnu, er det nu alligevel værd at følge med i udviklingen og prøve et "snapshot" i ny og næ.Slutteligt bør det nævnes, at der også findes en kommerciel Windows emulator under navnet WABI.
![]()
VICE følger ikke med en standard Red Hat distribution, men du finder den let på et ftp-site, f.eks. ftp://sunsite.auc.dk under Red Hat-contrib. Installationen kan drille lidt, idet VICE kræver libstdc++ version 2.9. Dette bibliotek er installeret ved en standard installation, men navnet kan være forkert. Nedenfor ser du, hvordan du kan installere VICE - du bør tjekke, hvilket navn libstdc++ har i /usr/lib.
[daisy@linus daisy]$ su - Password: [root@linus root]# cd /usr/lib [root@linus root]# ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++.so.2.9 [root@linus root]# rpm -ivh --nodeps vice-1.0-1.i386.rpm |
Efter installationen er du klar til at bruge VICE. Afhængigt af, hvilken Commodore-computer, du ønsker at emulere, skal du benytte et af følgende programmer: x64 (Commodore 64), x128 (Commodore 128), xvic (VIC 20) eller xpet (PET).
VICE kan emulere lyd og grafik samt ydre enheder, dvs. båndstationer, diskettestationer (Commodore 1571) og joystick. Din emulator kører i et selvstændigt vindue under X. Højre og venstre museknap giver dig menuer til at styre VICE. Bånd og disketter emuleres ved, at du har indholdet liggende i en fil på din harddisk. Trykker du på venstre museknap, kan du "attach a disk image" og "attach a tape image", dvs. du kan vælge, hvilken fil der er dit bånd eller din diskette. Bånd og disketter gennes i særlige formater.
Det er let at finde gamle spil til f.eks. Commodore 64 rundt om på Internettet. Tjek f.eks. http://www.c64.com som har ca. 2500 liggende.
![]()
![]()
![]()
![]()
![]()
I afsnit 6.10.5 kan du finde mere om Quake til Linux, og i afsnit 5.10 er der en beskrivelse af, hvad du skal gøre for at få 3D grafik til at køre under Linux. Her får du installationsvejledningen til selve spillet. Spillet skal du downloade som RPM-pakke eller tage fra en af de mange computerblade CDROM'er, den har været bragt på. Du skal yderligere bruge selve Windows versionen af spillet.
Du skal som root først installere Windows udgaven f.eks. under /usr/local/games/quake2.
[daisy@linus daisy]$ su - Password: [root@linus root]# mkdir /usr/local/games/quake2 [root@linus root]# cd /usr/local/games/quake2 [root@linus quake2]# cp STI_TIL_FIL/q2-314-demo-x86.exe . [root@linus quake2]# unzip q2-314-demo-x86.exe [root@linus quake2]# mv Install/Data/baseq2 . [root@linus quake2]# mv Install/Data/DOSC docs [root@linus quake2]# rm -rf Splash [root@linus quake2]# rm Setup.exe [root@linus quake2]# rm INSTALL [root@linus quake2]# rm -f baseq2/gamex86.dll |
[root@linus root]# rpm -ivh quake2-3_20-glibc-6_i386.rpm [root@linus quake2]# cd /usr/local/games/quake2 [root@linus quake2]# ./quake2 +set vid_ref softx |
![]()
Hvis du skulle høre til den (heldigvis) sjældne computerbruger, som hader spil, er det bedste sted at starte med at lede efter software til 3D grafikkort The Linux3D.org software site, som findes på http://glide.xxedgexx.com/software.html
![]()
Spillet kører i X Window System, og du starter det ved at udføre kommandoen xlincity i en xterm. Spillet indeholder en fuldstændig vejledning, og din by vokser let meget hurtigt.
![]()
At få FreeCiv til at virke kræver en smule arbejde. Først
og fremmest skal du sætte et par miljøvariable. Nedenfor ser
du, hvad du bør føje til din .bashrc.
# FreeCiv PATH=$PATH:/usr/games FREECIV_DATADIR=/usr/share/games/freeciv export FREECIV_DATADIR PATH |
Næste gang, du logger ind, kan du køre FreeCiv (egentlig
behøver du ikke at logge ud og ind; du kan bare udføre source
~/.bashrc). Først starter du serveren op.
[daisy@linux daisy]$ civserver This is the server for Freeciv version 1.8.0 You can learn a lot about Freeciv at http://www.freeciv.org 1: Now accepting new client connections Get a list of the available commands with 'h'. > |
Når serveren er startet op, skal du vente med at starte selve spillet, indtil alle spillerne har koblet sig på serveren. Hvis du gerne vil have kunstige spillere, dvs. computer-styrede spillere, opretter du dem ved at skrive create Tux, hvor Tux er navnet på den computer-styrede spiller.
Spillerne (altså de ikke-computer-styrede) starter deres klienter op ved at udføre kommandoen civclient. Når klienten er klar, kobler du til på serveren, og spil-administratoren udfører kommandoen s på serverens kommandolinje, og spillet går i gang.
Vil du vide mere om FreeCiv, er spillets hjemmeside http://www.freeciv.org.![]()
![]()
GNU Chess indeholder et åbningsbibliotek og op til flere sværhedsgrader (eller styrker) af din computer-styrede modstander. Programmet køres ved at udføre kommandoen gnuchess på en kommandolinje. På Figur 6-35 ser du, hvordan spillet ser ud. Som det ses er det tekstbaseret.
Nu kan det være, at du finder ovenstående tekstbaserede udseende lidt for primitivt, men det er der råd for. Programmet xboard er en grafisk frontend til GNU Chess. Ja, faktisk er xboard mere end blot en frontend til GNU Chess. Programmet kan også bruges til at spille skak over Internettet, forstået på den måde, at du kobler op mod en skak-server og finder en modstander (et virkeligt menneske) at spille imod. Kører du xboard lokalt på din egen computer, vil programmet starte GNU Chess op bag din ryg. Du ser et eksempel på xboard i Figur 6-36.![]()
De helt store producenter, Oracle, Sybase, Informix, IBM med DB2 er i gang med at teste og producere Linux versioner af deres database systemer, og flere af disse er allerede i aktiv brug. Høj ydelse kan forventes!
![]()
GNOME projektet har også et regneark, som hedder Gnumeric. Gnumeric er allerede nu klar til at blive anvendt. Gnumeric følger i dag med Red Hat og Debian som applikation under GNOME desktoppen. Nye versioner kan downloades fra http://www.gnome.org
Andre med pænere interface findes også (men kommercielle), f.eks. http://www.xess.com, som virker helt på højde med, hvad du kender fra Windows-verdenen. Hold også øje med http://www.wingz-us.com/wingz/index.html - der loves et meget spændende og professionelt regneark. Desuden indeholder ApplixWare og StarOffice også gode regneark.
![]()
Har du (for mange) penge, kan du købe Mathematica, Maple eller Matlab til Linux. Alle tre er meget gennemarbejdede og tilbyder et stabilt udviklingsmiljø med alt inden for numeriske/symbolske metoder og grafik. Grafikken er her helt i top og meget enkel at anvende.
MuPAD er måske også værd at downloade. Det er gratis - dog ikke Open Source. MuPAD kan findes på http://www.mupad.de. MuPAD er et meget avanceret matematik-program, som bl.a. kan regne symbolsk med bogstaver. På mange områder er MuPAD en mindre kendt konkurrent til Mathematica og Maple.
De gratis Matlab kloner, Scilab og Octave, er gode til numerisk manipulation af matricer og vektorer samt anden databehandling. Til præsentation af grafik er Octave baseret på GNU Plot, mens Scilab har udviklet deres egne biblioteker til at vise grafer. Disse er gratis, men ikke på højde med de kommercielle programmer.
![]()
Hvis du i Emacs indlæser en fil, der er koblet ind i CVS, vil Emacs automatisk genkende dette og indsætte en ekstra menu, hvorfra du på enkel vis kan sende tilføjelser til den fælles database (selve ændringerne skal du ikke selv styre - det klarer Emacs og CVS).
I tilfælde af indsættelse af fejlbehæftet kode i CVS kan du på et vilkårligt tidspunkt gå baglæns i revisionerne og få tidligere kode ud. Problemer med, at folk retter i samme del af koden kan enten nemt forhindres (ved at filer, man retter i, låses for andre), eller man kan bare kode løs - det er nemt at flette kode, og problemer med overlap mellem egne og andres kodeændringer vil tydeligt blive vist for brugeren.
CVS er gratis og meget nemt at anvende. Der kan læses mere om CVS på f.eks. http://www.sslug.dk/artikler/CVS.html og f.eks. i den bog i postscript-format, der findes om CVS på http://www.sslug.dk/artikler.
![]()
Alt, hvad der skal bruges af software, følger med enhver moderne Linux-distribution. Det eneste, du behøver, er en grundlæggende viden om netværk. Den finder du her sammen med henvisninger til mere udførlige forklaringer på de mere komplicerede eller specielle emner.
![]()
Efterhånden voksede ARPANET og delte sig i flere uafhængige, men indbyrdes forbundne netværk. Den stadige knopskydning og vækst omdannede efterhånden det oprindelige ARPANET til vore dages Internet. En af årsagerne til, at dette kunne lykkes, er filosofien bag TCP/IP. Målet var fra starten at skabe åbne og frit tilgængelige standarder uden tilknytning til bestemte typer hardware eller styresystemer. Sammenligningen med vore dages Open Source-koncept er både oplagt og tankevækkende.
![]()
Du kan i mange tilfælde teste tingene på din egen maskine uden at være forbundet til et eksternt netværk og dermed undgå at genere andre. Vær frem for alt ikke bange for at lege med tingene - du kan kun blive klogere af det!
![]()
Alle computerne i et netværk bør i princippet kunne komme i kontakt med hinanden. For at kommunikationen mellem alle de forbundne computere skal fungere kræves det, at alle følger et fælles sæt tekniske spilleregler - såkaldte protokoller. TCP/IP udgør i Internettets tilfælde dette sæt spilleregler.
Der er som sagt brug for, at hver computer på netværket kan kontaktes af enhver anden computer på det samme netværk. Hver maskine har mindst en netværksadresse. Det er i sagens natur nødvendigt, at alle adresserne i et netværk er forskellige - ligesom postadresser i virkelighedens verden, ellers risikerer man, at oplysningerne bliver afleveret det forkerte sted.
En adresse i et TCP/IP-netværk er ret beset bare et tal. Computere har som bekendt ingen problemer med at arbejde med endog meget store tal, men vi stakkels mennesker kan godt have brug for at få tingene præsenteret på en lidt mere fordøjelig måde. De fleste af os ville formodentlig betakke os for at skulle skrive tallet 3333866547 i vores web-browser, når vi fik lyst til at surfe hen og tage et kig på www.linux.org.
Selv om det ved første øjekast kan virke ret uoverskueligt at arbejde med netværksadresserne som tal, kan det imidlertid godt betale sig at kigge lidt nærmere på systemet - for der er faktisk system i tingene.
Du har formodentlig hørt om, at computere i virkeligheden arbejder med tallene i binær form. Det betyder simpelthen, at den kun anvender cifrene 0 og 1 til at bygge tal op af. Vi er vant til at læse og skrive tallene med det decimale system, altså med de almindelige ti cifre 0-9. Det viser sig da også, at det meget hurtigt går helt galt med overskueligheden, når man skriver tallene i binær form. Det lange - men dog stadig nogenlunde læselige tal fra eksemplet ovenfor - ser sådan her ud som binært tal:
11000110101101101100010000110011
Tallet fylder hele 32 binære cifre eller bits og er stort set umuligt at overskue for det menneskelige øje. Det hjælper dog lidt, hvis man deler de 32 bits op i fire grupper med otte i hver:
11000110 10110110 11000100 00110011
En gruppe på otte bits kaldes en byte (på datalog-dansk: "en oktet") og kan bruges til at skrive tal mellem 0 og 255. Hvis du nu i stedet for at skrive, hvad alle de 32 bits tilsammen bliver til som decimaltal (3333866547), skriver hver af de fire bytes for sig:
11000110 = 198 decimal
10110110 = 182 decimal
11000100 = 196 decimal
00110011 = 51 decimal
og adskiller de fire bytes med punktummer, kommer det til at se sådan her ud:
198.182.196.51
Denne skrivemåde, som på engelsk kaldes "dotted quad notation", er langt den mest anvendte, når man har brug for at skrive netværksadresser som tal. Du har sikkert set systemet anvendt, hvis du på et tidspunkt har oprettet en forbindelse til en internetudbyder.
Når du skriver adressen på denne måde (og ved, hvad du skal kigge efter), fremgår det pludselig klart, at:
![]()
| Værtsnavn | Adresse |
|---|---|
| alfa | 192.168.100.1 |
| beta | 192.168.100.2 |
| gamma | 192.168.100.3 |
| Værtsnavn | Adresse |
|---|---|
| svend | 192.168.200.1 |
| knud | 192.168.200.2 |
| valdemar | 192.168.200.3 |
Normalt gør man i stedet det, at man vælger en enkelt maskine, der tildeles adresser på begge netværk. I eksemplet ovenfor kunne det være computeren svend (192.168.200.1), der blev udstyret med et ekstra netværkskort og forbundet til netværket 192.168.100.0. Den kunne så passende blive tildelt værtsnummeret 4 på dette netværk og har så to adresser.
En maskine, der på den måde forbinder to netværk, kaldes en gateway. Computeren svend kan nu kontakte alle maskinerne på begge netværk direkte, og hvis vi fortæller de andre maskiner, at de skal lade henvendelser til det andet netværk gå igennem svend, kan alle i dette lille internet komme i kontakt med hinanden. Man fortæller altså, hvilken rute der skal bruges for at komme frem til en bestemt computer eller netværk, og det kaldes derfor rutning. Med det grafisk baserede program netcfg, der følger med Red Hat Linux, er det forholdsvis enkelt at konfigurere rutning.Hvis vi nu forestiller os, at alfa (192.168.100.1) er forbundet videre ud til den store verden, begynder det at blive rigtig interessant. Knud (192.168.200.2) vil gerne i kontakt med 192.168.30.1. Det er ikke en adresse på knuds eget netværk, så den sender sagen videre til svend, der konstaterer, at den heller ikke kan komme i direkte kontakt med netværket 192.168.30.0. Den overlader problemet til alfa (192.168.100.1), der enten kan komme i direkte kontakt med 192.168.30.1 eller ved, hvem den kan give sorteper videre til.
![]()
Fig. 1 +(rod) | + .com | | | + .yahoo | | | | | www | | | + .alta-vista | | | | | www | | | + .hacker | | | www | + .dk | | . + .jubii . | | . | www | + .uni-c / \ www danpost |
DNS består af et hierarki af domæner. Fig. 1 viser en lille del af DNS. Ved hver '+' sidder en navneserver, som ved alt om det givne domæne, således ved [+ .uni-c] alt om domænet uni-c.dk.
Når en pc skal finde ud af IP-adressen på www.uni-c.dk, spørger den sin lokale navneserver (Følg med på fig 2). Denne navneserver ved, hvilke navneservere der bestyrer domænet [+(rod)]. Den spørger så navneserverne for (rod): "Hvad er IP-adressen på www.uni-c.dk?". (Rod)-serverne svarer: "Det ved jeg ikke, men jeg ved hvem, der bestyrer .dk". Den lokale navneserver spørger nu .dk-serverne: "Hvad er IP-adressen på www.uni-c.dk?". .dk-serverne svarer: "Det ved jeg ikke, men jeg ved, hvem der bestyrer uni-c.dk". Den lokale nameserver spørger nu .uni-c.dk-serverne: "Hvad er IP-adressen på www.uni-c.dk?". .uni-c.dk-serverne svarer: "Adressen på www.uni-c.dk er ...". Til slut svarer den lokale navneserver PCen: "Adressen på www.uni-c.dk er ...".
Fig. 2 [PC] --> [Lokal NS] www.uni-c.dk? [Lokal NS] --> [(rod) NS] www.uni-c.dk? [Lokal NS] <-- [(rod) NS] NS for .dk er .dk-NS [Lokal NS] --> [.dk-NS] www.uni-c.dk? [Lokal NS] <-- [.dk-NS] NS for .uni-c.dk er .uni-c.dk-NS [Lokal NS] --> [.uni-c.dk-NS] www.uni-c.dk? [Lokal NS] <-- [.uni-c.dk-NS] Adressen på www.uni-c.dk er ... [PC] <-- [Lokal NS] Adressen på www.uni-c.dk er ... |
Da ovenstående procedure kan tage lang tid, bliver alle resultater cachet af din lokale navneserver. Næste gang, den bliver spurgt om www.uni-c.dk, behøver den altså ikke at kontakte alle de andre navneservere igen, men kan give svaret omgående:
[PC] --> [Lokal NS] www.uni-c.dk? [PC] <-- [Lokal NS] Adressen på www.uni-c.dk |
Resultater bliver kun cachet et vist stykke tid, kaldet TTL (Time To Live). TTL er bestemt af domænets navneservere. Med andre ord: navneserverne for .uni-c.dk bestemmer, hvor længe din lokale navneserver må gemme informationen.
Som et konkret eksempel på et DNS opslag kan vi f.eks. bede om SSLUG's IP-adresse. Til dette bruger vi kommandoen nslookup.
[daisy@linus daisy]$ nslookup www.sslug.dk Server: danpost.uni-c.dk Address: 129.142.6.64 Non-authoritative answer: Name: sslug.sslug.dk Address: 192.38.71.98 Aliases: www.sslug.dk |
Vi kan i eksemplet se, at vi beder danpost.uni-c.dk med IP-adresse 129.142.6.64 om adressen på SSLUGs webserver. SSLUG har IP-adressen 192.38.71.98, og maskinen er åbenbart også kendt som sslug.sslug.dk. Svaret er "Non-authoritative", idet danpost-DNS serveren ikke er herre over sslug-domænet, men har fået informationen fra en anden navneserver.
DNS indeholder også andre informationer end IP-adresser. I DNS-sprog sætter man et punktum bag navnene for at angive, at disse er absolutte. Normalt kan man dog ignorere det sidste punktum.
DNS er baseret på filer. Disse filer indeholder zone-data. I mange tilfælde indeholder hver fil/zone ét domæne, i det følgende kan man derfor blot betragte "zone" som et synonym for "domæne".
Nameserverne for en zone listes ved:
[daisy@linus daisy]$ host -t ns sslug.dk sslug.dk name server ns-soa.darenet.dk sslug.dk name server ns.sslug.dk sslug.dk name server ptah.dkuug.dk |
For at finde mailserverne for et domæne skal man kende en af navneserverne for domænet. Derefter spørger man denne navneserver:
[daisy@linus daisy]$ host -t mx domæne.dk navneserver.for.domæne.dk |
Den ansvarlige administrator for en zone findes i zonens SOA-record (Start Of Authority). SOA-recorden findes med:
[daisy@linus daisy]$ host -t soa domæne.dk navneserver.for.domæne.dk |
Nogle navne er blot et alias for et andet navn: de har et kanonisk navn (eng: "canonical name"). Dette kan ses ved at spørge navneserveren for domænet om alt, hvad den ved om et givent navn:
[daisy@linus daisy]$ host -t any dette.navn.domæne.dk nameserver.for.domæne.dk |
Til nogle domæner er knyttet tekst-information. Denne kan kaldes frem med:
[daisy@linus daisy]$ host -t txt navn.med.info.domæne.dk |
Da DNS ikke er helt simpelt at sætte op korrekt, kan de ovenstående eksempler bruges, hvis du skal debugge din egen DNS. De kan også bruges til at finde ud af, hvorfor netværksfejl opstår eller til at finde en ansvarlig for et domæne, som man har modtaget reklame-emails fra.
I forbindelse med installationen af Red Hat Linux (eller senere) kan du vælge pakken "caching-nameserver". Pakken foretager en simpel opsætning af navneserveren bind. Fra starten kender den ikke selv svaret på navneopslag, men sender blot spørgsmålet videre og husker svaret (som beskrevet ovenfor). Den glemmer desværre alt, hvad den har lært, når maskinen lukkes ned, så du får mest glæde af en caching navneserver, hvis den kører på en maskine, der er i gang altid - f.eks. en server på et lille lokalnetværk. Den kan selvfølgelig sagtens bruges som navneserver for Windows pc'er på netværket.
Hvis du vil bruge Linux på en server i et mindre netværk, kan du have glæde af at lade den fungere som navneserver for et lokalt domæne. Opsætningen af dette er ikke det første Linux-eksperiment, du skal starte med, så eventuelle interesserede henvises til den detaljerede beskrivelse i DNS-HOWTO (under Red Hat, se /usr/doc/HOWTO/DNS-HOWTO).
![]()
Langt den mest almindelige måde at gøre det på i Linux er ved hjælp af PPP, Point-to-Point Protocol. PPP tilbyder en hel del flere faciliteter og mere fleksibilitet, end vi her vil komme ind på. Vi vil nøjes med at beskrive den typiske og helt basale opsætning, der vil sætte dig i stand til at få en TCP/IP-forbindelse til din internetudbyder op at køre.
Hvis du får brug for at sætte en server op til at modtage PPP-opkald, eller hvis du har problemer med at få PPP til at fungere mellem Linux og Windows NT eller har andre specielle behov, skulle du overveje at tage et kig på følgende bog, der går ganske grundigt til værks inden for sit emne:
Andrew Sun: Using & Managing PPP, O'Reilly & Associates, Inc., ISBN 1-56592-321-9, 430 sider.
![]()
Du skal være root for at kunne sætte din internet forbindelse op, så skriv su i en xterm, og gør følgende:
Start med at finde ud af, hvor dit modem sidder. COM1 i DOS/Windows svarer til /dev/ttyS0 i Linux. COM2 svarer til /dev/ttyS1 osv. Som root skal du lave en modem device, som er et symbolsk link til den rette seriel port. Hvis du anvender COM2, skal du skrive:
[daisy@linus /root]# ln -sf /dev/ttyS1 /dev/modem |
Check lige, at linket er rigtigt.
[daisy@linus /root]# ls -al /dev/modem lrwxrwxrwx 1 root root 5 Sep 5 04:37 /dev/modem -> /dev/ttyS1 |
Skriv netcfg i en xterm, og følgende panel kommer frem. (Du kunne også finde netcfg via control-panel.)
Bemærk, at vi lader vores maskine have et fiktivt domæne akela.dk, som ingen kender, og maskinen kalder vi www. Alt kan bruges, bare det ikke lapper over et registreret domæne. De to IP-adresser på nameservere har vi fået fra vores internetudbyder. Alt mellem en og tre nameservere er fint. Har du brug for at sætte din Linux-maskine ind i et lokalt netværk, skal du kontakte den ansvarlige for netværket og få adresse samt et registreret maskinnavn.Trykker vi på Hosts, får vi følgende frem:
Vor egen IP-adresse er valgt til 192.168.0.1 for ikke at matche en på internettet. Alle 192.168.*.* og 172.17.*.* adresser er ukendte på internettet (* står for et tal mellem 0 og 255). Desuden har vi skrevet IP-adresse på den maskine, vi henter mails fra - dette er ikke nødvendigt, men bekvemt (eksemplet svarer til TeleDanmarks internet).Under routing har vi ikke konfigureret noget specielt.
Trykker vi på Interfaces, får vi følgende vindue frem.
Vi har allerede lavet et PPP-interface og har desuden på vores maskine et ethernet kort til vores private netværk (eth0). Vi har desuden en såkaldt loopback device (lo skal være der). Nu vises, hvordan du tilføjer en ekstra PPP-opkobling (f.eks. til en anden Internet udbyder).Tryk på Add, og vælg PPP, som er den mest udbredte opkoblingsform hos internetudbydere. Tryk derefter på OK.
Næste vindue kommer frem, og du skriver, hvilket telefonnummer der skal ringes op til.Dit PPP login er dit kundenummer eller brugernavn. PPP password er den adgangskode, som din internetudbyder har givet dig. Da PPP med PAP er anvendt af mange internetudbydere, skal du nok vælge "Use PAP authentification" knappen (du må kontakte din internetudbyder for at høre, hvad du skal). Det kan lige tilføjes, at det viste loginnavn og adgangskode kun er et eksempel på, hvordan det kan se ud. Du kan undre dig over, at der er tre "skudhuller" i det næste billede - det er naturligvis snyd fra vores side og bare en sød måde, at huske dig på at dit password aldrig er noget du skal vise andre.
Tryk på Done, og du vender tilbage til vinduet med Network Configurator under Interfaces. Her kan du trykke på det PPP-interface, som du lige har oprettet. Vælg derefter Edit. Her tillader vi, at "Allow any user to (de)activate interface". De fleste moderne modems kan fødes med op til 115200 bits/sekund og køre med hardware flow - er det ikke tilfældet for dit modem, vælg anderledes her. Nu vælger du passende Done og Save, og arbejdet som brugeren root stoppes (skriv exit, eller tryk Ctrl-D i den xterm, du startede med).Nu er PPP konfigureret, og det skal prøves. Som bruger kan du nu skrive usernet, og følgende panel kommer frem:
Du trykker simpelthen på knappen ppp1 (eller ppp0 for den første PPP) for at starte. Fra begyndelsen er interfacet (her begge to) røde. Når du så kobler op, skiftes til gul og så til grøn, når du er på. Her er vist, at ppp1 er aktiv. Når du vil afslutte og lukke forbindelsen, så tryk igen på knappen, og efter et par sekunder stoppes modemet.Når du har hul igennem til Internettet, kan du jo passende prøve http://www.sslug.dk - dvs. SSLUG's hjemmeside.
Som supplement (eller alternativ) til det grafiske usernet interface findes også tekst-mode kommandoer:
[daisy@linus daisy]$ /usr/sbin/usernetctl PPP-DEVICE ACTION |
Hvor PPP-DEVICE er den ppp-enhed, du netop har konfigureret (normalt ppp0), og ACTION er up eller down afhængigt af, om du vil åbne eller lukke forbindelsen.
I virkeligheden er netcfg blot en behagelig og overskuelig måde at redigere det sæt tekstfiler, der bestemmer, hvordan pppd opfører sig. Disse filer ligger i /etc/ppp.
Vi kan i øvrigt anbefale, at du læser http://www.sslug.dk/artikler/ppp-info.html, hvis du har problemer med at få din modem-opkobling til at virke.
![]()
Der er rige muligheder for at finindstille diald, så programmet opfører sig præcis, som du ønsker det. Vi vil nøjes med at gøre opmærksom på dets eksistens og i øvrigt henvise til de glimrende manual-sider om emnet.
Læs mere om diald på http://www.loonie.net/~eschenk/diald.html
![]()
Langt de fleste Ethernet-kort fungerer upåklageligt under Linux. De fleste billige kort er kloner af Novells NE2000 og fungerer glimrende sammen med driveren til det kort.
Installerede Ethernet-kort hedder i Linux eth0, eth1, eth2 etc. Normalt vil du kun have et enkelt kort, der så naturligvis hedder eth0.
Netværkskort kan konfigureres i forbindelse med installationen eller senere ved hjælp af programmet netcfg. De parametre, som optræder på billedet, skal du have af din netværksansvarlige.
Bruger du Red Hat Linux 6.0 på en bærbar, hvor dit ethernet-kort er et PCMCIA-kort, skal du være opmærksom på, at du kan blive ramt af en lille fejl i Red Hat's opsætning alt efter, hvordan du vælger under installationen. Sagen er, at netværket forsøges initialiseret før PCMCIA-kortene. Det betyder, at computeren forsøger at komme på nettet, før ethernet-kortets driver er indlæst! Hvis du har denne fejl, så er den let at rette (skal gøres som root):[root@linus root]# cd /etc/rc.d/rc3.d [root@linus rc3.d]# mv S96pcmcia S09pcmcia |
Sagen er, at de programmer som ligger i /etc/rc.d/rc3.d (runlevel 3 er det, som oftest anvendes), vil blive udført i rækkefølge, hvor filer med S udføres under opstart med laveste nummer først. Tilsvarende udføres K filerne i samme katalog når der lukkes ned. Hvis et program er udført for sent, såsom det nævnte, så kan vi få det udført tidligere ved at sætte S-nummeret ned.
En anden fejl, som du kan være rendt ind i med Red Hat 6.0, er, at din loopback device ikke er sat ordentligt op. Loopback er en smart netværksdevice, som sikrer lynhurtig kommunikation fra egen maskine til egen maskine. Du bør checke, om /etc/sysconfig/network-scripts/ifcfg-lo indeholder følgende:
DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 BROADCAST=127.255.255.255 ONBOOT=yes BOOTPROTO=none |
![]()
ping bør altid være det første program, du bruger til at diagnosticere et netværksproblem. Hvis det lykkes at pinge til en adresse, ved du, at den fysiske forbindelse er i orden, og de basale dele af netværket fungerer.
ping køres sådan her:
[daisy@linus daisy]$ ping -c 4 www.linux.org |
Ved at skrive "-c 4" beder vi ping om at nøjes med at sende fire pakker, ellers bliver den ved, indtil vi stopper den med Ctrl-c.
ping svarer tilbage:
PING www.linux.org (198.182.196.51): 56 data bytes 64 bytes from 198.182.196.51: icmp_seq=0 ttl=42 time=479.3 ms 64 bytes from 198.182.196.51: icmp_seq=1 ttl=42 time=710.0 ms 64 bytes from 198.182.196.51: icmp_seq=1 ttl=41 time=730.0 ms 64 bytes from 198.182.196.51: icmp_seq=2 ttl=42 time=600.0 ms 64 bytes from 198.182.196.51: icmp_seq=3 ttl=42 time=370.0 ms --- www.linux.org ping statistics --- 4 packets transmitted, 4 packets received, +1 duplicates, 0% packet loss round-trip min/avg/max = 370.0/577.8/730.0 ms |
Vi kan først og fremmest se, at vi kan komme igennem til www.linux.org, som har adressen 198.182.196.51, og at alt, hvad vi sendte, kom tilbage igen, ja faktisk kom en af de fire pakker tilbage to gange! Hele turen frem og tilbage tog i gennemsnit 577,8 millisekunder - altså lidt over et halvt sekund.
![]()
Ved normal brug startes telnet simpelthen med navnet på den computer, du ønsker en forbindelse til - i nedenstående eksempel gonzo. Når forbindelsen er oprettet, vil du blive præsenteret for en login: prompt, og du kan nu arbejde videre, som om du sad ved den anden maskine.
[daisy@linus daisy]$ telnet gonzo Trying 192.168.100.5... Connected to gonzo.codehell.lokal. Escape character is '^]'. Red Hat Linux release 6.0 (Hedwig) Kernel 2.2.5 on an i586 login: |
Når du ikke længere har brug for telnet-forbindelsen, afbryder du den med exit, og du er så tilbage på din egen maskine.
Hvis du angiver en port, der er bundet til en anden protokol, kan du også have glæde af telnet til fejlfinding og testbrug. I en snæver vending kan du bruge telnet til at hente post hos din internetudbyder!
For at beskytte din installation er standardinstallationen lavet, så root ikke kan logge ind remote med telnet og ftp. Det er gjort for, at man ikke helt så nemt kan få adgang til root's password. Hvis du har maskinen på et usikkert net - f.eks. Internettet bør du ikke ændre på dette. I stedet kan du bruge krypteret netkommunikation - f.eks. med Secure Shell. Har du et lukket net og mener, at du ikke gider at gå ind som almindelig bruger og derefter lave su - root, kan du godt få lov til at bruge telnet og ftp som root udefra. Filerne /etc/securetty og /etc/ftpusers kan rettes eller direkte slettes, så kan root logge ind udefra.
![]()
Hvis du skal bruge en fil fra sunsite.auc.dk, skriver du sådan her:
[daisy@linus daisy]$ ftp sunsite.auc.dk |
Når forbindelsen er klar, spørger computeren om brugernavn og adgangskode. Du kan logge på som 'anonymous' og give din email-adresse som adgangskode. Bemærk, at email-adressen ikke er synlig, når den tastes ind.
Connected to sunsite.auc.dk. 220 sunsite.auc.dk FTP server (NcFTPd 2.2.2) ready. Name (sunsite.auc.dk:daisy): anonymous 331 Guest login ok, send your complete e-mail address as password. Password: 230-You are user #57 of 300 simultaneous users allowed. 230- 230- Welcome to SunSITE Denmark 230- ========================== 230- 230-SunSITE Denmark is located at Aalborg University, Institute of 230-Electronic Systems, Denmark, and is running on a SPARCserver 1000 with 230-4 CPUs, 416 MB Memory and approximately 110 GB storage. 230- [lang velkomsthilsen klippet ud] 230- 230 Logged in anonymously. Remote system type is UNIX. Using binary mode to transfer files. |
Så står du ved en ftp> prompt, hvor du kan bevæge dig rundt i bibliotekerne med cd og se indholdet med ls - ganske som med en almindelig kommandolinje.
ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. d--x--x--x 2 ftpuser ftpusers 1024 Oct 31 1997 bin dr-xr-xr-x 2 ftpuser ftpusers 1024 Jul 1 1997 dev drwxrwxr-x 60 ftpuser ftpusers 8192 Oct 10 16:23 disk1 drwxrwxr-x 9 ftpuser ftpusers 2048 Oct 10 15:45 disk2 drwxr-xr-x 3 ftpuser ftpusers 96 Jun 2 17:02 disk3 drwxr-xr-x 4 ftpuser ftpusers 96 Sep 1 09:15 disk4 dr-xr-xr-x 2 ftpuser ftpusers 1024 Oct 31 1997 etc drwxrwx-wx 2 ftpuser ftpusers 1024 Oct 14 08:28 incoming drwxr-xr-x 13 ftpuser ftpusers 1024 Jun 3 12:58 local -rw-r--r-- 1 ftpuser ftpusers 5748797 Oct 14 00:04 ls-lR.gz drwxrwxr-x 2 ftpuser ftpusers 2048 Oct 10 18:12 mirrors drwxr-xr-x 2 ftpuser ftpusers 96 Jul 1 1997 packages dr-xr-xr-x 18 ftpuser ftpusers 1024 Jul 16 12:03 pub d--x--x--x 4 ftpuser ftpusers 96 Jul 1 1997 usr -rw-r--r-- 1 ftpuser ftpusers 931 Jul 3 08:33 welcome.msg 226 Listing completed. |
Hvis du nu ved hjælp af cd navigerer ned i /pub/os/linux/Red Hat og kører ls, vil du se, at der ligger en fil ved navn README, som du gerne vil hente hjem på din egen maskine.
Nu er filen ikke særlig stor, så den er hentet ned på et øjeblik. Hvis du henter større ting, er det som regel rart at kunne se, om der er "flow" i overførslen. Med kommandoen hash kan du få skrevet et #-tegn ("hash mark"), hver gang en blok er blevet overført.
ftp> hash Hash mark printing on (1024 bytes/hash mark). |
Så henter du filen:
ftp> get README local: README remote: README 200 PORT command successful. 150 Opening BINARY mode data connection for README (1155 bytes). # 226 Transfer completed. 1155 bytes received in 0.227 secs (5 Kbytes/sec) |
README er en ganske lille fil, så det vil kun blive til et enkelt #-tegn. Læg i øvrigt mærke til, at den er overført som binær fil (BINARY) i modsætning til ASCII. Hvis du bruger ASCII til overførslen, vil ftp konvertere linjeskift i tekstfiler til det korrekte format for den maskine, der modtager filen. Det er udmærket til tekstfiler, men kan smadre f.eks. grafik og komprimerede filer fuldstændigt. Til at skifte mellem binær og ascii bruges ftp-kommandoerne bin og ascii.
Nu er du færdig med at hente, hvad du skal bruge, og du logger ud igen med kommandoen quit. Så er du tilbage på kommandolinjen på din egen maskine.
Hvis du har brug for at tilbyde anonymt ftp på din Linuxmaskine, kan du i Red Hat Linux installere pakken "anonftp". Pakken foretager hele opsætningen for dig. Filer, der skal kunne hentes via anonym ftp, lægges så blot i /home/ftp/pub.
Alt det ovenstående handler om anonymt ftp. Hvis du er oprettet som bruger på den maskine, du skal i kontakt med, kan du logge på med dit rigtige brugernavn og adgangskode. På den måde får du så rettigheder til at hente og sende filer i forhold til, hvad du er blevet tildelt af administratoren.
![]()
Netscape er programmet til at hente HTML-sider, billeder, lyd, film og tekst via Internettet. Netscape er forholdvist nem at gå til.
Kan du undvære grafik, bør du kende lynx, som er en tekstbaseret webbrowser, som faktisk er ret anvendelig - pånær ved klikbare billeder. Grafik hentes kun (til disk), hvis dette vælges. Lynx er smart, hvis du har en langsom netforbindelse, eller hvis du vil lave applikationer, som automatisk skal kunne hente HTML eller billeder.![]()
[daisy@linus daisy]$ wget -r http://www.sslug.dk |
![]()
[daisy@linus daisy]$ mail BRUGERNAVN@MASKINE.DOMÆNE help |
Senere er ELM (elm) kommet med lidt flere muligheder, men ELM bliver ikke videreudviklet mere.
Til tekstbaseret læsning og skrivning af emails er der to gode valg. Mutt (mutt) er hurtig og har mange funktioner. Alternativt er Pine værd at se på (pine). Mailfoldere, en lille og god indbygget teksteditor (pico), søgemuligheder, mulighed for at se HTML-formatterede emails og et utal af konfigurationsmuligheder gør Pine til et hit. Det skal dog også nævnes, at Netscape har indbygget email håndtering, som foretrækkes af mange. Det er grafisk og ret enkelt at bruge.
![]()
poll mail.fiktiv.dk proto POP3 user daisy pass McMombo |
De første gange, du kører fetchmail, vil du som regel gerne se, om tingene går, som de skal, når posten hentes. Hvis fetchmail køres med parameteren -v, skriver den, hvad der foregår undervejs.
Hvis du er til grafisk baserede konfigurationsværktøjer, kan du redigere din .fetchmailrc ved hjælp af programmet fetchmailconf.
![]()
Hvis du kun har en modemforbindelse til Internet, kan du lade Linuxserveren sende og hente post for alle brugere på et lokalt netværk. fetchmail (se ovenfor) er ret nemt at sætte op til at hente post til flere forskellige brugere på samme tid hos internetudbydere.
Udgående post håndteres af programmet sendmail. Hvis sendmail skal acceptere at videresende udgående email fra andre maskiner på et lokalnet, er det nødvendigt at angive dette i filen /etc/mail/ip_allow, ellers vil forsøg på at bruge Linux-maskinen som SMTP-server blive afvist med beskeden "We do not relay".
I /etc/mail/ip_allow skriver du adresser på enkelte maskiner eller netværk, som må bruge Linuxmaskinen som udgående postserver. Hvis for eksempel alle maskiner på netværket 192.168.100.0 skal accepteres, skal indholdet af /etc/mail/ip_allow være dette:
192.168.100 |
Hvis post kun skal accepteres fra nogle af maskinerne på netværket, skrives adresserne på de enkelte godkendte maskiner.
At tilpasse sendmail's opsætning er i øvrigt et emne, der kan fremkalde nervøse trækninger og koldsved hos store voksne systemadministratorer. Red Hat Linux sætter sendmail ganske fornuftigt op fra starten, så med mindre du er meget videbegærlig eller masochistisk anlagt, vil vi foreslå dig at glemme alt om opsætning af sendmail, indtil det er absolut nødvendigt.
![]()
Lidt mere smart er xmailbox og coolmail, der begge viser en amerikansk postkasse, som viser, at der er post med lyd og et flag, der hejses.
![]()
![]()
# /etc/exports - NFS export of /home /home beta.domænenavn.dk(rw) |
Derefter skal du genstarte nfs-serveren ved at skrive
/etc/rc.d/init.d/nfs
restart, og som root på beta-maskinen kan du nu nemt få
data fra alfa-maskinen.
[root@beta /root]# mount -t nfs alfa:/home /home |
Skal alfa være permanent filserver for beta (og andre), bør du på beta-maskinen se mere på programmet autofs, der kan tilkoble en disk over netværket, når der er behov for det. Efter et stykke tid uden aktivitet, vil disken afmonteres fra netværket. Dette er der et kort afsnit om i afsnit 5.1.4. Det giver et mere stabilt netværk.
![]()
SAMBA er Open Source Software og kan dermed erhverves gratis. I Danmark kan SAMBA bedst downloades fra http://sunsite.auc.dk/samba/samba.html, ellers fra http://www.samba.org.
Med SAMBA installeret får man stort set samme muligheder, som hvis man investerer i en langt dyrere og meget mere hardwarekrævende NT licens eller en OS/2 Lan Manager. Det, SAMBA først og fremmest kan tilbyde, er at fungere som fil- og printerserver. Derudover kan SAMBA også fungere som domain controller for Windows 95/98 klienter. Fuld domain control for Windows NT domæner findes i version 2.0.
Med SAMBA installeret (og ikke mindst konfigureret) vil serveren kunne ses, hvis man klikker på "network neighbourhood" (på dansk: "andre computere") eller på samme netværk i Windows 95/98/NT.
Den letteste måde at installere/opgradere SAMBA på er ved at bruge en prækompileret pakke. Sådanne pakker kan hentes på http://sunsite.auc.dk/samba/ftp/Binary_Packages/, og de findes til flere forskellige Linux-distributioner, bl.a. Red Hat, Caldera, Debian, Slackware og SuSE. Hvis man holder af at kompilere sin kildetekst selv, kan den hentes her: ftp://sunsite.auc.dk/pub/unix/networking/samba. Vi vil dog meget anbefale at bruge en prækompileret pakke, og vi vil i eksemplet gå ud fra, at du har Red Hat installeret. Når du har hentet rpm-pakken, skriver du bare:
[root@linus /root]# rpm -ivh samba-2.0.3-8.i386.rpm |
Når du har fået installeret SAMBA serveren, skal du have den konfigureret. Dette gøres ved at rette i filen /etc/smb.conf. Denne fil kan virke meget skræmmende, da der er vel omkring 80 parametre, man kan sætte. Det skal du dog af to grunde ikke lade dig gå på af: For det første har de fleste parametre udmærkede default værdier, så dem behøver man slet ikke at bekymre sig om. For det andet bliver der installeret en udmærket default /etc/smb.conf, som virker uden de store ændringer. Denne default smb.conf er desuden meget velkommenteret, hvilket yderligere letter tilpasning. Her er et eksempel på en lille /etc/smb.conf fil, der ud over at sætte SAMBA op som fil- og printerserver også konfigurerer SAMBA som domain controller.
[global] workgroup = hjemme printing = bsd printcap name = /etc/printcap load printers = yes log file = /var/log/samba-log.%m short preserve case = yes preserve case = yes lock directory = /var/lock/samba locking = yes strict locking = yes security = user socket options = TCP_NODELAY domain master = yes domain logons = yes [homes] comment = Home Directories read only = no create mode = 0750 [deskjet870cxi] comment = All Printers path = /var/spool/samba browseable = yes printable = yes ; Set public = yes to allow user 'guest account' to print public = no writable = no create mode = 0700 |
![]()
Hvorvidt man vælger at bruge krypterede passwords eller ej, er op til den enkelte at afgøre, da der er både fordele og ulemper.
Fordele ved krypterede passwords:
![]()
encrypt passwords = yes |
Dernæst skal du lave en ny password fil til brug for SAMBA alene.
Der findes et shell script, der kan generere en SAMBA password fil ud fra
den eksisterende UNIX password fil. Det gør du med følgende
kommando:
[daisy@linus daisy]$ cat /etc/passwd | mksmbpasswd.sh >/etc/smbpasswd |
I SuSE 6.2 er smbpasswd.sh placeret i kataloget /usr/sbin, og biblioteksplaceringen skal med i kommandoen. Desuden har filen i den distribution ikke rettigheder til at kunne eksekveres, hvilken du således skal tildeles, før kommandoen udføres.
Kommandoen opretter filen til de krypterede passwords, men den opretter ikke selve de krypterede passwords. Uanset om du vælger, at brugerne skal have samme SAMBA-passwords, som de er tildelt som brugere i dit Linux-system, skal du alligevel bagefter tildele dem krypterede SAMBA-passwords ved hjælp af kommandoen smbpasswd.
Selv hvis du med linjen null passwords = yes i /etc/smb.conf under global-sektion har tilladt, at SAMBA-password'et er blankt, skal du alligevel oprette et "blankt" password med smbpasswd-kommandoen.
Du bør bruge samba-1.9.18p10 eller senere, da kryptering er slået til som default - dette gælder i hvert fald for Red Hat. Bruger du andre distributioner, bør du checke, hvordan SAMBA er konfigureret. Hvis du gerne vil oversætte din egen software, skal du anvende linkerflaget -lcrypt til LIBSM. Til sidst kan vi også nævne værktøjet "swat" som gør at du kan konfigurere SAMBA via en vilkårlig web-browser.
![]()
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP] "EnablePlainTextPassword"=dword:00000001 |
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters] "EnablePlainTextPassword"=dword:00000001 |
Ud over man-siderne og dokumentationen, der installeres i /usr/doc, findes der en bog om SAMBA. Den er ikke blændende godt redigeret hele vejen igennem, men er ualmindelig rar at have stående som opslagsværk, hvis du administrerer en server med SAMBA. Sidst i bogen er der et rigtig godt kapitel om fejlfinding.
John D. Blair: SAMBA: Integrating UNIX and Windows, Specialized Systems Consultants, Inc., ISBN: 1-57831-006-7, 290 sider + CDROM
![]()
Hvis du har oplysninger, du vil dele med andre på et lokalnetværk, er Apache også alle tiders mulighed. Som et eksempel fra den virkelige verden kan det nævnes, at mange har Apache kørende på en Linux-maskine på deres arbejde, hvor kolleger ved hjælp af en browser kan se, hvordan nattens backup er forløbet, hvor meget diskplads der er tilbage på de forskellige maskiner på netværket, og slå op i en database med løbende opdaterede tekniske oplysninger, referater af møder og en masse andre ting.
Vi har her ikke mulighed for meget mere end blot at gøre opmærksom på eksistensen af Apache. Men hvis du valgte Apache, da du installerede Red Hat, eller hvis du senere har installeret pakken, kan du jo prøve at starte en webbrowser og se på http://localhost/
Hvis tingene fungerer, som de skal, får du lov at se på /home/httpd/index.html, som du så kan lege videre med. Apaches opførsel styres i det væsentligste ved hjælp af filen /etc/httpd/conf/httpd.conf.
Det vil føre for vidt at komme nærmere ind på, hvordan Apache administreres for slet ikke at tale om at arbejde med HTML og CGI. Hvis du er interesseret i emnet, er der nok af bøger at vælge imellem. En udmærket af slagsen er:
Ben Laurie & Peter Laurie: Apache: The Definitive Guide, O'Reilly & Associates, Inc., ISBN: 1-56592-250-6, 246 sider + CDROM
Et godt alternativ til Apache er Roxen, som er lavet i Sverige. Roxen har et veludviklet makrosprog, hvilket gør det let at lave multi-sprog understøttelse på web-siderne. Roxen udmærker sig også ved at kunne konfigureres direkte via Internettet. Roxen kan downloades fra http://www.roxen.com.
![]()
Emnet er meget vanskeligt, idet de kriminelle ofte ved uhyre meget om netværk og sikkerhedsfejl. Der er dog et par generelle kommentarer, som bør følges nøje, hvis din maskine skal stå på et usikkert netværk.
![]()
![]()
![]()
Det første eksempel på et shell-script bør være "Hello World", som skriver en tekst på skærmen.
#!/bin/sh echo "Hello World" |
Dette gemmes under navnet HelloWorld eller lignende, og derefter gøres filen eksekverbar med chmod +x HelloWorld. Du kan nu teste eksemplet ved at skrive HelloWorld på en kommando linje (f.eks. i en xterm).
Et eksempel kunne være, at du fandt ud af, at du ofte havde brug for en nem metode til at tage en hurtig kopi af tekstfilerne i arbejdskataloget.
#!/bin/sh echo "Starter backup..." mkdir backup cp *.txt backup echo "Backup slut" |
Gem denne tekst i en fil med navnet bu (for "back up"), og gør den eksekverbar med kommandoen chmod +x bu. Nu kan du køre bu fra kommandolinjen:
$ ./bu Starter backup... Backup slut |
Første linje i scriptet er egentlig en kommentar, men giver samtidig systemet besked om, at dette er et shell-script og ikke f.eks. et perl-script.
Hvis du er lidt forsigtig anlagt og gerne vil undgå at komme til at overskrive en eksisterende backup, kan du udvide scriptet en smule:
#!/bin/sh echo "Starter backup..." mkdir backup if [ $? -eq 0 ] then echo "kataloget ./backup oprettet..." else echo "kataloget ./backup kunne IKKE oprettes" echo "bu afsluttes" exit 1 fi cp -v *.txt backup echo "bu slut" |
I linje 4 i scriptet støder vi på en såkaldt shell-variabel, nemlig $?, der betyder "resultatet af sidst udførte kommando". Her bruges den til at vise, om mkdir lykkedes eller ej. I dette eksempel går vi enfoldigt ud fra, at hvis kommandoen mkdir backup ikke lykkedes, er det, fordi kataloget backup eksisterer i forvejen.
Hvis vi så finder ud af, at vi af og til har brug for at overskrive en backup, kan vi ændre vores script en smule, så vi ved at tilføje -O på kommandolinjen kan få den til at være ligeglad med, om kataloget findes i forvejen:
#!/bin/sh echo "Starter backup..." mkdir backup if [ $? -eq 0 ] then echo "kataloget ./backup oprettet..." else echo "kataloget ./backup kunne IKKE oprettes" OVERWRITE="-O" if [ $# -eq 1 ] then if [ $1 != $OVERWRITE ] then echo "bu afsluttes" exit 1 else echo "der overskrives..." fi else echo "bu afsluttes" exit 1 fi fi cp -v *.txt backup echo "bu slut" |
Du kan faktisk nå temmelig langt ved hjælp af shell-scripts, men det kan hurtigt blive lidt kryptisk at læse. Kunsten er nok i virkeligheden at stoppe, mens legen er god, og vælge et "rigtigt" programmeringssprog, når opgaven kræver det. Alligevel bør du lære at skrive shell-scripts, dels for at lave dine egne små praktiske løsninger på dagligdagens problemer, dels for at kunne forstå andres scripts.
![]()
GNU C/C++ er en af de allerbedste oversættere på markedet i dag. I modsætning til Windows-verdenen er oversætteren ikke indkapslet i en grafisk brugergrænseflade. Det giver større frihed for den enkelte til at sammensætte et personligt udviklingsmiljø - enten grafisk eller tekstbaseret. Med lidt tilvænning er det også hurtigt at anvende, specielt hvis der skal oversættes meget kode per gang. Der er også den store fordel, at det er standard inden for UNIX-verdenen, hvorfor kode og kompileringsfiler (makefiles) uden problemer kan flyttes, oversættes og eksekveres på andre typer af UNIX-systemer.
![]()
#include <stdio.h>
int main(void)
{
printf("Linux er sjovt\n");
return 0;
} |
I kataloget, hvor filen er gemt, kan programmet nu oversættes ved at skrive
[daisy@linus daisy]$ gcc -o hello hello.c |
C-oversætteren hedder gcc. Den skal her lave en eksekverbar fil med navnet hello, og den skal oversætte og linke ud fra kildeteksten i hello.c.
Det oversatte C-program hello køres ved at skrive navnet i en xterm. For dem, som har C-erfaring, kommer der et par tips nu. En lille sjov ordre er at skrive
[daisy@linus daisy]$ nm hello |
[daisy@linus daisy]$ ldd hello libc.so.6 => /lib/libc.so.6 (0x40003000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000) |
At den eksterne funktion printf rent faktisk kommer fra libc, kan ses ved at skrive
[daisy@linus daisy]$ nm /lib/libc.so.6 | grep "printf" |
Det var lidt om dynamisk link. Ideen er, at programmet kun indeholder de nødvendige dele. Under udførelsen af programmet bruges nogle af de nævnte eksterne biblioteker. Koden kan også oversættes med alle eksterne funktioner - linket statisk ind.
[daisy@linus daisy]$ gcc -o hello hello.c -static |
Bemærk ændringen i filstørrelsen (fra ca. 4 kbytes til over 400 kbytes). Nu vil ldd hello vise, at der ikke er eksterne biblioteker nødvendige for at køre programmet. Nu tilbage til lidt mere simple eksempler.
![]()
#include <iostream.h>
void read2(int&,int&);
void writeMax(int);
int main()
{
int val1,val2,maxVal;
read2(val1,val2);
maxVal = (val1>val2)?val1:val2;
writeMax(maxVal);
return 0;
}
void read2(int& v1,int& v2)
{
cout << "Indtast to heltal ";
cin >> v1 >> v2;
}
void writeMax(int val)
{
cout << val
<< " er det største tal\n";
} |
Oversættelse kan ske med en såkaldt makefile, men her sker det ved direkte at kalde oversætteren.
[daisy@linus daisy]$ g++ eks1.c++ -o eks1 |
[daisy@linus daisy]$ echo "g++ $1.c++ -g -lm -o $1" > mycompile |
[daisy@linus daisy]$ chmod a+x mycompile |
[daisy@linus daisy]$ mycompile FILNAVN |
Det antages, at kildefilen hedder FILNAVN.c++, og den eksekverbare fil kommer til at hedde FILNAVN.
![]()
Følgende fil kan gemmes som ceks2.c.
#include <stdio.h>
#include <math.h>
float v1,v2,retval;
float max(float,float);
int main(void)
{
v1=sin(2.34);
v2=tan(4.4);
retval=max(v1,v2);
printf("Af %f og %f er %f stoerst\n",v1,v2,retval);
return 0;
} |
Følgende fil kan gemmes som cfkt.c.
float max(float f1,float f2)
{
float f3;
if (f1>f2)
f3=f1;
else
f3=f2;
return f3;
} |
Koden kan oversættes ved hjælp af GNU C-oversætteren gcc. Brug man gcc for at få hjælp de mange muligheder.
[daisy@linus daisy]$ gcc -o ceks2 ceks2.c cfkt.c -lm |
En langt mere elegant metode er at lave en makefile. Herefter skrives blot make, og C-oversætteren vil kun oversætte de filer, der er nye i forhold til objektfilerne. Makefiles kan også anvendes til at styre oversættelse generelt såsom af LaTeX-kode. En makefile (med navnet Makefile) kunne være følgende.
# Makefile til GNU C-oversætteren - dette er en kommentar # I dette eksempel oversættes to filer. # ceks2.c og cfkt.c oversættes til exefilen ceks2 # Navn paa oversaetter = gcc CC = gcc # Navn paa eksekverbar fil OUTPUT = ceks2 # Kilde fil navne sources = ceks2.c \ cfkt.c # Automatisk navngivning af objektfiler, hvor .c bliver til .o OBJS = $(sources:.c=.o) # Compilerflag: Maximal optimering -O2 og debug information -g CFLAGS = -O2 -g #Linkerflag: Inkluderer math-bibliotek med -lm !!!! LDFLAGS = -lm # Foelgende linje checker om en .o fil er nyere end den eksekverbare fil. Hvis # dette er tilfaeldet, linkes disse. Dvs. kun nye elementer oversættes. $(OUTPUT): $(OBJS) $(CC) $(CFLAGS) -o $(OUTPUT) $(OBJS) $(LDFLAGS) |
Bemærk, at der skal stå en tabulator foran de linjer, der skal eksekveres, såsom den sidste. Der må ikke anvendes mellemrum.
Når makefilen er skrevet, kan programmet oversættes ved at skrive
[daisy@linus daisy]$ make |
![]()
Man kan vise (display) enkelte variable eller strukturer. Du kan sætte breakpoints og meget andet, men det hele er tekstbaseret. Programmet gdb kan med fordel kaldes fra editoren Emacs ved at skrive Meta-x gdb (Meta=Alt). Så fås en delt skærm med debugger og kode, der kører sammen. Du kan i en xterm skrive man gdb for at få muligheder for debuggeren. Ved fejl kan det anbefales at oversætte kode uden optimering, dvs. fjern -O2 ved oversættelse, idet man således ikke får fjernet overflødige variable og lignende, som så ikke kan vises med debuggeren.
Ønsker du at anvende en grafisk debugger, kan du med fordel installere ddd, der anvender gdb, men giver en fuldt professionel grafisk brugerflade til debugging af C, C++, Java og Fortran kode. Specielt lækkert er, at man nemt kan følge indholdet af strukturer, tabeller og simple variable. DDD kan downloades fra http://www.cs.tu-bs.de/softech/ddd
![]()
Et spændende helt nyt program er KDevelop til KDE.
Ambitionsniveauet er meget højt, og til trods for at det er den første beta version, som er blevet testet her, så ser det positivt ud.Som det ses på Figur 8-3, så er der der ligheder med Visual C++ fra Microsoft. Man kan nemt overskue alle filer, klasser, strukturer og variable i projektet. Der er god support for at oversætte, debugge (ser det ud til), og revisionskontrol er direkte integreret. Dette er baseret på CVS. Der er mulighed for integreret dokumentationsmuligheder baseret på SGML.
En ting, som er et meget stort plus ved KDevelop i forhold til Visual C++ er at alle projekt filer er tekst-baserede, dvs. man kan se alt med en almindelig tekst-editor og rette hvis man har noget specielt, der skal ind. KDevelop laver i øvrigt selv standard makefiles, så man kan oversætte programmerne udenfor GUI miljøet. Med andre ord, så er KDevelop en naturlig overbygning på GNU værktøjerne, uden at disse erstattes. KDevelop følger ikke med f.eks. Red Hat endnu, men kan downloades fra projektets hjemmeside http://www.kdevelop.org.![]()
![]()
Check, om du har installeret Perl, ved at skrive
[daisy@linus daisy]$ rpm -q `which perl` |
Du kan også checke, om Perl er installeret ved at skrive
[daisy@linus daisy]$ perl -v |
Indtast følgende program, og gem det som leg_med_perl
#!/usr/bin/perl
@a="hej";
@b=(@a,"igen");
print "Arrayet \@b har værdierne : @b\n";
printf "Der er %i elementer i \@b\n",$#b+1;
foreach $indeks (@b)
{
print "Ud kommer $indeks fra arrayet\n";
}
$c = "hvad med at ";
$d = "sætte strenge sammen";
$e = $c.$d;
print "Variablen \$e har værdien : $e\n"; |
Programmet skal gøres eksekverbart ved at skrive
[daisy@linus daisy]$ chmod +x leg_med_perl |
[daisy@linus daisy]$ ./leg_med_perl Arrayet @b har værdierne : hej igen Der er 2 elementer i @b Ud kommer hej fra arrayet Ud kommer igen fra arrayet Variablen $e har værdien : hvad med at sætte strenge sammen |
Der er selvfølgelig et par små tricks i dette lille program, men det væsentlige at lægge mærke til er, at der ikke reserveres hukommelse til nye variable, og det er legende let at arbejde videre med.
Hvad med følgende lille søde program, som tager et filnavn som input og erstatter samtlige forekomster af Microsoft med navnet Linux? Det er et program, som slet ikke kan laves så elegant og kort som i Perl.
#!/usr/bin/perl -i.bak -p s/Microsoft/Linux/g; |
Vi kan også nævne, at du kan gøre dine Perl programmer uafhængig af Perl-placeringen (om det er /usr/bin/perl eller /usr/local/bin/perl) ved at starte følgende tre liner før selve programmet. Der erstatter så den første linje.
: # Use perl eval 'exec perl -S $0 "$@"' if $running_under_some_shell; print "Det virker\n"; |
Hvis du nu har fået blod på tanden og vil i gang med at lære Perl, er disse to bøger standardværkerne, den ene til at komme i gang på, den anden for viderekomne:
![]()
Prøv at indtaste følgende program (kald det editor.tcl) efter at have installeret Tcl og Tk (rpm -i tcl-8.0.4-29.rpm; rpm -i tk-8.0.4-29.i386.rpm - eller måske lidt anderledes, alt efter hvilke versioner du netop har fået). Den øverste linje svarer til, at du kører Red Hat, SuSE har installeret wish i /usr/X11R6/bin.
#!/usr/bin/wish -f
label .l -text "Filename:"
label .l2 -text "Editor:"
set fname testfil
set editor emacs
entry .e -relief sunken -width 30 -textvariable fname
entry .e2 -relief sunken -width 30 -textvariable editor
pack .l -side left
pack .e -side left -padx 1m -pady 1m
bind .e <Return> {
exec xterm -e $editor $fname
}
pack .l2 -side left
pack .e2 -side left -padx 1m -pady 1m
bind .e2 <Return> {
exec emacs $fname
} |
[daisy@linus daisy]$ chmod +x editor.tcl |
#!/usr/bin/wish -f
label .counter -text 0.00 -relief raised -width 20
button .start -text Start -command {
if $stopped {
set stopped 0
tick
}
}
button .stop -text Stop -command {set stopped 1}
pack .counter -side bottom -fill both
pack .start -side left -fill both -expand yes
pack .stop -side right -fill both -expand yes
set seconds 0
set hundredths 0
set stopped 1
proc tick {} {
global seconds hundredths stopped
if $stopped return
after 50 tick
set hundredths [expr $hundredths+5]
if {$hundredths >= 100} {
set hundredths 0
set seconds [expr $seconds+1]
}
.counter config -text [format "%d.%02d" $seconds $hundredths]
}
bind . <Control-c> {destroy .}
bind . <Control-q> {destroy .}
focus . |
En variant af stopur programmet er et nyttigt program, som viser status
på batteriet i en laptop. I dette eksempel har vi erstattet den første
linje, svarende til SuSE 6.1 placering af
wish, og der kræves,
at kommandoen
apm er installeret, dvs. apmd-2.4-57.rpm
eller lignende.
#!/usr/X11R6/bin/wish -f
label .counter -text 0 -relief raised -width 50
button .start -text Start -command {
tick
}
button .stop -text Stop -command { destroy .}
pack .counter -side left -fill both
pack .stop -side right -fill both
proc tick {} {
after 1000 tick
set tot [eval exec apm]
.counter config -text [format "%s" $tot]
}
tick
bind . <Control-c> {destroy .}
bind . <Control-q> {destroy .}
focus . |
Hvis du har lyst til at stifte nærmere bekendtskab med Tcl/Tk, er dette en god og meget omfattende bog:
Brent B. Welch: Practical Programming in Tcl and Tk, Prentice Hall, ISBN 0-13-616830-2, 630 sider + CDROM.
![]()
I C ville man skrive sådan her:
int i = 0;
while (i != 256) {
printf("%d\n", i);
i++;
} |
I Python ser det sådan ud:
i = 0 while (i != 256): print i i = i + 1 |
På den måde umuliggøres denne fejl, som ofte ses i C-kode:
/* forkert, uendelig løkke! */
int i = 0;
while (i != 256)
printf("%d\n", i);
i++; |
Hvorfor bliver i ikke talt op? Linjen "i++" er slet ikke med i løkken, men indrykningen snyder! Hvis den virkelige struktur skulle fremgå af indrykningen, skulle der stå:
int i = 0;
while (i != 256)
printf("%d\n", i);
i++; |
I Python er indrykningen lig med strukturen, man kunne faktisk fristes til at kalde det "What You See Is What You Get"-kode. Her er et eksempel klippet ud af et større program:
# check the command line syntax for arg in sys.argv[1:] if arg[0] == '-': # only check switches if arg[1:] not in switch_funcs.keys(): print "Invalid parameter: ", arg sys.exit(1) |
Python er i lighed med Perl et fortolket sprog, og hastigheden er bestemt ikke et af Pythons fortrin. Til gengæld er det forholdsvis nemt at lave udvidelser i C eller C++, der så kan bruges til de dele af et program, der udgør en hastighedsmæssig flaskehals. Python-fortolkeren kan også indlejres i andre programmer, hvorved du kan stille et fuldt programmeringssprog til rådighed for brugerne af programmet.
Til at konstruere af grafiske brugergrænseflader bruges i Python normalt et modul kaldet Tkinter, der er en grænseflade til det ovenfor nævnte Tk. Med mindre du bruger specielle Linux-faciliteter, kan Python-programmer med eller uden Tkinter også køres under andre styresystemer - f.eks. Windows NT.
Læs mere om Python på http://www.python.org/
![]()
Javas syntaks minder på mange måder om C++, men sproget er mere renblodet objektorienteret og anvender "garbage collection" - altså automatisk hukommelsesstyring. For at gøre Java uafhængig af platformen oversættes det normalt ikke til færdig maskinkode, men til såkaldt "bytecode", der kan køres på forskellige typer af computere ved hjælp af et fortolkermodul.
Et meget lille Java-program kunne f.eks. se sådan ud:
class HelloJava {
public static void main(String[] args) {
System.out.println("Dette er Java!");
}
} |
Sproget blev i sin tid udviklet af Sun Microsystems og stillet gratis til rådighed for verden i form af Java Development Kit (JDK), der også findes til Linux. Seneste version (i skrivende stund 1.2) kan hentes fra Internettet, f.eks. fra ftp://ftp.sunsite.auc.dk/pub/languages/java/java-linux/
Selv om det er gratis, er JDK ikke et rigtigt åbent og frit system. Derfor er der dukket projekter op, der har som mål at udvikle Java-værktøjer under GPL. Med Red Hat følger dels guavac, der er en selvstændigt udviklet Java-oversætter, dels kaffe, der er en virtuel Java-maskine - altså et program, der kan afvikle Java-bytecode. Hvis du er interesseret i Java, er både guavac og kaffe bestemt værd at tage et kig på og følger som sagt med Red Hat Linux.
![]()
Linux-verdenen har tidligt indset, at dokumentation er essentielt, hvis man vil have andre til at bruge Linux. Derfor er meget af den centrale software beskrevet i såkaldte HOWTO vejledninger (og mere kortfattede mini-HOWTO vejledninger). HOWTO vejledninger findes i kataloget /usr/doc/HOWTO eller på Internettet hos Linux Documentation Project, der findes som mirror (kopi) på http://sunsite.auc.dk/ldp. FAQ (Frequently Asked Questions) lister indeholder ofte stillede spørgsmål (med svar). Mange Linux-relaterede FAQ lister finder du i /usr/doc/FAQ. Se også http://howto.linuxberg.com/LDP/HOWTO/
Det kan være spændende at gå og hygge sig med sin Linux-maskine på egen hånd, men vi synes, det bliver endnu sjovere og mere inspirerende, hvis man finder sammen med ligesindede - enten i den virkelige verden eller på Internettet.
Linux-brugere er generelt meget venlige og hjælpsomme mennesker. De hjælper gerne begynderen med at komme i gang. Vær derfor aldrig bange for at spørge, men husk at læse HOWTO-vejledninger, man-sider og FAQ-lister, inden du spørger.
Her er nogle af mulighederne for at komme i kontakt med andre:
![]()
![]()
SSLUG driver en række mailing-lister. Du kan læse mere om dem på SSLUG's hjemmeside (http://www.sslug.dk).
Der er heldigvis en stribe andre Linux grupper med tilsvarende tilbud - støt den, du bor nærmest på.
![]()
![]()
![]()
Start med:
[daisy@linus daisy]$ ls -l /usr/X11R6/bin/XF* -rwxr-xr-x 1 root root 2712220 Jul 29 11:30 /usr/X11R6/bin/XF86_SVGA |
Her kan du se, at X programmet nok er installeret, og en SVGA X-server er installeret, svarende til det aktuelle grafikkort. På http://www.xfree86.org kan du se, hvad der passer sammen af server og grafikkort.
Findes filen /usr/X11R6/bin/X ikke, er X-softwaren ikke blevet installeret. I det tilfælde bør du overveje at køre installationen forfra.
![]()
Det første, du bør gøre, er at køre programmet SuperProbe (som root) - programmet viser dig, hvilket grafikkort du har, og noget om den "clockchip", du eventuelt har på kortet. De sidste par linjer af output fra SuperProbe kunne se ud som:
First video: Super-VGA Chipset: Matrox Mystique (PCI Probed) RAMDAC: Matrox Mystique built-in DAC w/clock (with 6-bit wide lookup tables (or in 6-bit mode)) |
![]()
![]()
![]()
![]()
![]()
Section "Keyboard" Protocol "Standard" AutoRepeat 500 5 LeftAlt Meta RightAlt Meta ScrollLock Compose RightCtl Control XkbKeycodes "xfree86" XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc101)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc101" XkbLayout "dk" EndSection |
![]()
Musen kan være lidt problematisk for nogle. Får du ikke fat i den rigtige type, kan du se det ved, at musen ofte springer rundt. Du skal så rette i XF86Config i afsnittet "Pointer", der kan se ud som:
Section "Pointer" Protocol "MouseMan" Device "/dev/mouse" # Emulate3Buttons # Emulate3Timeout 50 EndSection |
Check også, at du har /dev/mouse til at pege på den rigtige port - i dette tilfælde /dev/psaux, som er PS/2-porten til mus.
[daisy@linus daisy]$ ls -al /dev/mouse lrwxrwxrwx 1 root root 5 May 15 14:37 /dev/mouse -> psaux |
[daisy@linus daisy]$ rm -f /dev/mouse [daisy@linus daisy]$ ln -sf /dev/psaux /dev/mouse |
Der er følgende lovlige protokoller, som vises ved at skrive man XF86Config:
BusMouse, Logitech, Microsoft (Ofte til to-knaps mus), MMSeries, Mouseman (tit med Logitech mus), MouseSystems (ofte no-name treknapsmus), PS/2 (for PS/2 port mus), MMHitTab, GlidePoint, IntelliMouse, Xqueue og OSMouse. I Red Hat 5.2 og 6.0 er der også kommet support for flere varianter af Genius NetMouse og Netscroll, Kensington Thinking mouse, ALPS GlidePoint, ASCII MieMouse, ATI bus mus, Logitech MouseMan+ og FirstMouse+.
![]()
For at gøre X i stand til at benytte hjulet som midterknap, skal man rette i filen /etc/X11/XF86Config for Red Hat og tilsvarende er det /etc/XF86Config for SuSE. Protokollen skal ændres, og hjul-funktionen skal aktiveres.
Pointer-sektionen i XF86Config ser nu ud som følger:
Section "Pointer" Protocol "imps/2" ZAxisMapping 4 5 Device "/dev/mouse" |
![]()
Netscape*drawingArea.translations: #replace \ <Btn1Down>: ArmLink() \n\ <Btn2Down>: ArmLink() \n\ ~Shift<Btn1Up>: ActivateLink() \n\ ~Shift<Btn2Up>: ActivateLink(new-window) \ DisarmLink() \n\ Shift<Btn1Up>: ActivateLink(save-only) \ DisarmLink() \n\ Shift<Btn2Up>: ActivateLink(save-only) \ DisarmLink() \n\ <Btn1Motion>: DisarmLinkIfMoved() \n\ <Btn2Motion>: DisarmLinkIfMoved() \n\ <Btn3Motion>: DisarmLinkIfMoved() \n\ <Motion>: DescribeLink() \n\ <Btn3Down>: xfeDoPopup() \n\ <Btn3Up>: ActivatePopup() \n\ Ctrl<Btn4Down>: PageUp()\n\ Ctrl<Btn5Down>: PageDown()\n\ Shift<Btn4Down>: LineUp()\n\ Shift<Btn5Down>: LineDown()\n\ None<Btn4Down>: LineUp()LineUp()LineUp()LineUp()LineUp()LineUp()\n\ None<Btn5Down>: LineDown()LineDown()LineDown()LineDown()LineDown()LineDown()\n\ Alt<Btn4Down>: xfeDoCommand(forward)\n\ Alt<Btn5Down>: xfeDoCommand(back)\n Netscape*globalNonTextTranslations: #override\n\ Shift: LineUp()\n\ Shift: LineDown()\n\ None:LineUp()LineUp()LineUp()LineUp()LineUp()\n\ None:LineDown()LineDown()LineDown()LineDown()LineDown() |
Tilsvarende kan du få mere gavn af musehjulet i xterm ved at tilføje
xterm*VT100.Translations: #override\n\ Shift<Btn4Down>,<Btn4Up>:scroll-back(1,line)\n\ Shift<Btn5Down>,<Btn5Up>:scroll-forw(1,line)\n\ Ctrl<Btn4Down>,<Btn4Up>:scroll-back(1,page)\n\ Ctrl<Btn5Down>,<Btn5Up>:scroll-forw(1,page)\n\ <Btn4Down>,<Btn4Up>:scroll-back(1,halfpage)\n\ <Btn5Down>,<Btn5Up>:scroll-forw(1,halfpage)\n\ <KeyPress>Prior : scroll-back(1,page)\n\ <KeyPress>Next : scroll-forw(1,page) XTerm.vt100.Scrollbar.translations: #override\n\ <Btn5Down>: StartScroll(Forward)\n\ <Btn4Down>: StartScroll(Backward) nxterm*VT100.Translations: #override\n\ Shift<Btn4Down>,<Btn4Up>:scroll-back(1,line)\n\ Shift<Btn5Down>,<Btn5Up>:scroll-forw(1,line)\n\ Ctrl<Btn4Down>,<Btn4Up>:scroll-back(1,page)\n\ Ctrl<Btn5Down>,<Btn5Up>:scroll-forw(1,page)\n\ <Btn4Down>,<Btn4Up>:scroll-back(1,halfpage)\n\ <Btn5Down>,<Btn5Up>:scroll-forw(1,halfpage)\n\ <KeyPress>Prior : scroll-back(1,page)\n\ <KeyPress>Next : scroll-forw(1,page) |
![]()
;;; No copyright ;; Maintainer: Jan Eggert Kofoed mailto:jan.kofoed@person.dk ;; Keywords: intellimouse ;; This file can be used with GNU Emacs. ;; The code was taken from ;; www.inria.fr/koala/colas/mouse-wheel-scroll ;; which is maintained by Colas Nahaboo, but the code is put there ;; with courtesy of ;; Sylvia Knight, Sylvia.Knight@cl.cam.ac.uk ;;; Code: (defun up-slightly () (interactive) (scroll-up 5)) (defun down-slightly () (interactive) (scroll-down 5)) (global-set-key [mouse-4] 'down-slightly) (global-set-key [mouse-5] 'up-slightly) (defun up-one () (interactive) (scroll-up 1)) (defun down-one () (interactive) (scroll-down 1)) (global-set-key [S-mouse-4] 'down-one) (global-set-key [S-mouse-5] 'up-one) (defun up-a-lot () (interactive) (scroll-up)) (defun down-a-lot () (interactive) (scroll-down)) (global-set-key [C-mouse-4] 'down-a-lot) (global-set-key [C-mouse-5] 'up-a-lot) |
Filen kan også byte-compiles med Emacs. Emacs kan så læse
filen, når du skriver følgende linje ind i ~/.emacs:
(load-library "mwheel") |
![]()
# 1024x768 @ 76 Hz, 62.5 kHz hsync Modeline "1024x768" 85 1024 1032 1152 1360 768 784 787 823 |
Tip: Kan du ikke få din skærm til at køre i 16 bitplaner (65536 farver), så skriv exec X :0.0 -bpp 16 i filen ~/.xserverrc
![]()
Advarsel: Hvis du ikke har forstået, hvordan diskpartitioner fungerer, skal du passe meget på. Kommer du til at lave ulykker med fdisk, kan du komme til at miste kontakten med andre partitioner på din harddisk. Er du i tvivl, er det meget klogt, at du starter med at trykke p og skriver ned (ja på papir, som i gamle dage), hvad du får vist på skærmen.
I fdisk - tryk p for at se, hvordan din partitionstabel ser ud. Hvis du har været igennem fips, har du en ny partition /dev/hda2, som er af typen "DOS 16-bit >=32M". Du skal tilsvarende have en partition /dev/hda1 af typen "DOS 16-bit >=32M", som indeholder din gamle Windows partition - check, om størrelsen stemmer! Du skal starte med at slette den ekstra partition - sikkert /dev/hda2 - tryk d og 2, hvis du er sikker på, hvad du laver. Ellers spørg i din nærmeste Linux brugergruppe.
Skab mindst to nye Linux-partitioner ved at trykke n og partitionsnummer. Dette skal du gøre to gange med partition 2 hhv. 3 (hvis du kun har en Windows partition i forvejen). Lav partition 2 stor og partition 3 på måske 40 MB til Swap. Default type er "Linux native". En af partitionerne (nummer 3) skal have ændret type til Linux swap, hvilket gøres ved at trykke t og vælge type 82 (Linux swap). Tryk p for at verificere, at disken har den ønskede opbygning. Den simpleste partitions opbygninger er, som følger (ikke alle dele af harddisken er udnyttet i eksemplet).
Command (m for help): p Disk /dev/hda: 16 heads, 63 sectors, 4092 cylinders Units = cylinders of 1008 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 1016 512032+ 6 DOS 16-bit >=32M /dev/hda2 1017 1017 1626 307440 83 Linux native /dev/hda3 3072 3960 4092 67000+ 82 Linux swap |
Et eksempel på en mere avanceret partitionstabel kan være det følgende. Det skal bemærkes, at den fortløbende nummerering af partitionerne ikke er nødvendig. Desuden kan det bemærkes, at hda1 til hda4 er numrene for primære eller udvidede partitioner, og at partitioner i den udvidede partition får numrene 5 og opefter. Der kan maksimalt være 4 partitioner, hvoraf en kan være udvidet. Linux kan i princippet placeres på en vilkårlig partition. Bemærk, at enkelte laptops bryder med dette.
Command (m for help): p Disk /dev/hda: 16 heads, 63 sectors, 4092 cylinders Units = cylinders of 1008 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 1016 512032+ 6 DOS 16-bit >=32M /dev/hda2 1017 1017 1626 307440 6 DOS 16-bit >=32M /dev/hda3 1024 1627 2439 409752 83 Linux native /dev/hda4 2048 2440 4092 833112 5 Extended /dev/hda5 2048 2440 3700 635512+ 83 Linux native /dev/hda6 3072 3701 3959 130504+ 83 Linux native /dev/hda7 3072 3960 4092 67000+ 82 Linux swap |
Her er to DOS-partitioner (/dev/hda1,2), tre Linux-partitioner (/dev/hda3,5,6) og en Linux swap partition (/dev/hda7), og extended partitionstabel er anvendt (/dev/hda4). Du kan nøjes med at have et antal DOS (vfat) partitioner og så en Linux partition, samt en Linux swap partition.
Afslut fdisk med at trykke w for "write to disk". (Du kan i øvrige altid afslutte uden at gemme i fdisk ved at trykke q). Derefter vælges Done.
![]()
![]()
Da måden, du omdirigerer på, er afhængig af shell'en, er det en god ide at undersøge dette nu. Prøv med:
[daisy@linux daisy]$ env | grep ^SHELL | cut -d/ -f3 |
Svaret skulle gerne være bash, csh eller tcsh. Det kan være, at du anvender en anden shell - der findes mange. Hvis det er tilfældet, kan du se i man-pages for den aktuelle shell (man SHELLNAVN).
Hvis du selv starter en ny shell (enten fra kommandolinjen eller i et script), er det ikke sikkert, at ovenstående metode virker. Prøv derfor at skrive ps. En liste over de kørende processer vil da blive udskrevet til skærmen. Den nederste proces, der ender på "sh", angiver din shell - normalt.
Fælles for Bourne-Again Shell (bash) og C-Shell er følgende: Lad os antage, at filen fil3 indeholder information, vi ønsker at bevare. Vi vil tilføje (append) indholdet af fil1 og fil2 til fil3. Det gøres ved:
[daisy@linux daisy]$ cat fil1 fil2 >> fil3 |
Indholdet af en fil kan også anvendes som argument(er) til en kommando, f.eks. vil følgende kommando sende indholdet af filen megenRos til SSLUG's webmastere:
[daisy@linux daisy]$ sendmail www_admin@sslug.dk < megenRos |
Linux skelner (som UNIX) mellem normale uddata (stdout) og fejluddata (stderr). Til tider kan det være rart kun at omdirigere det ene sæt meddelelser.
Specielt for bash gælder følgende: omdirigering af stdout (1) og stderr (2) i bash er forholdsvis simpel.
Hvis kun fejlmeddelelserne fra en kommando - her ls - ønskes:
[daisy@linux daisy]$ ls /* 1>/dev/null |
Hvis kun stdout ønskes vist, og fejlmeddelelserne skal sendes til en fil:
[daisy@linux daisy]$ ls /* 2>fejlfil |
Og endelig, hvis du ønsker at akkumulere fejlmeddelelser i en fil, kan >> anvendes - f.eks.
[daisy@linux daisy]$ ls /* 2>> fejlfil |
De to shells csh og tcsh adskiller sig fra bash på følgende måder. Når du omdirigerer med > eller >>, er det kun stdout, der omdirigeres. Hvis stderr skal med, skal du anvende & efter omdirigeringen. stderr kan ikke omdirigeres alene, men med lidt krumspring lykkedes det alligevel:
[daisy@linux daisy]$ ls -l /* | tee >& fil1 | diff fil1 - >fejlFil |
Ovenstående kommando sender både stderr og stdout til filen fil1.
![]()
Hvis du ikke er klar over, hvem du er logget ind som, skriver blot whoami, svaret synes indlysende, men alligevel: dit login dukker op og terminalens id ligeså.
![]()
-name foo |
-type d |
-ls |
-exec cmd {}\; |
-ok |
exec |
![]()
Lad os antage, at filen minFil eksisterer, og filen minIkkeEksisterendeFil ikke gør, da vil touch minFil sætte tiden for sidste modifikation af filen til det aktuelle klokkeslet. Kommandoen touch minIkkeEksisterendeFil vil oprette en tom fil med navnet minIkkeEksisterendeFil.
![]()
file gætter desværre forkert fra tid til anden og kan f.eks. ikke genkende filer, der indeholder programmer, som er skrevet i Pascal og Lisp.
![]()
[daisy@linux daisy]$ date lør jan 16 17:50:55 CET 1999 |
cal er en hel lille kalender. Uden argument udskrives kalenderen for den aktuelle måned. Med et argument (tal) regnes argumentet for et årstal. Vær iøvrigt opmærksom på, at cal er År2000 klar, dvs. cal 99 udskriver kalenderen for år 99, mens cal 1999 skriver kalenderen for 1999.
Med 2 argumenter regnes det første som måned og det andet som årstal. Det er værd at bemærke, at cal antager, at skiftet fra Julianske kalender til Gregorianske kalender skete i september 1752, hvilket passer til engelske forhold (i katolske lande skete det i 1582 og i Danmark i 1700).
![]()
Men sort kan mere: En fil kan være inddelt i poster, f.eks. filen hatte.
[daisy@linux daisy]$ cat hatte poul nyrup 52 holger beck-nielsen 90 william gates 55 torvald linus ?? |
Lad os illustrere sort ved en række eksempler. sort +1 navne vil sortere på efternavn (første felt er felt 0). sort +2-n navne vil sortere numerisk på hattestørrelse. sort -r navne vil sortere i omvendt rækkefølge.
[daisy@linux daisy]$ sort +2 -n -r hatte torvald linus 91.2 holger beck-nielsen 90 william gates 55 poul nyrup 52 |
![]()
diff udskriver forskellen mellem to filer. Lad os se på filerne fil1 og fil2.
[daisy@linux daisy]$ cat fil1 Per Poul Bent [daisy@linux daisy]$ cat fil2 Per Bjarne [daisy@linux daisy]$ diff fil1 fil2 2,3c2 < Poul (oversat: ud går Poul) < Bent (oversat: ud går Bent) > Bjarne (oversat: ind kom Bjarne) |
uniq fjerner ens linjer, der kommer efter hinanden, hvilket illustreres nedenfor.
[daisy@linux daisy]$ cat per3 Per Per Per [daisy@linux daisy]$ uniq per3 Per |
cmp sammenligner filer og stopper læsningen af filerne, når cmp finder en forskel.
wc står for Word Count, og som navnet antyder, tæller den ord i en fil. wc har nogle options: "-l", "-w" og "-c" for Lines, Words og Characters.
Vil du vide, hvor mange linjer en fil indeholder, skriver du wc -l fil. wc er særlig god sammen med andre kommandoer og | (pipe), f.eks. vil nedenstående kommando tælle op, hvor mange filer, der er i kataloget /usr/bin
[daisy@linux daisy]$ ls /usr/bin | wc -l 1208 |
Eller hvis du vil vide, hvor mange kataloger der er i /etc
[daisy@linus daisy]$ ls -l /etc | grep ^d | wc -l 23 |
Forklaringen er som følger: ls -l giver den lange liste med egenskaberne for filerne med en fil pr. linje. Det allerførste tegn på linjen angiver filtypen. d betyder, at det er et "directory" - et katalog. grep ^d lader kun de linjer, der starter med d, passere. wc -l tæller antallet af linjer, den modtager.
![]()
[daisy@linus daisy]$ cat sang Jeg bærer med smil min byrde, jeg drager med sang mit læs; jeg er som den vilde hyrde, der genner sit kvæg på græs. [daisy@linus daisy]$ tail -2 sang jeg er som den vilde hyrde, der genner sit kvæg på græs. |
tail har en meget nyttig "f"-option. Den får tail til løbende at vise de sidste 10 linjer af en fil, f.eks. vil du med tail -f /var/log/messages kunne følge, hvad alle system-dæmoner og lignende rapporterer.
head svarer til tail, men i stedet for slutningen af en fil, er det begyndelsen. head - uden optioner - udskriver de 10 første linjer af en fil. Optioner kan gives som for tail.
![]()
Vil du se, hvilke brugere der har adgang til systemet, så prøv: cat /etc/passwd | cut -d':' -f1
paste samler filer lodret, hvor cat samler (kan samle) filer vandret. Lad os se på følgende eksempel. Du ønsker nu at samle to filer, navne og iq, således at linje 1 fra navne efterfølges af linje 1 fra iq (uden at dette dog skulle være konkluderende, for såvidt angår de tilfældige sammenstillinger af for- og efternavne samt tal).
[daisy@linus daisy]$ cat navne poul nyrup 52 holger beck-nielsen 90 william gates 55 torvald linus ?? [daisy@linus daisy]$ cat iq 50 230 120 ?? [daisy@linus daisy]$ paste navne iq poul nyrup 52 50 holger beck-nielsen 90 230 william gates 55 120 torvald linus ?? ?? |
![]()
[daisy@linus daisy]$ tr '[a-z,æ,ø,å]' '[A-Z,Æ,Ø,Å]' < fil1 > fil2 |
Det er ikke sikkert, at din distribution eller dit system vil godtage de danske tegn, men vi har afprøvet det på Red Hat 6.0, hvor det virker.
![]()
| Kommando | Forklaring |
|---|---|
| find | Find fil(er). Anvend f.eks. find /usr -name '*.gif' til at finde alle filer under biblioteket /usr, der ender på .gif. Prøv også locate FILNAVN. |
| whoami | Viser, hvilket login navn der arbejdes under. |
| who | Viser, hvem der er logget ind på maskinen. |
| passwd | Skift password. |
| su | Skift bruger identitet. |
| echo | echo "TEKST" skriver teksten på skærmen. |
| chown | ændrer ejerskabet af filer. |
| export | Anvendes i bash shell'en (default i Linux) til at sætte systemvariable (ligesom set i DOS). Syntaksen er: export VARIABEL=VÆRDI. |
| date | Viser dato og tid. |
| xhost | Anvendes til at tillade/begrænse andre maskiner at koble til maskinens X server, dvs. om de må vise grafik på skærmen. Anvend xhost + til at tillade alle maskiner at vise grafik på maskinen. Anvend tilsvarende xhost -maskinnavn til at forhindre, at den pågældende maskine viser grafik. |
| lpr | Print ordre. Anvend lpr -Pprinternavn filnavn for at printe på printeren printernavn. De enkelte printere er defineret i filen /etc/printcap. De aktuelle printere kan være såvel lokale som netprintere. |
| lpq | Printerkø forespørgsel. Anvend lpq -Plp til at vise, hvor langt printeren lp er med at printe ud. |
| lprm | Anvendes til at fjerne printjobs, som ikke er skrevet endnu. Se muligheder med man lprm. |
| tar | Anvendes til at pakke flere programmer sammen til et. Anvend f.eks. tar cvf tfil.tar fil1 fil2 for at pakke fil1 og fil2 sammen til filen tfil.tar. Tilsvarende kan filen pakkes ud med tar xvf tfil.tar. |
| compress | Pakker filer ind/ud. Anvend compress filnavn til at pakke filen til filnavn.Z. Tilsvarende anvendes uncompress til at pakke ud. |
| gzip | Andet og bedre pakke program, der anvender .gz som slutning af fil navn. Tilsvarende findes gunzip til at pakke ud. Normalt ses også filtypen .tgz, som er en tar fil, hvor der efterfølgende er anvendt gzip. |
| diff | Sammenligner to filer og rapporterer forskellene. |
| free | Viser, hvor meget hukommelse der er brugt, og der er til rådighed. |
| df | Viser, hvor meget diskplads der er brugt, og der er til rådighed på samtlige diske. |
| du | Viser status over, hvor meget diskplads der er brugt under det sted, hvor du står i filtræet. |
| sort | Sorterer en tekstfil. |
| rsh | rsh henrik.kongehuset.dk date betyder, at du udfører kommandoen date på maskinen henrik.kongehuset.dk, dvs. en anden UNIX maskine. Linux kan udføre kommandoer på andre maskiner og så vise grafik (og tekst) på din egen maskine. |
![]()
![]()
En Debian distribution består i øjeblikket af to "binary" CD'ere plus eventuelt "non-free", "non-us" samt "contrib", som kan findes på Debians site: http://www.debian.org. Når du har fået fat i et sæt Debian CD'er, er det tid at gå igang.
Er du for utålmodig, er det muligt at downloade en "rescue boot" diskettefil og en "drivers" diskettefil fra en debian site, der så overføres til disketter via DOS programmet RAWRITE2. Desuden skal man også downloade base2_1.tgz (godt 9 MB).
Kan du ikke boote på CDROM, så brug rawrite som beskrevet under installation af Red Hat til at lave rescue disketten /boot/resc1440.bin. Har du en anden Linux-box, så brug dd if=/mnt/cdrom/boot/resc1440.bin of=/dev/fd0, hvis din Debian CDROM er mountet på /mnt/cdrom.
Der bootes fra CDROM eller diskette, og man får nu mulighed via et tekst baseret installations program at specificere alle de sædvanlige options, der skal vælges ved enhver Linux installation: tastatur, swap partition, destinations partition, formattere disse osv. Det vil vi ikke gå i detaljer med, da det er rimeligt nemt at foretage disse valg. Læs, hvad der står på skærmen - der er en del forklaring. De fleste valg sker ved at acceptere, hvad der står valgt for dig.
Det er reelt ikke sværere end Red Hat eller SuSE - endnu. Du skal dog vide, at du i forvejen skal have delt harddisken (med FIPS under DOS) eller købt en ekstra disk til Linux.
Når man er færdig med denne indledende baseinstallation, får man mulighed for at starte dselect programmet med et valg af pakker, der skal tilføjes systemet. Her skal der lige gives et råd: start med at indstallere et minimums basis system, og tilføj kun de pakker, du synes er nødvendige. Hver Debian pakke har nemlig et konfigurations script, der køres ved installationen af denne. Det kan derfor være en sej proces at installere Debian, hvis man har valgt at installere et stort antal pakker.
![]()
Debian Linux `dselect' package handling frontend. * 0. [A]ccess Choose the access method to use. 1. [U]pdate Update list of available packages, if possible. 2. [S]elect Request which packages you want on your system. 3. [I]nstall Install and upgrade wanted packages. 4. [C]onfig Configure any packages that are unconfigured. 5. [R]emove Remove unwanted software. 6. [Q]uit Quit dselect. Use ^P and ^N, cursor keys, initial letters, or digits to select; Press ENTER to confirm selection. ^L to redraw screen. Version 1.4.0.34 (i386 elf). Copyright (C) 1994-1996 Ian Jackson. This is free software; see the GNU General Public Licence version 2 or later for copying conditions. There is NO warranty. See dselect --licence for details. |
Man starter med at vælge access metode, dvs. om man vil installere fra CD, harddisk, NFS server floppy, ftp server eller andet. Her vil de fleste nok vælge Multi-CD, idet der er to CDROM'er med Debian 2.1. Læs forklaringerne til de enkelte metoder, hvis du er i tvivl. Hvis du installerer fra en CD, fås nedenstående skærmbillede, hvor du først bliver bedt om at angive, hvor Debian CDROM findes, dvs. hvad block device CDROM drevet er tilsluttet (/dev/hdc, /dev/hdd, /dev/scd1 eller andet).
Derpå spørges der, hvor "top level" er, her skal man som regel indtaste directory navnet "debian". Programmet spørger herefter, hvor de andre fil områder fra Debian's site findes. Dette er lidt forvirrende, men indledningsvis skal man blot indtaste "none", med mindre man har kopieret CD'erne ind på harddisken.
I det følgende er vist en typisk dialog med dselect. Dog skal CDROM devicen naturligvis være den, du bruger, og ikke nødvendigvis /dev/hdd.
If you make a mistake, use the interrupt key (^C) to abort. I see that /dev/cdrom exists and is a block device. Last time you specified installation from /dev/scd1. Insert the CD-ROM and enter the block device name [/dev/scd1]: /dev/hdd hdd: media changed All directory names should be entered relative to the root of the CD-ROM. I would like to know where on the CD-ROM the top level of the Debian distribution is (eg. 'dists/stable') - this directory usually contains the Packages-Master file. If the CD-ROM is badly organised and doesn't have a straightforward copy of the distribution you may answer 'none' and we'll go through the parts I need individually. Distribution top level ? [none] debian Using /debian/main/binary-i386' as main binary dir. Using /debian/main/binary-i386/Packages.gz' for main. /debian/contrib/binary-i386' does not exist. Which directory contains the *.deb packages from the contrib distribution area (this directory is named Contrib/binary-i386' on the distribution site) ? Say 'none' if this area is not available. Enter _contrib_ binary dir. [/debian] ? none Note: most CD-ROM distributions of Debian do not include programs available in the 'non-free' directory of the distribution site. This is because these programs have copyrights that prevent distribution for profit on a CD-ROM - ie they are not free software. If you wish to install these programs you'll have to get them from an alternative source. Which directory contains the *.deb packages from the non-free distribution area (this directory is named 'Non-free/binary-i386' on the distribution site) ? Say 'none' if this area is not available. Enter _non-free_ binary dir. [] ? none Which directory contains the *.deb packages from the non-US distribution area (this directory is named 'Non-US/binary-i386' on the distribution site) ? Say 'none' if this area is not available. Enter _non-US_ binary dir. [] ? none Which directory contains the *.deb packages from the non-US distribution area (this directory is named 'Non-US/binary-i386' on the distribution site) ? Say 'none' if this area is not available. Enter _non-US_ binary dir. [] ? none Note: By default there is no 'Local' directory. It is intended for packages you made yourself. Which directory contains the *.deb packages from the local distribution area (this directory is named 'Local/binary-i386' on the distribution site) ? Say 'none' if this area is not available. Enter _local_ binary dir. [] ? none Hit RETURN to continue. |
Derpå vælges punktet update, og efter et lille øjeblik er du klar til det egentlige; at vælge, hvilke pakker der skal installeres. Som det første får du et hjælpebillede op med en intro til dselect. Læs dette og de næste par hjælpebilleder. Det er lidt besværligt, men hjælpeteksten er nødvendig for at forstå 'dselect' programmet. Du kan nu prøve at taste <ENTER> og se, om de pakker der initielt er valgt, forårsager afhængigheds/versions konflikter. Hvis du ikke kan komme ud af select menuen med <ENTER>, kan du afslutte select delen med X. Læs hjælpeteksten. Derpå installeres de valgte *.deb pakker ved at vælge Install fra hovedmenuen. Se iøvrigt: http://www.debian.org/releases/2.1/i386/dselect-beginner), som er oversat til sidst i denne vejledning.
Nu kommer der en masse tekst rullende. Undertiden skal du svare på forskellige konfigurations spørgsmål, men ellers foregår konfigurationen i næste hovedmenupunkt, og set i sammenligning med Red Hat og SuSE er dette lidt besværligt.
![]()
![]()
_________________________________________________________________ dselect Documentation for Beginners - Chapter 2 Once dselect is Launched _________________________________________________________________ Once in dselect you will get this screen: Debian Linux `dselect' package handling frontend. 0. [A]ccess Choose the access method to use. 1. [U]pdate Update list of available packages, if possible. 2 [S]elect Request which packages you want on your system. 3. [I]nstall Install and upgrade wanted packages. 4. [C]onfig Configure any packages that are unconfigured. 5. [R]emove Remove unwanted software. 6. [Q]uit Quit dselect. Let's look at these one by one. _________________________________________________________________ |
![]()
Running a "Configure" step is recommended, to help fix any packages that may end up in this state.
multi_nfs, multi_mount : These are very similar to the multi-cd method above, and are refinements on the theme of coping with changing media, for example if installing off a multi-cd set exported via NFS from another machine's CD-ROM drive.
apt : One of the best options for installation from a local mirror of the Debian archive, or from the network. This method uses the "apt" system to do complete dependancy analysis and ordering, so it's most likely to install packages in the optimal order.
Configuration of this method is straight-forward; you may select any number of different locations, mixing and matching file: URLs (local disks or NFS mounted disks), http: URLs, or ftp: URLs. Note however that the HTTP and FTP options do not support local authenticating proxies.
If you have proxy server for either http or ftp (or both), make sure you set the http_proxy or ftp_proxy environment variables, respectively. Set them from your shell before starting dselect, i.e.: # export http_proxy=http://gateway:3128/ # dselect
floppy : Caters for those people without CD-ROM or network access. Not recommended as a viable installation option anymore if you are using traditionally-sized floppies, but may work better for LS/120 or Zip drives. Specify the location of your floppy drive, then feed floppies. The first one should contain the Packages file. This method is slow and may be unreliable due to media problems.
nfs : DEPRECATED METHOD -- use apt or multi_nfs instead. Only try this method if all else fails.
This is a simple installation method, with simple requirements: give it the address of the NFS server, the location of the Debian distribution on the server and (maybe) the Packages file(s). Then dselect will install the various sections in turn from the server. Slow but easy; does not use proper ordering, so it will take many runs of the "Configure" step. Obviously only appropriate for NFS based installation.
harddisk : DEPRECATED METHOD -- use apt or multi_mount instead. Only try this method if all else fails.
Supply the block device of the hard drive partition to use, and as usual the locations of the Debian files on that partition. Slow and easy. Does not use proper ordering, so it will take many runs of the "Configure" step. Not recommended, since the "apt" method supports this functionality, with proper ordering.
mounted : DEPRECATED METHOD -- use apt or multi_mount instead. Only try this method if all else fails.
Simply specify the location(s) of the Debian files in your filesystem. Possibly the easiest method, but slow. Does not use proper ordering, so it will take many runs of the "Configure" step.
cdrom : DEPRECATED METHOD -- use multi_cd instead.
Designed for single-CD installations, this simple method will ask for the location of your CD-ROM drive, the location of the Debian distribution on that disk and then (if necessary) the location(s) of the Packages file(s) on the disk. Simple but quite slow. Does not use proper ordering, so it will take many runs of the "Configure" step. Not recommended, because it assumes the distribution is on a single CD-ROM, which is no longer the case. Use the "multi_cd" method instead.
Once you are through here you will be returned to the main screen.
![]()
![]()
Hit Enter. If you have a slow machine be aware that the screen will clear and can remain blank for 15 seconds so don't start bashing keys at this point.
The first thing that comes up on the screen is page 1 of the Help file. You can get to this help by hitting ? at any point in the "Select" screens and you can page through the help screens by hitting the . (full stop) key.
Before you dive in note these points:
You enter dselect and find a line like this:
EIOM Pri Section Package Description ** Opt misc loadlin a loader (running under DOS) for LINUX kernel |
The information which dselect uses to get all the right packages installed is buried in the packages themselves. Nothing in this world is perfect and it does sometimes happen that the dependancies built into a package are incorrect, with the result that dselect simply cannot resolve the situation. A way out is provided where the user can regain control and it takes the form of the commands Q and X which are available in the "Select" screen.
* libc6-pic * slang1-pic * sysutils * makedev * newt0.25 * newt0.25-dev * popt * zlib1g * zlib1g-dev * recode |
The person maintaining boot-floppies also thinks that the following packages should be installed. These are not, however, essential:
* lynx * debiandoc-sgml * unzip |
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description ** Opt admin boot-floppie Scripts to create the Debian installation floppy set. _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel slang1-dev The S-Lang programming library, development version. _* Opt devel slang1-pic The S-Lang programming library, shared library subset ki |
The R key puts things back to the starting point.
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description __ Opt admin boot-floppie Scripts to create the Debian installation floppy set. __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel slang1-dev The S-Lang programming library, development version. __ Opt devel slang1-pic The S-Lang programming library, shared library subset ki To decide now that you don't want boot-floppies, just hit Enter. The Dkey puts things the way I selected them in the first place: dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy set. __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel slang1-dev The S-Lang programming library, development version. __ Opt devel slang1-pic The S-Lang programming library, shared library subset ki |
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy set. _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel slang1-dev The S-Lang programming library, development version. _* Opt devel slang1-pic The S-Lang programming library, shared library subset ki |
I suggest running with the defaults for now -- you will have ample opportunity of adding more later.
Whatever you decide, hit Enter to accept and return to the main screen. If this results in unresolved problems you will be bounced right back to another problem resolution screen.
So the R, U, and D keys are very useful in "what if" situations. You can experiment at will and then restore everything and start again. Don't look on them as being in a glass box labelled "Break In Emergency".
After making your selections in the "Select" screen, hit the I to give you a big window, t to take you to the beginning and then use the Page-Down key to look quickly through the settings. This way you can check the results of your work and spot glaring errors. Some people have deselected whole groups of packages by mistake and not noticed the error until too late. dselect is a very powerful tool so don't misuse it.
You should now have this situation:
package category status required all selected important all selected standard mostly selected optional mostly deselected extra mostly deselected |
![]()
The screen scrolls past fairly quickly on a fast machine. You can stop/start it with Control-s/Control-q and at the end of the run you will get a list of any uninstalled packages. If you want to keep a record of everything that happens use normal Unix features like tee or script.
It can happen that a package does not get installed because it depends on some other package which is listed for installation but is not yet installed. The answer here is to run "Install" again. Cases have been reported where it was necessary to run it 4 times before everything slipped into place. This will vary by your acquisistion method.
![]()