Table of Contents
FSFW-Uni-Stick Projektbeschreibung
siehe auch:
- https://ethercalc.org/u8h2fdb4yvbb (Zeitplan)
- https://wiki.stura.htw-dresden.de/index.php/Ersti-Stick (Ersti-Stick an der HTW Dresden)
- https://fsfw-dresden.de/uni-stick (verweist auf uni-stick)
Hintergrund
Alle Studiengänge erfordern den Einsatz eines Computers: Download von Skripten und Übungsaufgaben, vorbereiten von Präsentationen und Materialien für Seminare, Anfertigen von Praktikumsprotokollen und -berichten, Belegen, Hausarbeiten, Abschlussarbeiten.
Dazu wird jeweils bestimmte Software benötigt. Diese kann entweder “frei” oder “proprietär” sein. Letzteres bedeutet oft, dass es restriktive Lizenzbestimmungen gibt, dass der Quellcode nicht verfügbar ist und damit unklar bleibt, was die Software intern tut und welche Daten sie sammelt, dass die Kompatibilität mit älteren Formaten schlecht ist, und dass die Anschaffung z.T. eine Menge Geld kostet. Einige Softwarekonzerne nutzen Schulen und Hochschulen, um zukünftige Kunden mit günstigen Lizenzen zu ködern und für eine berufliche Nutzung in eine Abhängigkeit zu bringen.
Freie Software (also Open-Source-Software unter einer freien Lizenz) ist dagegen ein Gemeingut. Jede und Jeder darf sie ohne Zahlung von Lizenzgebühren benutzen, kopieren, analysieren und verändern. Gerade für Studierende mit knappem Budget und hohem Wissensdurst sind das wichtige Eigenschaften. Für viele allgemeine und spezielle PC-Aufgaben von Studierenden gibt es gute freie Software-Lösungen. Wissenschaftliche Texte schreiben (LaTeX, Libre Office), Literatur verwalten (Zotero, JabRef), PDFs betrachten und annotieren (SumatraPDF, Okular), PDFs papiersparend ausdrucken (PDFjam), Wissenschaftliches Rechnen und Visualisieren (Python, Octave, …) und so weiter.
Da Freie Software-Projekte typischerweise mit dem Marketing-Budget großer Konzerne nicht konkurrieren können, sind vielen die guten Alternativen zu MS-Office, Matlab, Adobe Acrobat etc. oft nicht bekannt.
Umsetzungsplan
Die Hochschulgruppe für Freie Software und Freies Wissen (FSFW) möchte daran etwas ändern. Dazu erstellt sie ein USB-Stick-Image (8GB) voll mit freier Software, verteilt auf zwei Partitionen:
Die erste Partition enthält nützliche freie Software für Studierende für Windows (LibreOffice, Zotero (Literaturverwaltung), Winpython (Wissenschaftliches Rechnen), Wikidpad (Desktop-Wiki), LaTeX, …)
Die zweite enthält ein Linux-Live-System von dem man booten kann und die oben genannte Software (und andere Programme) ausprobieren und nutzen kann, ohne den eigenen Rechner zu verändern.
Zusätzlich ist zu den relevanten Programmen Dokumentation in deutsch uder englisch enthalten.
Es werden 50 8GB-USB-Sticks beschafft und mit dem Image bespielt. Diese werden folgendermaßen an die Studierenden verteilt: Alle interessierten Fachschaftsräte erhalten eine abgestimmte Anzahl an Gutscheinen, die sie in ihre Erstsemester-Tüten packen können. Der Gutschein kann bei einer entsprechenden Infoveranstaltung (auf dem Gutschein angekündigt) gegen Vorzeigen des Studentenausweises eingelöst werden. Bei dieser wird gleichzeitig der Inhalt des USB-Sticks erläutert. Sollte die Nachfrage das Angebot übersteigen, können mitgebrachte eigene USB-Sticks mit den Daten bespielt werden.
Die Durchführung von weiteren Support-Veranstaltungen in Form einer Sprechstunde für Fragen zu freier Software ist geplant. Evtl. noch verfügbare USB-Sticks können auch bei diesen gegen Gutschein abgeholt werden.
Zeitplan
Entwurf für den Zeitplan: https://ethercalc.org/u8h2fdb4yvbb
Technische Umsetzung
Linux-Partition
Windows-Partition
Portable Versionen oder Installer
pro protabel:
- geringere Hürde, Programm auzuprobieren
- ggf. schon gut vorkonfiguriert, kein Install-Aufwand (z.B. winpython)
pro Installer
- weniger Speicherbedarf → mehr Platz für anderes
- wenn man die Software regelmäßig nutzt ist echte Installation besser
Brainstorming-Software-Liste:
- LibreOffice
- portable installiert: 700 MB
- Installer: 243,7 MB
- Thunderbird
- portable installiert: 86,2 MB
- Installer: 75,5 MB
- enigmail
- Installer: 1,7 MB
- Notepad++
- portable installiert: 14,4 MB
- Installer: 4,1 MB
- TeX Studio
- Installer: 52,1 MB
- JabRef
- Installer: 26,1 MB
- winpython/anaconda
- octave
- Installer: 262,4 MB
- gimp
- portable installiert: 313 MB
- Installer: 75,6 MB
- inkscape
- portable installiert: 227 MB
- Installer: 95,6 MB
- audacity
- portable installiert: 65,5 MB
- Installer: 33,9 MB
- avidemux?
- Installer: 21,4 MB
- Firefox?
- portable installiert: 190 MB
- Installer: 83 MB
- VLC Media Player
- portable installiert: 125 MB
- Installer: 36,5 MB
- VirtualBox
- portable installiert: 3,37 MB (? - gefunden auf vbox.me)
- Installer: 118,4 MB
- VeraCrypt? (frei?)
- …
Siehe auch die Softwareliste(n) unter:
Weitere Überlegungen
Eventuell ist eine Partionierung auch nicht notwendig. Die Linux-Distribution kommt dann einfach in eine iso-Datei, die auf der Windows-Partition liegt.
Erstellung der Linux-Live-Version
Nutzung von live-build (für debian)
Anleitungen:
- http://nerotux.tuxfamily.org/articles.php?article_id=41 (etwas veraltet)
Für eilige ist hierfür besonders der Abschnitt 1.1 For the impatient empfehlenswert. Nach drei anschaulichen Beispielen gibts im Punkt 18.4.2 Second Revision außerdem einen guten Tipp zur Versionierung der Skripte, der hier später nochmal aufgegriffen wird (/ werden sollte).
Im Wesentlichen läuft es auf folgende Schritte hinaus
lb config
- → Ein Verzeichnis mit Konfigurationsdateien wird erstellt
- Anpassung der Konfigurationsdateien
lb build
- → Das iso-Image wird gebaut
Es gibt schon vorgefertigte Pakete namens live-image-xyz
(z.B. live-image-kde-desktop
).
Diese installieren unter /usr/share/live/images/xyz/config
einen Verzeichnisbaum, wie er von lb config
erstellt wird, mit entsprechenden Anpassungen. Aus dem Vergleich (z.B. mit einem diff-Programm wie kdiff3) eines puren und eines angepassten config-Verzeichnisses kann man bestimmt recht einfach entnehmen, was man sinnvollerweise ändern sollte. → Dieses Verzeichnis ist auch im Github-Repo.
Vorgehensvorschlag
Zur Reduzierung des Arbeitsaufwandes und zur Erhöhung der Nachhaltigkeit fände ich eine Zusammenarbeit mit entsprechenden Projekten mit Bezug auf den Bildungsbereich (wie z.B. der Bildungsdistribution Debian-Edu/ Skolelinux) gut (siehe z.B. Desktopumg. für den Bildungbereich oder Bildungssoftwarezusammenstellungen unten).
Eine kleine Übersicht verschiedener debianbasierter Softwarezusammenstallungen gibts bei Debian Pure Blends.
Das Ergebnis (Verzeichnisbaum) von lb config
liegt im repo: <https://github.com/fsfw-dresden/usb-live-linux>.
Gebaut wird das iso dann lokal. Dann kann man es in einer VM testen und ggf. die Konfigs anpassen.
Schön wäre bestimmt noch, einen lokalen Proxy für debian pakete anzulegen, damit diese nicht bei jedem Bau wieder runtergeladen werden müssen (Traffic, Zeit). Das soll irgendwie mit den Paketen approx, apt-cacher, apt-cacher-ng gehen.
Tipps zur Zusammenstallung von Softwarepaketen
Die zu “Tasks” zusammengestellten Softwarepakete machen eine Anpassung der Zusammenstellung leicht. In Synaptic finden sie sich unter Selektionen → Aufgaben. Außerdem gibt es auch noch sog. “Metapakete”, zu finden per Volltextsuche in Paketnamen+Beschreibung.
Nun fehlt nur noch die Software aus unserer Wunschliste sowie entsprechende Addons und Anpassungen/ Vorkonfigurationen.
= Basissystem und Architektur =
- (education-laptop)
- …
Kann per Eintrag in die Datei auto/config
festgelegt werden ( siehe 18.4.1 First Revision ):
lb config noauto \ --architectures i386 \ --linux-flavours 686-pae \
“${@}”
oder per Aufrufoption von lb config
(Bsp. für 64-Bit-Systeme):
lb config -a amd64
Wobei in diesem Beispiel (2. Zeile) sowohl die alte i386 als auch neuerer x86_64 Architektur unterstützt würden, während (3. Zeile) die Zielsysteme dann doch nicht gar zu alt sein sollten.
= Sprachanpassungen =
- task-german
- task-english
- task-esperanto
…oder per Aufrufoption für lb config
:
lb config --bootappend-live "boot=live components locales=de_DE.UTF-8 keyboard-layouts=de"
Dies stellt deutsch als Standardsprache und Tastaturlayout ein.
= Desktopumgebungen =
- task-desktop
- task-xfce-desktop
- task-lxde-desktop
- task-kde-desktop
- task-cinnamon-desktop
- task-mate-desktop
- task-gnome-desktop
= Desktopumg. für den Bildungbereich =
- education-desktop-lxde
- education-desktop-xfce
- education-desktop-mate
- education-desktop-gnome
- education-desktop-kde
- education-desktop-other
= Bildungssoftwarezusammenstellungen =
- education-*
- education-common
- education-tasks (Debian-Edu/ Skolelinux)
- ( games-education )
- games-programming
= Wissenschaftssw.zus. =
- science-*
Anwendungsprogramme | Platzbedarf |
---|---|
texlive-base | 178 MB |
texlive | 589 MB |
texlive-full | 3316 MB |
LaTeX-Editoren (Tex-Studio/ TexMaker) | ? |
libreoffice | ? |
…
Tipps zum Testen des Live-Images in virtueller Maschine
Oft hat man das Problem, dass man Daten von der VM auf den Host übertragen will. Prinzipiell geht das mit Shared Clippboard und Shared Folder, aber die Einrichtung klappt nicht immer reibungslos.
Alternative: Mounten der VM über sshfs (hier beschrieben für VirtualBox)
- Port - Weiterleitung (NAT) in den Optionen für die VM einstellen, z.B. host:3022 → vm:22
- ggf. openSSH in der VM installieren
- ggf. sshfs auf dem host installieren
- ggf. vorangegangene Fingerabdrücke entfernen:
ssh-keygen -f ~/.ssh/known_hosts -R [localhost]:3022
sshfs -p 3022 user@localhost:/home/user ~/projekte/fsfw-uni-stick/share_mount
(Passwort ist `live`)