15Mrz
Tags: Allgemein | macOS / OS X (Mac)
Kommentieren
Deaktivierung
Ausführen in einem Terminal:
|
defaults write com.apple.dashboard mcx-disabled -boolean YES && killall Dock |
Aktivierung
Ausführen in einem Terminal:
|
defaults write com.apple.dashboard mcx-disabled -boolean NO && killall Dock |
25Jan
Tags: Debian (Linux)
Kommentieren
Bei einem simplen Update meines Debian-Servers (8.2 => 8.3) brach der Update-Prozess ab, da der Dienst rsyslog
nach dem Update nicht neu gestartet werden konnte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
$ sudo apt-get upgrade Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Paketaktualisierung (Upgrade) wird berechnet... Fertig 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. 1 nicht vollständig installiert oder entfernt. Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n] J rsyslog (8.4.2-1+deb8u2) wird eingerichtet ... Job for rsyslog.service failed. See 'systemctl status rsyslog.service' and 'journalctl -xn' for details. invoke-rc.d: initscript rsyslog, action "restart" failed. dpkg: Fehler beim Bearbeiten des Paketes rsyslog (--configure): Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück Fehler traten auf beim Bearbeiten von: rsyslog E: Sub-process /usr/bin/dpkg returned an error code (1) |
|
$ sudo service rsyslog start Job for rsyslog.service failed. See 'systemctl status rsyslog.service' and 'journalctl -xn' for details. |
|
$ sudo journalctl -xe ● rsyslog.service - System Logging Service Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled) Active: failed (Result: start-limit) since Mo 2016-01-25 13:13:56 CET; 5s ago Docs: man:rsyslogd(8) http://www.rsyslog.com/doc/ Process: 30703 ExecStart=/usr/sbin/rsyslogd -n (code=exited, status=1/FAILURE) Main PID: 30703 (code=exited, status=1/FAILURE) Jan 25 13:13:56 hostname systemd[1]: Failed to start System Logging Service. Jan 25 13:13:56 hostname systemd[1]: Unit rsyslog.service entered failed state. |
In den Griff bekam ich das Problem, indem ich manuell alle laufenden Prozesse von rsyslog beendete:
|
$ sudo ps aux | grep rsyslog root 31991 0.0 0.0 258656 1884 ? Ssl 13:18 0:00 /usr/sbin/rsyslogd -n root 32018 0.0 0.0 12736 964 pts/0 S+ 13:22 0:00 grep rsyslog $ sudo kill 31991 |
Anschließend lief die Neu-Installation problemlos durch:
|
$ sudo apt-get remove rsyslog $ sudo apt-get install rsyslog |
rsyslog
10Dez
Tags: Betriebssystem | Debian (Linux) | Raspbian (Raspberry Pi)
Kommentieren
Warum parted
, wenn auch fdisk
funktioniert?
fdisk
arbeitet mit MBR
, parted
mit GPT
– zwei verschiedene Formate, Partitionen auf eine Festplatte zu schreiben. Der Grund, weshalb ich hier auf GPT
zurückgreife anstatt das allseits bekannte und beliebte MBR
, ist, dass MBR
nur Partitionen bis 2TB unterstützt.
Partitionieren der Festplatte
Für die folgenden Schritte ist das Programm parted
nötig. Dieses kann mittels
|
$ sudo apt-get install parted |
nachinstalliert werden.
- Untersuchen der aktuellen Festplattenkonfiguration:
|
Disk /dev/sdb: 110 GiB, 118111600640 bytes, 230686720 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xa659f109 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 60262399 60260352 28,8G 83 Linux /dev/sda2 60264446 62912511 2648066 1,3G 5 Extended /dev/sda5 60264448 62912511 2648064 1,3G 82 Linux swap / Solaris |
- Untersuchen der Partitionierung der entsprechenden Festplatte (in diesem Falle
/dev/sdb
):
|
Disk /dev/sdb: 110 GiB, 118111600640 bytes, 230686720 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes |
- Starten von
parted
mit der gewählten Festplatte /dev/sdb
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
GNU Parted 3.2 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Error: /dev/vdd: unrecognised disk label Model: Virtio Block Device (virtblk) Disk /dev/vdd: 21,5GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: (parted) mklabel gpt (parted) print Model: VMware Virtual disk (scsi) Disk /dev/sdb: 118GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags (parted) mkpart primary 0% 100% (parted) print Model: VMware Virtual disk (scsi) Disk /dev/sdb: 118GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 118GB 118GB primary (parted) q Information: You may need to update /etc/fstab. |
- Anzeigen der gesamten angeschlossenen Festplattenkonfiguration:
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 30G 0 disk ├─sda1 8:1 0 28,8G 0 part / ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 1,3G 0 part [SWAP] sdb 8:16 0 110G 0 disk └─sdb1 8:17 0 110G 0 part sr0 11:0 1 1024M 0 rom |
- Formatieren der neuen Partition als
ext4
:
|
$ sudo mkfs.ext4 /dev/sdb1 |
|
mke2fs 1.42.12 (29-Aug-2014) Ein Dateisystems mit 28835328 (4k) Blöcken und 7208960 Inodes wird erzeugt. UUID des Dateisystems: fb6bed30-7a04-4638-a12b-ae55d2c5de2e Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 beim Anfordern von Speicher für die Gruppentabellen: erledigt Inode-Tabellen werden geschrieben: erledigt Das Journal (32768 Blöcke) wird angelegt: erledgt Die Superblöcke und die Informationen über die Dateisystemnutzung werden geschrieben: erledigt |
Die 1
in sdb1
ist übrigens äußerst wichtig, da ihr ansonsten die gesamte Festplatte ohne Partitionen formatiert, was unter umständen später Probleme bereiten kann (es funktioniert, wäre jedoch nicht zu empfehlen).
- Mounten unserer neuen Partition:
|
$ sudo mount /dev/sdb1 /data |
05Dez
Tags: Allgemein | NAS | Ubuntu
Kommentieren
Bei der Installation von Ubuntu von einem USB-Stick kann es sein, dass nach der Basisinstallation bei der Einrichtung des Bootloaders der folgende Fehler auftritt:
|
GRUB konnte nicht auf /dev/sda installiert werden. Die Ausführung von >>grub install /dev/sda<< ist fehlgeschlagen. Die ist ein schwerwiegender Fehler. |
Dies kann daran liegen, dass der USB-Stick als /dev/sda registriert ist, die Festplatte dann /dev/sdb ist. Die Installation nach /dev/sdb funktioniet zwar problemlos, GRUB wird jedoch fälschlicherweise automatisch auf /dev/sda installiert.
Die Lösung ist recht simpel: Nochmal versuchen und die automatische Installation mit „Nein“ abbrechen. Anschließend kann manuell das Laufwerk angegeben werden, auf das der MBR geschrieben werden soll. Dies ist dann /dev/sdb. Anschließend sollte die Installation problemlos abzuschließen sein.
Quellen
- https://forum.ubuntuusers.de/topic/die-ausfuehrung-von-grub-install-dev-sda-ist-f/
- http://askubuntu.com/questions/459620/unable-to-install-grub-in-dev-sda-when-installing-grub
dev, grub, in, install, mbr, sda, to, ubuntu, unable
04Dez
Tags: Allgemein | macOS / OS X (Mac)
Kommentieren
Um eine ISO-Datei mit einem OS X-Geräte (Mac) auf einen Wechseldatenträger (externe Festplatte, USB-Stick, SD-Karte, etc.) zu spielen, kann man wie folgt vorgehen:
- Terminal starten (
cmd + space
, „terminal“ eingeben, Enter)
- Zuerst listen wir alle Geräte auf, damit wir auch das richtige erwischen:
|
/dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.3 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage Macintosh HD 419.4 GB disk0s2 3: Apple_Boot Recovery HD 650.1 MB disk0s3 4: Microsoft Basic Data BOOTCAMP 80.1 GB disk0s4 /dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD +419.0 GB disk1 Logical Volume on disk0s2 8593726D-63DF-FG62-DFU2-9398HG72H29A Unlocked Encrypted |
- Dann unmounten wir das entsprechende Gerät:
|
$ diskutil unmountDisk /dev/disk2 |
- Nun wird die ISO-Datei einfach „plain“ auf das Gerät geschrieben:
|
$ sudo dd if=/path/to/iso.iso of=/dev/disk2 |
|
505856+0 records in 505856+0 records out 258998272 bytes transferred in 115.845490 secs (2235722 bytes/sec) |
Achtung: Alle Daten werden auf dem Zieldatenträger (of
) gelöscht.
Das funktioniert beispielsweise super mit Images von Betriebssystemen, wenn man einen Wechseldatenträger zur Installation verwenden möchte.
burn, card, drive, external, iso, mac, sd, stick, to, usb, write
18Nov
Tags: Allgemein | Debian (Linux) | macOS / OS X (Mac) | Raspbian (Raspberry Pi) | Webserver
Kommentieren
OS X / Linux
Im Folgenden beschreibe ich, wie das Ganze mit einem Linux- oder Mac-Client beim Zugriff auf einen Linux-Server funktioniert.
Lokal: Key erstellen
|
$ ssh-keygen -t rsa -b 2048 Generating public/private rsa key pair. Enter file in which to save the key (/Users/USER/.ssh/id_rsa/): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/USER/.ssh/id_rsa. Your public key has been saved in /Users/USER/.ssh/id_rsa.pub. The key fingerprint is: 32:33:a6:c9:04:c9:c9:b9: test@localhost.local The key's randomart image is: |
Key übertragen
|
scp /Users/USER/.ssh/id_rsa.pub user@deinserver.com:~ |
Remote: Key zu den authorized_keys hinzufügen
|
# Falls die nötigen Verzeichnisse nicht existieren, anlegen: mkdir ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # Key hinzufügen cat ~/id_rsa.pub >> ~/.ssh/authorized_keys |
Lokal: Key automatisch mit senden
|
ssh-add /Users/USER/.ssh/id_rsa Need passphrase for /Users/USER/.ssh/id_rsa.pub user@deinserver.com. Enter passphrase: |
Troubleshooting
Fehler: „Could not open a connection to your authentication agent.“
In diesem Fall hilft es meist, den SSH-Agent zu starten:
Quellen:
08Okt
Tags: Allgemein | Debian (Linux) | MySQL | MySQL-Server | Webserver | xt:Commerce
Kommentieren
Ein Kunde hatte das Problem, dass der auf unserem Server installierte xt:commerce 3 teilweise so hohen Datenbank-Load verursachte, dass der MySQL-Server abrauchte und somit den ganzen Server kurzzeitig in einer Nicht-Erreichbarkeit stürzte. Zwar war schon länger ein Update auf eine neue xt:commerce-Version geplant, jedoch befand sich der neue Shop noch in der Entwicklung und es musste kurzfristig eine Lösung erarbeitet werden, da die Ausfälle sich häuften (teilweise bis zu 3x am Tag).
Relativ schnell entpuppte sich die Suchfunktion des xt:commerce als ausschlaggebend, welche bei meinen Tests bei einer Volltextsuche meist zwischen 40 und 50 Sekunden benötigte, dabei den MySQL-Server komplett belastet – nun stelle man sich dies am Tages-Hoch mit hunderten Besuchern vor.
Mit den folgenden Umstellungen in der MySQL-Datenbank lässt sich die Suche durch einfaches Setzen von Indizes stark beschleunigen:
Tabelle „products_description„:
- products_id
- language_id
- products_name
- products_description (FULLTEXT)
- products_short_description (FULLTEXT)
- products_keywords
Tabelle „products_options„:
- language_id
- products_options_name
Tabelle „products_attributes„:
Tabelle „products_options_values„:
- language_id
- products_options_values_name
Tabelle „specials„:
Wichtig ist, dass die neuen Indexes eine möglichst hohe Kardinalität besitzen (also viele verschiedene Werte), damit eine Performancesteigerung erreicht werden kann.
Quellen
- http://forums.xt-commerce.com/topic/60364-suchfunktion-sehr-langsam-sessions/
- http://thomas.eses.name/mysql-indexe-richtig-setzen/
27Mai
Tags: Debian (Linux) | Raspbian (Raspberry Pi)
Kommentieren
Um die Ausgabe eines Befehls zu beobachten, bietet sich das Programm watch
an, das in angegebenem Zyklus die Bildschirmausgabe aktualisiert:
|
Options: -b, --beep beep if command has a non-zero exit -c, --color interpret ANSI color sequences -d, --differences[=<permanent>] Unterschiede zwischen den Ausgaben werden hervorgehoben -e, --errexit exit if command has a non-zero exit -g, --chgexit Beende watch, wenn sich die Ausgabe des Befehls ändern -n, --interval <secs> Anzahl der Sekunden zwischen den Aktualisierungen [2s] -p, --precise attempt run command in precise intervals -t, --no-title Verstecke die Kopfzeile (Uhrzeit und Kommando) -x, --exec pass command to exec instead of "sh -c" -h, --help Zeige diese Hilfe -v, --version Zeige die Version von watch |
Beispiel
Das folgende Beispiel überwacht die aktuelle RAM-Belegung in /proc/meminfo
und aktualisiert sich jede Sekunde. Zudem werden die Veränderungen hervorgehoben:
|
watch -n 1 -d 'cat /proc/meminfo' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Every 1,0s: cat /proc/meminfo Wed May 27 21:11:09 2015 MemTotal: 4060708 kB MemFree: 1598172 kB MemAvailable: 3695240 kB Buffers: 33728 kB Cached: 2189016 kB SwapCached: 0 kB Active: 164308 kB Inactive: 2136732 kB Active(anon): 67788 kB Inactive(anon): 24780 kB Active(file): 96520 kB Inactive(file): 2111952 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 1324028 kB SwapFree: 1324028 kB Dirty: 56 kB |
Weiterführende Informationen
aktualisieren, befehl, command, kommando, refresh, watch
27Apr
Tags: Betriebssystem | Debian (Linux) | Raspbian (Raspberry Pi)
Kommentieren
Installierte CPU mit Taktfrequenz auslesen
Um die auf dem aktuellen System installierten CPU inkl. Taktfrequenz auszulesen, reicht es, das folgende Kommando auszuführen. Hierzu sind nicht einmal root-Rechte nötig:
|
grep -i --color "model name" /proc/cpuinfo |
Installierten RAM auslesen
Der oben links unter „total“ in der Zeile „Mem:“ angegebene Wert ist der Speicher in Megabyte.
Angeschlossene Storage-Devices (Festplatten) auslesen
Um alle angeschlossenen Geräte am System anzuzeigen:
Beispiel-Ausgabe:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 28,8G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 1,3G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
Quellen
- http://wiki.ubuntuusers.de/lsblk
Festplatten-Größe auslesen (Gesamt-Speicherplatz)
22Apr
Tags: Allgemein | Betriebssystem | Debian (Linux)
Kommentieren
Bei Start von Debian taucht die folgende etwas verwirrende Meldung auf:
Waiting for /dev to be fully populated... [...]
[...] Error: Driver 'pcspkr' is already registered, aborting
Lösung:
Blacklisten des Moduls „snd-pcskr“:
|
echo "blacklist snd-pcsp" >> /etc/modprobe.d/alsa-base-blacklist |
Quellen