En överblick av systemet
Slackware.SE Wiki
[redigera] 4 Systemkonfiguration
Innehåll 4.1 Systemöversikt 4.2 välja Kärna
Innan du kan konfigurera anvancerade delar av ditt system, är det en bra idé att lära sig hur systemet är uppbyggt, och vilka kommandon som kan användas för att söka efter filer och program. Det är också bra att veta hur man kompilerar en kärna och i vilka steg man gör det. I detta kapitel kommer du att få bekanta dig mera med systemets uppbyggnad och konfigurationsfiler. Så att du kan gå vidare och konfigurera mera avancerade delar i ditt system
4.1 System översikt
Det är viktigt att du förstår hur Linuxsystemet är ihopsatt, innan du påbörjar olika konfigureringar. Ett Linuxsystem skiljer sig markant ifrån ett DOS, Windows och Macintoshsystem (med undantag från unixbaserade Mac OS X). Men dessa sektioner kommer att hjälpa dig att bli bekant med hur systemet är uppbyggt, så att du kan konfigurera ditt system för att möta dina behov.
4.1.1 Filsystemets uppbyggnad
Den första märkbara skillnaden mellan Slackware Linux och ett DOS eller Windows system är just filsystemet. Till att börja med så används inte enhetsbokstäver för att skilja på olika partitioner. I Linux är det bara en huvudkatalog. Du kan jämnföra det med C: i DOS. Varje partition är monterad i en katalog i huvudkatalogen
Vi kallar huvudkatalogen för rootkatalog, som är syboliserad med ett enkelt slash (/). detta koncept kan verka kostigt, men det gör livet mycket enklare när du vill utöka diskutrymmet. Till exempel, Vi säger att det är slut på hårddiskutrymme där du lagrar dina personliga filer /home. De flesta installerar Slackware och skapar en enda stor rootpartition. Eftersom en partition kan monteras i vilken katalog som helst så kan du bara springa iväg och köpa en till hårddisk och montera den till /home där du lagrar dina personliga filer. Och helt plötsligt så har du mera utrymme att lagra din data på utan att behöva flytta ett endaste dugg. without having to move many things around.
Här nedan finner du majoriteten av topskicktets kataloger i Slackware.
bin
Här ligger grundläggande användarprogram lagrade. Dessa representerar blott bara en minimum uppsättning av program för att användaren ska kunna använda systemet. shell (skal) och filsystemskommandon (ls, cp och så vidare) ligger lagrade här. Katalogen /bin ändras inte efter installationen, och om den gör det så är det iform av uppgraderingar som vi tillhandahåller.
boot
Här ligger filer som används av Linux Loader (LILO). Denna katalog kan också ändras lite efter en installation. Från version 8.1 av Slackware ligger även kärnan sparad här. I tidigare versioner av Slackware är kärnan lagrad i / det är mest praktiskt och underlättar för dualboot om man lagrar kärnan här
dev
Allting i Linux behandlas som filer, även hårdvar såsom serieportar, hårddiskar och scanner. För att ansluta till dessa enheter måste en speciell fil som kallas för enhetsnod finnas. Alla enheter finns sparade i /dev katalogen. Med tiden kommer du att märka att de flesta Unixliknande system ser ut så här.
etc
I den här katalogen ligger konfigurationsfilera sparade. Allt mellan konfirureringsfiler för X fönsterhanterare, användardatabasen till systemets uppstartsscript. Systemadministratören kommer över tiden att bli väldigt bekant med denna katalog
home
Linux är byggt för mulitanvändning. Varje användare på systemet får ett konto och en unik katalog att spara sina personliga filer i. Detta kallas även för användarens hemkatalog. /home katalogen är satt som standard så att allt du sparar kommer att hamna här.
lib
Systemkatalogen som behövs för basoperationer finns lagrad här. C biblioteket, den dynamiska laddaren, ncurses bibliotek och kärnbibliotek och mycket mer finns sparat här.
mnt
Den här katalogen innehåller temporära monteringspunkter för hårddiskar och andra lösa enheter. Det är här du hittar monteringspunkten för din cd-spelare och diskettstation
opt
Valfria mjukvarupaket. Idén bakom /opt är att varje mjukvarupaket installeras till /opt/mjukvaru-paket, vilket underlättar att man senare tar bort dem. Slackware distrubierar några saker i /opt (såsom KDE ligger i /opt/kde), men det är helt upp till dig att lägga till vad du vill i /opt.
proc
Det här är en unik katalog. den är egentligen inte en del av filsystemet, utan ett virtuellt filsystem som ger åtkomst till kärnans information. olika delar av information som kärnan vill att du ska veta transporteras till dig via filer i /proc katalogen. Du kan också skicka information till kärnan genom några av dessa filer. Testa det här kommandot cat /proc/cpuinfo.
root
I Linuxsystemet kallas administratören för root. root´s hemkatalog är lagrad i /root istället för /home/root. Anledningen till det är enkel. Tänk om /home ligger på en annan partition än / (rootkatalogen) och av någon anledning inte kan monteras, då skulle ju root har viljat logga in och åtgärda problemet, men om hemkatalogen var på den skadade partitionen så skulle det vara svårt att logga in.
sbin
Nödvändiga program som körs av root och under systemets uppstart ligger här. Vanliga användare kör inte några program i denna katalogen
tmp
Detta är den temporära lagrignsplatsen, alla användare har skriv & läsrättigheter i denna katalog
usr
Detta är en stor katalog på ett Linuxsystem. Allt annat finns lagrat här, dokumetation, källan för kärnan och X fönsterhanteringsystemet, i denna katalogen hamnar de flesta program du installerar.
var
Loggfiler för systemet, cache data och programlåsningsfiler ligger lagrade här. I den här katalogen ändras datan frekvent.
Du bör nu ha en god kännedom om vilka kataloger som innehåller vad på filsystemet. Mera detaljerad information om filsystemets uppbyggnad finns i hier(7) man sidan. Nästa sektion får du lära dig att enkelt hitta specifika filer i systemet så att du slipper göra det för hand
4.1.2 Söka filer
Du vet nu vad majoriteten av kataloger inehåller, men det hjälper inte dig att hitta saker. Jag menar, att du kunde manuell gå igenom alla kataloger, men det finns snabbare sätt. Det finns i huvudsak fyra olika filsökningskommandon tillgängliga i Slackware.
4.1.2.1 which
Det första kommandot är which(1). which används vanligen för att snabbt lokalisera program. De letar helt enkelt igenom dina sökvägar och visar den första instansen den hittar, och katalogssöksvägen till det. Ta det här exemplet:
% which bash /bin/bash
Som du ser så finns bash i katalogen /bin. Detta är en väldigt begränsat kommando att använda för sökning, eftersom den bara letar igenom dina sökvägar
4.1.2.2 Whereis
Kommandot whereis(1) fungerar ungefär som which, men kan också söka efter mansidor och källfiler. En whereis sökning för bash visar detta på din skärm:
% whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
Detta kommando visar inte bara vart progammet finns, utan också var online dokumentationen finns. Kommandot är fortfarande begränsat. Tänk om du vill söka efter en specifik konfigurationsfil? Då kan du varken använda which eller whereis.
4.1.2.3 find
Kommandot find(1) tillåter användare att söka i filsystemet med en stor samling av grundsökningar. Användarna kan specificera en sökning med filnanm, såkallade wildcards, på tidpunkt så det skapades, redigerades eller andra avancerade egenskaper. Till exempel, för att söka på standardfilen xinitrc på systemet så kan följande kommando användas.
% find / -name xinitrc /var/X11R6/lib/xinit/xinitrc
find tar ett tag att köra, eftersom den kör igenom hela rootkatalogsträdet. Och om detta kommando körs av en vanlig användare så kommer man få meddelande om att behörighet saknas och att bara root kan se innehållet i rootkatalogen. Men det kommer att hitta våra filer. Om det bara kunde operera lite snabbare...
4.1.2.4 slocate
slocate(1) kommandot söker igenom hela filsystemet, precis som kommandot find, men det söker i en databas istället för det riktiga filsystemet. Databasen är inställd på att automatiskt uppdateras varje morgon, så att du har en något fräsch lista av filer på ditt system. Du kan manuellt köra updatedb(1) för att uppdatera slocate databasen (men innan du kör updatedb, så måste du bli root). Här är ett exempel av slocate i aktion:
% slocate xinitrc # we don't have to go to the root /var/X11R6/lib/xinit/xinitrc /var/X11R6/lib/xinit/xinitrc.fvwm2 /var/X11R6/lib/xinit/xinitrc.openwin /var/X11R6/lib/xinit/xinitrc.twm
Nu har vi mer information än vi sökte efter, och fort gick det också. Med dessa kommandon borde du kunna hitta vad du söker efter i ditt Linux system.
4.1.3 Katalogegn /etc/rc.d
Systemets initieringsfiler ligger lagrade i katalogen /etc/rc.d. Slackware använder BSD gränssnitt för sina initieringsfiler, till motsats till System V initieringsscript, vilka har en trend att göra konfigureringsändringar mera svårt, utan att behöva ett program speciellt utvecklat för det ändamålet. I BSD script får varje körnivå en egen rc fil. I System V har varje körnivå sin egen katalog, och varje katalog innehåller ett antal init. script. Detta tillför en organiserd struktur som är lätt att hålla.
Det finns flera kategorier av initieringsfiler och dessa är, systemuppstart, körnivå, nätverks initiering och System V kompabilitet. Som tradition så samlar vi ihop allt annat till en annan kategori.
4.1.3.1 Systemets uppstart
Det första programmet som körs i Slcakware vid sidan av Linux kärnan är init(8). Detta programmet läser filen /etc/inittab(5) för att se hur systemet ska köras. Det kör scripet /etc/rc.d/rc.s för att preparera systemet att köras i den valda körningsnivån. Filen rc.S aktiverar ditt virtuella minne, monterar filsystemet, rensar upp loggkatalogerna, initierar Plug and Play enheter, laddar kärnmoduler, konfigurerar PCMCIA enheter, gör iordning serieportarna och kör System V init. script (om den hittar några). Självfallet har rc.S mycket att göra, men det finns några script i /etc/rc.d som rc.S anropar för att utföra sitt arbete.
rc.S
Detta är det aktuella systemets initieringsscript.
rc.modules
Detta laddar moduler till kärnan, såsom nätverkskort, PPP support m.m. Om det här scriptet hittar rc.netdevice så kommer det även att köras
rc.pcmcia
Söker och konfigurerar PCMCIA enheter som du har på ditt system. Detta är mest användbart för dom som använder bärbara datorer, som förmodligen har PCMCIA modem eller nätverkskort
rc.serial
Konfigurerar dina seriella portar genom att köra det passande setserial kommandot.
rc.sysvinit
Söker efter System V initieringsscript för den valda körnivån, och kör dem. Mer om detta ser du nedan.
4.1.3.2 Initieringsscript för körningsnivå
Efter att systemet initieras, så går init vidare med att initiera körnivån. En körnivå beskriver vilken tillstånd din maskin kommer att köras i. Ljud redundant?. Körnivån talar om för init om den kommer att acceptera multianvändning eller bara singel användning,
antingen med eller utan nätverkstjänster, och om du kommer att använda X fönsterhanteringssytem eller agetty(8) för att hantera inloggningar. Filerna nedan definierar de olika körnivåerna i Slackware Linux
rc.0
Stoppar systemet (runlevel 0). Som standard är den symlänkad till rc.6.
rc.4
Startar systemet i multianvändning (körnivå 4) Men i X11 med KDM, GDM eller XDM som loginhanterare.
rc.6
Startar om systemet (körnivå 6).
rc.K
Startar systemet för singelanvädning (körnivå 1).
rc.M
Startar i multianvädning (körnivå 2 och 3), men med textbaserad login. vilket också är Slackwares körnivå som standard.
4.1.3.3 Nätverksinitieringen
Körnivå 2,3 och 4 startar upp nätverkstjänsterna. Följande filer ansvarar för att nätverket initieras.
rc.inet1
Är skapad av netconfig, den här filen ansvarar för konfigureringen av nätvärksgränssnittet.
rc.inet2
Körs efter rc.inet1 och startar upp basen för nätverkstjänsterna.
rc.atalk
Startar upp AppleTalk tjänster.
rc.httpd
Startar upp Apache web server. Som några få andra rc script, så kan även detta användas för att stoppa och starta tjänsten rc.httpd, kräver då argumenten stop, start eller restart
rc.news
Startar upp news servern.
4.1.3.4 System V kompabilitet
System V initieringskompabilitet var introducerad redan i Slackware 7.0. Många andra Linux distrubtioner använder också detta gränssnitt istället för BSD gränssnittet. I grund och botten har varje körnivå en underkatalog för sina init. script, medans BSD gränssnittet skapar ett init. script för varje körnivå.
rc.sysvinit scriptet söker efter alla System V initieringsscript du har i /etc/rc.d och kör dem, om körnivån är passande. Detta är användbart för flertalet kommersiella mjukvarupaket som installerar System V initieringsscript
4.1.3.5 Andra filer
Scripten som beskrivs här nedan är andra systeminitieringsscript. Vanligtvis körs dom av majoriteten av scripten här ovan, så det enda du behöver göra är att ändra innehållet i dem.
rc.gpm
Startar upp generella mustjänster. Tillåter dig att klippa och klistra i Linux konsolen. Då och då kommer gpm att orsaka problem med musen när det används i X fönster. Om du har problem med musen i X, försök då att ta bort körrättigheterna på den här filen och stoppa gpmservern.
rc.font
Laddar teckensnittet för konsolen.
rc.local
Innehåller några startupp kommandon för ditt system. Den är vanligtvis tom efter en ny installation, den är reserverad för lokala administratörer. Detta script körs först efter att alla andra initieringar är klara.
För att aktivera ett script behöver du bara sätta kör rättigheter på filen med chmod kommandot, för att avaktivera ett script så tar du helt enkelt bara bort körrättigheterna. För mer information om chmod se sektion 9.2
Klart, men någon kan väl skumma igenom och kontrollera felaktigeter
--Dartanjang 11 juli 2006 kl.16.12 (CEST)
