Es gibt unzählige FS. Gebräuchlich sind ext2, ReiserFS(Typ83) und swap(Typ82). Während die Auslagerungsdatei stets den swap-FS Typ benutzt, kann ansonsten auch ext3, xfs, minix, FAT32, FAT16(wird mit MSDOS benannt), benutzt werden. ReiserFS kann nach einem Crash die Platte schnell reparieren und eignet sich auch für große Festplatten. Gründe zu partitionieren können sein:
| Performance | |
| Reparatur | |
| Diskquotas | |
| Schutz für /root | |
| Hardlinks sind Partitionsabhängig |
Es existiert UNIX-weit ein FHS – File Hierarchie Standard, der Ort, Name, Funktion, Inhalt festlegt.
Programme fdisk, bequemer cfdisk, werden zur Partitionierung eingesetzt.
| fdisk /dev/hda1 | Partitionierung der ersten primäre Partition des Masters des ersten IDE-Kanals, d=delete, l=Liste der Paritionstypen, n=neue Partition, p=Partitionstabelle, w=write(nach jeder Änderung nötig), q=quit |
| tune2fs | Feineinstallung der Partitionierung, ist nicht notwendig |
| partprobe | Einlesen der Partitionierungsdaten, danach ist kein Reboot nötig |
| mkfs -t ext2 /dev/hdax /boot | ext2 formatieren, auch mke2fs |
| mkfs -t reiserfs /dev/hdax /mnt | reiserFS anlegen, auch mkreiserfs |
| mkfs -t vfat /dev/hda1 //mnt/dos | Windows Dateisystem anlegen, auch mkdosfs oder mkfs.vfat |
| makeswap | Swap-Partition formatieren |
Standardmäßig werden mit fsck -A alle Dateisysteme in der /etc/fstab überprüft.
| e2fsck | bzw. fsck.ext2 für das Überprüfen des Second Extended Filesystem, vorher umounten |
| fsck -f /dev/hda7 | Partition überprüfen, f= force(Überprüfung auch bei gesetztem Valid-Flag), auch fsck.vfat oder fsck.xfs, vorher umounten |
| reiserfsck | reiserFS überprüfen, vorher umounten |
| du -s -h /home/* | Platzbedarf einzelner Dateien bzw. Verzeichnisse |
| df /mnt/hda5 | freier Speicherplatz, hier gemountetes Laufwerk /dev/hda5, Ausgabe: Filesystem, Inodes, IUsed, IFree, IUse%, Mounted on |
Seitenanfang oder Hauptseite
Inhalt:
Typ, Rechte, Anzahl der Hardlinks, UID, GID, Größe der Datei, Zeitpunkt der letzten Änderung, Zeitpunkt der letzten Statusänderung, Zeitpunkt des letzten Zugriffs
Datenblockadresse 0-9, Datenblöcke 2. Ordnung 0-9, Datenblöcke 3. Ordnung 0-9, Datenblöcke 4. Ordnung 0-9
| /Block1 | |||
| inode1 < | |||
| \Block2 | |||
| /Block1 | |||
| inode2 < | /Block1 | ||
| \2.Ordnung < | /Block1 | ||
| \3.Ordnung < | |||
| \Block2 |
Seitenanfang oder Hauptseite
Ein Unix-Dateisystem besitzt einen sogenannten Superblock, einen Block, der die grundlegenden Informationen wie
die
Größe des Dateisystems in Blöcken
die Größe der Blöcke in Bytes
Zeiger auf den ersten freien Datenblock
Zeiger auf erste freie I-Node
Verschiedene Statusbits (Flags)zum Dateisystem selbst
enthält.
Das wesentliche an dieser Struktur ist, daß der Superblock beim Mounten eines Dateisystems in den Speicher gelesen wird und alle Veränderungen dort vorgenommen werden. Erst beim Wiederabhängen des Dateisystems werden diese Veränderungen physikalisch auf der Platte gespeichert. Das erklärt auch, daß es nach einem Systemabsturz zu Inkonsistenzen in einem Dateisystem kommen kann.
Noch vor dem Superblock steht der sogenannte Bootblock auf der Platte, der in etwa dem Bootsektor der DOS-Partitionen entspricht, dann kommt der Superblock, dann die inodes und dann kommen die eigentlichen Daten
Seitenanfang oder Hauptseite
Befehl –Option Argument(Quellpfad) Argument(Zielpfad) Ziel
Feste Eintragungen erfolgen in der Datei /etc/fstab.
| mount -t nfs 10.0.0.10:/daten/install /mnt | Install-Ordner auf entferntem Rechner |
| mount -t ext2 /dev/hda1 /boot | boot-Partition |
| mount -t iso9660 /dev/hdc /media | CD-ROM |
| mount -t nfs -o remount 10.0.0.55:/client/usr /usr | remounten für Verzeichnis, das nicht umountet werden kann |
Ein gemountetes Laufwerk kann man mit umount /mnt wieder aushängen, wenn es nicht gerade in Benutzung ist.
anschauen:
| vi /etc/fstab | Geräte werden beim booten gemounted |
| vi /etc/mtab | momentan gemountete Laufwerke, wird nicht editiert, wird beim runterfahren geleert |
1. Partition mounten nach /mnt
2. Inhalt von /home mit Rechten nach /mnt kopieren: cp -a /home/* /mnt , versteckte .*-Dateien mit mc kopieren
3. umount /mnt
4. mount /dev/hda7 /home
5. cp -a /mnt/* /home
6. umount /home
7. rm -r /home/* und /mnt leer machen
8. mount /dev/hda7 /home
9. in /etc/fstab mountbefehl eintragen
anderes Um-mounten:
1. mit tar packen /var
2. mv /var /var_backup
3.mkdir /var
4. mount /var
5. entpacken mit tar
| Gerät, Quelle | Mountpoint | Filesystem | Optionen | dump Archivbit, zum benutzen = 1 |
fsck, Reihenfolge 0 = kein filecheck |
|---|---|---|---|---|---|
| /dev/hda7 | /home | reiserfs | defaults,user | 0 |
1 |
| 192.168.6.130:/clients/opt | /opt | nfs | auto,rsize=8192,wsize=8192 | 0 |
0 |
| /dev/fd0 | /floppy | auto | defaults,noauto,user | 0 |
0 |
| /dev/hda4 | swap | swap | defaults | 0 |
3 |
| /dev/hda3 | /home | reiserfs | default,userquota,groupquotas | 1 |
2 |
| Optionen | default |
Kommentar |
|---|---|---|
| defaults | rw, suid, dev, exec, auto, nouser und async | |
| noauto | per Hand mounten , CD, Floppy | |
| auto | + |
das Dateisystem gemountet, wenn mount mit der Option -a aufgerufen wird |
| noexec | verhindert Ausführen von Dateien | |
| exec | + |
Erlaubt die Ausführung von Binärdateien auf dem Dateisystem. |
| nosuid | + |
verhindert Ausführen von Dateien mit SUID |
| nouser | + |
nur root darf mounten |
| rw | + |
readWrite - das Dateisystem wird ReadWrite (les- und schreibbar) gemountet, auch ro möglich |
| rsize, wsize | Lese- und Schreibblöcke, 1024 ist Standard, aber KDE, etc. benutzen eher Größere | |
| suid | SUID und SGID Bits werden interpretiert | |
| userquotas, groupquotas | zur Benutzung von Quotas, ein Recht davon reicht aus | |
| dev | + |
Gerätedateien auf dem Dateisystem sind gültig und werden interpretiert |
| sync | kein Puffer, alle Ein- und Ausgabeoperationen werden synchron durchgeführt(für das Floppylaufwerk) | |
| atime | + |
Die Zugriffszeit der inodes wird bei jedem Zugriff gesetzt. |
| async | + |
alle Ein- und Ausgabeoperationen werden vor dem Schreiben gecached |
Seitenanfang oder Hauptseite
| Verzeichnis | System | 777 |
| Minus umask | 022 | |
| effektive Rechte beim Anlegen | 755 | |
| Datei | System | 666 |
| Minus umask | 022 | |
| effektive Rechte beim Anlegen | 644 |
Die umask ist abgelegt in /home/.bashrc
Änderung der umask beispielsweise mit echo "umask 002" >> /etc/skel/.bashrc
x=1(binär 001), w=2(binär 010), r=4(binär 100), macht zusammen 7(binär 111), wobei x für Ausführen, w für Schreiben und r für Lesen steht.
Der user ist Besitzer der Datei/verzeichnis und kann die Rechte mit chmod -R 700 Datei ändern. möglich ist auch
chmod -Ro /home/fred , wobei other die Rechte auf freds home-Verzeichnis entzogen werden, auch chmod o=0 /home/fred
Sinnvoll sind Dateirechte 7, 6, 5, 4, 0(x braucht r)und Verzeichnisrechte 7,5,3, 0.
rwx rwx rwt sticky Bit ohne x
| rws | rws | rwT |
| set UserID on execution | set GroupID on Execution | sticky Bit mit x-Ausführungsrecht |
mit chmod 1777 /usr/bin/passwd root shadow (=chmod +s)können die Sonderrecht eingerichtet werden, wobei hier nur die 1. Ziffer betrachtet wird.
| 0 | kein Sonderrecht | |
| 1 | sticky Bit | Löschrecht unterhalb des Verzeichnisses |
| 2 | SGID | Dateien gehören zur Gruppe der Verzeichnisgruppe |
| 3 | 1+2 | |
| 4 | SUID | Prozesse ausführen, (Bsp. passwd, gpasswd, mount, ping) die normalerweise kein user ausführen darf(root-Rechte) |
| 5 | 1+4 | |
| 6 | 2+4 | |
| 7 | 1+2+4 |
suchen nach einer Datei mit den Rechten rwx r-s r-x mit find / -perm 2755
Anzeigen mit lsattr Datei ergibt -----d---
Ändern mit chattr +a ergibt ---a-d--- oder chattr -d ---a-----
Löschen der Attribute mit chattr Datei
Fred: mkdir fred, chmod 775
Wilma: touch /fred/wilma.txt, vi Inhalt, chmod 700, mkdir /fres/wilma-verz, chmod 700, touch /fred/wilma-verz/wilma2.txt
Fred kommt weder an die Datei wilma.txt, noch an das Verzeichnis wilma-verz ran.
Seitenanfang oder Hauptseite
| Verzeichnis | auslagerbar |
booten |
sichern |
Kommentar |
|---|---|---|---|---|
| / | + |
root-Stammverzeichnis, von dem sich alle Verzeichnisse ableiten, hier gibt es keine Dateien | ||
| /bin | + |
grundlegenden Systemprogramme(z.B. mount), kleine ausführbare Programme für jeden User | ||
| /dev | + |
Geräte und Treiber | ||
| /etc | + |
+ |
Konfigurationsdateien für alle möglichen Programme | |
| /lib | + |
+ |
Biliotheken(wie Windows-dll), in /lib/modules sind die Kernel-Module, /lib/modules sichern bei eigenem Kernel | |
| /sbin | + |
+ |
ausführbare SystemProgramme für User root, Programme für den Startvorgang | |
| /usr | + |
+ |
Unix System Recource, Anwendungsprogramme, wie X11, Bibliotheken, Include-Dateien für C, Quellcode, man, howto, docs, Deamons, read only mouten, außer beim Installieren | |
| /var | + |
variable Daten, wie Druckerwarteschlange, Mails und Proxy-Cache, Lock-Dateien, ProzessIDs möglichst die schnellste Platte benutzen, /var/log sichern |
||
| /home | + |
+ |
Homeverzeichnisse der normalen User, Achtung: die Standardeinstellung ist für alle lesbar(chmod), Quotas sind sinnvoll | |
| /tmp | + |
temporäres Verzeichnis für Alle, Achtung: Dateien sind für alle lesbar | ||
| /boot | + |
+ |
+ |
Kernel(ca. 10 MB), möglichst innerhalb der ersten 1024 Zylinder(ca.1 Gbyte) installieren, empfohlene extra ext2-Partition(20 Mbyte), bei LBA-Modus im BIOS ist diese Auslagerung nicht nötig, sichern bei eigenem Kernel |
| /root | + |
Homeverzeichnis für Administrator Namens root | ||
| /mnt | + |
zum temporärem mounten(einbinden) von Verzeichnissen, Geräten | ||
| /opt | + |
große Programme, kommerzielle Software, wie Office, Browser | ||
| /proc | Kopie der inneren Prozesse des Rechners(cache, Interrupt, etc.), Unterverzeichnisse für /proc/ sind interrupts, ioports, dma, iomem, cpuinfo, devices, partitions, pci, bus, scsi, net, ide, cmdline, fiesystems, meminfo, modules, mounts, version schreibend z.B. mit echo 1 > /proc/sys/net/ipv4/ip_forward, um den Rchner als Router funngieren zu lassen , siehe /proc |
|||
| /media | + |
SuSE-Verzeichnis für CD, etc. | ||
| swap | + |
+ |
die Auslageungsdatei, empfohlen 128 MB, bekommt schon bei der Installation eine eigene Partition von Typ 82, mit mkswap vorbereiten |
mit find Datei kann man Dateien aufspüren.
Ein neues Verzeichnis incl. Unterverzeichnis erstellt man mit
mkdir -p /Verzeichnis/Unterverzeichnis,
mit
rmdir -p kann man leere Verzeichnisse löschen. Mit
rm -r kann man auch Verzeichnisse incl. Dateien und Unterverzeichnisse löschen.
Seitenanfang oder Hauptseite
Der Befehl ls zeigt Beispielsweise diese Information für eine Datei:
drwxr-xr-x Datei
Das erste Zeichen bezeichnet den jeweiligen Dateityp(flag) der Datei
Flag |
Datei oder Gerät |
Kommentar |
|---|---|---|
- |
Datei |
reguläre Datei |
d |
Datei |
Verzeichnis |
l |
Datei |
link |
- (in roter Farbe) |
Datei |
reguläre Datei(ausführbar) |
b |
Gerät |
Block Device(Floppy, CD-ROM) |
c |
Gerät |
char(tty1, tty2, Drucker |
P |
pipe(/dev/|xconsole) |
|
s |
socket(/dev/ =log) zum Austausch für spez. Programme |
weitere Infos von ls
l |
rwx |
rwx |
rwx |
1 |
Nutzer |
Gruppe |
Größe |
Datum | Dateiname |
Flag |
UserRechte |
GruppenRechte |
Rechte für alle |
link-counter (größer 1=Hardlink) |
Username |
Gruppenname |
Datei2 -> Datei1 (hier ist Datei2 ein symbolischer Link auf Datei1) |
Mit ls -a kann man auch versteckte Dateien anzeigen lassen.
| symbolic | hard |
|---|---|
| Linkeintrag in anderer Inode | Linkeintrag in gleicher Inode(gleiche Partition) mehrere Links sind möglich es handelt sich um die gleiche Datei |
| Rechte sind verschieden beim Kopieren werden die Rechte neu gesetzt |
Rechte sind gleich |
Hat man einen Hardlink gefunden, kann man mit dem Befehl ln -li Datei find / -inum Inodennummer herausfinden, welche weiteren Links mit der Datei verbunden sind.
find /usr -xdev -inum 92550 -print gibt jetzt alle zugehörigen Hardlinks aus.
Das gleiche Ergebnis erhält man mit ls -ilR /usr | grep "^ *92550"
| ln Orginaldatei Linkname | Hardlink erzeugen |
| ln -s Orginaldatei Linkname | symbolic link erzeugen |
Kopiert man mit cp einen Link, so wied eine reguläre Datei erzeugt. Mit cp -l und cp -s kann man auch Links erzeugen.
| touch /tmp/x/\ \ \ \ | Datei erstellen mit 4 Leerzeichen als Name |
| touch /tmp/\* | Datei erstellen mit * als Name |
| touch Eigene\ Dateien | Datei erstellen mit einem Leerzeichen darin |
| ls /tmp/\* | *-Datei anzeigen |
Ein eingegebener Befehl wird erst als alias, dann im Pfad und dort der Reihenfolge(zu sehen mit $PATH) gesucht.
Der Pfad kann erweitert werden mit PATH=$PATH:/usr/local/foo/bin; export Path
Um eine Datei auszuführen, obwohl sie nicht im Pfad steht, braucht man das x-Ausführungsrecht und muß die Datei auf eine der folgenden Weise ansprechen:
./xDatei
. bin/xDatei
. ~/bin/xDatei
dd if=/dev/zero of=meinfile bs=1024 count=1024 Datei ist leer, hat eine Größe von 1024*1024=1 Kbyte
Seitenanfang oder Hauptseite
zur Einschränkung von Plattenplatzverschwendung, auf Partitionsebene, nur mit Kernelunterstützung
Paket quota installieren
Yast-system-runleverEditor: Quota und quotad in runlevel 3 und 5 eintragen.
Platte muß bei Änderung ev. umounted und wieder mounted werden
Verwendung in /etc/fstab
| quota | ansehen |
| quotacheck -avug | Analyse, root legt 2 Dateien an: u=/home/quota.user, g=/home/quota.group |
| edquota -u username Blocks softlimit hardlimit Inode soft hard | user eintragen , blocks=schon benutzt, softlimit=Warnung, hardlimit=Schluß in kbyte, Inodenzahl=schon benutzt, soft=Warnung, hard=Schluß, oder edquota franz und den Rest per Hand |
| edquota -p frank -u dirk elvira | Quotadefinition frank wird zu dirk und elvira definiert |
| edquota -T fred 8hour | 8 Stunden Warnzeit bei Überschreiten des Softlimits |
| repquota -a | Bericht erstellen |
| quotaon -avug | Quotas aktivieren |
| quotaoff | Quotas deaktivieren |
Seitenanfang oder Hauptseite
| Geräte-Datei | Hardwareanschluß | Partitionstyp | |
| /dev/hda | 1.IDE-Platte | Primärer Master | 1. primäre Partition |
| /dev/hda1 | 1.IDE-Platte | Primärer Master | 1. erweiterte Partition |
| /dev/hda2 | 1.IDE-Platte | Primärer Master | 2. primäre Partition |
| /dev/hda3 | 1.IDE-Platte | Primärer Master | 3. primäre Partition |
| /dev/hda4 | 1.IDE-Platte | Primärer Master | 3. erweiterte Partition |
| /dev/hda5 | 1.IDE-Platte | Primärer Master | 3. erweiterte Partition 1.logische Partition |
| /dev/hda6 | 1.IDE-Platte | Primärer Master | 3. erweiterte Partition 2.logische Partition |
| /dev/hda7 | 1.IDE-Platte | Primärer Master | 3. erweiterte Partition 3.logische Partition |
| /dev/hdb1 | 2.IDE-Platte b | Sekundärer Master | 1. primäre Partition |
| /dev/hdb2 | 2.IDE-Platte b | Sekundärer Master | 2. primäre Partition |
| /dev/hdb3 | 2.IDE-Platte b | Sekundärer Master | 3. primäre Partition |
| /dev/hdb5 | 2.IDE-Platte b | Sekundärer Master | 3. primäre Partition 1.logische Partition |
| /dev/hdc1 | 3.IDE-Platte c | Primärer Master | 1. primäre Partition |
| /dev/hdd1 | 4.IDE-Platte d | Primärer Master | 1. primäre Partition |
| /dev/hde | 1. RAID-Platte | ||
| /dev/hdf | 2. RAID-Platte | ||
| /dev/hdg | 3. RAID-Platte | ||
| /dev/hdh | RAID space-Disk | Ersatzplatte |
Normalerweise gibt es 2 IDE-Controller mit je 2 Anschlüssen(a+b) für insgesamt 4 Platten(oder IDE-CD-ROM-Laufwerken) auf dem Motherboard. Sie werden unter dem Verzeichnis /dev/ eingetragen. Pro Platte gibt es 4 primäre Partitionen oder 4 erweiterte Partitionen. Jede erweiterte Partitionen kann bis 4 logische Laufwerke haben.
| /dev/sda1 | 1.SCSI-Platte an 1. Controller |
| /dev/sda2 | 2.SCSI-Platte an 1. Controller |
| /dev/sda3 | 3.SCSI-Platte an 1. Controller |
| /dev/sdb1 | 1.SCSI-Platte an 2. Controller |
Jeder SCSI-Controller kann bis zu 7(wide-scsi 15) Geräte anschließen. CD-ROM-Laufwerke(auch IDE-Geräte) werden als SCSI-Geräte eingebunden. Der Controller erhält die SCSI-ID 7. Eine Bootplatte braucht ID 0. Pro SCSI-ID kann man gleichwertige Geräte(z.B. nur Festplatten) mit einer LUN-Nummer versehen. Mehrere SCSI-Adapter kann man mit einer Busnummer unterscheiden. Eindeutig zuordnen läßt sich ein Gerät mit Busnummer,SCSI-ID,LUN.
Mit scsi_info /dev/sda läßt sich die aktuelle SCSI-Konfiguration festtellen.
| /dev/usb | Universal(UHCI)-Teiber von Intel und VIA, Open(OHCI)-Treiber mit Compaq, Ali, SiS, NEC, Opti Chipsatz , siehe auch usb |
| /dev/tty1 | erste Konsole(eigene shell, aufzurufen mit Alt-F1 oder Alt-STRG-F1) |
| /dev/tty7 | erste X-Konsole(X ist das grafische System, aufzurufen mit Alt-F7 |
| /dev/mouse1 | erste Maus |
| /dev/cdrom | Link zu CD-ROM z.B. /dev/hda3 |
| /dev/floppy | Diskettenlaufwerk |
vi /etc/sysconfig/Keyboard , echo $KBD_NUMLOCK oder mittels SuSEconfig
Seitenanfang oder Hauptseite