Kategorie: IT
RSS

Sublime Text – Encoding in der Statusbar anzeigen

2018-02-10 von admin

Der Editor Sublime Text zeigt standardmäßig in der Statusbar das aktuell Encoding nicht an. Im Menü unter „Preferences“ | „Settings“ können die Einstellungen des Editor angepasst werden.

Es öffnen sich zwei Tabs. In dem Tab „Preferences.sublime-settings“ muss lediglich die Zeile

"show_encoding" : true,

eingefügt werden.

Daraufhin wird in der Statusbar das Encoding dargestellt.

 

Kategorie: IT Schlagwörter: ,

Zeichenkodierung – Unicode (Teil 3)

2018-02-04 von admin

In dem dritten Teil der Reihe „Zeichenkodierung“ geht es um Unicode.

Die Zeichenkodierung „Unicode“

Unicode ist ein internationaler Standard, in dem alle Schriftzeichen und Textelemente aller bekannten Schriftkulturen und Zeichensysteme digital festlegt werden. Bei Unicode existieren zwei Zuordnungsmethoden: das Unicode Transformation Format (UTF) und die Universal Coded Character Set (UCS).

Seit der Unicode Version 4.0 von 2011 sind beide Standards (UTF, UCS) hinsichtlich der Kodierungen deckungsgleich. Deshalb wird im folgenden Teil ausschließlich auf UTF eingegangen.

 

UTF (Unicode Transformation Format)

Mit dieser Kodierung sind je Format 1.114.112 Zeichen (Codepoints) darstellbar. Die verschieden UFT-Formate und deren Eckdaten stellt die folgende Tabelle dar:

UTF-8 UTF-16 UTF-32
Anzahl Bits 8 Bit 16 Bit 32 Bit
Anzahl Bytes je Zeichen 1 Byte bis 4 Byte
(variable Byte-Anzahl)
2 Bytes 4 Bytes
max. Anzahl Zeichen 256 65.536 4.294.967.296
BOM optional UTF-16LE
UTF-16BE
UTF-32LE
UTF-32BE
Anmerkung Die ersten 128 Zeichen stimmen mit dem ASCII-Zeichensatz überein.
Diese werden mit einem Byte kodiert.

 

Ein Vorteil von UTF ist, dass eine verlustfreie Umwandlung von einem zum anderen Format möglich ist.

Bei Unicode existieren zwei Wege, die Informationen zu speichern. Exemplarisch wird der Text „Hallo“ verwendet, daraus ergeben sich zwei Varianten, je nachdem, wie die Bytes angeordnet werden.

 

Text H a l l o
Hexadezimal  00 48  00 61  00 6C  00 6C  00 6F
Hexadezimal  48 00  61 00  6C 00  6C 00  6F 00

 

Die Unterscheidung wird durch das Byte Order Mark vorgenommen.

 

BOM (Byte Order Mark)

Das Byte Order Mark gibt an, welche Variante für die Kodierung eines Textes angewendet wird. Dadurch kann bei der Verarbeitung von Dateien mit unterschiedlichen Programmen eine Unterscheidung erfolgen. Bei den Kodierungen UTF-16 und UTF-32 muss die BOM-Byte-Reihenfolge angegeben werden, bei UTF-8 ist die Angabe optional.

Kodierung hexadezimale Darstellung
UTF-8  EF BB BF
UTF-16 (BE)  FE FF
UTF-16 (LE)  FF FE
UTF-32 (BE)  00 00 FE FF
UTF-32 (LE)  00 00 FE FF

 

Es wird zwischen Little Endian (LE) und Big Endian (BE) unterschieden.

Byte Order Mark Beispiel Beschreibung
Little Endian (LE)  Tag.Monat.Jahr  Bei Little Endian wird das kleinstwertige Byte zuerst genannt.
Big Endian (BE)  Jahr.Monat.Tag  Bei Big Endian wird das höchstwertige Byte zuerst genannt.

 

Codepoint

Die Position eines Zeichens in einem Zeichensatz ist der sog. Codepoint („Codeposition“). Im Unicode-Standard werden die Zeichen in einem festgelegten Format adressiert.

U+xxxx

Das „U“ steht dabei für Unicode und „xxxx“ steht für eine hexadezimale Darstellung eines Zeichens. Beispielsweise kann das Euro „€“ Zeichen mit dem Codepoint

U+20AC

angesprochen werden. Eine Darstellung des Zeichens auf einer Webseite stellt sich wie folgt dar:

€

 

Eine Übersicht aller Zeichen ist unter ascii-table.com/unicode.php zu finden.

 

Vorherige Teile:

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

Zeichenkodierung – ANSI (Teil 2)

Kategorie: IT Schlagwörter: , , ,

Zeichenkodierung – ANSI (Teil 2)

2018-01-28 von admin

Hier kommt der zweite Teil aus der Reihe „Zeichenkodierung“.

Die Zeichenkodierung „ANSI“

ANSI steht für American National Standards Institute, dabei handelt es sich um eine Erweiterung des ASCII-Codes.

Alle Zeichen von 0 bis 128 sind identisch dem ASCII Zeichensatz. Alle Zeichen über 128 unterscheiden sich darin, dass viele zusätzliche Sonderzeichen (Zahlenbrüche, Vokale mit französischen Accent oder Währungssymbole) dargestellt werden.

Insgesamt sind 256 Zeichen darstellbar. Bei der Kodierung werden jedem Zeichen 8 Bits zugeordnet.

Dadurch ergeben sich 28 = 256 verschiedene Kombinationen.

Eine Übersicht aller Zeichen ist unter ascii-table.com/ansi-codes.php zu finden.

 

Vorherige Teile:

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

Kategorie: IT Schlagwörter: , , ,

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

2018-01-21 von admin

Bei der elektronischen Datenverarbeitung werden Zeichen, also bspw. Buchstaben, die Du hier gerade liest, als Zahlen kodiert. Dabei können Zeichen auf verschiedene Arten kodiert werden (Morsezeichen, Töne, Zahlen, …). Mit der fortschreitenden Entwicklung des Computers entstanden verschiedene Zeichenkodierungen. In diesem Teil geht es um allgemeine Begrifflichkeiten und die Kodierung ASCII.

Zeichensatz

Ein Zeichensatz (character set, kurz charset) ist die Menge aller Schriftzeichen. In dieser Menge können Buchstaben eines Alphabetes, Ziffern, Symbole oder Sonderzeichen enthalten sein.

Zeichenkodierung

Eine Zeichenkodierung beschreibt die konkrete Abbildung von Zeichen auf Byte-Werte.

Codepoint

In einem Zeichensatz werden Zeichen in einer bestimmten Reihenfolge (code space) angeordnet. Zur Verdeutlichung ein Beispiel mit einem Zeichensatz welcher vier Buchstaben enthält.

Zeichensatz A B C D
Codepoint 1 2 3 4

Die Position eines Zeichens in einem Zeichensatz ist der sog. Codepoint („Codeposition“). Ein Zeichensatz mit Codepoints wird als ein codierter Zeichensatz (coded character set) bezeichnet.

Schriftart

Für die grafische Darstellung von Zeichen werden Schriftarten verwendet. In der Regel weisen Schriftarten eine konsistente Gestaltung auf (Dicke der Buchstaben, Serifen, …).

Tastatur-Layout

Das Tastatur-Layout kann auch als Tastenbelegung bezeichnet werden. Dabei wird jeder Taste auf der Tastatur ein Codepoint zugeordnet. Beispielsweise wird für die Ausgabe des Buchstabens „z“ die beschriftete Taste „z“ auf einer deutschen Tastatur geklickt. Wird die Tastenbelegung auf US-amerikanisch geändert, erzeugt dieselbe Taste ein „y“.

 

Die Zeichenkodierung „ASCII“

Der American Standard Code for Information Interchange kurz ASCII umfasst 128 Zeichen. Davon bestehen 33 aus nicht druckbaren und 95 aus druckbaren Zeichen.

druckbare Zeichen nicht druckbare Steuerzeichen
  • lateinische Alphabet in Groß- und Kleinschreibung
  • zehn arabischen Ziffern
  • einige Interpunktionszeichen (Satzzeichen, Wortzeichen)
  • Sonderzeichen
  • Zeilenvorschub
  • Tabulator
  • Trennzeichen

Bei der Kodierung wird jedem Zeichen ein Bitmuster aus 7 Bits zugeordnet. Das 8. Bit eines Bytes wird nicht benutzt oder wird für verschiedene andere Zwecke verwendet. Dadurch ergeben sich  27 = 128 verschiedene Kombinationen. Hier ein kleiner Abriss der Kodierung:

Schriftzeichen Dezimal Binär
A 65 (0)100 0001
B 66 (0)100 0010
C 67 (0)100 0011

 

Eine Übersicht aller Zeichen ist unter ascii-table.com/ascii.php zu finden.

Kategorie: IT Schlagwörter: , , ,

Yahoo Finance API mit Python

2017-12-30 von admin

Mithilfe der Yahoo Finance API ist es möglich, automatisiert Aktienkurse und viele weitere Informationen auszulesen. Dafür habe ich ein kleines Python Script erstellt, welches es ermöglicht, den Abruf von zuvor festgelegten Werten (Aktien, Indexe, …) durchzuführen.

TL;DR

In dem folgenden Beispiel Script werden Informationen von insgesamt drei Aktienindexen abgerufen und angezeigt.

Download: yahoo.zip

Technische Erläuterung

Zeile Beschreibung
2-4 Import von verwendeten Bibliotheken.
6 In der Liste „stockList“ sind drei Symbole enthalten, die über die API abgerufen werden.
7 Adresse (URL) der API.
9-10 Abruf der Symbole über die API und einlesen.
11 Den Response in ein Python-Objekt umwandeln.
13 Die Ergebnismenge durchlaufen.
14-19 Es werden verschiedene Attribute ausgegeben.
20 Leerzeile ausgeben

 

Ausgabe

Die Anzeige der ausgelesenen Indexe und ihrer Attribute stellt sich auf der Konsole wie folgt dar:

Symbol bestimmen

Über ein Symbol kann der Yahoo Finance API kommuniziert werden, welche Aktie oder welcher Index abgefragt werden soll. Um ein Symbol in Erfahrung zu bringen, kann die Website finance.yahoo.com verwendet werden. Auf dem folgendem Bild kann nach dem jeweiligen Wert (Index, Aktie, …) gesucht werden. In dem Beispiel wurde nach dem „Dow Jones“ Index gesucht.

Neben dem Namen „Dow Jones Industrial Average“ wird das Symbol „^DJI“ dargestellt. Dieses Symbol und noch zwei weitere werden im obigen Script (Zeile 6) aufgelistet und somit abgefragt.

 

Weitere Attribute anzeigen

Mit dem Browser Firefox ist es möglich, die API direkt anzusprechen und sich alle Attribute übersichtlich darstellen zu lassen.

Link: https://query1.finance.yahoo.com/v7/finance/quote?symbols=^DJI

Wenn die Ausgabe anderer Attribute gewünscht ist, kann das Script entsprechend angepasst werden.

Kategorie: IT Schlagwörter: , , ,

MBR (Master Boot Record)

2017-10-15 von admin

Der Master Boot Record (MBR) ist ein Startprogramm und befindet sich im ersten Sektor eines bootfähigen Speichermediums (Festplatte, CD, USB, …). Unter Linux ist der MBR meist unter „/dev/hda“ oder „/dev/sda“ zu finden. Die Größe beträgt 512 Byte und unterteilt sich in die Bereiche:

Bereiche Größe
Bootloader 440 Byte
Datenträgersignatur 4 Byte
Null 2 Byte
Partitionstabelle  64 Byte
Bootsektor-Signatur  2 Byte

 

Mit dem Befehl „dd“ kann der MBR in eine separate Datei extrahiert werden.

dd if=/dev/sda of=/tmp/mbr.dmp bs=512 count=1

Um die erstellte Datei anzuschauen, kann ein beliebiger Hex-Editor oder der Befehl „od“ verwendet werden.

od -t x1 /tmp/mbr.dmp
0000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0
0000020 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00
0000040 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75
0000060 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b
0000100 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00
0000120 00 00 00 00 00 00 00 00 00 00 00 80 01 00 00 00
0000140 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70
0000160 74 02 b2 80 4b 79 7c 5c 00 31 c0 8e d8 8e d0 bc
0000200 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 bb 17 04
0000220 f6 07 03 74 06 be 88 7d e8 17 01 be 05 7c b4 41
0000240 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 37 83
0000260 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 44 02
0000300 c7 04 10 00 66 8b 1e 5c 7c 66 89 5c 08 66 8b 1e
0000320 60 7c 66 89 5c 0c c7 44 06 00 70 b4 42 cd 13 72
0000340 05 bb 00 70 eb 76 b4 08 cd 13 73 0d 5a 84 d2 0f
0000360 83 d0 00 be 93 7d e9 82 00 66 0f b6 c6 e8 64 ff
0000400 40 66 89 44 04 0f b6 d1 c1 e2 02 88 e8 88 f4 40
0000420 89 44 08 0f b6 c2 c0 e8 02 66 89 04 66 a1 60 7c
0000440 66 09 c0 75 4e 66 a1 ea 7c 66 31 d2 66 f7 34 88
0000460 d1 31 d2 66 f7 74 04 3b 44 08 7d 37 fe c1 88 c5
0000500 30 c0 c1 e8 02 08 c1 88 d0 5a 88 c6 bb 00 70 8e
0000520 c3 31 0c b8 01 02 cd 13 72 1e 8c c3 60 1e b9 00
0000540 01 8e db 31 f6 bf 00 80 8e c6 fc f3 a5 1f 61 ff
0000560 26 5a 7c be 8e 7d eb 03 be 9d 7d e8 34 00 be a2
0000600 7d c3 2e 00 cd 18 eb fe 47 52 55 42 20 00 47 65
0000620 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 65 61
0000640 64 00 20 45 72 72 6f 72 0d 0a 00 bb 01 00 b4 0e
0000660 cd 10 ac 3c 00 75 f4 c3 0c fe b9 00 00 00 80 20
0000700 21 00 83 fe ff ff 00 08 00 00 00 08 e9 02 00 fe
0000720 ff ff 05 fe ff ff fe 17 e9 02 02 a0 fe 0b 00 00
0000740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0001000

 

Bootloader (440 Byte)

Die ersten 440 Byte gehören zum Bootloader und nach der Ausführung sucht dieser in der Partitionstabelle nach einer aktiven Partition. Je nach System kann es sein, dass der Bootloader größer als 440 Byte ist und sich somit auf dem Dateisystem einer Festplatte befindet oder das ein Bootmanager verwendet wird.

Wenn die aktive Partition gefunden wurde, wird das eigentliche Betriebssystem gestartet.

Datenträgersignatur (4 Byte)

Die Datenträgersignatur (Disk Signature oder Disk identifier) wird von Windows 2000 und XP verwendet, um Datenträger (Partitionen) eindeutig zu identifizieren, bspw. für die Zuordnung von Laufwerksbuchstaben zu einer Partition. Die Datenträgersignatur besteht aus einem zufällig generierten Wert.

Null (2 Byte)

Nach der Datenträgersignatur folgen zwei leere Bytes.

Partitionstabelle (64 Byte)

Die Partitionstabelle teilt sich in vier Sektionen zu 16 Byte auf. Die vier verfügbaren Partitionen sind in Orange, Grün, Magenta und Hellblau hervorgehoben. Die Bedeutung der einzelnen Bytes werden anhand der ersten Partition erläutert.

Byte Größe  Partition 1 Beschreibung
1 80 Gibt an, ob eine Partition gestartet werden kann.

0x80 = bootfähig

0x00 = nicht bootfähig

3 20 21 00 CHS-Eintrag des ersten Sektors
1 83 Kennzeichnung des Partitionstyps.

0x00 = leer/unbenutzt
0x01 = FAT12 ≤ 16MB (hauptsächlich Floppy Disks aber auch Speicherkarten)
0x04 = FAT16 ≤ 32 MiB
0x05 = erweiterte Partition
0x06 = FAT16 > 32 MiB
0x07 = NTFS (Windows NT/2000/XP/Vista/7/8), HPFS (OS/2) oder exFAT
0x0B = FAT32
0x0C = FAT32 mit BIOS-Extensions (LBA)
0x0E = FAT16 > 32 MiB mit BIOS-Extensions (LBA)
0x0F = erweiterte Partition mit BIOS-Extensions (LBA)
0x12 = OEM-Partition für Konfiguration, Diagnose, BIOS-Erweiterung
0x27 = Windows RE versteckte Partition
0x42 = Dynamischer Datenträger
0x82 = Linux Swap/Solaris 2.6 X86 bis Solaris 9 X86
0x83 = Linux Native
0x8E = Linux LVM
0xA5 = FreeBSD
0xA6 = OpenBSD
0xA9 = NetBSD
0xEE = Legacy MBR mit folgendem EFI-Header
0xEF = EFI-Dateisystem

mehr

3 fe ff ff CHS-Eintrag des letzten Sektors
4 00 08 00 00 Startsektor, relativ zum Anfang der Festplatte oder zur erweiterten Partition
4 00 08 e9 02 Anzahl der Sektoren in der Partition per LBA-Methode

 

Bootsektor-Signatur (2 Byte)

Die Bootsektor-Signatur wird auch „Magic Number“ genannt und schließt den MBR ab. Wird die Signatur von einem BIOS gefunden, wird der MBR als gültiger Bootsektor gehandhabt. Fehlt hingegen die Signatur, wird der Bootvorgang abgebrochen.

 

Weiter führende Links

Linux – Boot Prozess

Master Boot Record

Kategorie: IT Schlagwörter: ,

Raspberry PI: Installation ohne Monitor (Raspbian Stretch)

2017-10-03 von admin

Vor einiger Zeit habe ich das Betriebssystem Raspbian auf einem Raspberry PI installiert. Nachdem sich die Schritte für eine Installationen etwas geändert haben, hier eine überarbeitete Anleitung. Für die Installation wurde folgende Version verwendet:

Raspbian Stretch with desktop
Image with desktop based on Debian Stretch
Version: September 2017
Release date: 2017-09-07
Kernel version: 4.9

 

Schritt 1: Download des Betriebssystems unter https://www.raspberrypi.org/downloads/

wget https://downloads.raspberrypi.org/raspbian_latest

Schritt 2: Formatieren der microSD-Karte mit FAT32. (Hinweis: Die Device Adresse kann von der hier angegebenen abweichen!) Alternativ kann hier auch die Software gparted verwendet werden.

sudo mkfs.vfat /dev/mmcblk0

Schritt 3 (Optional): Vergabe einer Volumenbezeichnung

mlabel -i /dev/mmcblk0 ::meinpi  # for fat32

Schritt 4: Entpacken des runtergeladenen Betriebssystems Images

unzip raspbian_latest.zip

Schritt 5: Image Datei auf die SD-Karte übertragen

dd bs=4M if=2017-09-07-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync

Schritt 6: Danach erneut auf die SD-Karte zugreifen, da aus Sicherheitsgründen SSH per default deaktiviert ist. Für die Aktivierung des Remote-Zugriffs über SSH muss eine eine leere Datei mit dem Namen „ssh“ auf der Boot Partition abgelegt werden.

touch ssh

Schritt 7: Die SD-Karte in den Raspberry Pi schieben bis es leise klickt, dann ist die Karte eingerastet. Danach noch das Netzteil und das Netzwerkkabel anschließen.

Schritt 8: Um den Pi im Netzwerk zu finden, einfach mit nmap scannen oder im Router nachschauen, welche IP Adresse vergeben wurde.

nmap -sP 192.168.168.*

Schritt 9: Erste Anmeldung am Pi mit der gefundenen IP-Adresse.

ssh pi@192.168.168.21

Das default Passwort lautet: raspberry

Schritt 10: Ändern des default Passworts

passwd

Schritt 11: Update des Systems

sudo apt-get update
sudo apt-get dist-upgrade

Schritt 12: Konfiguration des Systems (Uhrzeit, Zeitzone, …)

sudo raspi-config

Schritt 13 (Optional): Remote Desktop installieren

sudo apt-get install xrdp

Der xrdp Prozess wir automatisch beim Starten des Raspberry Pi geladen. Der Status kann wie folgt abgefragt werden:

/etc/init.d/xrdp status

Schritt 14 (Optional): Daraufhin kann eine Remote Desktop Verbindung unter Ubuntu eingerichtet werden. Zu finden ist das Programm im Menü unter „Internet | Zugriff auf entfernte Arbeitsflächen“.

pi3

Nachdem eine Verbindung aufgebaut ist, kann der Desktop verwendet werden.

Kategorie: IT Schlagwörter: , ,

Ubuntu: fehlende Bibliothek libgtk installieren

2017-09-06 von admin

Beim Starten einer neuen Software wurde die Fehlermeldung

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

angezeigt. Die fehlende Bibliothek konnte ganz einfach installiert werden:

sudo apt-get install libgtk2.0-0:i386

Danach lief die Software wie gewünscht.

Kategorie: IT

MySQL – Speicherplatz optimieren

2017-08-27 von admin

Um den Speicherverbrauch einer MySQL Datenbank zu optimieren, kann das Tool mysqlcheck verwendet werden. Um einen Vorher-Nachher-Vergleich durchführen zu können, sollte vor einer Optimierung ein Blick auf den Verbrauch des Speicherplatzes der einzelnen Schemata durchgeführt werden.

 

Schritt 1: Anmelden am Datenbankserver

Mit dem Befehl „mysql“ an der Datenbank anmelden und danach das Passwort eingeben.

mysql -u username -p

 

Schritt 2: Übersicht Speicherverbrauch je Schema/Tabelle

Wenn für die Anmeldung der User „root“ verwendet wird, dann kann mit folgender SQL-Abfrage eine Auflistung aller Datenbanken und deren Speicherverbrauch abgerufen werden:

SELECT table_schema AS "Datenbank",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.tables
GROUP BY table_schema
ORDER BY table_schema;

Um einen detaillierten Blick auf einzelne Tabellen zu erhalten, wird eine weitere Abfrage benötigt. Dabei wird der jeweilige Tabellenname und der Speicherverbrauch dargestellt. In der WHERE-Klausel muss dafür der Schemaname (schema_name) angegeben werden.

SELECT table_name AS "Tabelle",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.tables
WHERE table_schema = "schema_name"
ORDER BY (data_length + index_length) DESC;

 

Schritt 3: Speicherverbrauch optimieren

Falls der mysql Client noch geöffnet sein sollte, einfach mit „STRG + C“ beenden, um auf die Konsole zu kommen.

Jetzt kann mit dem Befehl „mysqlcheck“ der Speicherplatz der Tabellen optimiert werden:

mysqlcheck -u username -p --optimize --databases meinSchemaname

Danach einfach den Schritt 1 und 2 wiederholen, um den Erfolg zu begutachten. Es ist auch möglich, alle Schemata gleichzeitig zu optimieren, hierfür muss nur der Parameter „–databases“ mit „–all-databases“ ausgetauscht werden und der Wert „meinSchemaname“ entfällt.

 

Weiterführender Link:

MySQL Dokumentation: http://dev.mysql.com/doc/refman/5.5/en/mysqlcheck.html

Kategorie: IT Schlagwörter: , , , ,

Ubuntu: Simple Screen Recorder installieren

2017-07-24 von admin

Die Software Simple Screen Recorder wird leider in den Paketquellen von Ubuntu nicht zur Verfügung gestellt. Hier eine kurze Anleitung, wie das Programm installiert werden kann:

Schritt 1: Paketquelle hinzufügen

Mit dem Befehl „add-apt-repository“ und den entsprechenden Parametern wird eine weitere Paketquelle dem System hinzugefügt.

sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder

Schritt 2: Alle Paketquellen aktualisieren

Danach ein Update der Paketquellen durchführen.

sudo apt-get update

Schritt 3: Installation von Simple Screen Recorder

Die Software installieren:

sudo apt-get install simplescreenrecorder simplescreenrecorder-lib

Um 32bit OpenGL Anwendungen auf einem 64bit System aufzunehmen, wird noch folgende Bibliothek benötigt:

sudo apt-get install simplescreenrecorder-lib:i386
Kategorie: IT

Linux – Boot Prozess

2017-06-16 von admin

Vom Einschalten eines PCs bis zur Anmeldung werden verschiedene Phasen durchlaufen. Der Ablauf bei einem Linux Betriebssystem kann wie folgt unterteilt werden:

BIOS/UEFI

Im alltäglichen Sprachgebrauch wird zwischen den beiden Begriffen BIOS und UEFI kaum unterschieden, bzw., es wird meist der Begriff BIOS verwendet. Vereinfacht ausgedrückt, gibt es eine Software auf einem Chip, die nach dem Starten des Rechners angesprochen wird. Diese kann entweder das BIOS oder das UEFI sein.

BIOS UEFI
Basic Input/Output System Unified Extensible Firmware Interface

 

Die Unterscheidung soll nicht Bestandteil des Beitrags sein, kann aber auf den verlinkten Seiten nachgelesen werden. ;)

 

MBR (Master Boot Record)

Der MBR befindet sich im ersten Sektor eines bootfähigen Speichermediums (Festplatte, CD, USB, …). Die Größe des MBR beträgt 512 bytes. Im MBR befinden sich Informationen zum Bootloader, welcher daraufhin geladen und ausgeführt wird.

Der MBR ist meist unter „/dev/hda“ oder „/dev/sda“ zu finden.

 

Bootloader

Für den Einsatz eines Bootloader kann zwischen verschiedenen Programmen ausgewählt werden. Unter Linux ist der Einsatz von Grub (Grand Unified Bootloader) oder dem Vorgänger LILO (Linux Loader) sehr verbreitet.

Wird Grub verwendet, gibt es die Möglichkeit, über ein Menü (/boot/grub) den gewünschten Kernel auszuwählen. Wird keine Auswahl getroffen, wird nach einigen Sekunden die „default“ Einstellung gestartet. Grub lädt daraufhin den konfigurierten Kernel und startet diesen. Der Bootloader übergibt die Steuerung anschließend an das eigentliche Betriebssystem, in diesem Fall an den Linux-Kernel.

Die Einstellungen von Grub können in der Konfigurationsdatei unter „/etc/default/grub“ angepasst werden.

 

Kernel

Der Kernel in Linux steuert alle Betriebssystemprozesse wie Speicherverwaltung, Aufgabenplanung, Input/Output, Interprozesskommunikation und die Gesamtsystemsteuerung. Der Kernel führt die Initialisierung des ersten Prozesses in „/sbin/init“ aus.

Die Durchführung erfolgt in zwei Phasen:

Phase 1: Kernel loading stage

Es wird ein Image File geladen, welcher komprimiert vorliegt (/usr/src). Daraufhin wird das Image dekomprimiert und die Hardware Einstellungen werden festgelegt.

Phase 2: Kernel startup stage

Der Kernel führt den Init-Prozess aus.

 

INIT

Init ist der erste Prozess, welcher gestartet wird. Er besitzt immer die ID 1. Der Init-Prozess startet alle anderen Prozesse. Er ist für die ordnungsgemäße Initialisierung des Systems verantwortlich. Je nachdem, welches Linux verwendet wird, liegt die Konfigurationsdatei unter „/etc/inittab“ oder im Ordner „/etc/init/“.

Diese Datei legt fest, welche Dienste und Daemons in den einzelnen Runlevels verfügbar sind. Auch hier gibt es Alternativen zu „init„, sehr verbreitet ist Upstart oder Systemd.

 

Runlevel

Abhängig von der Standardeinstellung eines „Runlevel“ werden verschiedene Programme aus den folgenden Ordnern ausgeführt:

Runlevel Beschreibung Pfad
0 halt the system /etc/rc.d/rc0.d/
1 single user mode (minimal services) /etc/rc.d/rc1.d/
2 local multi-user mode /etc/rc.d/rc2.d/
3 full multi-user mode /etc/rc.d/rc3.d/
4 unused /etc/rc.d/rc4.d/
5 Identisch mit Level 3, meist mit grafischer Oberfläche /etc/rc.d/rc5.d/
6 reboot the system /etc/rc.d/rc6.d/

 

Beim Systemstart werden alle Runlevel durchlaufen (außer 0). Der Start ist abgeschlossen, wenn der als Standard-Runlevel definierte Runlevel erreicht ist.

 

Weitere Informationen

Kategorie: IT

Linux: Der Befehl top

2017-05-31 von admin

Der Befehl „top“ zeigt alle aktuell laufenden Prozesse des Systems an. Die Anzeige aktualisiert dabei alle 3 Sekunden.

Zeile 1

In der ersten Zeile wird die aktuelle Uhrzeit angezeigt. Daneben wird die Laufzeit des Systems (up) 3 Std. 53 min. dargestellt. Die „load average“ Werte zeigen den durchschnittlichen „load“ der letzten 1, 5 und 15 Minuten an.

Die „load average“ gibt einen Einblick in die Systemauslastung. Der „load“ in Linux-Systemen entspricht der Anzahl an wartenden Prozessen. Der optimale Wert ist identisch der Anzahl der im System vorhandenen Prozessoren. Bspw., wenn ein System über 4 Prozessoren verfügt, liegt der optimale „load“ bei vier.

Alle Werte unterhalb von 4 bedeuten Unterauslastung, alle über 4 stehen für Überlastung.

Zeile 2

Die zweite Zeile informiert über die laufenden Prozesse und ihren aktuellen Zustand.

Label Beschreibung
Tasks Zeigt die Gesamtanzahl der Prozesse auf einem System an.
laufend Zeigt die Anzahl der Prozesse, welche gerade von der CPU ausgeführt werden.
schlafend Zeigt die Anzahl der Prozesse, die auf Bearbeitung durch die CPU warten.
gestoppt Zeigt die Anzahl der Prozesse, die gestoppt wurden.
Zombie Zombie Prozesse

 

Zeile 3

In der dritten Zeile wird die CPU-Auslastung dargestellt.

Label Beschreibung
be CPU-Nutzung von User-Prozessen (user mode)
sy CPU-Nutzung von System- und Kernel-Prozessen
ni CPU-Nutzung von Prozessen, die keine Standard-Priorität besitzen (ni = NICE)
un CPU im Leerlauf (IDLE)
wa Zeit, welche die CPU durch I/O Zugriffe (wait) (bspw. Festplatte) warten muss
hi Zeit, die auf das Bearbeiten von Hardware Interrupts verwendet wird
si Zeit, die auf das Bearbeiten von Software Interrupts verwendet wird
st Zeit, die von der laufenden virtuellen Maschine vom Hypervisor für andere Aufgaben gestohlen (stolen) wird

 

Zeile 4

Die Zeile 4 stellt die Speicherverwendung dar.

Label Beschreibung
total  Zeigt den verfügbaren Arbeitsspeicher an (total = used + free).
used  Zeigt den verwendeten Arbeitsspeicher an.
free  Zeigt den freien Arbeitsspeicher an.
buffers
Speicher, der vom OS reserviert wird, um als Puffer zu fungieren, wenn der Prozess diesen benötigt.

 

Zeile 5

Auf der Zeile 5 wird die Verwendung der Auslagerungsdatei angezeigt.

Label Beschreibung
total  Maximale Größe der Auslagerungsdatei.
used  Verwendete KiB der Auslagerungsdatei.
free  Frei KiB der Auslagerungsdatei.
cached Mem  Gecachte Daten im Arbeitsspeicher.

 

Zeile 6

In dieser Zeile ist eine Übersicht der laufenden Prozesse ersichtlich.

Spalte Beschreibung
PID Prozess-ID
USER Anzeige des Users, welcher den Prozess gestartet hat.
PR Anzeige der Priorität, mit dem der Prozess läuft.
NI Priorität, mit welcher der Prozess gestartet wurde (nice).
VIRT Anzeige des virtuellen Speicherverbrauchs (beinhaltet alle Ressourcen).
RES Speicherverbrauch (RAM) des Prozesses.
SHR

Die Menge an gemeinsam genutztem Speicher für einen Prozess (Shared Memory Size).

S Anzeige des Prozess Status.
D = uninterruptible sleep
R = running
S = sleeping
T = traced or stopped
Z = zombie
%CPU Prozentualer Zeitanteil der CPU für den Prozess.
%MEM Prozentualer Anteil des RAMs für den Prozess.
Zeit+ Die Gesamtzeit, die von der CPU für diesen Prozess aufgewendet wurde.
Befehl Name des Prozesses.

 

Kategorie: IT Schlagwörter: ,

Linux: Auf Daten einer Linux LiveCD zugreifen

2017-05-27 von admin

Vor kurzem bekam ich eine CD in die Hände, auf der eine Linux Distribution installiert war. Bei der Distribution handelte es sich um eine sogenannte LiveCD, d.h., beim Einlegen in das CD-ROM Laufwerk und dem Neustart des PCs wird das Betriebssystem von der CD gestartet (sofern im Bios konfiguriert) und nicht das, welches sich auf der Festplatte befindet. Im Home Verzeichnis einiger User befanden sich Dateien, die ich gern kopieren wollte, ohne das System auf der CD starten zu müssen.

Versucht man direkt auf die CD zuzugreifen, so werden folgende Dateien angezeigt:

Im Ordner „Casper“ befindet sich die Datei „filesystem.squashfs“ mit einer Dateigröße von ca. 700 MB. Diese Datei beinhaltet das Betriebssystem, welches nach dem Booten verwendet wird.

In der Datei sind die jeweiligen Home Laufwerke der User zu finden. Die Dateiendung „squashfs“ gibt Auskunft darüber, um welchen Dateityp es sich handelt. Es ist das komprimierte Dateisystem SquashFS, welches nur lesbar ist.

Um unter Ubuntu direkt auf die Daten der Datei zuzugreifen, wird das Tool „squashfs“ benötigt. Mit dem folgenden Befehl

sudo apt-get install squashfs-tools

kann die Software installiert werden.

 

Variante 1

Mit dem folgenden Befehl werden die Daten aus der Datei „filesystem.squashfs“ in den Ordner „/tmp/cd“ kopiert.

sudo unsquashfs -f -d /tmp/cd /media/CDROM/casper/filesystem.squashfs

Die Pfade müssen entsprechend angepasst werden. Daraufhin konnte ich die gewünschten Dateien kopieren.

 

Variante 2

Eine weitere Variante ist mit dem Befehl „mount“ möglich, damit kann das Dateissystem direkt eingebunden werden.

mount -t squashfs /media/CDROM/casper/filesystem.squashfs /mnt

Mit „umount“ kann dieser Schritt wieder rückgängig gemacht werden.

sudo umount /mnt

 

Kategorie: IT Schlagwörter: , ,

Linux: Weitere Monitorauflösung hinzufügen

2017-05-25 von admin

Der Befehl „xrandr“ kann verwendet werden, um Größe, Ausrichtung oder Reflexion der Ausgänge für einen oder mehrere Bildschirme einzustellen.

xrandr --newmode "1920x1200_60.00" 193.16  1920 2048 2256 2592  1200 1201 1204 1242 -HSync +Vsync

Mit der Option „newmode“ wird eine Monitorgröße angelegt.

xrandr --addmode DP1-1 1920x1200_60.00

Daraufhin wird mit „addmode“ die gewünschten Ausgabe (DP1, VGA1, HDMI1, …) hinzugefügt.

xrandr --output DP1-1 --mode 1920x1200_60.00

Mit „output“ wird dem jeweiligen Ausgabegerät eine neu angelegte Auflösung zugewiesen.

Kategorie: IT Schlagwörter: , , ,

Debian – Tastaturlayout ändern mit einer US-Tastatur

2017-05-17 von admin

Zu dem Beitrag Debian – Tastaturlayout ändern wurde mir von einem aufmerksamen Leser Feedback zugeschickt.

Wenn ein Rechner über eine US-Tastatur verfügt und nicht das gesamte Tastaturlayout auf Deutsch umgestellt werden soll, dann können auch einzelne Tasten separat belegt werden.

Die Caps Lock Taste (die ohnehin nicht verwendet wird) kann so belegt werden, das zwischen „a“ und „ä“ umgeschaltet werden kann, identisch der Shift Taste, welche von Klein- zu Großschreibung wechselt. Große Umlaute (z.B. Ü) können durch „Caps Lock + Shift + U“ realisiert werden. Alle restlichen Sonderzeichen (z.B. @) sind identisch der Abbildung auf der Tastatur zu erreichen.

Die Einstellungen können im Home Verzeichnis des Nutzers in der Datei „~/.Xmodmap“ vorgenommen werden.

keycode 66 = Mode_switch Multi_key
keycode 117 = Mode_switch Multi_key
keycode 39 = s S ssharp
keycode 38 = a A adiaeresis Adiaeresis
keycode 30 = u U udiaeresis Udiaeresis
keycode 32 = o O odiaeresis Odiaeresis
keycode 14 = 5 percent ssharp  degree
keycode 26 = e E egrave Egrave
keycode 28 = t T EuroSign EuroSign
keycode 27 = r R ecircumflex Ecircumflex
keycode 25 = w W eacute Eacute
keycode 31 = i I idiaeresis Idiaeresis
keycode 21 = equal plus plusminus notsign
keycode 57 = n N ntilde Ntilde
keycode 58 = m M Multi_key
keycode 15 = 6 asciicircum dead_acute  dead_circumflex
keycode 19 = 0 parenright degree masculine
keycode 10 = 1 exclam exclamdown onehalf
keycode 54 = c C ccedilla Ccedilla
keycode 24 = q Q copyright registered 

Thx. @wolf

Kategorie: IT Schlagwörter: