Linux
Löschen von Dateien mit "-" am Dateinamensanfang
25.03.2011
rm ./
z.B.: rm ./-drecksdatei wenn die Datei "-drecksdatei" heißt.
z.B.: rm ./-drecksdatei wenn die Datei "-drecksdatei" heißt.
Hotplug RAM und CPU in vSphere VMs
27.02.2011
Einer VM kann RAM und CPU im laufenden Betrieb untergeschoben werden.
Hierfür muss in den Eigenschaften die Option "Memory/CPU Hotplug" eingeschaltet sein!
Erfordert VM Hardware Version 7
Leider erkennt SLES11 (und wahrscheinlich die älteren auch) diese Änderung nicht.
Die CPUs müssen von Hand aktiviert werden:
for a in /sys/devices/system/cpu/cpu*/online; do echo "1" > "$a"; done
VMware KB:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1015501
Für den RAM muss etwas mehr gemacht werden:
Zuerst muss das Speicher-Hotplugmodul geladen werden:
modprobe acpi_memhotplug
Wenn der Server von weniger als 3GB Ram auf mehr als 3GB hochgerüstet werden soll, kann das zu Problemen führen. Dem Kernel fehlt dann evtl. das Modul swiotlb.
VMware KB:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1019401
Das kann vorab überprüft werden:
dmesg | grep SWIOTLB
Folgende Ausgabe zeigt ein vorhanden sein des Moduls:
[ 0.000000] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Ist das Modul vorhanden kann das Hotplug vollzogen werden. Ansonsten sollte der Server herunter gefahren werden!
Nach dem Konfigurieren der VM kann der Speicher mit dem Komanndo aktiviert werden: for a in /sys/devices/system/memory/*/state; do echo "online" > "$a"; done
Mit diesem Komando kann überprüft werden ob noch Speicherbänke offline sind!:
grep line /sys/devices/system/memory/*/state
VMware KB:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1012764
Hierfür muss in den Eigenschaften die Option "Memory/CPU Hotplug" eingeschaltet sein!
Erfordert VM Hardware Version 7
Leider erkennt SLES11 (und wahrscheinlich die älteren auch) diese Änderung nicht.
Die CPUs müssen von Hand aktiviert werden:
for a in /sys/devices/system/cpu/cpu*/online; do echo "1" > "$a"; done
VMware KB:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1015501
Für den RAM muss etwas mehr gemacht werden:
Zuerst muss das Speicher-Hotplugmodul geladen werden:
modprobe acpi_memhotplug
Wenn der Server von weniger als 3GB Ram auf mehr als 3GB hochgerüstet werden soll, kann das zu Problemen führen. Dem Kernel fehlt dann evtl. das Modul swiotlb.
VMware KB:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1019401
Das kann vorab überprüft werden:
dmesg | grep SWIOTLB
Folgende Ausgabe zeigt ein vorhanden sein des Moduls:
[ 0.000000] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Ist das Modul vorhanden kann das Hotplug vollzogen werden. Ansonsten sollte der Server herunter gefahren werden!
Nach dem Konfigurieren der VM kann der Speicher mit dem Komanndo aktiviert werden: for a in /sys/devices/system/memory/*/state; do echo "online" > "$a"; done
Mit diesem Komando kann überprüft werden ob noch Speicherbänke offline sind!:
grep line /sys/devices/system/memory/*/state
VMware KB:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1012764
Festplatte im laufenden Betrieb ins System einhängen
10.05.2010
Wenn eine weitere Festplatte, zum Beispiel über VMware an das System angeschlossen wurde, kann diese ohne Reboot bekannt gemacht werden.
vm0055:~ # cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
...zeigt die aktuelle Plattenzuordnung.
vm0055:~ # echo "scsi add-single-device 1 0 2 0" > /proc/scsi/scsi
... fügt am Controller 1 Channel 0 ID 2 LUN 0 hinzu
vm0055:~ # cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 02 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Jetzt kann die Platte formatiert/partitioniert werden.
Unter SuSE gibt es ein Shell Script für diese Funktion "rescan-scsi-bus.sh"
vm0055:~ # cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
...zeigt die aktuelle Plattenzuordnung.
vm0055:~ # echo "scsi add-single-device 1 0 2 0" > /proc/scsi/scsi
... fügt am Controller 1 Channel 0 ID 2 LUN 0 hinzu
vm0055:~ # cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 02 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Jetzt kann die Platte formatiert/partitioniert werden.
Unter SuSE gibt es ein Shell Script für diese Funktion "rescan-scsi-bus.sh"
Falschen Namen einer Netzwerkkarte korrigieren
10.05.2010
SLES10:
cat /etc/udev/rules.d/30-net_persistent_names.rules
# SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:16:3e:39:7b:e0", IMPORT="/lib/udev/rename_netiface %k eth0"
Oder die ganze Regel löschen, dann vergibt UDEV beim nächsten Start neue Namen.
SLES9:
In die /etc/sysconfig/network/ifcfg-..... PERSISTENT_NAME=ethx
cat /etc/udev/rules.d/30-net_persistent_names.rules
# SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:16:3e:39:7b:e0", IMPORT="/lib/udev/rename_netiface %k eth0"
Oder die ganze Regel löschen, dann vergibt UDEV beim nächsten Start neue Namen.
SLES9:
In die /etc/sysconfig/network/ifcfg-..... PERSISTENT_NAME=ethx
SuSERegister auschalten
10.05.2010
SuseRegister startet während des Bootvorgangs. Dieses kann abgeschaltet werden:
touch /var/lib/suseRegister/neverRegisterOnBoot.
touch /var/lib/suseRegister/neverRegisterOnBoot.
SSH ohne Passwort einrichen
10.05.2010
Schlüssel anlegen:
ssh-keygen -t rsa
ssh-keygen -t dsa
und die .pub Inhalte auf Zielmaschine kopieren (~/.ssh/authorized_keys)
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system
ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote-system
Mit Putty kann man sich auch einloggen.
Hierzu mit Puttygen einen Schlüssel erzeugen. Den erzeugten abspeichern, dann markieren und in die Datei ~/.ssh/authorized_keys anhängen.
In Putty unter SSH->Auth->"Private key for authentication" den Pfad zum erzeugten Key eintragen.
ssh-keygen -t rsa
ssh-keygen -t dsa
und die .pub Inhalte auf Zielmaschine kopieren (~/.ssh/authorized_keys)
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system
ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote-system
Mit Putty kann man sich auch einloggen.
Hierzu mit Puttygen einen Schlüssel erzeugen. Den erzeugten abspeichern, dann markieren und in die Datei ~/.ssh/authorized_keys anhängen.
In Putty unter SSH->Auth->"Private key for authentication" den Pfad zum erzeugten Key eintragen.
Zusätzliche YAST Installationsquelle eintragen
10.05.2010
SLES10
rug set security-level checksum
rug sa --type=ZYPP nfs://10.135.118.60//install/sources/SLES10/addon Tools
rug set security-level signature
SLES9
Anzeigen:
installation_sources -s
Installation Sources:
SUSE SLES 9 Service-Pack Version 3 (ftp://10.135.118.60/sles9em64_SP_current)
SUSE CORE Version 9 (ftp://10.135.118.60/SLES9-64-SP2/SUSE-CORE-Version-9/CD1)
SUSE SLES Version 9 (ftp://10.135.118.60/SLES9-64-SP2)
Tools (nfs://10.135.118.60//install/sources/SLES9/addon)
Einfügen:
installation_sources -a nfs://10.135.118.60//install/sources/SLES9/addon
rug set security-level checksum
rug sa --type=ZYPP nfs://10.135.118.60//install/sources/SLES10/addon Tools
rug set security-level signature
SLES9
Anzeigen:
installation_sources -s
Installation Sources:
SUSE SLES 9 Service-Pack Version 3 (ftp://10.135.118.60/sles9em64_SP_current)
SUSE CORE Version 9 (ftp://10.135.118.60/SLES9-64-SP2/SUSE-CORE-Version-9/CD1)
SUSE SLES Version 9 (ftp://10.135.118.60/SLES9-64-SP2)
Tools (nfs://10.135.118.60//install/sources/SLES9/addon)
Einfügen:
installation_sources -a nfs://10.135.118.60//install/sources/SLES9/addon
MySQL Root Password setzen
10.05.2010
update mysql.user set password=PASSWORD('tollespasswort') where User='root' AND Host='localhost';
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
MySQL Datenbank migrieren/sichern
10.05.2010
Dieser Artikel beschreibt die Vorgehensweise, wie man eine My-SQL Datenbank migriert. Dies kann verwendet werden, um eine Sicherung der Datenbank durchzuführen, eine Datenbank von einem Server auf einen anderen Server um zuziehen...
Um sicherzustellen, dass man den aktuellen Datenbestand sichert/migriert, sollte man alle Aktionen endgültig bestätigen. Dies erledigt der SQL-Befehl commit. Dazu meldet man sich am MySQL-Server an mit Hilfe des Befehls mysql und wählt die entsprechende Datenbank aus. Nun setzt man den Befehl ab. Sicherheitshalber kann der Datenbank-Server neu gestartet werden.
[root@ubuntu:~]$ mysql -u [Username] -p (-u = Username; -p Eingabeprompt für Passwort)
Anmeldung an MySQL
[root@ubuntu:~]$ mysql -u sysdba -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.45-Debian_1ubuntu3.3-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Datenbank auswählen
mysql> use work
Database changed
mysql>
Aktionen bestätigen
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql>
Abmelden von MySQL
mysql> exit
Bye
Datenbank-Server neu starten
[root@ubuntu:~]$ /etc/init.d/mysql restart
Erzeugen des Dump
[root@ubuntu:~]$ mysqldump --database work -x -F -u sysdba -p >> /tmp/work.sql
Erzeugen des Dump via Netzwerk
[root@ubuntu:~]$ mysqldump --database work -x -F -h 172.16.0.10 -u sysdba -p >> /tmp/work.sql
Erzeugen des Dump aller Datenbanken
[root@ubuntu:~]$ mysqldump --all-databases -x -F -h 172.16.0.10 -u sysdba -p >> /tmp/work.sql
Dump einspielen
[root@ubuntu:~]$ mysql -u sysdba -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.45-Debian_1ubuntu3.3-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> source /tmp/work.sql;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
...
mysql>
Um sicherzustellen, dass man den aktuellen Datenbestand sichert/migriert, sollte man alle Aktionen endgültig bestätigen. Dies erledigt der SQL-Befehl commit. Dazu meldet man sich am MySQL-Server an mit Hilfe des Befehls mysql und wählt die entsprechende Datenbank aus. Nun setzt man den Befehl ab. Sicherheitshalber kann der Datenbank-Server neu gestartet werden.
[root@ubuntu:~]$ mysql -u [Username] -p (-u = Username; -p Eingabeprompt für Passwort)
Anmeldung an MySQL
[root@ubuntu:~]$ mysql -u sysdba -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.45-Debian_1ubuntu3.3-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Datenbank auswählen
mysql> use work
Database changed
mysql>
Aktionen bestätigen
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql>
Abmelden von MySQL
mysql> exit
Bye
Datenbank-Server neu starten
[root@ubuntu:~]$ /etc/init.d/mysql restart
Erzeugen des Dump
[root@ubuntu:~]$ mysqldump --database work -x -F -u sysdba -p >> /tmp/work.sql
Erzeugen des Dump via Netzwerk
[root@ubuntu:~]$ mysqldump --database work -x -F -h 172.16.0.10 -u sysdba -p >> /tmp/work.sql
Erzeugen des Dump aller Datenbanken
[root@ubuntu:~]$ mysqldump --all-databases -x -F -h 172.16.0.10 -u sysdba -p >> /tmp/work.sql
Dump einspielen
[root@ubuntu:~]$ mysql -u sysdba -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.45-Debian_1ubuntu3.3-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> source /tmp/work.sql;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
...
mysql>
Module aus der initrd entfernen
10.05.2010
/etc/sysconfig/kernel
MODULES_LOADED_ON_BOOT= ... hier das entsprechende Modul entfernen.
Dann mkinitrd ausführen. Geht auch mit YAST: etc/sysconfig-Editor/System/kernel
MODULES_LOADED_ON_BOOT= ... hier das entsprechende Modul entfernen.
Dann mkinitrd ausführen. Geht auch mit YAST: etc/sysconfig-Editor/System/kernel
Mit rug Installationsquellen von SLES10 eintragen
10.05.2010
rug sa --type=ZYPP 'nfs://x.x.x.x/install/sources/SLES10/YUP/SLES10-SP2-Online/sles-10-x86_64' SP2-Online
rug sa --type=ZYPP 'nfs://x.x.x.x/install/sources/SLES10/YUP/SLES10-SP2-Updates/sles-10-x86_64' SP2-Updates
Anschließend mit Yast --> Online-Updates das System updaten und rebooten ... fertig.
rug sa --type=ZYPP 'nfs://x.x.x.x/install/sources/SLES10/YUP/SLES10-SP2-Updates/sles-10-x86_64' SP2-Updates
Anschließend mit Yast --> Online-Updates das System updaten und rebooten ... fertig.
Installationsquellen unter SLES10 von Hand anpassen
10.05.2010
Falls sich YAST Aufhängt weil die falsche Installationsquelle eingetragen ist, kann man diese von Hand ändern.
Zuerst können mit dem Befehl zypper sl die vorhandenen Quellen angezeigt werden.
Falls nun eine zu ändern ist, so gibt es im Verzeichnis
/var/lib/zypp/db/sources
für jede Quelle eine Datei:
/var/lib/zypp/cache/Source.8Ep0fY
YaST
nfs://192.168.236.122/install/sources/SLES10/sles10em64_sp1
SUSE Linux Enterprise Server 10 SP1
Zuerst können mit dem Befehl zypper sl die vorhandenen Quellen angezeigt werden.
Falls nun eine zu ändern ist, so gibt es im Verzeichnis
/var/lib/zypp/db/sources
für jede Quelle eine Datei:
/var/lib/zypp/cache/Source.8Ep0fY
YaST
nfs://192.168.236.122/install/sources/SLES10/sles10em64_sp1
SUSE Linux Enterprise Server 10 SP1
Daten verschieben mit tar Daten verschieben mit tar Daten verschieben mit tar
10.05.2010
In diesem Beispiel werden alle Daten aus dem aktuellen Ordner nach /test kopiert:
tar -cf - .|(cd /test ; tar -xf -)
tar -cf - .|(cd /test ; tar -xf -)
Apache für https konfigurieren
23.04.2010
In /etc/sysconfig/apache2:
APACHE_START_TIMEOUT="10"
Unter SuSE: /usr/bin/gensslcert
für ein Standartzertifikat. NICHT für Produktion!
in /etc/apache2/default-server.conf:
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl.crt/server.crt SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
und natürlich ssl Modul aktivieren
APACHE_START_TIMEOUT="10"
Unter SuSE: /usr/bin/gensslcert
für ein Standartzertifikat. NICHT für Produktion!
in /etc/apache2/default-server.conf:
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl.crt/server.crt SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
und natürlich ssl Modul aktivieren