-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.Rmd
More file actions
139 lines (83 loc) · 6.79 KB
/
install.Rmd
File metadata and controls
139 lines (83 loc) · 6.79 KB
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
137
---
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 und 11
Wer Windows 10 oder 11 nutzt, kann ganz bequem "Linux als App" installieren, denn Windows 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 in Windows 10 verfügbar. WSL2 ist neuer und schneller, braucht aber leistungsfähige Hardware und muss in Windows 10 zusätzlich installiert/aktualisiert werden (siehe [hier](https://beyond.lol/ubuntu-auf-windows-10-installieren-mit-wsl-windows-subsystem-linux/)) wobei es bei Windows 11 der Standard ist.
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 [ggf. auf WSL1 in Windows 10 "downgraden"](https://learn.microsoft.com/de-de/windows/wsl/install):
- **NUR MACHEN WENN ES PROBLEME GIBT!**
- 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 (Kein MS Word, Google Docs, etc.!).
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=""))
```