Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • archived_aeber12s_1/fslab.de
  • archived_avinok2s_1/fslab.de
  • fsl/fslab.de
3 results
Show changes
Commits on Source (112)
Showing
with 401 additions and 68 deletions
_site /_site
.sass-cache /.sass-cache
/vendor
/.bundle
FSLAB.DE
========
Execute deploy_shit.sh in /root/ to deploy shit.
# Site settings # Site settings
title: Free Software Labor title: Free Software Labor
email: fslab@example.org email: admin@fslab.de
timezone: UTC
description: > # this means to ignore newlines until "baseurl:" description: > # this means to ignore newlines until "baseurl:"
Das Free Software Labor bietet euch Raum und Infrastruktur für Projekte Das Free Software Labor bietet euch Raum und Infrastruktur für Projekte
rund um Freie Software. rund um Freie Software.
...@@ -8,7 +9,10 @@ coolquote: > ...@@ -8,7 +9,10 @@ coolquote: >
<cite>To understand the concept, you should think of free as in free speech, <cite>To understand the concept, you should think of free as in free speech,
not as in free beer.</cite> – Richard Stallman not as in free beer.</cite> – Richard Stallman
baseurl: "" # the subpath of your site, e.g. /blog/ baseurl: "" # the subpath of your site, e.g. /blog/
url: "http://fslab.de" # the base hostname & protocol for your site url: "https://fslab.de" # the base hostname & protocol for your site
# Build settings # Build settings
markdown: kramdown markdown: kramdown
# exclude bundler/vendor directory
exclude: [vendor]
<footer class="site-footer"> <footer class="site-footer">
<div class="wrapper"> <div class="wrapper">
<h2 class="footer-heading">Free Software Labor</h2> <h2 class="footer-heading">Free Software Labor</h2>
<div class="footer-col-wrapper"> <div class="footer-col-wrapper">
<div class="footer-col footer-col-1"> <div class="footer-col footer-col-1">
<ul class="contact-list"> <ul class="contact-list">
<li>Hochschule Bonn-Rhein-Sieg</li> <li>Hochschule Bonn-Rhein-Sieg</li>
<li>Raum A020</li> <li>Raum K319</li>
</ul> </ul>
</div>
<div class="footer-col footer-col-2">
<p class="text">{{ site.coolquote }}</p>
</div> </div>
<div class="footer-col footer-col-2"> <div class="footer-col footer-col-3">
<ul class="social-media-list"> <div class="elevator">
<li> <svg class="sweet-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve" height="100px" width="100px">
<a href="/wiki/"> <path d="M70,47.5H30c-1.4,0-2.5,1.1-2.5,2.5v40c0,1.4,1.1,2.5,2.5,2.5h40c1.4,0,2.5-1.1,2.5-2.5V50C72.5,48.6,71.4,47.5,70,47.5z M47.5,87.5h-5v-25h5V87.5z M57.5,87.5h-5v-25h5V87.5z M67.5,87.5h-5V60c0-1.4-1.1-2.5-2.5-2.5H40c-1.4,0-2.5,1.1-2.5,2.5v27.5h-5 v-35h35V87.5z"/>
Unser Wiki <path d="M50,42.5c1.4,0,2.5-1.1,2.5-2.5V16l5.7,5.7c0.5,0.5,1.1,0.7,1.8,0.7s1.3-0.2,1.8-0.7c1-1,1-2.6,0-3.5l-10-10 c-1-1-2.6-1-3.5,0l-10,10c-1,1-1,2.6,0,3.5c1,1,2.6,1,3.5,0l5.7-5.7v24C47.5,41.4,48.6,42.5,50,42.5z"/>
</a> </svg>
</li> </div>
<li> </div>
<a href="/contact/">
Kontakt
</a>
</li>
</ul>
</div>
<div class="footer-col footer-col-3"> </div>
<p class="text">{{ site.coolquote }}</p>
</div>
</div>
</div> </div>
</footer> </footer>
<script>
// Simple elevator usage.
var elementButton = document.querySelector('.elevator');
var elevator = new Elevator({
element: elementButton,
mainAudio: '/music/elevator.mp3', // Music from http://www.bensound.com/
endAudio: '/music/ding.mp3',
duration: 5000
});
</script>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width initial-scale=1" /> <meta name="viewport" content="width=device-width initial-scale=1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title> <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
<meta name="description" content="{{ site.description }}"> <meta name="description" content="{{ site.description }}">
<link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}"> <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}"> <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<link rel="apple-touch-icon" sizes="180x180" href="/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicons/favicon-16x16.png">
<link rel="manifest" href="/images/favicons/manifest.json">
<link rel="mask-icon" href="/images/favicons/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/images/favicons/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Free Software Labor">
<meta name="application-name" content="Free Software Labor">
<meta name="msapplication-config" content="/images/favicons/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml">
<link href="/css/font-awesome.min.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/elevator.min.js"></script>
</head> </head>
<header class="site-header"> <header class="site-header">
<div class="wrapper"> <div class="wrapper">
<a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a> <a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a>
<a href="https://h-brs.de"><img class="hbrs-logo" src="/images/hbrs_logo.svg" /></a> <a href="https://h-brs.de"><img class="hbrs-logo" src="/images/hbrs_logo.svg" /></a>
</div> </div>
</header>
<div class="navbar-wrapper">
{% comment %} <div class="navbar">
<div class="trigger"> <a class="page-link" href="/wiki">Wiki</a>
{% for page in site.pages %} <a class="page-link" href="/projects">Projekte</a>
{% if page.title %} <a class="page-link" href="/info/faq">FAQ</a>
<a class="page-link" href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a> <a class="page-link" href="/feed.xml"><i class="fa fa-rss"></i></a>
{% endif %} </div>
{% endfor %}
</div> </div>
{% endcomment %}
</header>
{% if include.post.categories contains 'event' %}
{% capture startday %}{{ include.post.eventstart | date: '%d.%m.%y' }}{% endcapture %}
{% capture endday %}{{ include.post.eventend | date: '%d.%m.%y' }}{% endcapture %}
{% if include.post.eventend %}
{% capture eventend %}
{% if startday == endday %}
{{ include.post.eventend | date: "%H:%M" }}
{% else %}
{{ include.post.eventend | date: "%d.%m.%Y %H:%M" }}
{% endif %}
{% endcapture %}
{% endif %}
Termin: {{ include.post.eventstart | date: "%d.%m.%Y %H:%M" }}{% if include.post.eventend %} - {{ eventend }}{% endif %}<br />
{% if include.long %}
Ort: {% if include.post.location %}{{ include.post.location }}{% else %}Free Software Lab{% endif %}<br />
{% if include.post.organizer %}Organisation: {{ include.post.organizer }}<br />{% endif %}
{% endif %}
{% else %}
{{ include.post.date | date: "%d.%m.%Y" }}
{% if include.post.author %}– {% if include.post.author_url %}<a target="_blank" href="{{ include.post.author_url }}">{{ include.post.author }}</a>{% else %}{{ include.post.author }}{% endif %}{% endif %}
{% endif %}
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
{% include head.html %} {% include head.html %}
<body> <body>
{% include header.html %} {% include header.html %}
<div class="page-content"> <div class="page-content">
<div class="wrapper"> <div class="wrapper">
{{ content }} {{ content }}
</div> </div>
</div> </div>
{% include footer.html %} {% include footer.html %}
</body> </body>
</html> </html>
...@@ -2,13 +2,22 @@ ...@@ -2,13 +2,22 @@
layout: default layout: default
--- ---
<div class="post"> <div class="post">
<article class="post-content">
<header class="post-header"> {{ content }}
<h1 class="post-title">{{ page.title }}</h1> </article>
</header>
<article class="post-content">
{{ content }}
</article>
</div> </div>
<script>
$(function() {
return $("h2, h3, h4, h5, h6").each(function(i, el) {
var $el, icon, id;
$el = $(el);
id = $el.attr('id');
icon = '<i class="fa fa-link"></i>';
if (id) {
return $el.append($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
}
});
});
</script>
...@@ -4,8 +4,15 @@ layout: default ...@@ -4,8 +4,15 @@ layout: default
<div class="post"> <div class="post">
<header class="post-header"> <header class="post-header">
<h1 class="post-title">{{ page.title }}</h1> <h1>
<p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p> {{ page.title }}
</h1>
<p class="post-meta">{% include postmeta.html post=page long="1" %}</p>
{% if page.categories contains 'event' %}
<p class="event-date">
</p>
{% endif %}
</header> </header>
<article class="post-content"> <article class="post-content">
......
...@@ -5,10 +5,12 @@ date: 2015-04-27 15:18:36 ...@@ -5,10 +5,12 @@ date: 2015-04-27 15:18:36
categories: fslab categories: fslab
--- ---
Seit 2012 ist auf unserer alten Webseite nichts mehr passiert. Seit 2012 ist auf unserer alten Webseite nichts mehr passiert.
Jetzt haben wir die Initiative ergriffen und die Webseite mit Jekyll Jetzt haben wir die Initiative ergriffen und die Webseite mit
(natürlich Freie Software!) neu aufgebaut. [Jekyll](http://jekyllrb.com), einem static site generator in Ruby
(natürlich Freie Software!), neu aufgebaut.
Wir werden die Webseite als eine Art gemeinschaftlichen Blog betreiben, Wir werden die [FSLab-Webseite](//fslab.de) als eine Art gemeinschaftlichen Blog betreiben,
und hoffen euch viele interessante Inhalte liefern zu können. und hoffen euch viele interessante Inhalte liefern zu können. Den RSS-Feed
zu allen Blog-Einträgen kannst du [hier abbonieren](//fslab.de/feed.xml).
Weiterhin lorem ipsum dolor sit amet yolo. Weiterhin lorem ipsum dolor sit amet yolo.
---
layout: post
title: "Keine Panik: Ceph Data Recovery"
date: 2015-09-26 15:15:00
categories: fslab
author: Lukas Schauer
author_url: https://lukas.im
---
Unsere VMs liefen bisher auf Basis eines Ceph Storage Systems,
wobei die Idee war, dass das ganze System gegen den Ausfall eines
einzelnen Hostsystems gesichert war, und eine Möglichkeit bestand
VMs bei Problemen einfach auf einem anderen Hostsystem wieder hoch
zu ziehen. Auch Live-Migrationen z.B. zur Lastverteilung waren so
theoretisch möglich.
Eine ganze Zeit ging das auch ganz gut, es gab zwar leider enorme
Performanceprobleme, aber es lief<br>
...bis gestern.
### Panik.prepare();
Gestern haben wir einen Server abgeschaltet um ein frisches Debian Jessie
aufzusetzen, vor allem um die bisherigen Performanceprobleme anzugehen,
dadurch wurden eine OSD und ein MON aus dem Ceph entfernt.
Wir haben zwar vergessen diese sauber aus dem System zu entfernen, aber
eigentlich sollte das alles kein Problem gewesen sein, immerhin war das
System ja genau auf diesen Fehlerfall ausgelegt, und es gab immernoch min.
1 MON, und 1 OSD, und alle Daten waren auf das aktive OSD repliziert... leider
gab es aber Probleme, was wir nach Murphys Gesetz auch erst nach dem Überschreiben
wichtiger Daten von dem aus dem System entfernten Hostsystem bemerkt haben.
### Panik.start();
Gut, dass wir ein Backup haben. Wir haben doch ein Backup... oder?... oder?! Oh sh*t.
Wir haben ein Backup. Leider enthielt das Backup aber nicht alle Daten um
Ceph einfach wieder hoch zu ziehen...
### Panik.increase();
Nach einigem hin und her mit mehreren Anläufen wie man Ceph wieder zum starten
bringen konnte ist es uns nicht gelungen es wieder in einen Zustand zu bringen
mit dem wir unsere VMs hätten booten können...
Interessanterweise gelang es uns Ceph in einen Zustand zu bringen bei dem es zwar
lief, ein interner Health-Check erfolgreich war, und auch die angegebenen Datenmengen
sinnvoll aussahen, es aber weitere Probleme beim Zugriff auf die Daten gab.
### Panik.decrease();
Nungut, es musste eine andere Lösung her... Nach einigem Wühlen in den Tiefen des
Internets sind wir darauf gestossen dass Ceph die Daten im Klartext ablegt, es sind
immer 4MB Chunks, und der Dateiname eines jeweilgen Chunks gibt an zu welchem Image
es gehört und welchen Offset es im Image hat.
### Panik.stop();
Zu den Informationen haben wir dann noch dieses Script gefunden:
[rbd_restore.sh](https://raw.githubusercontent.com/smmoore/ceph/master/rbd_restore.sh)
Das Script legt zunächst ein leeres Image an wofür man theoretisch die Größe der
virtuellen Disk kennen müsste, praktisch kommt man aber auch ohne Kentniss der Größe
davon, man kann dem Script jeden beliebigen Wert übergeben, man sollte dann jedoch nach
dem Export noch einmal mit fdisk o.ä. überprüfen dass die Partitionstabelle keine Blöcke
ausserhalb des Images adressiert, und im Zweifel das Image auf die nötige Größe erweitern.
Wir haben uns ein paar simple Hilfs-Scripts geschrieben die die Chunks in Ordner
kopiert und danach das Rescue-Script darauf ausgeführt haben. Ausserdem wurden die Raw-Images
danach noch in das qcow2-Format umgewandelt, so waren sie einfacher zu handlen.
Der nervigste Teil war am Ende die Zuordnung der Dateinamen zu den VMs, wir haben keine
Informationen gefunden mit denen dies einfach ablesbar gewesen wäre.
Da wir jedoch nur ca. ein Dutzend VMs hatten konnte dies manuell gelöst werden
(mit qemu-nbd als Blockdevice einhängen, Mounten, Netzwerk-Config lesen).
Aktuell kopieren wir noch ein paar der Images auf einen anderen Host, einige VMs (wie z.B.
die für diese Webseite) sind jedoch bereits wieder aktiv.
---
layout: post
title: "GitLab Update"
date: 2015-10-13 18:10:00
categories: fslab
author: Lukas Schauer
author_url: https://lukas.im
---
Nur ein kurzer Hinweis:
Wir haben soeben [unsere GitLab Installation](https://git.fslab.de) auf Version 8.x aktualisiert.<br>
Mit dem Update kommen eine Designänderung sowie einige neue Features daher,<br>
unter anderem ein neues CI-System, welches wir bald Testweise in Betrieb nehmen wollen.
---
layout: post
title: "Pentesting laboratory now open"
date: 2016-02-22 20:13:00
categories: fslab
author: Artem Vinokurov
author_url:
---
Hi everyone, we've opened a pentestlab that hosts a Metasploitable 2 (http://r-7.co/Metasploitable2) image and a Kali (https://www.kali.org/) image.
If you want to explore the network just connect with ssh to pentester@pentest-gw.intern.fslab.de (requiers VPN to HBRS), right after writing me to add you ssh key there.
Happy hacking!
---
layout: post
title: "Chaos Cologne"
date: 2015-04-28 17:20:36
eventstart: 2015-05-15 20:00:00
eventend: 2015-05-17 24:00:00
categories: event congress
organizer: Chaos Computer Club Cologne (C4)
location: Academy of Media Arts Cologne
---
A conference for hacktivists, artists and makers. We artfully break through barriers of conventions. We have fun with things. We build art on the edges of control.
---
layout: post
title: "Vortrag: Internet of Bats (Lukas Schauer)"
date: 2016-07-06 00:00:00
eventstart: 2016-06-23 17:00:00
eventend: 2016-06-23 18:00:00
categories: event talk
organizer: Free Software Labor
location: Hochschule Bonn-Rhein-Sieg, Campus St. Augustin, Raum A020 (FSLab)
---
Der Vortrag am 23. Juni bietet einen Einblick in hobbymäßig entwickelte Hard- und Software zur Überwachung von Fledermausquartieren. Vor allem geht es dabei um Lichtschranken und Recorder-Systeme.
Es werden mehrere bisher gebaute und geplante Versionen von Lichtschranken vorgestellt. Dabei wird über die dabei aufgetretenen Probleme und Schwierigkeiten sowie über Ausblicke in die (hoffentlich sehr nahe) Zukunft berichtet.
Neben diesen Hauptprojekten gibt es auch noch einige weitere Ideen welche im Vortrag noch vorgestellt werden.
Ziel dieser Projekte ist es irgendwann eine Online-Plattform aufzubauen in der sich Fledermaus-Bewegungen leicht überblicken lassen und auch z.B. mit anderen Daten wie Wetterdaten einer Region vergleichen lassen.
Weitere Informationen:
- Blog Artikel: [Fledermaus Lichtschranke](https://lukas.im/2014/03/14/fledermaus-lichtschranke/index.html)
- github: [lukas2511/FlederSchranke](https://github.com/lukas2511/FlederSchranke)
- Slides: [internet-of-bats.pdf](/slides/internet-of-bats.pdf)
---
layout: post
title: "Vortrag: Software Defined Networking (Florian Siebertz)"
date: 2016-07-06 00:00:00
eventstart: 2016-07-07 16:00:00
eventend: 2016-07-07 17:00:00
categories: event talk
organizer: Free Software Labor
location: Hochschule Bonn-Rhein-Sieg, Campus St. Augustin, Raum A020 (FSLab)
---
Der Vortrag am 7. Juli bietet eine Einführung zu Software Defined Networking, eine Technologie, die das Management von Netzen erleichtern und auch neue Möglichkeiten eröffnen soll.
Weitere Informationen:
- Slides: [sdn.pdf](/slides/sdn.pdf)
---
layout: post
title: "Vortrag: Einführung in Gitlab (Jakob Berger)"
date: 2016-08-04 00:00:00
eventstart: 2016-08-04 17:00:00
eventend: 2016-08-04 18:00:00
categories: event talk
organizer: Free Software Labor
location: Hochschule Bonn-Rhein-Sieg, Campus St. Augustin, Raum A020 (FSLab)
---
Der Vortrag am 4. August behandelt einen Einstieg in die Nutzung von Gitlab und damit verbunden auch Git, sowie kleinere Hinweise zur Handhabung von Administratorseite.
Treffpunkt ist wie immer das Labor (A020), wer Pizza will, sollte um 16:30 da sein oder sich vorher [melden.](mailto:jakob.berger@inf.h-brs.de)
Weitere Informationen:
- [Slides](/slides/gitlab/slides.html)
- [Unsere Gitlab Instanz](https://git.fslab.de)
---
layout: post
title: "Vortrag: ccm Framework (André Kless)"
date: 2016-08-18 00:00:00
eventstart: 2016-08-18 17:00:00
eventend: 2016-08-18 18:00:00
categories: event talk
organizer: Free Software Labor
location: Hochschule Bonn-Rhein-Sieg, Campus St. Augustin, Raum A020 (FSLab)
---
Der Vortrag stellt das Client-side Component Model (ccm) vor, das von André selbst entwickelt wird.
Auszug aus der ccm Dokumentation:
### Was bringt ccm?
ccm ermöglicht es in beliebige Webseiten per JavaScript ccm-Komponenten on-demand und cross-domain einzubetten. On-demand bedeutet, dass Komponenten nicht nur beim Neuladen einer Webseite, sondern jederzeit im Nachhinein noch asynchron eingebunden werden können. Cross-domain bedeutet, dass Komponenten auch von Servern anderer Domänen einbindbar sind.
### Was bringt eine ccm-Komponente?
Die als ccm-Komponente umsetzbaren Möglichkeiten reichen von einfachen statischen Inhalten über komplexe interaktive Webanwendungen bis hin zu mobilen Web-Apps mit Offlinefunktionalität und Echtzeitkommunikation. Die Echtzeitkommunikation ist dabei nicht nur zwischen Clients auf der gleichen Webseite möglich, sondern auch cross-domain mit Clients anderer Webseiten, bei denen ccm ebenfalls eingebunden ist. Kurz gesagt: Alles mit HTML, CSS und JavaScript umsetzbare ist auch als ccm-Komponente umsetzbar und alles was in Form einer ccm-Komponente umgesetzt wird, kann in jeder Webseite (auch mehrfach) eingebettet werden.
Treffpunkt ist wie immer das Labor (A020), wer Pizza will, sollte um 16:30 da sein oder sich vorher [melden.](mailto:jakob.berger@inf.h-brs.de)
## Weitere Informationen:
- [Einführung zu ccm im Githubprojekt](https://github.com/akless/ccm-developer/wiki/Einstieg%3A-Was-ist-ccm%3F)
---
layout: post
title: "Linux Install Party"
date: 2016-10-19 17:20:36
eventstart: 2016-10-28 15:00:00
eventend: 2016-10-28 18:30:00
categories: event
organizer: Free Software Labor
location: C115
---
Du wolltest schon immer mal Linux installieren und hast dich nicht alleine getraut oder es hat nicht funktioniert?
Dann versuch es doch mal gemeinsam mit uns im Free Software Labor!
Ob in einer virtuellen Maschine, parallel zu Windows, oder radikal statt Windows, wir finden bestimmt gemeinsam eine passende Lösung.
Die Install Party wird vom Free Software Labor veranstaltet und findet am 28.10.16 ab 15 Uhr in C115 statt, das Ende ist offen.
# Warum Linux?
Linux ist ein Kernel, der (oft zusammen mit dem GNU-Projekt) der Kern vieler freier (wie Freiheit, nicht Freibier) Betriebssysteme - sogenannter Distributionen - ist.
Bei der Freiheit der Software geht es um die Rechte, das Programm zu _jedem_ Zweck auszuführen, den Code zu untersuchen, den Code weiterzugeben und das Programm zu verändern (und die veränderte Version auch weiter verbreiten zu können).
# Was musst du vorbereiten:
## Allgemein
Solltest du schon wissen, welche Distribution du installieren willst, wäre es gut, wenn du vorher schon mal das Installations-ISO herunterlädst.
Beim Download des ISOs wirst du dich für eine Architektur entscheiden müssen, dabei ist die Architektur der CPU gemeint.
Als generelle Richtlinie gilt: Ist dein Gerät neuer als 2005, ist AMD64 (auch x86_64 oder x64 genannt) die richtige Wahl, zur Not geht auch i386/x86, oder idealerweise eine Kombi-ISO so dass man vor Ort ausprobieren kann.
Für Unentschlossene empfehlen wir Linux Mint als einfachen Einstieg.
## Installation in einer VM
Im Prinzip musst du nur deinen Laptop mitbringen (sowie Netzteil und bei neueren Notebooks evtl. Netzwerk-Adapter falls vorhanden, ansonsten finden wir schon eine Lösung).
## Installation außerhalb einer VM:
Solltest du Linux außerhalb einer VM installieren wollen, empfehlen wir dir dringend, deine Daten auf einem Medium außerhalb deines Rechners zu sichern, falls etwas schief gehen sollte.
Neben den Sachen die wie oben erwähnt für die Installation in einer VM benötigt werden wird ausserdem ein USB-Stick benötigt. Falls du weisst wie, kannst du den Stick bereits zum booten deiner Wunsch-Distribution vorbereiten, dazu findet man i.d.R. auch genug Anleitungen.