FOSS-Lizenzen und -Anwendungen, ICT,Hardware
Linux-Kurs der Unix-AG
Benjamin Eberle
21. Juli 2015
Hardwarekomponenten
I MainboardI CPUI RAMI GrafikkarteI FestplatteI Optische und Wechsel-DatenträgerI Peripherie
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 2 / 48
Mainboard
I verbindet verschiedene Komponenten mit der CPUI besitzt Sockel/Slots/Ports für
I CPUI RAMI PCI-/AGP-/PCIe-KartenI IDE (PATA), SATAI USBI Parallel-/Seriell-Port
I enthält das BIOS (Basic Input/Output System)
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 3 / 48
CPU
I Central Processing UnitI für die Datenverarbeitung zuständigI Desktop- und Notebook-Systeme: üblicherweise eine CPUI Server-Systeme: meist mehrere CPUsI verschiedene Architekturen
I x86 - 32-Bit-ArchitekturI x64 - 64-Bit-ArchitekturI ARM-Architektur
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 4 / 48
RAM
I Random Access Memory (beliebig zugreifbarer Speicher)I flüchtiger Zwischenspeicher für DatenverarbeitungI Desktop- und Notebook-Systeme: üblicherweise 4 bis 8 GBI Server-Systeme: unterschiedlich, je nach Anforderung
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 5 / 48
Grafikkarte
I auf Mainboard bzw. in CPU integriertI dedizierte Grafikkarten per PCI-, AGP- oder PCIe-SlotI übernehmen für die Rechenoperationen für GrafikausgabeI haben meistens mehrere Monitoranschlüsse (VGA, DVI,
HDMI, DisplayPort)I HDMI auch zur Audioübertragung
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 6 / 48
Festplatte
I nicht-flüchtiger Speicher für Daten und ProgrammeI meist SATA-Anschluss, ältere Festplatten IDEI Magnetspeicher:
I hohe Kapazitäten (heutzutage bis zu 4TB pro Festplatte)I rotierende Magnetscheibe, beweglicher Schreib-Lese Kopf
I Flashbasierte Speicher (Solid State Disk, SSD):I keine beweglichen Teile, geringer EnergieverbrauchI kleine Kapazitäten, begrenzte Schreibzyklen
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 7 / 48
Partitionierung
I Festplatten werden in Partitionen aufgeteiltI bis zur vier primäre PartitionenI eine primäre Partition kann als erweiterte Partition beliebig
viele logische Partitionen beinhaltenI Festplatten unter /dev als hdX (IDE) oder sdX (SATA)I X: fortlaufender BuchstabeI Partitionsnummer wird an den Festplattennamen
angehangen (1-4: primär, ab 5: logisch)I Beispiel: /dev/sdd3: dritte primäre Partition auf der vierten
SATA-Festplatte
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 8 / 48
Optische und Wechsel-Datenträger
Optische Datenträger
I Compact Disk (CD), üblich 700MBI Digital Versatile Disc (DVD), bis zu 9,4GBI Blu-ray Disc, unterschiedliche hohe Kapazitäten
Wechsel-Datenträger
I DisketteI Flashspeicher, USB-Sticks oder Speicherkarten,I Externe Festplatten (mittels eSATA, Firewire oder USB)
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 9 / 48
Peripherie
I Ein- oder Ausgabegeräte (I/O)I Maus, TastaturI Drucker, ScannerI Monitor
I zusätzlicher Speicher (externe Festplatten)I meist über Universal Serial Bus (USB) angeschlossen
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 10 / 48
Bootloader
I befindet sich im Master Boot Record (MBR) der FestplatteI wird als erstes nach dem BIOS geladenI lädt dann nächste Stufe des Bootloader von der Festplatte
um weitere Funktionalitäten für den Bootvorgangbereitzustellen
I z.B. mit GRUB: Betriebssystemwahl möglich (verschiedeneKernel-Versionen, Windows)
I lädt nach Auswahl das eigentliche BetriebssystemI bei neueren Rechnen kommt UEFI statt BIOS zum Einsatz,
daher anderer Bootvorgang
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 11 / 48
Gerätedateien - /dev/
I Schnittstelle zur HardwareI bekannte Beispiele
I Festplatten - /dev/sd*, früher /dev/hd* für IDE-FestplattenI CD-ROM - /dev/sr0I Textkonsolen - /dev/tty*
I USB-Sticks werden wie SATA-Festplatten behandelt(/dev/sd*)
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 12 / 48
Kernel-Module
I Treiber für GeräteI werden meistens von Linux-Entwicklern programmiertI für fast jedes Gerät existieren TreiberI werden in der Regel automatisch geladen
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 13 / 48
Hardware und Kernel-Module erkennen
I lspci und lsusb listet PCI- bzw. USB-Geräte aufI -t zeigt eine Baumstruktur anI -v[vv] gibt zusätzliche Informationen aus, funktioniert beilsusb nicht mit -t
I lsmod zeigt geladene Kernel-Module anI modprobe lädt neue Kernel-ModukeI modprobe -r entfernt geladene Kernel-ModuleI veraltet: insmod bzw. rmmod
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 14 / 48
Hardware und Kernel-Module erkennen
I lshw sucht nach sämtlicher angeschlossener HardwareI lshw liefert standardmäßig eine sehr lange Liste, mit
Optionen kann diese gekürzt werdenI -short: stark verkürzte AusgabeI -businfo: verkürzte Ausgabe, sortiert nach Bus
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 15 / 48
Spickzettel
Alle Befehle
Befehl Optionenlsusb -t, -vlspci -v
lsmod
modprobe -r
lshw -short, -businfo
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 16 / 48
Kommerzialisierung des Softwaremarkts in den80ern
I bis in die 70er/80er Jahre: Software wird (meist mitQuellcode) formlos verteilt
I Weitergeben und/oder Verändern von Software ist normalI 80er Jahre: Firmen kommen auf die Idee, Software zu
verkaufenI Software wird nun ohne Quelltext ausgeliefert („Closed
Source“)I Weitergeben und Verändern nicht erlaubt
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 17 / 48
Nachteile von Closed-Source-Software
I Weiterbildung durch Studieren des Quelltextes nichtmöglich
I Anpassen des Programms an eigene Bedürfnisse kaummöglich
I Verbesserungen können nur vom Hersteller vorgenommenwerden
I Der Hersteller kann (gezwungen oder aus eigenemInteresse) versteckte Hintertüren in das Programmeinbauen
I Die kryptographische Sicherheit des Programms kann nichtüberprüft werden
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 18 / 48
Gründung von GNU und der FSF
I vor allem Forscher stören sich an den Einschränkungen vonClosed-Source-Software
I einer von ihnen ist Richard StallmanI 1983: Gründung von GNU - Ziel: ein freies
UNIX-BetriebssystemI 1985: Gründung der Free Software Foundation (FSF)I Ziele der FSF:
I Unterstützung des GNU-ProjektsI „Lobbyarbeit“ für freie Software
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 19 / 48
Definition freier Software nach FSF
Freie Software muss vier Freiheiten einräumen:
0. das Programm für jeden Zweck verwenden1. die Funktionsweise des Programms untersuchen (z. B.
Quellcode lesen) und es anpassen2. das Programm weitergeben3. das Programm verbessern und die Verbesserungen
veröffentlichen
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 20 / 48
Freie Software vs. Open Source
I „Freie Software“ ist nicht eindeutigI „frei“ wird häufig mit „kostenlos“ gleichgesetzt (Beispiel:
„Freeware“)I Frei wie Freibier vs. Frei wie Freie RedeI manche Leute verwenden daher den Begriff „Open Source“I „Open Source“ bedeutet strenggenommen nur, dass der
Quellcode offenliegtI daher auch kein treffendes Schlagwort
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 21 / 48
Gründung der OSI
I 1998: Gründung der Open Source Initiative (OSI)I Gründer: Bruce Perens und Eric RaymondI gleiche Ziele wie die FSF, aber weniger radikalI Open Source statt Freie Software als zentraler Begriff
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 22 / 48
FOSS und FLOSS
I sowohl „Freie Software“ als auch „Open Source“ haben alsSchlagwörter ihre Nachteile
I Kompromiss: FOSS bzw. FLOSSI FOSS: Free and Open Source SoftwareI FLOSS: Free, Libre and Open Source Software
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 23 / 48
Wofür Lizenzen?
I Software ist grundsätzlich durch das Urheberrechtgeschützt
I oder durch entsprechende Gesetze in anderen Ländern(Copyright, etc.)
I Verwendung der Software setzt Erlaubnis desRechteinhabers voraus (Lizenz)
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 24 / 48
Unterschiede zwischen proprietären und freienLizenzen
Proprietäre Lizenzen
I schränken die Rechte des Nutzers i. d. R. ein (keinWeiterverkauf, Nutzung nur für bestimmte Zwecke)
I Nutzer muss vorher zustimmen (Vertrag, EULA)
Freie Lizenzen
I gestehen dem Nutzer zusätzliche Rechte zu (Veränderung,Weitergabe)
I kein Nachteil für den NutzerI daher keine Zustimmung nötig
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 25 / 48
General Public License (GPL)
I am weitesten verbreitete FOSS-LizenzI bei der Weitergabe von GPL-Software müssen dem
Empfänger auch die ihm nach der GPL zustehenden Rechteeingeräumt werden (Copyleft)
I dafür muss der Quellcode mit weitergegeben werden (oderim Nachhinein angefordert werden können)
I GPL macht keine Vorschriften über den PreisI GPL-Software kann also verkauft werden, der Käufer darf
sie aber beliebig oft weiterverkaufen oder -schenkenI Lizenztext: https://gnu.org/licenses/gpl.html
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 26 / 48
BSD-Lizenz
I ursprünglich für BSD-Unix verwendetI erlaubt die Weitergabe solange der Lizenz-Text erhalten
bleibtI bei der Weitergabe muss der Quelltext nicht mit
weitergegeben werden (kein Copyleft)I die ursprüngliche Version forderte eine Anerkennung des
Original-Autors in WerbetextenI Lizenztext:
http://opensource.org/licenses/bsd-license.php
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 27 / 48
Creative Commons
I viele Lizenzen (wie GPL und BSD) sind für Softwareausgelegt
I für Texte, Bilder, Musik, etc. nicht geeignetI Creative-Commons-Lizenzen können auch für solche
Werke verwendet werdenI Autor kann auswählen, ob das Werk für kommerzielle
Zwecke benutzt werden darf und ob es in veränderter oderunveränderter Form weitergegeben werden darf
I das Werk kann auch gemeinfrei (Public Domain) gemachtwerden (Verzicht auf alle Urheberrechte, soweit möglich)
I Lizenztexte: https://creativecommons.org/
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 28 / 48
Geld verdienen mit FOSS
I Geld verdienen durch den Verkauf von Einzellizenzenfunktioniert bei FOSS nicht
I Kunden dürfen Software einfach weitergebenI Konkurrenten dürfen das Produkt kopieren und selbst
verkaufenI Open-Source-Geschäftsmodelle:
I SupportI SchulungenI individuelle WeiterentwicklungenI kostenpflichtige (eventuell unfreie) Zusatzfunktionen
I Viel freie Software entsteht jedoch in freiwilliger Arbeit inder Freizeit oder mit Spendenunterstützung.
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 29 / 48
FOSS-Anwendungen
Anwendungsgebiete
I DesktopI BüroI Multimedia
I ServerI WebI Infrastruktur
I Programmierung/EntwicklungI ProgrammiersprachenI Entwicklungsumgebungen (IDE)
I MobilI Apps
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 30 / 48
Büro-Anwendungen
Textverarbeitung, Tabellenkalkulation, etc.
I OpenOffice.orgI wurde von Sun entwickeltI Sun wurde 2010 von Oracle aufgekauftI Übergabe an die Apache Software FoundationI wird weiterentwickelt, Zukunft derzeit jedoch unklar
I LibreOfficeI entstand 2010 aus dem OpenOffice.org ProjektI „Nachfolger“ von OpenOffice.org
I Closed-Source AnwendungenI „Microsoft Office“I „Apple iWork“
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 31 / 48
Büro-Anwendungen
BrowserI Firefox
I wird von der Mozilla Foundation entwickeltI beliebter Browser
I ChromiumI Chromium verwendet Teile von „Google Chrome“I unter Linux-Distributionen wird meist Chromium
verwendetI Links, Lynx, w3m
I text-basierte Browser für die KommandozeileI Closed-Source Anwendungen
I „Microsoft Internet Explorer“I „Apple Safari“
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 32 / 48
Büro-Anwendungen
E-Mail ClientI Thunderbird
I wird von der Mozilla Foundation entwickeltI beliebter E-Mail ClientI zahlreiche Addons, z.B. Kalenderfunktion,
LDAP-Adressbücher, etcI Closed-Source Anwendungen
I „Microsoft Outlook (Express)“I „Apple Mail“
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 33 / 48
Multimedia-Anwendungen
AudioI Audacity
I Audio-SchnittprogrammI Amarok, Audacious, Banshee, Clementine, Rhythmbox,
XMMSI Audio-Abspielprogramme
Video-Bearbeitung
I BlenderI 3D-Render-Software
I CinelerraI Video-Schnittprogramm
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 34 / 48
Multimedia-Anwendungen
Bild-Bearbeitung
I The GIMPI vielfältige Bild-Bearbeitungs-SoftwareI Pendant zu „Adobe Photoshop“
I InkscapeI Bild-Bearbeitungs-Software zur Erstellung von
VektorgrafikenI Pendant zu „Adobe Illustrator“
I ImageMagickI konvertiert Bild-Dateien zwischen verschiedenen FormatenI skriptgesteuerte Bild-Manipulation möglich
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 35 / 48
Server-Dienste
HTTP-ServerI Apache
I beliebter HTTP-ServerI vielseitig erweiterbar durch zahlreiche ModuleI LAMP: Linux Apache MySQL PHP (oder Perl/Python)
Mail-ServerI Postfix
I beliebter und leistungsfähiger Mail-Server
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 36 / 48
Server-Dienste
Datenbank-ServerI MySQL
I relationaler Datenbank-ServerI für Websites gut geeignet und oft verwendet
I PostgreSQLI sehr leistungsfähiger Datenbank-ServerI für verschiedene Anwendungen geeignet
Samba-Server
I Datei- und Druck-Server in gemischten Umgebungen,insbesondere Windows
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 37 / 48
Server-Dienste
NFS-Server
I Datei-Server für Unix-/Linux-SystemeI Netzwerkdateisystem
OpenLDAP-Server
I VerzeichnisdienstI Verwendung zur Authentifizierung, Adressbuch, etc.
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 38 / 48
Server-Dienste
DNS-Server
I wichtiger Dienst in jedem NetzwerkI führt Namensauflösung durch
DHCP-Server
I wichtiger Dienst in NetzwerkenI Vergabe von Netzwerk-Adressen
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 39 / 48
Programmierung
Programmiersprachen
I C, C++I Java
Skriptsprachen
I PerlI PHPI PythonI Shell
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 40 / 48
Entwicklungsumgebungen
Editoren
I vi, vim (Konsolen-basiert)I gedit, kate (grafisch)
IDEs
I EclipseI Netbeans
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 41 / 48
Virtualisierung
I Virtualisierungslösungen erlauben es, mehrere virtuelleMaschinen (VMs) auf einem physikalischen Rechner laufenzu lassen
I Einsatzzwecke:I Verwendung mehrerer Betriebssysteme parallelI Betrieb von Serverdiensten in verschiedenen virtuellen
Maschinen: erhöhte Sicherheit durch Trennung der Dienste,trotzdem weniger Hardwareaufwand, da mehrere VMs aufeinem physikalischen System laufen
I Ausfallsicherheit: VMs können sehr schnell auf ein anderesphysikalisches System umgezogen werden
I moderne Prozessoren unterstützen hardwarebasierteVirtualisierung, dadurch nur minimale Performanzverlustegegenüber echter Hardware
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 42 / 48
Virtualisierungslösungen (Auswahl)
I KVM (frei)I Xen (frei)I OpenVZ (frei)I Microsoft Hyper-V (unfrei)I VMware Workstation (unfrei)I VMware ESXi/vSphere (unfrei)I Oracle VM VirtualBox (freie und unfreie Version erhältlich)I diverse Verwaltungslösungen: libvirt, Ganeti, Proxmox, . . .
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 43 / 48
Benutzung von Webbrowsern und Privatsphäre
I Webbrowser speichern standardmäßig alle aufgerufenenSeiten im Verlauf (History)
I Verlauf kann möglicherweise von anderen Benutzern desRechners betrachtet werden
I Webseiten können Informationen in Form von Cookiesdauerhaft auf dem Rechner speichern und diese beispäteren Besuchen wieder auslesen, z. B. um festzustellen,ob sich ein Benutzer angemeldet hat
I Cookies werden häufig von Werbediensten verwendet umProfile über den Benutzer anzulegen (Tracking)
I Werbedienste verwenden auch andere Informationen(Browserversion, IP-Adresse, . . . ) zum Tracking
I die meisten Browser bieten einen privaten Modus (auchInkognito-Modus genannt): Verlauf und Cookies werdennur gespeichert bis der Browser geschlossen wird
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 44 / 48
Cloud-Computing I
I Cloud-Computing stellt Dienste (Daten, Anwendungen,Rechenleistung, . . . ) über das Netzwerk bereit, sodass vonüberall mit verschiedenen Endgeräten darauf zugegriffenwerden kann
I die dafür nötige Infrastruktur ist für den Benutzer nichtsichtbar, sie wird nur als „Wolke“ wahrgenommen
I Daten können auf beliebigen Servern an beliebigen Ortengespeichert sein
I finanzielle Vorteile durch einfacherere IT-Infrastruktur aufNutzerseite
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 45 / 48
Cloud-Computing II
I bei kostenlosen Cloud-Diensten finanziert der Anbieter sichüblicherweise durch Auswertung der Nutzerdaten und-aktivitäten um diese für angepasste Werbung zuverwenden oder zu verkaufen
I auch bei kostenpflichtigen Angeboten kann der Zugriff aufNutzerdaten durch Dritte nicht ausgeschlossen werden(z. B. aufgrund von Sicherheitslücken, finanziellerInteressen des Anbieters oder rechtlicher Vorgaben [vgl.PRISM])
I Es gibt nicht wirklich eine Cloud, nur Computer anderer Leute.
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 46 / 48
Passwörter I
I Passwörter dienen zur Legitimation des Benutzergegenüber einem Dienst
I werden dazu auf Seite des Dienstes in einer Datenbankgespeichert
I gespeicherte Passwörter werden i. d. R. gehasht gespeichert(aus dem Hash lässt sich nicht das ursprüngliche Passwortberechnen)
I Angriffe erfolgen üblicherweise mittels Bruteforce (sehrviele mögliche Passwörter werden ausprobiert)
I kurze und einfache Passwörter können mittels Bruteforcesehr schnell ermittelt werden
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 47 / 48
Passwörter II
I sinnvoll: mindestens acht zufällige Zeichen,Kleinbuchstaben, Großbuchstaben, Zahlen, Sonderzeichen
I für verschiedene Dienste verschiedene Passwörterverwenden
I besser: Passwort-Safe verwenden und für jeden Dienst einneues Passwort generieren lassen (das man sich dann nichtmehr merken muss)
Benjamin Eberle FOSS, ICT, Hardware 21. Juli 2015 48 / 48