-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.Rmd
138 lines (82 loc) · 6.62 KB
/
install.Rmd
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
---
title: "Softwareinstallation"
author: "Martin Raden"
---
-------------------------------------------
Es gibt verschiedene Linux Distributionen (d.h. Zusammenstellungen von Softwarepaketen). In diesem Kurs nutzen wir als Standard **Ubuntu**, aber jedwede andere Distribution ist auch ok. Jedoch können wir keine und nur begrenzte Unterstützung bei distibutionsspezifischen Fragen liefern..
-------------------------------------------
# Ubuntu in Windows 10
Wer derzeit Windows 10 nutzt, kann ganz bequem "Linux als App" installieren, denn Windows 10 unterstützt direkt die Installation eines Linux Subsystems, quasi als zweites eingeschlossenes Betriebssystem. Die Basissoftware dazu heisst "Windows Subsystem Linux" (WSL) und ist mittlerweile in zwei Versionen verfügbar. WSL1 ist in der Regel direkt verfügbar. WSL2 ist neuer und schneller, braucht aber leistungsfähige Hardware und muss zusätzlich installiert/aktualisiert werden (siehe [hier](https://beyond.lol/ubuntu-auf-windows-10-installieren-mit-wsl-windows-subsystem-linux/)).
Für diesen Kurs ist WSL1 völlig ausreichend, sodass in den meisten Win10 Rechnern direkt Folgendes gemacht werden kann (Stand Sept. 2021):
1. Microsoft Store App öffnen und die folgenden zwei Programme installieren:
2. "Ubuntu" suchen und installieren
- falls nicht verfügbar oder nicht möglich, ggf. noch [WSL1 aktivieren](https://beyond.lol/ubuntu-auf-windows-10-installieren-mit-wsl-windows-subsystem-linux/)
- Diese "App" ist das Linux Subsystem, welches dann eine Eingabeaufforderung/Konsole bereitstellt, von der aus losgelegt werden kann.
- es ist möglich, dass auf dem System schon WSL2 aktiviert ist und sie in gruselige Fehlermeldungen ala `WslRegisterDistribution failed with error: 0x80370102` bekommen. In diesem Fall kann man wieder [auf WSL1 "downgraden"](https://learn.microsoft.com/de-de/windows/wsl/install):
- PowerShell öffnen
- `wsl --set-default-version 1` eingeben
- Ubuntu App neu starten
3. "Windows Terminal" suchen und installieren
- Diese (optionale) App liefert eine leistungsfähigere Konsolenumgebung mit mehreren Tabs etc., was die Arbeit erleichtert
- Beachten sie: nach Installation können sie im Explorer in beliebigen Verzeichnissen mit "Rechtsklick" im Kontextmenü "Öffnen mit Windows Terminal" auswählen, und schon sind sie in der Konsole und an der richtigen Stelle!
-------------------------------------------
# Zudem wichtig: ein Texteditor
Um mit Skripten zu arbeiten, benötigen sie einen TEXTeditor.
Hier gibt es zwei Möglichkeiten:
- ein leistungfähiger Texteditor, z.B.
- Windows: [Notepad++](https://notepad-plus-plus.org/)
- Linux: [Sublime](https://www.sublimetext.com/)
- MacOS: [BBEdit](https://www.barebones.com/products/bbedit/)
- ... wichtige und hilfreiche Feature:
- Syntax Highlighting (Farbliche Hervorhebung von Codeelementen)
- volle Kontrolle über Zeilenumbrüche, Zeichenkodierung und Einrückungen
- ODER eine integrierte Entwicklungsumgebung (IDE), z.B.
- [Visual Studio Code](https://code.visualstudio.com/)
- [PyCharm](https://www.jetbrains.com/pycharm/)
- ... aber das ist optional, da wir in diesem Kurs nur mit kleineren eigenständigen Skripten arbeiten
*Wichtig:* Microsoft Word, LibreOffice Writer oder andere Textverarbeitungsprogramme sind **nicht** geeignet, da sie Formatierungen einfügen, die für die Skripte schädlich sind.
Wer es ganz einfach haben will, kann auch den Texteditor `nano` nutzen, der in der Konsole direkt verfügbar ist. Hierzu einfach in der Konsole `nano` eingeben und loslegen. Die wichtigsten Befehle sind unten auf dem Bildschirm aufgelistet.
Allerdings ist `nano` für Konsolenanfänger nicht unbedingt intuitiv, da es keine Menüs oder Tastenkombinationen gibt, sondern nur Tastenbelegungen. Aber es ist ein guter Einstieg in die Konsole.
-------------------------------------------
# Apple User aufgepasst
Apple liefert aus lizenzrechtlichen Gründen nur eine **veraltete Version der Bash** aus, die teilweise für einige spätere Bash-Skripting Teile dieses Kurses nicht ausreicht (Version >= 4 nötig; check via `bash --version`). Daher müssen sie (jetzt oder später, ich weise noch einmal darauf hin), ihre *[bash auf Mac OS aktualisieren](https://www.shell-tips.com/mac/upgrade-bash/)* ([Alternative Anleitung](https://itnext.io/upgrading-bash-on-macos-7138bd1066ba)).
-------------------------------------------
# Nicht als root arbeiten!
Falls sie in der Konsole als **Benutzernamen root** sehen (oder `echo $USER` dies ausgibt), dann sind sie als **Adminstrator** eingeloggt. Es ist anzuraten in einem **eingeschränkten Benutzerkonto** zu **arbeiten**!
Hierzu empfehle ich zwei Schritte:
1. das neue Standardbenutzerkonto **zuerst** in ein "sudoer" Konto umwandeln, mit dem später z.B. auch noch Software nachinstalliert werden kann. Dazu
- "root" Bash Konsole öffnen
- `usermod -a -G sudo [IhrBenutzerName]` ausführen
2. das Benutzerkonto zum Standardbenutzer machen (für WSL siehe unten).
Der folgende Link zeigt, wie sie [in Win10 den WSL Standardnutzer ändern](https://winaero.com/set-default-user-wsl-windows-10/).
-------------------------------------------
## Welche Shell?
Nachdem Linux installiert ist, sollen sie ihr erstes Abfrageergebnis (`echo $SHELL`) testen.
Das ganze sollte ungefähr so aussehen:
```{bash echo-shell}
echo $SHELL
```
-------------------------------------------
## Datendownload
**In der Konsole:** [Daten für Online Tutorials](https://swcarpentry.github.io/shell-novice/index.html) herunterladen und auspacken
1. Konsole öffnen
2. Ins Verzeichnis für temporäre Daten wechseln
- `cd /tmp`
3. [Tutorialdaten](https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip) herunterladen
- `wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip`
4. Falls ZIP noch nicht installiert ist (zB falls dies ein neues Ubuntu ist), dann noch schnell nachholen, in Ubuntu mit
- `sudo apt install zip unzip`
5. Dateien und Ordnerstruktur auspacken
- `unzip shell-lesson-data.zip`
Um sicher zu gehen, dass alles geklappt hat, prüfen sie ob sie für diesen Befehl
```{bash ex-tail-lessen-data, eval=FALSE}
tail -n 1 /tmp/shell-lesson-data/exercise-data/numbers.txt
```
diese Ausgabe erhalten.
```{bash ex-tail-lessen-data-out, echo=FALSE}
echo 6
```
-------------------------------------------
```{r, include=knitr::is_html_output(), echo=F}
knitr::asis_output(paste('Download: <a href="install.pdf" title="Download PDF Version">PDF Version</a> dieses Tutorials. Erstellt am ',format(Sys.time(), "%d.%m.%Y"),".",sep=""))
```