11.5. Komme i gang etter LFS

11.5.1. Bestemme hva du skal gjøre videre

Nå som LFS er fullført og du har et oppstartbart system, hva gjør du? Det neste trinnet er å bestemme hvordan den skal brukes. Generelt er det to brede kategorier å vurdere: arbeidsstasjon eller server. Faktisk disse kategoriene utelukker ikke hverandre. Applikasjonene som trengs for hver kategori kan kombineres til et enkelt system, men la oss se på dem separat for nå.

En server er den enklere kategorien. Vanligvis består dette av en nettserver som Apache HTTP Server og en databaseserver som f.eks MariaDB. Men andre tjenester er mulig. Operativsystemet innebygd i en engangsenhet faller inn i denne kategorien.

På den annen side er en arbeidsstasjon mye mer kompleks. Generelt krever den et grafisk brukermiljø som f.eks LXDE, XFCE, KDE, eller Gnome basert på et grunnleggende grafisk miljø og flere grafisk baserte applikasjoner som f.eks Firefox nettleser, Thunderbird e-postklient, eller LibreOffice kontorpakke. Disse applikasjonene krever mange (flere hundre avhengig av ønskede funksjoner) flere pakker med støtteapplikasjoner og biblioteker.

I tillegg til ovennevnte er det et sett med applikasjoner for systemstyring for alle typer systemer. Disse applikasjonene er alle i BLFS boken. Ikke alle pakker er nødvendige i alle miljøer. F.eks dhcpcd, er normalt ikke egnet for en server og trådløse verktøy, er normalt bare nyttige for et bærbart system.

11.5.2. Arbeide i et grunnleggende LFS miljø

Når du starter opp i LFS, har du alle interne verktøy for å bygge tilleggspakker. Dessverre er brukermiljøet ganske sparsomt. Det er et par måter å forbedre dette på:

11.5.2.1. Arbeide fra LFS verten i chroot

Denne metoden gir et komplett grafisk miljø hvor fulle funksjoner for nettleser og kopier/lim inn er tilgjengelige. Denne metoden lar deg laste ned applikasjoner som vertens versjon av wget for å laste ned pakkekilder til et sted som er tilgjengelig når du arbeider i chroot miljøet.

For å kunne bygge pakker på riktig måte i chroot, må du også huske å montere de virtuelle filsystemene hvis de ikke allerede er montert. En måte å gjøre dette på er å lage et skript på VERTS systemet:

cat > ~/mount-virt.sh << "EOF"
#!/bin/bash

function mountbind
{
   if ! mountpoint $LFS/$1 >/dev/null; then
     $SUDO mount --bind /$1 $LFS/$1
     echo $LFS/$1 mounted
   else
     echo $LFS/$1 already mounted
   fi
}

function mounttype
{
   if ! mountpoint $LFS/$1 >/dev/null; then
     $SUDO mount -t $2 $3 $4 $5 $LFS/$1
     echo $LFS/$1 mounted
   else
     echo $LFS/$1 already mounted
   fi
}

if [ $EUID -ne 0 ]; then
  SUDO=sudo
else
  SUDO=""
fi

if [ x$LFS == x ]; then
  echo "LFS not set"
  exit 1
fi

mountbind dev
mounttype dev/pts devpts devpts -o gid=5,mode=620
mounttype proc    proc   proc
mounttype sys     sysfs  sysfs
mounttype run     tmpfs  run
if [ -h $LFS/dev/shm ]; then
  install -v -d -m 1777 $LFS$(realpath /dev/shm)
else
  mounttype dev/shm tmpfs tmpfs -o nosuid,nodev
fi 

#mountbind usr/src
#mountbind boot
#mountbind home
EOF

Merk at de tre siste kommandoene i skriptet er kommentert ut. Disse er nyttige hvis disse mappene er montert som separate partisjoner på vertssystemet og vil bli montert ved oppstart av det fullførte LFS/BLFS-systemet.

Skriptet kan kjøres med bash ~/mount-virt.sh som enten en vanlig bruker (anbefalt) eller som root. Hvis du kjører som vanlig bruker, er sudo nødvendig på vertssystemet.

Et annet problem påpekt av skriptet er hvor du skal lagre nedlastede pakkefiler. Denne plasseringen er vilkårlig. Det kan være i en vanlig brukers hjemmekatalog som ~/sources eller på en global plassering som /usr/src. Vær anbefaling er å ikke blande BLFS kilder og LFS kilder i (fra chroot-miljøet) /sources. I alle fall, pakkene må være tilgjengelig inne i chroot-miljøet.

En siste bekvemmelighet som presenteres her er å strømlinjeforme prosessen for å gå inn i chroot-miljøet. Dette kan gjøres med et alias plassert i en brukers ~/.bashrc-fil på vertssystemet:

alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ "
PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login'

Dette aliaset er litt vanskelig på grunn av sitering og nivåer av omvendt skråstrek. Det må være på en linje. Kommandoen ovenfor er delt i to for presentasjonsformål.

11.5.2.2. Arbeide eksternt via ssh

Denne metoden gir også et fullstendig grafisk miljø, men først kreves installasjon av sshd på LFS systemet, vanligvis i chroot. Det krever også en datamaskin nummer to. Denne metoden har fordelen av å være enkel ved å ikke kreve kompleksiteten til chroot-miljøet. Den bruker også din LFS bygde kjerne for alle tilleggspakker og gir fortsatt et komplett system for å installere pakker.

Du kan bruke scp kommando for å laste opp pakke kilder som skal bygges inn i LFS systemet. Hvis du vil laste ned kildene direkte på LFS systemet, installer libtasn1, p11-kit, make-ca, og wget i chroot (eller last opp kildene deres ved å bruke scp etter oppstart av LFS systemet).

11.5.2.3. Arbeide fra LFS kommandolinjen

Denne metoden krever installasjon av libtasn1, p11-kit, make-ca, wget, gpm, og links (eller lynx) i chroot og deretter omstart i det nye LFS systemet. På dette punktet har standardsystemet seks virtuelle konsoller. Veksling mellom konsoller er like enkelt som å bruke Alt+Fx tastekombinasjoner hvor Fx er mellom F1 og F6. Kombinasjonene Alt+ og Alt+ vil også endre konsollen.

På dette tidspunktet kan du logge på to forskjellige virtuelle konsoller og kjøre links eller lynx nettleseren i den ene konsollen og bash i den andre. GPM tillater da å kopiere kommandoer fra nettleseren med venstre museknapp, bytte konsoller, og lime inn i den andre konsollen.

[Note]

Note

Som en sidenotat kan bytting av virtuelle konsoller også gjøres fra en X Window forekomst med Ctrl+Alt+Fx tastekombinasjon, men kopieringsoperasjonen med mus fungerer ikke mellom det grafiske grensesnittet og en virtuell konsoll. Du kan gå tilbake til X Window-skjermen med Ctrl+Alt+Fx kombinasjonen, hvor Fx vanligvis er F1 men kan være F7.