Linux

Löschen von Dateien mit "-" am Dateinamensanfang

rm ./

z.B.: rm ./-drecksdatei wenn die Datei "-drecksdatei" heißt. 

Hotplug RAM und CPU in vSphere VMs

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
 

Festplatte im laufenden Betrieb ins System einhängen

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"

Falschen Namen einer Netzwerkkarte korrigieren

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

SuSERegister auschalten

SuseRegister startet während des Bootvorgangs. Dieses kann abgeschaltet werden:
 
touch /var/lib/suseRegister/neverRegisterOnBoot.

SSH ohne Passwort einrichen

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.

Zusätzliche YAST Installationsquelle eintragen

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

MySQL Root Password setzen

update mysql.user set password=PASSWORD('tollespasswort') where User='root' AND Host='localhost';
 
FLUSH PRIVILEGES;

MySQL Datenbank migrieren/sichern

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>

Module aus der initrd entfernen

/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

Mit rug Installationsquellen von SLES10 eintragen

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.

Installationsquellen unter SLES10 von Hand anpassen

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

Daten verschieben mit tar Daten verschieben mit tar Daten verschieben mit tar

In diesem Beispiel werden alle Daten aus dem aktuellen Ordner nach /test kopiert:
 
tar -cf - .|(cd /test ; tar -xf -)

Apache für https konfigurieren

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