Tag Archives: dev

Konvertiere Ext3 zu Ext4

Falls du dein Ubuntu nicht ständig neu installierst, sondern ein dist-upgrade ausführst, dann kannst du nicht alle neue Funktionen der neuen Ubuntu-Version nutzen, daher dieses HowTo, um dein ext3-Dateisystem zu einem ext4-Dateisystem zu konvertieren.

Bitte beachte, dass dieser Schritt nicht nötig ist und bevor du beginnst, werfe einen Blick auf die bekannten Probleme mit ext4!

1.) Upgrade als erstes dein Ubuntu mindestens zu Jaunty.

2.) Erstelle eine Sicherungskopie aller Ihrer (wichtige) Daten.

3.) Starte von einer (>= jaunty) Live-CD …

deine Partitionen kannst du wie folgt anzeigen lassen

cat /proc/partitions

sd[ a-z ][ 1-9 ] -> muss natürlich an dein System angepasst werden

… und führe die folgenden Befehle aus.

sudo bash
tune2fs -O extents,uninit_bg,dir_index /dev/sda1
e2fsck -fpDC0 /dev/sd[ a-z ][ 1-9 ]

4.) Mounte die entsprechende Partition…

mount -t ext4 /dev/sd[ a-z ][ 1-9 ] /mnt

… und ändere deine fstab …

vim /mnt/etc/fstab

Wandel “ext3″ in “ext4″ wie in dem folgenden Beispiel:

/dev/sda1UUID=XXXX / ext3 relatime,errors=remount-ro 0 1

wird zu:

/dev/sda1UUID=XXXX / ext4 relatime,errors=remount-ro 0 1

Nun speichern wir noch schnell die Änderungen und beenden den Editor. (wq)

5.) Grub – Boot-Loader aktualisieren

Es kann sein, dass beim booten nun ein (tödlichen) Fehler 13 auftaucht, daher verwenden wir folgenden Befehl, um grub zu aktualisieren.

Wenn du nicht über eine separate / boot-Partition verfügst, dann z.B.:

mount /dev/sda1 /mnt
grub-install /dev/sda --root-directory=/mnt --recheck

Wenn du eine separate / boot-Partition hast, dann z.B.:

mkdir /mnt/boot
mount /dev/sda1 /mnt/bootgrub-install
/dev/sda --root-directory=/mnt --recheck

Nach einem Neustart läuft dein System nun mit einem Ext4-Dateisystem, jedoch können nur alle neuen geschriebenen Dateien von diesem profitieren, da die alten Dateien auf die Festplatte geschrieben wurden, als die ext3-Technologie lief.

Link:
ext4.wiki.kernel.org

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Systeminfos anzeigen lassen

Wer seinem Linux (als Beispiel dient hier Debian) Informationen zur Hardware entlocken möchte, kann dies unter-anderem mit den folgenden Kommandos machen.

1.) Allgemeine Hardware-Infos

dmidecode ist ein Tool um das DMI (SMBIOS) eines Computers ausliest, es wird eine Tabelle erzeugt, in welche eine Beschreibung der Hardware Komponenten deines PC aufgeführt wird… z.B. Informationen wie Serien-Nummern und BIOS Version.

aptitude install dmidecode
dmidecode | less

Alternativ wäre hier auch noch lshw bzw. hwinfo zu erwähnen, diese beiden Programme zeigt eine Hardware Liste deines PC/Servers an.

aptitude install lshw
lshw | less

bzw. mittels w3m anzeigen lassen

lshw -html | w3m -T text/html
lshw -short | less


H/W path Device Class Description
====================================================
system A7N8X2.0
/0 bus A7N8X2.0
/0/0 memory 64KiB BIOS
/0/4 processor AMD Athlon(tm) XP 2600+
/0/4/9 memory 128KiB L1 cache
/0/4/a memory 512KiB L2 cache
/0/26 memory 2560MiB System Memory
[...]

aptitude install hwinfo
hwinfo | less
hwinfo --short | less


cpu:
AMD Athlon(tm) XP 2600+, 1921 MHz

keyboard:
/dev/input/event0 AT Translated Set 2 keyboard

graphics card:
ATI RV280 5c63

sound:
ASUSTeK nForce2 AC97 Audio Controler (MCP)

storage:
nVidia nForce2 IDE

network:
eth0 nVidia nForce2 Ethernet Controller
eth1 Realtek RT8139

[...]

Des-weitern können wir mittels lm-sensors die Lüfter-Geschwindigkeit (RPM), die Temperatur (°C) und die Spannung (V) anliegt ausgelesen werden.

Wie immer installiern wir als erstes das entsprechende Programm…

aptitude install lm-sensors

nun einmal den folgenden Befehl ausführen um nach den Sensoren auf dem Motherboad usw. zu suchen ->

sensors-detect

nun können wir uns die gewünschten Informationen ausgeben lassen ->

sensors

Adapter: SMBus nForce2 adapter at 5500
[...]
in6: +3.07 V (min = +0.00 V, max = +0.00 V)
fan1: 4299 RPM (min = 112500 RPM, div = 2)
fan2: 0 RPM (min = 10546 RPM, div = 2)
fan3: 0 RPM (min = -1 RPM, div = 2)
temp1: +31.0°C (high = +80.0°C, hyst = +75.0°C)
temp2: +28.0°C (high = +80.0°C, hyst = +75.0°C)
temp3: -0.5°C (high = +80.0°C, hyst = +75.0°C)
temp4: +25.0°C (high = +80.0°C, hyst = +75.0°C)
[...]

2.) Arbeitsspeicher (RAM)

Mit dem folgenden Kommando, werden die Informationen zu den “Memory Module” angezeigt ->

sudo dmidecode --type 6

bzw.

sudo dmidecode --type 17

Alternativ kann man sich die Infos auch mit lshw anzeigen lassen, dafür müssen wir als erst-einmal, wir zuvor Beschrieben, dass entsprechende Paket installieren und dann die entsprechenden Infos zum RAM anzeigen lassen ->

lshw -class memory

einige Infos über den aktuellen Speicherverbrauch kann man mit folgenden Kommando in Erfahrung bringen ->

cat /proc/meminfo

bzw.

free -mt

3.) PCI Hardware-Infos

lspci zeigt eine Liste mit allen PCI Geräten an. (z.B. Grafikkarte, Soundkarte, Netzwerkkarte…)

aptitude install pciutils
lspci

folgendes Kommando zeigt deine Soundkarte an ->

lspci | grep

folgendes Kommando zeigt deine Grafikkarte an ->

lspci | grep VGA

folgendes Kommando zeigt deine Netzwerkkarte an ->

lspci | grep Ethernet

4.) CPU Hardware-Infos

Folgende zeigt Infos zur CPU an (z.B. Beschreibung, Version, MHZ, FSB…)

lshw -class cpu

bzw.

cat /proc/cpuinfo

und dies die Auslastung (load) der CPU

cat /proc/loadavg

bzw.

top

5.) Festplatten Hardware-Infos

Folgendes Kommando zeigt alle Partitionen an

cat /proc/partitions

bzw.

fdisk -l

und mit dem nächsten Befehl kannst du mittels S.M.A.R.T. herausfinden, ob es deiner Festplatte gut geht, oder ob du diese baldmöglichst austauschen solltest. (die SMART Unterstützung muss im BIOS aktiviert werden)

Als erstes installieren wir dies einmal…

aptitude install smartmontools

… dann Kommentieren wir alles mit “#” in der folgenden Datei aus, so dass der Daemon nicht automatisch gestartet wird.

vim /etc/default/smartmontools

folgendes zeigt alle Infos zu einer Festplatte an ->

smartctl --all /dev/h(s)da

zeigt nur an, ob die Festplatte noch OK ist ->

smartctl -H /dev/h(s)da

und dies zeigt Festplatten-Infos an (z.B. Model, Seriennummer, Firmware…)

smartctl -i /dev/h(s)da
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
cron

crontab

Ein Skript, ein Befehl oder sonstiges, was in einen bestimmten Rhythmus wiederholt in der ausgeführt werden soll, genau dafür ist ein Cronjob zuständig.

 

cron
cron

 

Um nun einen cronjob einzutragen, muss man sich zunächst für einen Editor für diesen Zweck entscheiden… in diesem Fall setzen wir als Standart-Editor “VIM” ->

export EDITOR=vim

das Kommando:

crontab -l

-> zeigt deine crontab-Einträge an

crontab -u -l

-> zeigt alle crontab-Einträge von einem bestimmten “user” an

crontab -e

-> editiert deine crontab-Einträge

crontab -u -e

-> editiert die crontab-Einträge von einem bestimmten “user”

crontab -r

-> löscht alle deine crontab-Einträge

die Syntax:

[Minuten] [Stunden] [Tag des Monats] [Monat] [Tag der Woche] [Kommando]

- [Minuten] -> 0-59
– [Stunden] -> 0-23
– [Tag des Monats] -> 1-31
– [Monat] -> 1-12
– [Tag der Woche] -> 0-7 (0 oder 7 = Sonntag)

einige Beispiele:

* * * * * /home/user/test.sh > /dev/null 2>> /var/log/test.log

- “* * * * *” -> das Skript wird jede Minute ausgeführt
– “> /dev/null” -> es hat keine Ausgabe auf der Konsole
– “2>>” -> Fehler werden ins Logfile geschrieben

30 00 * * * /home/user/test2.sh &> /dev/null

- “30 00 * * *” -> das Skript wird jeden Tag um 00:30 Uhr ausgeführt
– “&> /dev/null” -> es werden keine Ausgaben ausgegeben (kein Log)

0 0 1 1 * /home/user/test3.sh > /dev/null 2>> /var/log/test3.log

- “0 0 1 1 *” -> das Skript wird einmal im Jahr ausgeführt

30 00 * * 1,2,3,4,5 /home/user/test4.sh > /dev/null 2>> /var/log/test4.log

- “30 00 * * 1,2,3,4,5″ -> das Skript wird von Montags bis Freitags ausgeführt (um 00:30)

30 00 * * 6-7 /home/user/test5.sh > /dev/null 2>> /var/log/test5.log

- “30 00 * * 6-7″ -> das Skript wird Samstags und Sonntags ausgeführt (um 00:30)

0 */2 * * * /home/user/test6.sh > /dev/null 2>> /var/log/test6.log

- “0 */2 * * *” -> das Skript wird jede zwei Stunden ausgeführt

0 8-20/2 * * * /home/user/test7.sh > /dev/null 2>> /var/log/test7.log

- “0 8-20/2 * * *” -> das Skript wird jede zwei Stunden von 8 bis 20 Uhr ausgeführt

1,2,5,9 -> jede erste, zweite, fünfte, neunte (Minute, Stunde… )
0-4,8-12 -> von 0 bis 4 und von 8 bis 12 (Minute, Stunde… )
*/5 -> jede fünf (Minute, Stunde… )
1-9/2 -> von 1 bis 9 in zweier Schritten (Minute, Stunde… )

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)
lvm

LVM – Logical Volume Manager

LVM steht für »Logical Volume Manager« und bezeichnet eine Funktion, die seit der Version 2.4 im Standard-Kernel integriert ist. Mittels LVM lässt sich eine logische Schicht zwischen Dateisystem und der Partition einer physikalischen Festplatte schieben.

Was kann LVM?

- hoch verfugbare Systeme
– Verlagern von Speicherplatz
– Snapshots
– Großenanderung
– Striping & Concatenation
– nabhangig von Plattenposition


lvm
LVM


Bei Kernel < 2.4 muss man noch das passende Modul nachladen:

modprobe lvm-mod

Bei der Standard-Ubuntu Version muss man noch das folgende Paket nachinstallieren um LVM nutzen zu können:

aptitude install lvm2

LVM einrichten:

1.) Eine Partition mit der Partitions-ID »8e« für LVM kennzeichnen

fdisk /dev/sdb

oder

cfdisk /dev/sdb

2.) Partition nach LVM durchsuchen und ggf. dafür benötigte Dateien anlegen

vgscan -v

3.) Physical Volume anlegen

pvcreate /dev/sdb1

4.) Volume Group anlegen
(man könnte an dieser Stelle auch mehrere “Physical Volume” zu einer “Volume Group” zusammenfassen)

vgcreate /dev/sdb1 (/dev/sdb2)

5.) Logical Volume anlegen
z.B.:

lvcreate -n "home" -L 10G lvcreate -n "tmp" -L 2G lvcreate -n "swap" -L 1G lvcreate -n "var" -L 30G

6.) Dateisysteme anlegen

mkfs -t xfs /dev/mapper/-home
mkfs -t xfs /dev/mapper/-var
mkfs -t xfs /dev/mapper/-tmp
mkfs -t xfs /dev/mapper/-boot
mkswap /dev/mapper/-swap

LVM Infos:

1.) Infos vom “Physical Volume” anzeigen lassen

pvdisplay

2.) “Volume Group” Infos anzeigen, z.B. wie viel Platten-Platz man noch auf die “Logical Volume” verteilen kann

vgdisplay

3.) Anzeigen welche “Logical Volume” zu welcher “Volume Group” gehören und z.B. dessen momentane Größe

lvdisplay

LVM vergrößern:

1.) Logical Volume Größe angeben oder um X vergrößern

lvextend -L 2G /dev/mapper/-swap

oder

lvextend -L +1G /dev/mapper/-swap

2.) unmounten der Partition bzw. swapoff

umount /LVM-Partition

bzw. in diesem Beispiel

swapoff -v /dev/mapper/-swap

3.) nun das Dateisystem prüfen

fsck -f /dev/mapper/-swap

4.) nun wird das Dateisystem selber vergrößert

xfs_growfs /dev/mapper/-X
resize_reiserfs /dev/mapper/-X
resize2fs /dev/mapper/-X
ntfsresize /dev/mapper/-X

bzw. in diesem Beispiel

mkswap /dev/mapper/-swap

5.) Mounten der Partition bzw. swapon

mount -t xfs /dev/mapper/-home /home
swapon -av

LVM verkleinern:

In aktuellen Implementierungen ist es nicht möglich, ein XFS-Dateisystem zu verkleinern, daher nehmen wir als Beispiel ein “ext3″-Dateisystem

1.) unmounten der Partition

umount /dev/mapper/-var

2.) nun das Dateisystem checken

e2fsck -f /dev/mapper/-var

3.) neue Dateisystem-Größe in KB angeben

resize2fs /dev/volg1/logv1 15728640

4.) anschließend LVM entsprechend reduzieren

lvreduce -L -15GB /dev/mapper/-var

5.) und wieder mounten, fertig

mount -t ext3 /dev/mapper/-var /var

Volume Group vergrößern:

1.) ein neues Physical Volume anlegen

pvcreate /dev/sdb3

2.) das neue “Physical Volume” zur Volume Group hinzufügen

vgextend volg1 /dev/sdb3

Volume Group verkleinern:

1.) überprüfen ob das betreffende Physical Volume Daten enthält

pvdisplay -v /dev/sdb3

2.)das neue “Physical Volume” von der Volume Group entfernen

vgreduce volg1 /dev/hdb7

weitere Infos und Anleitungen findest du auf linuxhaven.de

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)