Allgemeine Funktionen die die Hardware betreffen.


Man muss diese Funktion (hw_conf) nur ausführen, dann kann man alle enthaltenenen Funktionen ausführen, wie z. B. "cdrom". Wenn nichts zu der Syntax steht, wird die Funktion einfach nur aufgerufen.


Hardwarefunktionen

cdrom
char_device_anzeige
check_crypt_map_dev
check_write_part
disk
floppy
limit_size_conf
lv
lv_free_size
lv_resize
lvm_version
mdadm_conf_scan
netcard
parse_uuid_label
part_choice
part_md_lose
partdb
part_resize
raid
raid_anz
raid_enlarge_dev
raid_filter
raid_is_layout
raid_is_level
raid_reduce_dev
raid_resize
raid_search_part_state
raid_used_dev_size
resize_cryptdisk
resize_cryptdisk_stop
search_btrfs_filesystem
search_cryptdev
search_devices
vg_display
vg_free_size

Nachrichten und Fehlermeldungen

no_block_device_msg
no_dev_cd
no_disk_msg
no_disks_msg
no_linux_part_msg
no_lv_msg
no_netcard_msg
no_part_choice_msg
no_part_msg
no_raid_anz_msg
no_read_write_part_msg
no_vg_msg
over_limit_size_msg


cdrom

Sucht nach (E)IDE und SCSI CD/DVD Laufwerken und speichert sie in den Array's CD_DEV, CD_DEV_E und CD_DEV_M um sie zur Auswahl anzubieten. Dazu benötigt man eine kernel Release >=2.6.0 und hwinfo.
Variabeln
CD_DEV - CD/DVD Laufwerke
CD_DEV_E - CD/DVD Laufwerksanzeige für die Funktion menubox
CD_DEV_M - CD/DVD Laufwerksanzeige für die Funktionen checklist/radiolist


char_device_anzeige

char_device_anzeige sucht nach den Zeichenorientierten Geräten tts/*, ttyS*, lp*, printers* usb/*,..., im Verzeichnis /dev, und bietet die gefundenen zur Auswahl an. Dabei wird auch auf das dynamische Dateisystem "devfsd" Rücksicht genommen.
Notiz: Zur Zeit gehen nur diese Geräte, z.B. wird kein Mausgerät angezeigt. Andere Geräte werden von den Scripts bisher nicht gebraucht.
Variabel
CHAR_ARRAY - Charakter Device Anzeige fuer die Funktion menubox


check_crypt_map_dev

Die Funktion check_crypt_map_dev prüft beim Script kwcryptsetup ein Laufwerk auf UUID und LABEL und belegt darauf hin die Variabel MAP_DEV mit dem richtigen Pfad zum Device. Wird von den Funktionen lv_resize, part_resize und raid_resize benutzt.
check_crypt_map_dev DEVICE
DEVICE - Laufwerk welches auf UUID und Label überprüft werden soll
Variabel
MAP_DEV - Variabel die die richtige Gerätedatei enthält


check_write_part

Diese Funktion prüft, ob ein Laufwerk schreibbar ins Dateisystem eingebunden ist. Erst wird geprüft, ob es ein Einhängepunkt ist und dann ob es schreibbar eingebunden ist. Sie sollten auf die Reihenfolge der übergebenen Einhägepunkte achten und den "/" als letztes übergeben, da nach dem ersten nur lesbar ins Dateisystem gebundenen Laufwerk abgebrochen wird.
check_write_part MOUNTPOINT MOUNTPOINT ...
MOUNTPOINT - Verzeichnis an dem das Laufwerk eingebunden wurde
Variabel
READ_WRITE - Variabel die mit yes belegt wird, wenn das Laufwerk schreibbar eingebunden wurde


disk

Hier werden alle Festplatten herausgesucht, wenn kernel >=2.6.0 läuft und hwinfo installiert ist. Es wird alles in den Variabeln DISK_DEV, DISK_DEV_E, DISK_DEV_M, DISK_DEV_CAP, DISK_DEV_CAP_BYTE, DISK_DEV_NAME, FP_INFO und HW_SECTOR_SIZE gespeichert.
Variabeln
DISK_DEV - Festplatten
DISK_DEV_E - Festplattenanzeige fuer die Funktion menubox
DISK_DEV_M - Festplattenanzeige fuer die Funktionen checklist/radiolist
DISK_DEV_CAP - Grösse der Festplatte in Sektoren
DISK_DEV_CAP_BYTE - Grösse der Festplatte in Byte
DISK_DEV_NAME - Festplattenname in folgender Syntax: Modell-Grösse
FP_INFO - Festplatteninformation, Festplatte und Modell
HW_SECTOR_SIZE - Sektorgrösse der Festplatte


floppy

Hier werden alle Disketten Laufwerke herausgesucht, wenn kernel >=2.6.0 läuft und hwinfo installiert ist. Es wird alles in den Variabeln FLOPPY_DEV, FLOPPY_DEV_E und FLOPPY_DEV_M gespeichert.
Variabeln
FLOPPY_DEV - Laufwerke
FLOPPY_DEV_E - Laufwerksanzeige für die Funktion menubox
FLOPPY_DEV_M - Laufwerksanzeige für die Funktionen checklist/radiolist


limit_size_conf

Die Funktion limit_size_conf konfiguriert die Grösse des Block Hardlimit und des Block Softlimit, für "Quota", und überprüft auch gleich ob das Softlimit <= dem Hardlimit ist.
limit_size_conf [ -h | -s ] LIMIT
-h - Hardlimit einstellen
-s - Softlimit einstellen
LIMIT - Block_Hardlimit/Block_Softlimit mit einander vergleichen. LIMIT muss mit übergeben werden, wenn auch leer ("").
Variabel
SIZE - Variabel die den überprüften Wert enthält.


lv

Sucht nach allen aktiven LV's (Logischen Volumes) und speichert sie in den Array's LV, LV_E und LV_M, um sie zur Auswahl anzubieten.
lv [ -a ]
-a - alle LV's in den Variabeln speichern, ansonsten werden die LV's die die Quelle von Snapshots sind und der dazugehörige Snapshot nicht mit in den Variabeln gespeichert.
Variabeln
LV - Logische Volume
LV_E - LV's Anzeige für die Funktion menubox
LV_M - LV's Anzeige für die Funktionen checklist/radiolist


lv_free_size

Prüft die Grösse von LVs (1|2) anhand vom Programm lvdisplay und speichert diese in der Variabel LV_SIZE, in MebiByte.
lv_free_size "$LV"
LV - Logischeses Volume = /dev/VolumeGroup/LogicalVolume
Variabel
LV_SIZE - beinhaltet die LV Grösse in MebiByte.


lv_resize

Diese Funktion vergössert und verkleinert Logische Volumes und das dazugehörige Dateisystem, soweit das das jeweilige Dateisystem unterstützt. Diese Funktion wird vom Script kwlvm benutzt.
lv_resize [+|-]SIZE LV
+ - vergrössern
- - verkleinern
SIZE - Grösse die das Logische Volume besitzen soll in Mebibyte
LV - Logisches Volume welches verkleinert oder vergrössert werden soll


lvm_version

Prüft die Version von lvm (1|2) und laedt die dementsprechenden Kernel Module. Desweiteren scannt sie gleich nach vorhandenen Volume Groups und aktiviert diese. Benötigt die Funktion load_module.
lvm_version [ -q ]
-q - keine Fehlermeldung und kein Abbruch.
Variabel
NO_LVM - beinhaltet "yes" falls LVM nicht installiert ist.


mdadm_conf_scan

Diese Funktion dient zum updaten der Konfigurationsdatei des Programms mdadm (Software-RAID).


netcard

Hier werden alle Netzwerkkarten die mit Ethernet, W-lan und Tokenring zu tun haben gesucht und in der Variabel DEVICE_LIST gespeichert. Diese Liste kann man mit der Funktion "menubox" zur Auswahl anbieten. Dabei wird in /proc/net/dev nachgeschaut. Die Variabel besteht aus NetzkarteNr_Kartentyp_Mac-Adresse_Treiber. Als Programm kommt unter anderem ethtool zum Einstaz.
Variabel
DEVICE_LIST - Netzkartenanzeige für die Funktion menubox


parse_uuid_label

Die Funktion parse_uuid_label wandelt UUIDs, LABELs, Partitionen und von mittels "cryptsetup" erstellten Laufwerken in die reale Gerätedatei um.
parse_uuid_label [ UUID | LABEL | DEVICE ]
UUID - Laufwerke die mittels UUID übergeben werden (Bsp.: UUID=d65fb840-76b7-480f-a703-547a551c0a3a).
LABEL - Laufwerke die mittels LABEL übergeben werden (Bsp.: LABEL=BOOT).
DEVICE - dies können Partitionen oder mittels "cryptsetup" verschlüsselte Laufwerke sein. Bei verschlüsselten Laufwerken wird der Pfad /dev/mapper/ vorangestellt, da diese nur als Laufwerksname in der Datei /etc/crypttab stehen. Alle anderen Laufwerke werden mittels dem Programm "readlink" heraus gefunden.
Variabel
REALDEV - Array das alle überprüften Laufwerke beinhaltet.


part_choice

Partitionsauswahl: Man muss vorher die Funktionen disk und partdb ausführen, dann kann man Partitionen auswählen.
part_choice [ -m | -s ] $PART_DEVICES
-m = mehrfache Auswahl für die Funktion checklist.
-s = einfache Auswahl für die Funktion radiolist.
nichts = einfache Auswahl für die Funktion menubox.
nichts = normale Auswahl (/dev/hda1)
Variabel
WERT - beinhaltet den/die ausgewählten Wert(e).


part_md_lose

Diese Funktion sucht nach Partitionen die in keinem RAID Array vorhanden sind und speichert sie in einem Array. Man muss vorher die Funktionen disk und partdb ausführen, dann kann man diese Partitionen auswählen.
part_md_lose
Variabel
Part_Md_Lose_E - beinhaltet die Partitionen für die Funktion menubox.


partdb

Sucht nach Partitionen auf den Festplatten und speichert sie in verschiedenen Arrays, damit man sie zur Auswahl anbieten kann. Dabei wird das Programm parted benutzt.
partdb [ DISK | DISK "TYP TYP ..." ]
partdb [ -i "TYP TYP ..." ]
partdb DISK = nur diese Festplatte nach Linux -und Swap Partitionen durchsuchen.
partdb DISK "TYP" = nur diese Festplatte nach bestimmten Partitionstyp(en) durchsuchen.
partdb -i "TYP" = nach Partitionstyp(en) suchen, auf allen Festplatten. TYP kann dabei ein Flag (lvm,raid) oder ein Dateisystem (fat32) sein.
partdb = alle Partitionen auf allen Festplatten suchen ausser bios_grub, RAID, LVM und crypto_LUKS.
Variabeln
PART - Partionen.
PART_E - Partitionsanzeige für die Funktion menubox.
PART_M - Partitionsanzeige für die Funktionen checklist/radiolist.
SWAP_DEV - Swappartitionen.
SWAP_DEV_E - Swappartitionsanzeige für die Funktion menubox.
SWAP_DEV_M - Swappartitionsanzeige für die Funktionen checklist/radiolist.


part_resize

Diese Funktion vergössert und verkleinert Partitionen und das dazugehörige Dateisystem, soweit das das jeweilige Dateisystem unterstützt. Diese Funktion wird vom Script kwparted benutzt.
part_resize [+|-]SIZE ENDSIZE PARTITION
+ - vergrössern
- - verkleinern
SIZE - Grösse die die Partition besitzen soll in Mebibyte
ENDSIZE - Grösse die die Partition am Ende besitzen soll in Mebibyte
PARTITION - Partition die verkleinert oder vergrössert werden soll


raid

Sucht nach allen aktiven RAID Arrays die in /proc/mdstat stehen und speichert sie in den Variabeln MD_PART, MD_PART_E. und MD_PART_M. Zum Einsatz kommt das Programm mdadm.
Variabeln
MD_PART - RAID Arrays.
MD_PART_E - RAID Arraysanzeige fuer die Funktion menubox.
MD_PART_M - RAID Arraysanzeige fuer die Funktionen checklist/radiolist.


raid_anz

Die Funktion ermittelt die Anzahl der sich im RAID Array befindenden Laufwerke.
Beispiel:
VAR=$(raid_anz ARRAY)
Variabel
VAR - Variabel die die Anzahl der Laufwerke enthält.


raid_enlarge_dev

Diese Funktion vergrössert ein RAID Array, wenn es eines der Level 1, 4, 5 oder 6 besitzt. Dabei wird ein Laufwerk addiert und das dazugehörige Dateisystem, von denen die die kwtools unterstützen, angepasst. Dabei gibt es eine Menüführung mit Auswahl der noch freien RAID Partitionen. Diese Funktion wird von den Scripten kwcryptsetup und kwraid genutzt.
raid_enlarge_dev ARRAY


raid_filter

Sucht nach allen vorhanden RAID Arrays in /proc/mdstat und filtert dementsprechend.
raid_filter [ -l | -t ]
-l = filtert RAID Arrays die in anderen Arrays und in LVM (Logical Volume Management) vorkommen heraus. Wird vom Script kwgrub benötigt, bei der Auswahl der Rootpartition.
-t = filtert RAID Arrays die in anderen Arrays vorkommen, und RAID10 Arrays heraus. RAID10 Arrays werden nicht von LVM unterstützt.
Variabeln
R_DEVS - RAID Arrays.
R_DEVS_E - RAID Arrays für die Funktion menubox.


raid_is_layout

Diese Funktion ermittelt das Layout eines RAID Arrays.
Beispiel:
VAR=$(raid_is_layout $ARRAY)
Variabel
VAR - Variabel die das Layout eines RAID Arrays enthält (left-symmetric, right-asymmetric-6, ...).


raid_is_level

Diese Funktion ermittelt das Level eines RAID Arrays.
Beispiel:
VAR=$(raid_is_level $ARRAY)
Variabel
VAR - Variabel die das Level eines RAID Arrays enthält (raid1, raid5, ...).


raid_reduce_dev

Diese Funktion verkleinert ein RAID Array, wenn es eines der Level 1, 4, 5 oder 6 besitzt. Dabei wird ein Laufwerk entfernt und das dazugehörige Dateisystem, von denen die die kwtools unterstützen, angepasst. Dabei gibt es eine Menüführung mit Auswahl der dazugehörigen RAID Partitionen. Falls das Array nicht mehr genügend Partitionen zum entfernen besitzt kommt eine Meldung darüber. Diese Funktion wird von den Scripten kwcryptsetup und kwraid genutzt.
raid_reduce_dev ARRAY


raid_resize

Die Funktion raid_resize verändert die Gröse von einem RAID Array. Diese Funktion wird von den Funktionen raid_enlarge_dev und raid_reduce_dev benutzt.
raid_resize [+|-]SIZE ARRAY DEVICE
+ - vergrössern
- - verkleinern
SIZE - neue Grösse des Array in Kibibyte
ARRAY - RAID Array welches bearbeitet werden soll
DEVICE - Partition die entfernt oder hinzugefügt werden soll


raid_search_part_state

Diese Funktion sucht nach dem Status der einzelnen, zum RAID Array, gehörigen Laufwerke und speichert diese mit ihrem Status in einem Array.
raid_search_part_state ARRAY
Variabel
PARTS_STATE - beinhaltet die Laufwerke des Array mit Status für die Funktion menubox.


raid_used_dev_size

Diese Funktion ermittelt die Grösse eines Laufwerks von einem RAID Array.
Beispiel:
VAR=$(raid_used_dev_size $ARRAY)
Variabel
VAR - Variabel die die Grösse (in KiB) eines Laufwerk von einem RAID Array enthält.


resize_cryptdisk

Die Funktion resize_cryptdisk startet ein verschl¨sseltes Laufwerk und passt dessen Gröse an.
resize_cryptdisk DEVICE
DEVICE - Laufwerk welches gestartet und angepasst werden soll


resize_cryptdisk_stop

Die Funktion resize_cryptdisk_stop stoppt ein verschl¨sseltes Laufwerk. dessen Gröse an.
resize_cryptdisk_stop DEVICE
DEVICE - Laufwerk welches gestoppt werden soll


search_btrfs_filesystem

Die Funktion search_btrfs_filesystem sucht nach Laufwerken mit btrfs Dateisystem.
search_btrfs_filesystem
Variabeln
BTRFS_LABEL_DEV - Array mit den Label aller gefundenen btrfs Laufwerke.
BTRFS_UUID_DEV - Array mit der UUID aller gefundenen btrfs Laufwerke.
BTRFS_DEV - Array mit den Devices aller gefundenen btrfs Laufwerke.
BTRFS_DEV_E - Array mit den Devices aller gefundenen btrfs Laufwerke für die Auswahl mit der Funktion menubox.
BTRFS_DEV_M - Array mit den Devices aller gefundenen btrfs Laufwerke für die Auswahl mit den Funktionen checklist/radiolist.
BTRFS_MD - Array mit den Devices aller gefundenen btrfs Laufwerke, die aus mehreren Devices bestehen.
BTRFS_MD_E - Array mit den Devices aller gefundenen btrfs Laufwerke, die aus mehreren Devices bestehen, für die Auswahl mit der Funktion menubox
BTRFS_MD_M - Array mit den Devices aller gefundenen btrfs Laufwerke, die aus mehreren Devices bestehen, für die Auswahl mit den Funktionen checklist/radiolist.
DEV_ANZ - Array mit der Anzahl der Laufwerke eines btrfs Laufwerks.


search_cryptdev

Die Funktion search_cryptdev sucht nach verschlüsselten Laufwerken anhand der Datei /etc/crypttab.
search_cryptdev [ -a | -s | -l ]
-a - suche nach aktiven verschlüsselten Laufwerken
-l - suche nach nur Luks verschlüsselten Laufwerken
-s - suche nach inaktiven verschlüsselten Laufwerken
nichts - alle verschlüsselten Laufwerke in /etc/crypttab
Variabeln
MAP_DEV_E - Array mit den verschlüsselten Laufwerken.
MAP_DEV - Array mit den verschlüsselten Laufwerken für die Funktion menubox.
MAP_DEV_M - Array mit den verschlüsselten Laufwerken für die Funktionen checklist/radiolist.


search_devices

Die Funktion search_devices sucht nach Partitionen, Software RAID Arrays, Logischen Volumes und Cryptsetup Laufwerken. Devices die in btrfs Laufwerken vorhanden sind, die aus mehreren Devices bestehen, werden herausgefiltert.
search_devices [ -a | -c | -e | -p | -pc ]
-a - alle; Partitionen, Laufwerke mit Software RAID, LV oder Cryptsetup Laufwerke.
-c - nur Cryptsetup Laufwerke.
-e - nur ext[234] Laufwerke.
-p - nur Partitionen
-pc - nur Partitionen und Cryptsetup Laufwerke.
Variabeln
NO_BTRFS_DEV - Array mit den Werten aller gefundenen Laufwerke.
NO_BTRFS_DEV_E - Array mit den Werten aller gefundenen Laufwerke für die Auswahl mit der Funktion menubox.
NO_BTRFS_DEV_M - Array mit den Werten aller gefundenen Laufwerke für die Auswahl mit den Funktionen checklist/radiolist.
FS - Array mit dem Dateisystemtyp der ext2/3/4 Laufwerke um das richtige fsck Kommando ausführen zu können.


vg_display

Suche nach vorhandenen VGs (1|2) anhand dem Programm vgscan und speichert diese in verschiedenen Variabeln.
vg_display
Variabeln
VG - Variabel die die VGs beinhaltet.
VG_E - Variabel die die VGs für die Funktion menubox beinhaltet.
VG_M - Variabel die die VGs für die Funktionen checklist und radiolist beinhaltet.


vg_free_size

Berechnet die noch verbleibende Grösse von VGs (1|2) anhand vom Programm vgdisplay und speichert diese in der Variabel VG_SIZE, in MebiByte.
vg_free_size "$VG"
VG - Volume Group = /dev/VolumeGroup oder VolumeGroup
Variabel
VG_SIZE - beinhaltet die noch zu verfügende VG Grösse in MebiByte.


Hardwarenachrichten und Fehlermeldungen


no_block_device_msg

Info darüber, das das übergebene Laufwerk kein Blockgerät ist
no_block_device_msg DEVICE


no_dev_cd

Info darüber das keine CD/DVD Laufwerke vorhanden sind oder Sie keine Rechte besitzen.


no_disk_msg

Info das das übergebene Laufwerk keine Festplatten ist.


no_disks_msg

Info das keine Festplatten vorhanden sind.


no_linux_part_msg

Info darüber das keine Linux Partitionen vorhanden sind.


no_lv_msg

Info darüber das keine Logischen Volumes vorhanden sind.


no_netcard_msg

Info darüber das keine Netzwerkkarten vorhanden sind.


no_part_choice_msg

Meldung darüber das man keine Partition ausgewählt hat.


no_part_msg

Info darüber wenn keine Partition vorhanden ist.


no_raid_anz_msg

Info darüber das die Anzahl der zum RAID Array verfügbaren Laufwerke nicht heraus gefunden werden konnte.


no_read_write_part_msg

Info darüber das übergebene Laufwerk nicht schreibbar eingebunden ist.
no_read_write_part_msg MOUNTPOINT


no_vg_msg

Info darüber das keine Volume Groups vorhanden sind und Sie erst Volume Groups und dann darauf logische Volumes erzeugen müssen.


over_limit_size_msg

Nachricht das das Softlimit immer gleich oder kleiner als das Hardlimit sein muss.