Linux
Storage
A simple description of the UNIX system, also applicable to Linux, is this: "On a UNIX system, everything is a file; if something is not a file, it is a proces."
Leerdoelen
- We gaan werken met files en disks
- We leren dat een disk een bestand is
- We leren dat een disk partities heeft
- We leren dat een partitie een bestandssysteem heeft
- We leren een disk te koppelen aan Linux
- We leren een disk te ontkoppelen van Linux
Everything is a file
- Ook apparaten zijn bestanden
- Devices zijn te vinden in /dev/
- Bijzondere devices
- /dev/zero levert nullen
- /dev/urandom levert random data (binair)
- /dev/null de bittenbak
Opdracht: Werken met data
Storage devices on Linux
- /dev/sr0 – CDROM of DVD player
- /dev/cdrom – CDROM of DVD player
ls -l /dev/cdrom
- IDE-harddisks /dev/hdX – hda tot hdzz
- SCSI-harddisks /dev/sdX – sda tot sdzz
- SATA en USB maken gebruik van het SCSI subsystem voor hun devices, dus die beginnen ook met sd
- NVME-drives /dev/nvmeNNNN
VMWare voeg een harddisk toe
- Selecteer je VM
- Klik rechts
- Selecteer: Settings
- Selecteer: Harddisk
- Klik: Add
- Selecteer: Harddisk
- Klik: Next
- Selecteer: SCSI
- Klik: Next
- Selecteer: Create a new virtual disk
- Klik: Next
- Set: 8 GB
- Wijzig de bestandnaam
- Klik: Finish
- Klik: Save
Linux disks
- Op Linux kunnen we de disk meteen zien
- Hiervoor gebruiken we het
lsblk commando
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 10G 0 disk
|- sda1 8:1 0 9G 0 part /
|- sda2 8:2 0 1K 0 part
- sda5 8:5 0 975M 0 part [SWAP]
sdb 8:16 0 8G 0 disk
sr0 11:0 1 1024M 0 rom
Disks & partitions
- Partitioneren: Het indelen van een disk
- Partition (mag er ook maar 1 zijn op een disk)
- Is een container met een file system
- 2 soorten partition tables:
- MBR - Master Boot Record
- GPT - GUID Partion Table
MBR & GPT
- MBR partities
- Maximaal 2T
- Maximaal 4 primaire partities
- Oplosbaar met extended partities
- GPT partities
- Maximaal 9.4 ZB
- Maximaal 128 primaire partities
MBR - Primary & Logical partitions
- Primary partitions /dev/sda1,2,3,4
- Een primary partition kan een extended partition zijn
- Een extended partition kan logical partitions bevatten
- Logical partitions /dev/sda5,6,7,8,etc.
Partitioning tools
- GPT-tools
- fdisk
- parted
- gdisk
- cgdisk
- sgdisk
- MBR-tools
- fdisk
- parted
- cfdisk
- sfdisk
Check disks
- We gebruiken
fdisk
sudo fdisk -l
- Je ziet nu 2 disks waarvan 1 de nieuwe 8 GB disk is
- De nieuwe is zonder een Disklabel
- Vermoedelijk /dev/sdb
Maak partities (1)
sudo fdisk /dev/sdb
- p – print de huidige partitie tabel
- g – maak een nieuwe lege GPT tabel
- n – maak een nieuwe partitie
- Kies: p
- Partitie: 1
- First sector: 2048
- Last sector: +1G
Maak partities (2)
Vervolg...
- t - change filesystem type
- L - geeft lijst van opties
- Kies: 07
- p – print de nieuwe partitie tabel
- w – write en quit (als je klaar bent)
Opdracht
- sdb2: extended partitie met de rest van de disk
- sdb5: fat32 - 1,5 GB
- sdb6: ext4 - 2 GB
- Hulp:
- n - nieuwe partitie
- t - wijzig disk type
- p - print partitie tabel
- m - help
- w - save and quit
File systems
- De manier waarop bestanden op disk worden opgeslagen
- En hoe ze terug gevonden kunnen worden
- Welk bestand is een directory
- Welk bestand is een normaal data bestand
Ondersteuning
- Standaard aanwezig (sudo mkfs.<tab><tab>):
- ext2,3,4 - default filesystems
- cramfs - compressed ROM fs
- bfs - SCO filesystem
- minix - Minix filesystem
- Te installeren:
- APFS (Expirementeel)
- BTRFS
- DOS FS
- exFAT
- ... en nog vele anderen
Ondersteuning extended
- NTFS en tools om NTFS om te zetten naar BTRFS
- Ook filesystems die Linux niet kan maken maar wel lezen en/of schrijven
- Network filesystems (smb (cifs), SSHfs, NFS)
- CDROM: ISO-9660
- Etc.
Filesystem maken
- mkfs.<fstype> <disk-partition>
mkfs.ext4 /dev/sdb6
Opdracht
- Installeer de tools voor exfat
- Formateer sdb1 als exfat
- Installeer de tools voor Microsoft fat
- Formateer sdb5 als fat32
- Check het resultaat met
lsblk -f
Werken met disks
Mount points
- Linux heeft geen drive-letters
- Een disk wordt gemount in (verbonden aan) de directory tree
- Een disk/partition wordt gekoppeld aan een directory (mount point)
Tijdelijke mount points
- Tijdelijke mount point voor root: /mnt
- Mount points per gebruiker:
- /media/<username>/<uuid>
- uuid van een disk opvragen met
sudo blkid
- Let op rechten voor gebruiker!
Permanent maken van mounts
- /etc/fstab
- Entries die altijd gemount worden
- Dit gebeurt bij het opstarten
- Voorbeeld:
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=dd353b28-4717-4e06-bfac-f63a4839cb93 / ext4 errors=remount-ro 0 1
Verwijderen van mounts
- Het commando om een mount te verwijderen is umount
- LET OP: umount, dus niet unmount!
Voorbeelden
sudo mount /dev/sdb1 /mnt
sudo cp data.bin /mnt
ls -l /mnt
sudo umount /mnt
sudo mount /dev/sdb5 /mnt
sudo umount /dev/sdb5
Samenvatting
- We hebben gezien dat disks bestanden (files) zijn
- We hebben een disk gepartitioneerd
- We hebben een partitie geformateerd
- We hebben een partitie gemount en geunmount