Udgivet i

Linux filsystem – partitioner

Hvis man har for vane ofte at geninstallere sit system varer det ikke længe inden man begynder at kigge på hvordan man gemmer sin foretrukne opsætning, dokumenter, billeder og andet så man let kan gendanne disse efter reinstallation.

Backup løsninger kan komme på tale men man skal bruge tid på at gendanne fra backup – og man kunne begynde at overveje om der kunne være andre løsninger og efterhånden som man lærer sit Linux system at kende opdager man at der findes mange små smarte løsninger – lige for hånden.

Symlinks

Symlinks eller symbolske lænker og monteringspunkter er små løsninger med stor virkning. Hvordan kan vi udnytte det i ovenstående sceanrie? Når vi installerer vores system kan vi gøre det til en vane at bestemme vores diskopsætning manuelt og for kunne gøre det effektivt er det nødvendigt med noget baggrundsviden.

Linux disk layout

En moderne computer bruger en opstarts form der kaldes Unified Extensible Firmware Interface (EFI/UEFI). Det er forskelligt fra tidligere systemer som anvendte Master Boot Record (MBR). EFI boot kræver at der findes et særligt diskafsnit (partition) til indlæsning af styresystemets kerne. Udover denne partition er der partitioner til rodsystemet (root) og swap (virtuel disk hukommelse).

Som det fremgår er denne opsætning lavet med 3 partitioner som er tilknyttet hver sit monteringspunkt /boot/efi, / (root) og /home.

Et Linux/Unix filsystem er opbygget efter Filesystem Hierachy Standard. Følgende struktur er et Arch Linux filsystem. Arch Linux har valgt at samle eksekverbare filer og biblioteksfiler i henholdsvis /usr/bin og /usr/lib. Dette ses af -> som er indikationer på symlinks til de respektive mapper. Det illustrerer også målet for denne artikel – at oprette en separat partition til data som vi vil undgå at slette ved reinstallation og på den anden side heller ikke ønsker at reetablere fra backup.

Øvelsen

Ved installation af Ubuntu Linux kan man undervejs i installationen vælge Installationstype og det er her vi bøjer af fra standardinstallationen og vælger Noget andet.

Partitioner

Dette eksempel er lavet som ny installation i en virtuel computer under VirtualBox og bruger EFI. Hvis du laver dette på en fysisk computer skal du huske at hvis computeren er født med Windows 8/10 – skal der oprettes en EFI partition. En rimelig størrrelse for denne er 512 MiB. Du kan checke ved at kigge i listen Brug som: – har du her valget EFI system skal du oprette en efi partition.

Målet er her at oprette en partition til systemet og en partition til data der skal gemmes fra installation til installation.

  • EFI partition på 512 MiB
  • Root partition på 10000 MiB
  • Data partition på  der udfylder resten af pladsen

KUN hvis det er en ny installation eller disken er tom eller du ved det er OK at slette disken skal du klikke på Ny partitonstabel… Hvis du genbruger en disk og du har data der ikke må fjernes skal du slette partitioner for at frigøre plads til det nye layout.

Marker den ledige plads og klik på +

  • Størrelse: indtast 10000 i feltet
  • Brug som: beholdes som ext4
  • Monteringspunkt: angives til / (root)

Marker igen den ledige plads og tryk på +

  • Størrelse: er angivet til resterende plads
  • Brug som: beholdes som ext4
  • Monteringspunkt: angives til /data

Fortsæt installationen som du plejer. Når installationen er færdig genstarter du og logger ind.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Data partitionen

Når computeren er genstartet er vi klar til næste skridt. Din hjemme mappe består af en række mapper og filer der har betydning for din opsætning og dine data.

Alle dine data og de ændringer du laver i din opsætning gemmes i din hjemme mappe /home/brugernavn. Ofte er det ikke nødvendigt at gemme opsætninger – medmindre man har f.eks. mail lokalt på computer. Men lad os forudsætte at vi bruger IMAP så al mail ligger på en server et sted. De mapper vi gerne vil undgå at slette og gendanne kunne være Dokumenter, Billeder, Musik og måske Skrivebord.

Som standard kan en almindelig bruger ikke skrive til områder uden for hjemmemappen. Den partition vi oprettede og monterede som /data er ingen undtagelse.

Så vi skal have givet vores bruger lov til at bruge monteringspunktet. Et Unix system har programmer der håndterer netop disse forhold. Hvis du er den eneste bruger på computeren er den enkleste måde at skifte ejer på mappen.

Åbn en terminal og indtast kommandoen for ejerskifte chown og tast Enter. Angiv din adgangskode og ejerskiftet er foretaget. I eksemplet her anvender vi systemvariablen $USER som angivelse af det nye bruger:gruppe ejerskab.

sudo chown $USER:$USER /data

Herefter flyttes de mapper du ønsker at beholde fra din home mappe til /data

mv Dokumenter/ /data

For at systemet også kan finde din mappe bruger vi et symlink (en symbolsk lænke)

ln -s /data/Dokumenter ~/Dokumenter

Konklusion

Vi har i artiklen set på hvordan et Linux filsystem er bygget op og hvordan partitioner bliver monteret i mapper hvorved vi får adgang til en partition via filsystemet selv.

Vi har også set på ejerskab af mappe i filsystemet og hvordan vi skifter ejerskabet så vi bruge den til vores formål.

Til sidst så vi hvordan man med en symbolsk lænke – en genvej – kan instruere filsystemet til at anvende en anden partition for en system mappe.

Udgivet i

USB navn

Du kender situationen: Du har flere USB-nøgler og når du monterer den har du ingen anelse om hvad der er på den. Det ville nu være rart om man kunne se et navn i stedet for det generiske KINGSTON eller 8GB enhed.

Hvordan navngiver du en disk

For at data kan lagres kræver det et diskafsnit eller partition. Når der er flere partitioner er disken, set fra systemets side numerisk opdelt i enheder.
Åbn en terminal og – som almindelig bruger – indtast nedenstående og tryk Enter

$~ lsblk -la

Afhængigt af dit system får du noget der ligner dette og som du bemærker er disken kendt af systemet som sda og partitionerne som sda1, sda2 og sda3.

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
 sda 8:16 0 223,6G 0 disk
 sda1 8:17 0 513M 0 part /boot/efi
 sda2 8:18 0 32G 0 part /
 sda3 8:19 0 127,1G 0 part /home

Indsæt din USB-nøgle og gentag kommandoen – afslut med Enter

$~ lsblk -la

Lokaliser den nye enhed der bliver listet

sdb 8:48 1 7,3G 0 disk
 sdb1 8:49 1 920M 0 part /run/media/fh/archlabs-lts-2017-10-x86_64

I dette eksempel hedder den indsatte usb-nøgle sdb og partitionen hedder sdb1.

Som du sikkert bemærker så er det ikke selve disken der har et navn men diskafsnittet eller partitionen. Partitionen hedder i dette tilfældet archlabs-lts-2017-10-x86_64.

Ændre filsystem navn

Hvis disken er oprettet ved at der er skrevet et iso-billede til den vil af filsystemet ses som en CD ISO9660 og den kan man ikke ændre navn på.

$~ e2label /dev/sdb1 "Billeder 2017"
e2label: Permission denied while trying to open /dev/sdd1
Couldn't find valid filesystem superblock.

Her lærer vi to ting

  • Ændring i filsystemet kræver superbruger – kommandoen skal startes med sudo
  • Der en filsystem fejl

Når vi gentager kommandoen med sudo får vi lidt mere information

$~ sudo e2label /dev/sdb1 "Mine billeder"
e2label: Bad magic number in super-block while trying to open /dev/sdd1
/dev/sdd1 contains a iso9660 file system labelled 'archlabs-lts-2017-10-x86_64'

Så her har vi ovennævnte tilstand med et CD filsystem. For at ændre denne er vi nødt til at slette partitionen, lave en ny og formattere denne.

Partitionering

Ansvarsfraskrivelse: Brug kommandoen fdisk -l /dev/sdX for at få vist partitioner på den disk du påtænker at ændre:

$~ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 7,3 GiB, 7807696896 bytes, 15249408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf39bc09a

Start fdisk som superbruger. Når du har startet, kan du taste m for at få en oversigt over kommandoerne (Udskift X med det der passer for dit system):

$~ sudo fdisk /dev/sdX
Welcome to fdisk (util-linux 2.31).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help):

Linux disk – ext4

Fremgangsmåden for at lave en USB-nøgle med en partition som kun kan læses af Linux:

o
n
Enter
Enter
Enter
Enter
w

Fjern USB-nøglen og indsæt den igen (Udskift X med det der passer for dit system):

$~ sudo mkfs.ext4 /dev/sdX1 -L "Mine Billeder"

Windows disk – fat32

Fremgangsmåde for at lave en USB-nøgle der kan læses af alle systemer:

o
n
Enter
Enter
Enter
Enter
t
c
w

Fjern USB-nøglen og indsæt den igen (Udskift X med det der passer for dit system):

$~ sudo mkfs.vfat /dev/sdX1 -L "Mine Billeder"