Anleitung für Herstellung VirtualBox Appliance

This commit is contained in:
Felix Lohmeier 2019-09-25 02:36:50 +02:00
parent 69bf302bf7
commit a6662b19f3
1 changed files with 157 additions and 0 deletions

157
virtualbox-appliance.md Normal file
View File

@ -0,0 +1,157 @@
# VirtualBox Appliance herstellen (Notiz für Lehrende)
Als eine von zwei Optionen wird die Verwendung der Software VirtualBox empfohlen. Den Studierenden wird eine vorkonfigurierte Arbeitsumgebung mit JupyterLab in Form einer Appliance (.ova) bereitgestellt.
Hier wird dokumentiert, wie diese Appliance hergestellt wird.
Die Installation soll funktional gleich zu den für binder verwendeten Dockerfiles sein:
* base-notebook: [Dockerfile für tag 1386e20468](https://github.com/jupyter/docker-stacks/blob/1386e20468332f32a028c6224bbd8439eb406ee4/base-notebook/Dockerfile)
* minimal-notebook: [Dockerfile für tag 1386e20468](https://github.com/jupyter/docker-stacks/blob/1386e20468332f32a028c6224bbd8439eb406ee4/minimal-notebook/Dockerfile)
* eigene Erweiterungen: [Dockerfile](https://github.com/felixlohmeier/bibliotheks-und-archivinformatik/blob/master/binder/Dockerfile)
## Installation
1. Neue Virtuelle Maschine erstellen
- Name: lubuntu-bain
- Type: Linux / Ubuntu (64-bit)
- Memory: 2048 MB
- Hard Disk: VDI, dynamically allocated, 20 GB
2. VM settings
- General > Advanced > Shared Clipboard: Bidirectional
- General > Advanced > Shared Clipboard: user: bain, pass: bain2019
- System > Processor: 2 CPUs, Enable PAE/NX
3. Installation Lubuntu 18.04
1. Download der ISO-Datei: http://cdimage.ubuntu.com/lubuntu/releases/18.04.2/release/lubuntu-18.04.3-desktop-amd64.iso
2. VM starten und heruntergeladene ISO-Datei auswählen
3. Standardinstallation mit folgenden Parametern:
- Language: Deutsch
- Minimale installation
- Ort: Berlin
- Name: bain
- Passwort: bain2019
- Automatisch anmelden aktivieren
4. Installation Gasterweiterungen
1. Abhängigkeiten installieren
```
sudo apt update && \
sudo apt install build-essential dkms linux-headers-$(uname -r)
```
2. VirtualBox Fenstermenü > Devices > Insert Guest Addtions CD image... abbrechen und eingeben:
```
sudo /media/$USER/VBox*/VBoxLinuxAdditions.run
```
3. Nutzer der Gruppe vboxsf hinzufügen (für shared folder)
```
sudo adduser $USER vboxsf
```
4. CD auswerfen im Dateimanager und neustarten
5. Updates installieren und neustarten
```
sudo apt update && \
sudo apt upgrade && \
sudo shutdown -r now
```
6. Sudo ohne Passwort erlauben
```
sudo echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee --append /etc/sudoers
```
7. Installation JupyterLab via pip mit jupyter-server-proxy und bash_kernel
```
sudo apt install python3-pip python3-dev && \
sudo -H pip3 install --upgrade pip && \
sudo -H pip3 install jupyter && \
sudo -H pip3 install jupyterlab && \
sudo -H pip3 install jupyter-server-proxy && \
sudo -H pip3 install bash_kernel && \
sudo -H python3 -m bash_kernel.install
```
8. Jupyter einmal manuell starten für den Cookie im Browser
```
jupyter notebook
```
9. JupyterLab als Systemd Service einrichten
```
echo "[Unit]
Description=JupyterLab
[Service]
User=$USER
ExecStart=/usr/local/bin/jupyter-lab
ExecStop=/usr/local/bin/jupyter-notebook stop
WorkingDirectory=/
Restart=always
[Install]
WantedBy=default.target" | sudo tee /etc/systemd/system/jupyter.service
sudo systemctl enable jupyter.service
sudo systemctl start jupyter.service
```
10. GitHub Repo clonen
```
sudo apt install git && \
git clone https://github.com/felixlohmeier/bibliotheks-und-archivinformatik.git
```
11. Desktop-Links
1. Jupyter Notebook
```
echo "[Desktop Entry]
Encoding=UTF-8
Name=JupyterLab
Type=Link
URL=http://localhost:8888/lab/tree/home/$USER/bibliotheks-und-archivinformatik
Icon=text-html" >> ~/Desktop/jupyter-notebook
```
2. Gemeinsames Dokument
```
echo "[Desktop Entry]
Encoding=UTF-8
Name=Gemeinsames Dokument
Type=Link
URL=https://pad.gwdg.de/7X8eCDVoQB2Ng6DZlG40LQ?both
Icon=text-html" >> ~/Desktop/gemeinsames-dokument
```
3. Ordner
```
ln -s ~/bibliotheks-und-archivinformatik ~/Desktop/bibliotheks-und-archivinformatik
```
12. Konfiguration Browser
- Startseite auf http://localhost:8888/lab/tree/home/bain/bibliotheks-und-archivinformatik setzen
13. Konfiguration Startleiste
- Leafpad starten und mit rechter Maustaste zum Starter hinzufügen
- LX-Terminal starten und mit rechter Maus zum Starter hinzufügen