dd if=/dev/zero of=/tmp/zero.img bs=1M seek=500 count=0oder
dd if=/dev/zero of=/tmp/zero.img bs=1M 500
Dies ist eine alte Version des Dokuments!
lsblk
Nach Änderungen an einem Boot-Datenträger. (Im Paket parted)
partprobe
Das lange unter Linux gebräuchliche MSDOS oder MBR Format sollte man nur bei Festplatten unter 2TB verwenden. Für größere Festplatten, und wenn man wie bei aktuellen Rechnern üblich eine UEFI Firmware an Stelle des BIOS vorfindet, sollte man für die Partitionstabelle GPT verwenden.
Test-Image erstellen und mounten:
fallocate -l 500M /tmp/zero.img
mkfs.ext4 /tmp/zero.img mkdir /mnt/img mount /tmp/zero.img /mnt/img
cp -a /usr/bin/tail /mnt/img chmod u+s /mnt/img/tail
Als Nutzer:
/mnt/img/tail /etc/shadow
Ist das SUID-Bit wirksam?
cp -a /usr/bin/tail /mnt/img /mnt/img/tail /etc/passwd
Ist /mnt/img/tail
ausführbar?
mknod /mnt/img/sda b 8 0 fdisk -l /mnt/img/sda
Ist der Zugriff auf das Device /mnt/img/sda
möglich?
Erstellen einer virtuellen Festplatte und vorbereiten für den Einsatz in einer VM
Pakete installieren:
parted qemu-img
parted qemu-utils
parted qemu-tools
Nicht in der Praxis
dd if=/dev/zero of=disc1 bs=1K count=0 seek=200M ls -lsh disc* losetup -f disc1 --show losetup -a
lsblk {fdisk,gdisk,parted} /dev/loopxx
partprobe partprobe /dev/loopxx
Virtuelle Festplatte erstellen:
qemu-img create /srv/vmdisk1.img 2G
parted /srv/vmdisk1.img
GPT-Partitionstabelle anlegen: (In der parted
Kommandozeile)
mklabel gpt
100 MiB - 1MiB (parted arbeitet mit festen Endwerten) Swap-Partition anlegen:
mkpart linux-swap 1MiB 100MiB
Daten-Partition anlegen:
mkpart ext4 100MiB 100%
GRUB BIOS Partition aktivieren:
set 1 bios_grub on
parted
verlassen:
quit
Partitionen aus der Image-Datei im System sichtbar machen:
losetup --show -f -P /srv/vmdisk1.img
Swap-Partition formatieren:
mkswap /dev/loop0p1
System/Datenpartition mit XFS für VM mit 2 vCPUs formatieren:
mkfs.xfs -d agcount=2 /dev/loop0p2
yumdownloader centos-release.x86_64 rpm -ihv --nodeps --root /mnt/loop centos-release-7-*.rpm install -b --suffix=.orig /etc/yum.repos.d/CentOS-Base.repo /mnt/loop/etc/yum.repos.d/CentOS-Base.repo yum -y --nogpg --releasever=7 --installroot=/mnt/loop install grub2 iproute tmux passwd procps-ng systemd yum grub2-install --root-directory=./ /dev/loop0
TODO: formatieren, vergrößern
sfdisk -d /dev/sda > part-table.txt
sfdisk /dev/sda < part-table.txt
nur für GPT Partitionen
sgdisk --backup=sda.gpt.bkup /dev/sda
sgdisk --load-backup=sda.gpt.bkup /dev/sda
geht nur bei identischer Festplatte
dd if=/dev/sda of=part-table.img bs=1 count=512
dd if=part-table.img of=/dev/sda bs=1 count=64 skip=446 seek=446
fdisk -l > partitionierung.txt
geht nur von Hand
gdisk -l > partitionierung.txt
geht nur von Hand
parted /dev/sda print > partitionierung.txt
geht nur von Hand
Leere Partitionstabelle erstellen:
parted /dev/sda mklabel msdos
oder
gpt
Partitionierung von Hand anlegen
Debian:
util-linux
m | Hilfe |
d | Partition löschen |
n | neue Partition erstellen |
t | Typ der Partition setzen |
p | Partitionstabelle anzeigen |
w | geänderte Partitionstabelle speichern |
q | fdisk verlassen ohne zu speichern |
2100 MByte große Partition auf Festplatte /dev/sda
anlegen:
fdisk /dev/sda
Neue Partition erstellen:
n
Partition als logische Partition erstellen:
l
Startblock auswählen:
Bei der ersten Partition sollte hier Sektor 2048 oder ein Vielfaches davon stehen. Wenn die Sektorgröße 512 Bytes ist, dann liegt der Partitionsbeginn bei 1048576 Bytes (=1 MiB). Bei virtuellen Maschinen kann man hier auch 0 angeben.
Größe angeben:
+2100M
geänderte Partitionstabelle speichern:
w
Alte Kerneltabelle ansehen:
cat /proc/partitions
Kernel Partitionstabelle neu einlesen lassen:
partprobe
Neue Kerneltabelle prüfen:
cat /proc/partitions
Debian:
parted
help | Hilfe |
rm | Partition löschen |
mklabel | neue Partitionstabelle erstellen |
mkpart | neue Partition erstellen |
set | Typ der Partition setzen |
Partitionstabelle anzeigen | |
quit | fdisk verlassen ohne zu speichern |
2100 MByte große Partition auf Festplatte /dev/sda
anlegen:
parted /dev/sda
Aktuelle Partitionierung ausgeben:
Neue Partition erstellen:
mkpart
Partition type? primary/logical?
l
File system type?
ext3
Start?
16500
End?
19077
Parted verlassen:
quit
eine Lösung wird nicht mehr Bereitgestellt