Linux (knoppix, Arktur) - Befehle für die Kommandozeile
Backup der Systemplatte (hier unter dem Arktur-Schulserver)
Clients, mit dem Server verbunden
Festplatte / Diskette / USB-Stick einhängen / aushängen
Festplatte löschen / Daten sicher löschen
Festplatte - Partitionierung klären
Festplatte partitionieren + formatieren
Festplatte oder Partition vollgelaufen
Internet manuell an-/ausschalten
IP und Name eines Rechners von Hand umstellen
Apache stoppen und starten
/etc/init.d/apache stop
/etc/init.d/apache start
/etc/init.d/apache restart
Arktur-Version bestimmen
"uname -a"
Backup der Systemplatte (hier unter dem Arktur-Schulserver)
- Server mittels "knoppix 2 vga=0" starten
- mkdir -p /mnt/hda1
mkdir -p /mnt/hda3- "mount /dev/hda1 /mnt/hda1"
- "mount /dev/hda3 /mnt/hda3"
- "cd /mnt/hda3
- Löschen der Verzeichnisse unterhalb von /mnt/hda3/var/proxy/cache
Falls auf "/hdd1" gesichert werden soll:
- mkdir -p /mnt/hdd1/backup
- cd /mnt/hda1
tar --numeric-owner -cvzf /mnt/hdd1/backup/hda1.tgz .- cd /mnt/hda3
tar --numeric-owner -cvzf /mnt/hdd1/backup/hda3.tgz .
^
das ist ein Punkt!Zum Entpacken der tarball lässt sich meines Wissens der MidnightCommander nutzen oder, ebenfalls unter knoppix, also ohne aktives System, der Befehl:
- cd /mnt/hda3
tar -xvzf /mnt/hdd1/backup/hda3.tgz
Bildschirm löschen / säubern
clear +<Enter> oder STRG + L
reset
Clients, mit dem Server verbunden
Ob Clients oder PC noch mit dem Server verbunden sind, kann mit dem Befehl
smbstatus
oder
smbstatus -S
festgestellt werden. Damit werden übrigens auch Verbindungen via VPN angezeigt.
Dateien / Dateitypen löschen
Um z.B. alle temporären Dateien (*.tmp) in einem bestimmten Verzeichnis incl. Unterverzeichnissen zu löschen, gibt man Folgendes ein - "find" geht dabei (wenn nicht anders definiert) stets auch in alle Unterverzeichnisse:
find /Pfad/zu/Verzeichnis | grep "\.tmp$" | while read line ; do if [ -f "${line}" ] ; then rm "${line}" ; fi ; done
oder, wenn direkt im gewünschten Verzeichnis gestartet wird:
find . -type f -name "*\.tmp" -print0 | xargs -0 rm -f
oder für das Löschen aller mpg-Dateien unterhalb von /home
find /home -name "*.mpg" -exec rm {} \;
Der Schalter "-exec" bewirkt das Ausführen des nachfolgenden Kommandos. Die Klammern {} werden durch den Dateinamen ersetzt, dann ein Leerzeichen, ein Backslash und unmittelbar daran das Semikolon. Falls das zu unsicher ist, kann das "-exec" durch ein "-ok" ersetzt werden; dann wird vor jeder Operation abgefragt.
Oder, wenn nur ein bestimmtes Verzeichnis gemeint ist:
rm /Pfad/zu/Verzeichnis\*.tmp
Löschen von Dateien in mehreren bestimmten Unterverzeichnissen:
rm -rf /home/*/Windows/Remote/Desktop/*
löscht alle Dateien (*) in "/Windows/Remote/Desktop/" von allen /home-Unterzeichnissen (z.B. Nutzern)
Um z.B. in verschachtelten Backups wie von rsnapshot Dateien zu löschen:
rm -rf /srv/Backup/Arktur/*/Arktur/home/tmp3/Win98_2007_07*
- löscht alle "Win98_2007_07"-Dateien
- in allen Unterverzeichnissen von "/srv/Backup/Arktur"
- jeweils im Verzeichnis "/Arktur/home/tmp3"
dhcp
dhcp stoppen oder starten = /etc/init.d/dhcp stop|start
Hinweise mit "/etc/init.d/dhcp --help"
Mit "ps waux | grep dhcp" kann kontrolliert, ob der dhcp-Server tatsächlich ausgeschaltet ist: darf nichts mit "dhcpd" melden.
oder auch auf anderen Versionen
/etc/init.d./dhcpd start|stop|restart|status
Download zeitgesteuert
als root:
at now + 5 minutes
cd /<Zielverzeichnis>
lftpget <URL>
<Strg D>also z.B.
at now + 5 minutes
cd /home/tmp/Linux
lftpget ftp://ftp.esat.net/mirrors/ftp.suse.com/pub/suse/i386/10.0/iso/SUSE-10.0-EvalDVD-x86_64-GM.isoHinweise: nach Eingabe der 1. Zeile gibst Du die beiden Befehlszeilen "direkt" für den at-Dämon ein, der Prompt ist anders; Du beendest die Eingabe mit "Strg d".
Es ist auch möglich "at 06:30" usw. einzugeben. Bei einer fest eingegebenen Zeit, die am aktuellen Tag bereits abgelaufen ist, wird automatisch der nächste Tag genommen. Kontrolle mit „atq", dabei wird auch die lfd. Nummer des at-Jobs angezeigt. Mit „atrm <Job-Nr.>" lässt sich der Auftrag löschen
Festplatte / Diskette / USB-Stick einhängen / aushängen
Für Festplatten:
mount /dev/hdx /mnt/hdx
(das Verzeichnis /mnt/hdx muss existieren)
umount /dev/hdxFür Disketten:
mount /dev/fd0 /mnt/fd0
(das Verzeichnis /mnt/fd0 muss existieren)
umount /dev/fd0Für CD-/DVD-Laufwerke
mount /dev/cdrom /mnt/cdrom
(das Verzeichnis /mnt/cdrom muss existieren)
Für USB-Sticks:
mount -t vfat /dev/sda1 /mnt/usb
(das Verzeichnis /mnt/usb muss existieren)
umount /dev/sda1
Festplatte löschen / Daten sicher löschen
dd if=/dev/zero of=/dev/hdx1 count=100
dd if=/dev/zero of=/dev/hdx bs=64k (z.B. mittels knoppix – überschreibt die Platte mit Nullen, kann durchaus 1 - 2 Stunden dauern)
Festplatte - Partitionierung klären
fdisk -l /dev/hdx
Festplatte partitionieren + formatieren
Für die Konsole findet sich eine etwas ältere Anleitung unter http://www.arktur.th.schule.de/faq/1-5.htm. "swap" kann bei aktuellen Platten auf "+1000M" gesetzt werden und mit "mkfs -j /dev/hdx1" wird ext3 als Dateisystem eingerichtet.
oder: mit GParted (knappe Hinweise dazu hier) auf einer Boot-CD die gewünschten Änderungen vornehmen; hier gibt es ein Image, von dem sich eine Boot-CD mit GParted drauf brennen lässt
oder z.B. mit Qtparted unter knoppix
knoppix-menü --> System/Qtparted
rechte Maustaste auf neue Festplatte: "Erstelle eine neue Partitionstabelle"
rechte Maustaste auf Partitionstabelle, gewünschte Partitionen einrichten; erst nach Klick auf Diskettensysmbol werden Änderungen durchgeführt
--> Neustart ! Erst danach können die eingerichteten Partitionen wieder mit Qtparted formatiert werden
! ältere knoppixe erkennen noch keine s-ata-Festplatten
Festplattenbelegung
- df (-h) = Belegung der Festplatten (in Megabyte)
- du (-h) = Belegung des Verzeichnisses (in Megabyte)
- du -s /home/* | sort -n
zeigt am Ende der Ausgabe die Unterverzeichnisse, die den meisten Platz belegen.
- du -s /home/unterverz/* | sort -n
zeigt in /home/unterverz die Dateien an, die am meisten Platz belegen
Festplatte oder Partition vollgelaufen
Unter den Verzeichnissen sind Kandidaten für "Überfüllung" /usr, /opt oder /tmp, eine schnelle Kontrolle geschieht mit
du -sh /tmp
du -sh /mnt
du -sh /optoder mittels "du -s /tmp/* | sort -n", "du -s /opt/* | sort -n", "du -s /usr/* | sort -n". Damit sollten besonders dicke Brocken oder Dateireste angezeigt werden.
Wenn das nicht hilft, dann hilft nur ein Start mit Knoppix-CD oder Arktur-Installations-CD, Mounten von "/dev/hda1" ("mount /dev/hda1 /mnt/hda1") und Kontrolle dieser Verzeichnisse; dort können sich Reste manchmal "verstecken"
Firewall
/etc/init.d/ipfilter stop
/etc/init.d/ipfilter start
Hardware bestimmen
"hwinfo --bios" macht Angaben zum Motherboard, Chipsatz u.a.m
"lspci" gibt Auskunft über Chipsatz und Hardware, USB, Firewire, Grafik, Netzwerk, Audiohardware
"lspci -v" = zusätzlich Speicheradressen und IRQs
"dmesg | grep hd" zeigt Hersteller und Typenbezeichnung von P-ATA-Festplatten an
"dmesg | grep scsi" gibt die Typenbezeichnung von S-ATA-Festplatten an
Internet manuell an-/ausschalten
- /etc/ppp/inet-on (t-dsl?)
- /etc/ppp/inet-off (t-dsl?)
IP eines Rechners feststellen
- ifconfig
- lspci (Auskunft über Chipsatz und Hardware, USB, Firewire, Grafik, Netzwerk, Audiohardware; -v = zusätzlich Speicheradressen und IRQs)
IP und Name eines Rechners von Hand umstellen
- ifconfig eth0 down
- ifconfig eth0 10.0.0.3 netmask 255.255.255.0 up
- hostname capella
Kernel-Version bestimmen
uname -a
Konsole freigeben
Manche Befehle dauern zu lange, um darauf zu warten, bis die Konsole wieder frei ist. Um nach einem Befehl nicht darauf warten zu müssen, bis er vollständig abgearbeitet ist, gibt man nach dem Befehl "& disown" ein, also z.B.
cp -aux . /mnt/hda4 & disown
Kopieren von Dateien
"cp -aux /srv/Backup/Arktur/hourly.0/Arktur/home/. /home"
-a steht hier für archivieren: Die Option entspricht dem Befehl cp -dpR. Die Dateien werden incl. aller Unterverzeichnisse unter Beibehaltung von Besitzer-, Gruppen- und Zugriffsrechten und Erstellungs-, Modifikations- und Zugriffsdaten kopiert. -u: Wenn im Zielverzeichnis eine Datei gleichen Namens schon vorhanden ist, wird diese nur überschrieben, wenn die Datei, die kopiert werden soll, neuer ist, als die bereits vorhandene. -x: Beim rekursiven Kopieren werden Verzeichnisse, die sich in einem anderen Dateisystem befinden (andere Partition), nicht mitkopiert.
oder:
"rsync" synchronisiert hier /home aus dem einem Backup in das /home-Verzeichnis des Servers und loescht auf /home-Capella Dateien die im Backup nicht mehr vorhanden sind?
rsync -avz --delete /srv/Backup/Arktur/hourly.0/Arktur/home /
Um von einem Rechner auf einen anderen zu kopieren, z.B. von "Arktur" auf "Capella" (hier: 10.0.0.3) zu kopieren, nutzt man
scp /home/tmp/Datei.txt koester@Capella:/home/tmp
oder
scp /home/tmp/Datei.txt koester@10.0.0.3:/home/tmp
mbr sichern und zurück spielen
als root (bei S-ATA oder SCSI-Platten muss es statt "/dev/hda" "/dev/sda" heißen):
dd if=/dev/hda of=/mbrbackup.img bs=512 count=1
Zum zurück spielen entsprechendes Verzeichnis mounten, dann
dd if=/mbrbackup.img of=/dev/hda bs=512 count=1
MidnightCommander
(die Tastaturkürzel scheinen nicht in jeder mc-Version überein zu stimmen; manches funktioniert nur mittels putty und mc)
- "mc" = starten
- "Einfg" = Markieren von Dateien
- "*" und "Shift + *"= alles markieren und alles abwählen
- "STRG + 4" = Lesezeichen festlegen und aufrufen
- "+" = bestimmte Dateien markieren, z.B. *.doc = alle doc-Dateien im Verzeichnis
- "STRG + o" = Fenster vorübergehend ausblenden und wieder einblenden
- Textausschnitte aus einer Datei in eine andere einfügen:
Textabschnitt mit F3 markieren - F9 - Datei - Kopie in Datei (Name ist egal, am besten die Voreinstellung) - Zieldatei editieren - F9 - Datei einfügen und der Text wird eingefügt
NFS
Ist z.B. auf einem weiteren PC, hier "Capella", "/dev/sda1" als nfs nach "/srv" gemountet, dann
Mounten = „mount -t nfs 10.0.0.3:/srv /srv"
unmounten = „umount 10.0.0.3:/srv
NFS unter knoppix
An der knoppix-Konsole Portmapper starten, um mit dem NFS-Server in Verbindung zu treten:
„/etc/init.d/portmap start"
„mount <nfs-Server>:/export /Pfad/wo/gemountet/wird"
z.B. „mount -t nfs 10.0.0.3:/srv /mnt/srv"
OpenVPN
Einige Hinweise dazu hier
Passwörter ändern
Als "root" für z.B. den Nutzer "sysadm":
"passwd sysadm" (Passwort zweimal blind eingeben)
Rechte von Dateien ändern
Um z.B. die die Rechte in sämtlichen Unterverzeichnissen von /home/tmp/Lernwerkstatt6 so zu ändern, dass jedem alles erlaubt ist:
chmod -R a+rwx /home/tmp/Lernwerkstatt6
Um z.B. bestimmten Dateitypen ausschließlich Lese-Rechte zu geben:
chmod -R a-wx *.wav
Auf Groß- und Kleinschreibung achten: "*.wav" ist etwas anderes als "*.WAV".
rsync
(um z.B. die Festplatten zweier Rechner über ein Netz auf den gleichen Stand zu bringen)
rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/
mit
rsync -avzn -e ssh root@10.0.0.3:/home/tmp /home
wird zunächst ein Trockendurchgang gestartetz.B.
rsync -avz -e ssh root@10.0.0.3:/home/tmp/Koester /home/tmp
sichert die Koester-Dateien von einem Rechner "10.0.0.3" auf dem aktuellen PCoder
rsync -avz -e ssh root@10.0.0.3:/home /
sichert das gesamte /home-Verzeichnisoder in umgekehrter Richtung
rsync -avz -e ssh /home root@10.0.0.3:/
Samba stoppen und starten
- /etc/init.d/samba stop
- /etc/init.d/samba start
Sambapasswort ändern
"smbpasswd Login-Name" also z.B.
smbpasswd R85-20
Mit "smbpasswd -a root" wird gleichzeitig der Nutzer "root" hinzugefügt, wenn nicht ganz sicher ist, ob ein Nutzer bereits existiert
Sambaversion bestimmen
smbclient --version
„Scandisk“ unter Linux
entsprechende Platte aushängen: „umount /dev/hdxy
„fsck -y /dev/hdc1“ oder entspr. der Plattenbezeichnung
Squid stoppen oder starten
- /etc/init.d/squid stop
- /etc/init.d/squid start
ssh-Schlüssel erstellen
- ssh-keygen -t rsa1
- cp /pfad/zu/xyz.pub /pfad/zu/authorized_keys
oder
- cat /pfad/zu/xyz.pub >> /pfad/zu/authorized_keys
(dann wird zu bestehenden Schlüsseln hinzugefügt)Bei einem erneut neu aufgesetzten Rechner muss evtl. der entsprechende alte Eintrag (z.B. "arktur ssh-rsa..." oder "10.0.0.1 ssh-rsa...") in der Datei "known_hosts" gelöscht werden; er wird danach automatisch erneuert
Um über ssh, aber ohne Passwort arbeiten zu können, siehe hier unter Punkt 7
sshd stoppen oder starten
- /etc/sshd stop
- /etc/sshd start oder
- /etc/sshd restart
ssh mit knoppix
- (evtl. über "Knoppix-Menü - Netzwerk - Netzwerkkarte konfigurieren" die gewünschte IP vergeben)
- Knoppix-Menü - Server-Dienste - SSH-Server starten
- Nach Aufforderung ein Passwort für den Nutzer "knoppix" vergeben
- Test an der Konsole: ssh localhost
- nun mit putty von einem Windows-PC aus oder mit "ssh knoppix@IP_des_PC" Verbindung herstellen
- mit "su" kann man sich Admin-Rechte verschaffen
Uhrzeit
- kontrollieren: date (die Systemuhr) + hwclock (die Hardwareuhr)
- setzen: man date, hwclock --systohc (nur wenn kein Netzbetrieb)
- "ntpdate ptbtime1.ptb.de" holt die Uhrzeit von der Braunschweiger PTB
- anschließendes "hwclock --systohc" setzt die Hardware-Uhr auf die frisch geholte Zeit
Windows-Computer ausschalten
Um von einem Linux-Rechner aus einen Windows-PC auszuschalten
net rpc shutdown -f --ipaddress=192.168.x.x -U user%password
Zeitgesteuerte Befehle
als root:
at now + 5 minutes
gewünschter Befehl
<Strg + d>also z.B.
at now + 5 minutes
reboot
<STRG + d>Hinweise: nach Eingabe der 1. Zeile gibst Du die beiden Befehlszeilen "direkt" für den at-Dämon ein, der Prompt ist anders; Du beendest die Eingabe mit "Strg + d".
Es ist auch möglich "at 06:30" usw. einzugeben. Bei einer fest eingegebenen Zeit, die am aktuellen Tag bereits abgelaufen ist, wird automatisch der nächste Tag genommen. Kontrolle mit „atq", dabei wird auch die lfd. Nummer des at-Jobs angezeigt. Mit „atrm <Job-Nr.>" lässt sich der Auftrag löschen
Will man nur die Konsole wieder "frei" bekommen, reicht es vielleicht auch, an einen Befehl "& disown" anzuhängen, also z.B. "cp -aux . /mnt/hda4 & disown"
Nächste Möglichkeit: ein sehr lange laufender Prozess kann mit STRG + Z unterbrochen werden. Der anschließende Befehl "bg" setzt den zuletzt unterbrochenen Prozess in den Hintergrund und gibt die Konsole wieder frei.