Installerer Gentoo som en VirtualBox VM
Gentoo er en av de mest esoteriske distribusjonene der ute. Det tilbyr tilpassbarhet på bekostning av brukervennlighet. Det kaster imidlertid lys over de interne funksjonene til en Linux-installasjon. Å eksperimentere med et Gentoo-miljø i en VM er sannsynligvis en fin måte å begynne å lære om operativsystemer generelt.
La oss gå gjennom en trinnvis prosess for å installere base OS sammen med forklaringen bak hvert trinn.
1. Få riktig installasjonsmedium
Den enkleste måten å installere Gentoo på er å bruke Hybrid ISO (LiveDVD). Hvilket betyr at diskbildet kan brukes til å installere operativsystemet på en annen disk, eller det kan bare brukes som et levende miljø å starte opp for diagnostiske formål.
Du kan få bildefilen her. Velg den som tilhører maskinvareplattformen. Moderne Intel- og AMD-prosessorer tilbyr vanligvis AMD64-arkitektur.
Deretter må du opprette en VM på VirtualBox. Åpne VirtualBox, og klikk på knappen som sier "Ny" nå kan du skrive inn navnet på den virtuelle maskinen og velge 'Skriv' som Linux og 'Versjon' som Gentoo 64-bit.
Sett minnestørrelsen til 2048MB, og klikk deretter på "Opprett" for å fortsette med opprettelsen av en virtuell harddisk.
Standardverdiene vil fungere fint i dette tilfellet (selv om vi skal jobbe med 32 GB diskplass i stedet for 8 GB), og nå kan du klikke på 'Opprett' en siste gang for å fullføre detaljene.
Velg nå den nyopprettede VM fra VirtualBox-dashbordet, og du blir bedt om en oppstartsdisk. Klikk på filikonet ved siden av det og i filutforskeren som åpnes etter det, naviger til gentoo livecd iso-filen du har lastet ned tidligere.
Når du har startet opp VM, vil du se oppstartsmenyen med følgende alternativer:
Å velge x86_64 er det mest passende alternativet i dette tilfellet.
Etter det blir du møtt med en påloggingsskjerm med standard gentoo-bruker, klikk på pålogging uten å oppgi noe passord (som angitt i skjermbildet nedenfor).
Du er nå teknisk inne i et Gentoo-operativsystem. Dette er imidlertid et live media, noe som betyr at du ikke kan bruke det som et system installert på din (virtuelle) harddisk. Men du kan bruke dette miljøet til å installere Gentoo på den virtuelle harddisken.
2. Partisjonere den virtuelle harddisken
De .vdi-disk som vi opprettet tidligere, er bare en rå disk på dette tidspunktet, festet til den virtuelle maskinen, og selve VM-en kjører Gentoo live media. Nå for å installere Gentoo-miljøet på denne disken slik at den kan starte seg selv, må vi gjøre flere ting.
- Gjør disken oppstartbar.
- Formater disken med et filsystem
- Installer basen av Gentoo-bildet på rotfilsystemet.
For å utføre den første oppgaven trenger vi bare å lage 4 partisjoner av følgende størrelse og helst i følgende rekkefølge.
- Bootloader-partisjon for grub: 50 MB i størrelse
- Boot partisjon formatert ext4: 500MB i størrelse
- Bytt partisjon for byttefil: 2000 MB i størrelse
- Rotpartisjon for hoved OS og relaterte binærfiler. Formateres med ext4 filsystem og kommer til å ta det gjenværende flertallet av plassen til den virtuelle disken.
For å lage partisjonene må vi først få navnet på den virtuelle disken som er festet til systemet. Åpne terminalen (konsole) og kjør sudo -i å bli rotbruker og deretter kjøre lsblk for å liste opp alle blokklagringsenhetene.Enhetsnavnet i vårt tilfelle er sda is sda og den har størrelse 32 GB. Deretter må vi gå inn i delt verktøy for å partisjonere denne disken. For å gjøre det, kjør som root:
$ skilt -en optimal / dev / sda
Nå er vi i delet verktøy CLI, la oss starte med å liste opp alle partisjonene ved å skrive ut:
Og vi får en feilmelding som sier at disken ikke gjenkjennes. Dette er å forvente siden installasjonsprosessen med Gentoo ikke er automatisert, du må manuelt konfigurere alle detaljer, inkludert partisjoneringsdetaljene for basesystemet ditt. Første ting først, la oss gi disken vår en skikkelig etikett.
(skilt) mklabel gptGPT-etiketter er essensielle for å identifisere en enhet unikt, selv etter at systemet starter på nytt og enheten er koblet til en annen port, denne etiketten vil være ansvarlig for å fortelle operativsystemet at disken nettopp har endret SATA-porter, men det er fortsatt de samme dataene og format som før.
Partisjoner disken ved å kjøre følgende kommandoer (Linjer som begynner med '#' symbol er kommentarer for å forklare kommandoen over dem):
(skilt) enhet MB#Setter enheten til MegaBytes
(skilt) mkpart primær 1 20
#Lager en primær partisjon som starter fra 1 MegaByte til nr. 20 for bios
(skilt) mkpart primær 21 500
#Partition / boot filsystem
(skilt) mkpart primær 501 2500
#Partisjon av størrelse 2000MB laget for bytte
(skilt) mkpart primær 2501 -1
#Partition for / (root) filsystemet. -1 indikerer at
# Denne partisjonen går helt til slutten av disken.
Du kan se at hver partisjon har et nummer og er av typen primær. Imidlertid er de ikke formatert med et bestemt filsystem eller har noen bruksnavn eller flagg satt til dem. La oss gjøre det.
(skilt) navn 1 grub(delt) sett 1 bios_grub på
#Partisjon nummer 1 har sitt bios_grub-flagg satt til ett
#og får et passende navn.
(delt) navn 2 boot
(delt) navn 3 bytte
(delt) navn 4 rot
(skilt) sluttet
Etter å ha satt passende navn til alle de 4 partisjonene og 1 bios_grub-flagg til den første partisjonen, avsluttet vi det delte verktøyet. Nå fortsetter vi med å formatere partisjonene med et passende filsystem i vårt vanlige bash-skall (fremdeles som rotbruker) ved først å kjøre følgende kommando:
$ lsblk# For å liste opp alle partisjonene og sjekke enhetsnodenavnene
Du kan se at partisjoneringsskjemaet har merket den første partisjonen sda1 som tilsvarer grubpartisjon og så videre og så videre til sda4. Enhetene er til stede i / dev-katalogen som / dev / sda1, / dev / sda2 og så videre.
For å formatere dem tilsvarende, kjør kommandoene:
$ mkfs.ext4 / dev / sda2$ mkfs.ext4 / dev / sda4
$ mkswap / dev / sda3
$ swapon / dev / sda3
Nå kan vi montere disse partisjonene i det nåværende live miljøet slik at alle nødvendige operasjoner som å bygge kjernen kan utføres der inne og lagres vedvarende.
$ mount / dev / sda4 / mnt / gentoo$ mkdir / mnt / gentoo / boot
$ mount / dev / sda2 / mnt / gentoo / boot
Vår ville være rotpartisjon er montert på / mnt / gentoo av det nåværende livecd-miljøet, og på samme måte ville vår boot-partisjon være montert på / mnt / gentoo / boot.
3. Å få tarball og bruke chroot
Nå som vi har forberedt disken for oss, er det på tide for oss å hente tarball av gentoo-kildekoden og plassere den der inne. I live CD-miljøet åpner du nettleseren, åpner denne lenken og klikker på Stage3-arkivene under amd64-delen øverst på siden.
Når nedlastingen er fullført, kopierer du tarballen til / mnt / gentoo katalogen og trekk ut innholdet der inne.
$ cp / home / gentoo / Nedlastinger / mnt / gentoo$ tar xpf stage3- *.tjære.xz --xattrs-include = '*.* '
--numerisk eier
I den andre kommandoen brukes tjæreverktøyet til å pakke ut tarballen. xpf forteller tjærekommandoen som vi vil x ekstrakt, s bevare tillatelser til filene og f å antyde at vi trekker ut filer og ikke standardinndata.
Filendelsen er kanskje ikke det tjære.xz i ditt tilfelle. Observer navnet på tarballfilen din og skriv inn deretter.
De --xattrs-inkluderer
en del av kommandoen bevarer attributtene (lese, skrive og utføre) for individuelle filer
Og --numerisk eier
sikrer et gruppe- og bruker-ID-nummer som godkjent av Gentoo-konvensjonen for et typisk oppsett.
Hvis du ser innholdet som ble hentet ut i din / mnt / gentoo
katalog de ligner et typisk Unix-rotmiljø med katalog som / etc / sbin,
etc. Tanken bak dette er at når alle filene som er nødvendige for et fungerende Gentoo-miljø er hentet, vil vi endre rotkatalogen til / mnt / gentoo
bruke verktøy og pakkeforvaltere for å konfigurere det. Pakkeforvalteren ville gjøre endringer i / katalogen, men det ville bli lurt til å gjøre endringer i / mnt / gentoo
katalog i stedet.
Siden vår root-partisjon er montert på denne katalogen, vil alle endringene bli gjort der borte, og da vil vi starte dette nye miljøet når vi er ferdige.
Men først, la oss gjøre noen endringer i konfigurasjonsfilene:
$ nano / gentoo / mnt / etc / portage / make.konf
Etter CFLAGS linje, bør du legge til følgende linjer som lar portage behandle c ++ filer på samme måte som c filer. Portage er løst sagt gentoos pakkeleder. Den brukes til å hente kildekoden til programmer, slik at du kan kompilere dem alle (automatisk) på ditt opprinnelige system.
$ CXXFLAGS = "$ CFLAGS"Kopier også resolv.conf-fil fra livecd-miljøet til den nye roten.
$ cp -L / etc / resolv.conf / mnt / gentoo / etc /Nå sørger vi for at alle filsystemene som er nødvendige for at Linux-kjernen kan samle informasjon om systemet er tilgjengelige når den prøver å starte. Så vi tar informasjonen som er samlet inn av livecd-bildet om den virtuelle maskinen vår og maskinvaren, og vi binder dem til vårt nye rotfilsystem.
$ mount -t proc / proc / mnt / gentoo / proc$ mount --rbind / sys / mnt / gentoo / sys
$ mount --rbind / dev / mnt / gentoo / dev
Det er på tide for oss å chroot (endre rot) til / mnt / gentoo.
$ kilde / etc / profil
$ eksport PS1 = ”(chroot) $ PS1”
4. Kompilering av Linux-kjernen
La oss synkronisere portagetreet vårt (programvarelager) med den offisielle versjonen. Dette ligner på apt oppdatering i Ubuntu.
$ emerge-webrsyncNår det er ferdig, kan vi velge en profil for systemet vårt. Som i hovedsak stiller inn systemet for et bestemt brukstilfelle (server, arbeidsstasjon osv.). Vi skal gå med et KDE-plasmamiljø oppført på nummer seks.
$ velg profilliste$ eselect profil sett 6
Tidssonekonfigurasjoner er neste:
$ ls / usr / share / zoneinfoFinn posisjonen din i denne katalogen. I dette tilfellet var det Asia / Dili
$ cp / usr / share / zoneinfo / Continent / City / etc / localtime$ echo "Asia / Dili"> / etc / tidssone
Neste kommentar er det stedsspesifikke tegnsettet og språket du vil bruke fra filen / etc / locale.gener. Vi kommenterte linjen no USA.UTF-8 UTF-8.
$ nano / etc / locale.gener
Bruk endringene:
$ locale-gen$ env-oppdatering && kilde / etc / profil
Nå kan vi få Linux-kjernekilder og begynne å kompilere dem:
$ dukker opp gentoo-kilder$ dukker opp genkernel
$ genkernel alt
Den siste kommandoen begynner å kompilere kjernen, noe som vil ta lang tid, spesielt hvis du har begrensede maskinvareressurser.
5. Finpuss
Etter kjernekompilering trenger vi bare å gjøre noen flere endringer som å installere grub, legge til en bruker og sørge for at operativsystemet monterer de viktige filsystemene automatisk under oppstartsprosessen.
For å sikre at den siste av disse tingene skjer, rediger du filen i det rotte miljøet / etc / fstab hvor fstab står for filsystemtabell:
$ nano / etc / fstabLegg til følgende linjer nederst i filen:
/ dev / sda2 / boot ext4 standardinnstillinger, noatime 0 2/ dev / sda4 / ext4 noatime 0 1
/ dev / sda3 ingen byttebytte 0 0
Installer DHCP-klient slik at den virtuelle maskinen din har nettverkstilkobling.
$ dukker opp dhcpcdForsikre deg om at DHCP-klienten starter ved oppstartsprosessen:
$ rc-update legg til dhcpcd-standardÅ sette et passord for rotbrukeren er så enkelt som å skrive inn kommandoen nedenfor og skrive inn ditt nye passord når du blir bedt om det:
$ passwdFor å legge til en ny bruker som heter bob skriv inn kommandoen:
$ useradd -m -G brukere, hjul, portage -s / bin / bash bob$ passwd bob ## Dette er for å angi et passord for bruker bob
Vi trenger også sudo, så la oss installere det:
$ dukke sudoOg la medlemmene i hjulgruppen utføre vilkårlig kommando, vi må redigere filen / etc / sudoers:
$ visudo
Til slutt må vi installere og konfigurere grub bootloader:
$ dukke grub$ grub-install / dev / sda
$ grub-mkconfig -o / boot / grub / grub.cfg
Nå kan vi avslutte chroot-miljøet og demontere filsystemene:
$ exit$ umount -l / mnt / gentoo / dev / shm, / pts,
$ umount -l / mnt / gentoo / boot, / proc,
$ shutdown nå
Gå til VM-innstillingen og fjern lagringsdelen som er festet til VM-en i lagringsdelen.
Når du starter VM på nytt, blir du møtt med et tty-grensesnitt til det nylig installerte Gentoo-operativsystemet. Logg inn som brukernavnet og passordet du valgte under installasjonen.
Konklusjon
Bare installasjonsprosessen for Gentoo avslører mye mer om den interne funksjonen og strukturen under de fleste Unix-miljøer. Hvis man ønsker å oppnå en dypere kunnskap om systemet, vil Gentoo-håndboken være et flott sted å starte!