====== FreeBSD - formatieren mit UFS ====== Hier zeige ich wie man einen Datenträger für das formatieren mit UFS vorbereitet und dann formatiert, allerdings bevorzuge ich seit FreeBSD 8.0 das Dateisystem [[::ZFS]]. ;-) ===== Disketten mit UFS formatieren ===== # fdformat -f 1440 fd0 # disklabel -w fd0 floppy3 # newfs -i 65536 /dev/fd0 ===== Festplatte partitionieren/formatieren ===== Die Blockgerätebezeichnungen, für z.B. Festplatten, unterscheiden sich in FreeBSD erst einmal nach IDE-Geräten zu denen auch SATA-Geräte zählen und SCSI-Geräten zu denen auch USB--Geräte zählen. - SCSI/USB z.B.: /dev/da4 - IDE/S-ATA z.B.: /dev/ad4 Als nächstes gibt es die Möglichkeit, dass man die komplette Platte nutzt. Hierbei wird nicht auf Zylindergrenzen geachtet, sondern wirklich der gesamte Platz von Anfang bis Ende genutzt: # fdisk -I /dev/da4 Oder man möchte die Platte unterteilen, dann muss man Slise's einrichten. Hierbei wird nur der Bereich zwischen **ganzen** Zylindern genutzt, dabei bleibt im Regelfall immer etwas ungenutzter Platz am Ende der Platte übrig: # fdisk -i /dev/da4 - die Bezeichnung für die Partition "a" sieht bei Nutzung der ganzen Platte z.B. so aus: /dev/da4a - die Bezeichnung für die Partition "a" sieht bei Nutzung einer Slise (s1) z.B. so aus: /dev/da4s1a Im folgenden zeige ich Schritt für Schritt, welche Arbeitsschritte beim einrichten, z.B. einer Backup-Platte, abzuarbeiten sind. Ich gehe hier mal von einer USB-Platte aus und verwende deshalb die Bezeichnung für eine SCSI-Platte. Weiterhin verzichte ich auf das einrichten von Slise's, da ich eine einzige große Partition brauche. Aber im Grunde macht es kaum einen Unterschied, nur das kleine "i" an Stelle des großen "I" und die paar MB Verlust am Ende der Platte. ==== Platte sauber machen ==== Beispiel-Platte: "/dev/da4": # /bin/dd if=/dev/zero of=/dev/da4 bs=1k count=1 ==== Initialisieren ==== ohne Boot-Code und ohne Slise's (Sektor "0" wird initialisiert): # fdisk -I /dev/da4 ******* Working on device /dev/da4 ******* === diese Schritte sind optional und für unsere Backup-Platte unwichtig === will man die Platte bootfähig machen, dann müsste auch der Boot-Code mit rauf: # /sbin/fdisk -BI /dev/da4 allerdings kann man den Boot-Code auch separat auf die Platte schreiben: # /sbin/fdisk -B /dev/da4 Sollen auf der Platte nur die aktive Partition verändert werden, dann wird das mit dem folgenden Aufruf bewirkt: # fdisk -a da4 ==== BSD-Label schreiben ==== Schreibschutz aufheben (in neueren Versionen ist "-W" nicht mehr drin und damit dieser Schritt überflüssig): # disklabel -W da4 Standard-Label schreiben: # disklabel -w da4 auto es geht auch: # disklabel -w da4 Anlegen der neuen Disklabel bei SCSI-Platten: # disklabel -e /dev/da4 Wenn jetzt die Meldung **"//disklabel: Operation not supported by device//"** erscheint, dann ist es in diesem Fall nicht möglich, die ganze Festplatte ohne Slise's zu verwenden. Es ist dann automatisch eine Slise angelegt worden, geben Sie zum editieren des Disk-Label's die Slise mit an (z.B.: /dev/ad4s1). will man die Platte bootfähig machen, was wir nicht wollen, dann müsste auch der Bootloader mit drauf: # disklabel -B da4 Jetzt müssen wir einfach eine eigene Partition anlegen, in unserem Fall legen wir (wie allgemein üblich) die Partition "e" an. Dazu müssen wir das Label editieren (Schalter "-e"): # disklabel -e /dev/da4 vorher: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) nachher: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Es ist aber auch möglich, dass die Partition "a" automatisch beim Standard-Label schreiben angelegt wurde: # size offset fstype [fsize bsize bps/cpg] a: 60074721 63 unused 0 0 0 c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) In dem Fall können wir auch gleich diese verwenden und brauchen keine eigene anlegen. Im folgenden gehe ich mal davon aus, dass die Partition "a" automatisch angelegt wurde, allerdings müssen wir auch dann noch den "fstype" für die Partition "a" auf "4.2BSD" ändern. Sonst können wir die Partition nicht mit dem Dateisystem UFS nutzen: # size offset fstype [fsize bsize bps/cpg] a: 60074721 63 4.2BSD 0 0 0 c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) Wollen wir dagegen ZFS drauf machen, dann können wir den "fstype" für die Partition "a" auch so lassen. den Schreibschutz wieder auf das LABEL setzen (in neueren Versionen ist "-N" nicht mehr drin und damit dieser Schritt überflüssig): # disklabel -N da4 ==== Zum schluss muss die Partition noch mit einem Dateisystem versehen werden ==== === UFS-Dateisystem anlegen === ohne Slise: /sbin/newfs /dev/da4a mit Slise: /sbin/newfs /dev/da4s1a == SoftUpdate aktivieren == Das //SoftUpdate// bewirkt, dass die Arbeit mit der Platte etwas flotter geht und das bei einem Absturz die Platte eigentlich immer einen konsistenten Zustand haben sollte. So das "fsck" weniger Fehler beheben muss und schneller fertig ist. # tunefs -n enable /dev/da4a == der Partition einen Namen geben (Disk-Label) == # tunefs -L BACKUP /dev/da4a == man kann all diese Optionen auch gleich beim formatieren kombiniert angeben == # newfs -O 2 -U -L BACKUP /dev/da4a == POSIX.1e ACL aktivieren/deaktivieren == Die ACL's lassen sich beim formatieren leider nicht beeinflussen, deshalb muss das nach dem formatieren mit "tunefs" gemacht werden. einschalten: # tunefs -a enable /dev/da4a abschalten: # tunefs -a disable /dev/da4a ==== /etc/fstab ==== Als erstes muss man den "Mount-Punkt" festlegen, dazu wird gewöhnlich ein Verzeichnis angelegt. Da unser Bestreben darin liegt, Speicherplatz für ein regelmäßiges Backup ins System einzubinden, geben wir dem Verzeichnis einen "sprechenden" Namen: # mkdir /BACKUP Jetzt können wir den Eintrag in der "/etc/fstab" vornehem. Wollen wir, dass die Platte beim booten automatisch eingebunden wird, dann reicht in der 4. Spalte ein "rw": # vi /etc/fstab: /dev/da4a /BACKUP ufs rw 0 0 Allerdings ist das bei einer USB-Platte recht ungewöhnlich und meistens auch nicht erwünscht! Deshalb ergänzen wir die 4. Spalte um den Parameter "noauto": # vi /etc/fstab: /dev/da4a /BACKUP ufs rw,noauto 0 0 Jetzt lässt sich die Platte ganz bequem mit diesem kurzen Kommando einhängen: # mount /BACKUP ==== Die wichtigsten Schritte noch einmal im Überblick ==== Eine komplette Platte auf die //schnelle// mit UFS versehen: # dd if=/dev/zero of=/dev/da4 bs=1k count=1 # fdisk -i /dev/da4 # disklabel -w /dev/da4s1 # disklabel -r /dev/da4s1 # /dev/da4s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 732558334 2 unused 0 0 c: 732558336 0 unused 0 0 # "raw" part, don't edit # disklabel -e /dev/da4s1 # disklabel -r /dev/da4s1 # /dev/da4s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 732558334 2 4.2BSD 0 0 c: 732558336 0 unused 0 0 # "raw" part, don't edit # newfs -O 2 -U -L BACKUP /dev/da4s1a # mount /dev/da4s1a /mnt ===== Partition und Dateisystem vergrößern ===== siehe auch: [[::FreeBSD:FreeBSD-14.0-STABLE-Image#FreeBSD-14.0-STABLE-Image (UFS-RAW) vergrößern]] ==== Partition vergrößern ==== # bsdlabel /dev/vinum/testvol > savedlabel # vi savedlabel # bsdlabel -R -n /dev/vinum/testvol savedlabel # bsdlabel -R /dev/vinum/testvol savedlabel ==== Dateisystem vergrößern ==== * [[http://www.freebsd.org/doc/de/books/handbook/disk-organization.html]] vergrößert das Dateisystem auf /dev/vinum/testvol bis zu 2GB wenn dort genug freier Speicherplatz ist. # growfs -s 4194304 /dev/vinum/testvol