Portable Arbeitsumgebung - USB Stick?

BurnerR

Bot #0384479
Registriert
20 Juli 2013
Beiträge
5.311
Ich bin demnächst in der Situation an mindestens zwei Arbeitsplätzen zu arbeiten.
Problem ist, dass ich zur Entwicklung üblicherweise diverse Dienste lokal laufen lasse, LAMP+X und ich würde mich gerne darauf beschränken mich nur einmal und nicht 2-3 mal darum kümmern zu müssen.
Daher schwebt mir sowas wie ne portable VM auf einem USB Stick vor. Hat da schon jemand Erfahrungswerte, ist das überhaupt eine sinnvolle Lösung, worauf sollte ich achten, gibt es alternativen, welches Produkt (portable VirtualBox?) ist zu empfehlen?
 
Wie wäre es solche Dienste auf einen Server auszulagern, der von beiden Arbeitsplätzen aus erreichbar ist?
 
Die sicherlich einfachste Lösung und aus meiner Sicht auch komfortabelste Lösung wäre der Einsatz eines Laptops - an jedem Arbeitsplatz würdest du dann bloss noch einen oder mehrere Bildschirme, Tastatur und Maus benötigen.
Auch ein Terminal-Server wäre eine mögliche Lösung, wenn du darauf allerdings längerfristig mit einer grafischen Oberfläche arbeiten möchtest, sollte dieser zu allen Arbeitsplätzen über eine gute Verbindung mit niedriger Latenz verfügen - bereits 20-50ms RTT sind bei grafischem Arbeiten durchaus bemerkbar und längerfristig störend. Nur die Dienste auszulagern und ansonsten lokal zu arbeiten, würde dieses Problem umgehen, das ist dann allerdings konfigurationstechnisch aufwändiger. Denkbar wäre z.B., dein Home-Verzeichnis über NFS (oder SSHFS, wenn es auch ausserhalb eines vertrauenswürdigen LANs funktionieren soll) von einem Server zu mounten, auf dem auch dein LAMP-Dienst läuft. Diesen könntest du dann über einen SSH-Tunnel erreichen.
Die VM-Lösung wäre auch möglich, allerdings mit einigem Konfigurationsaufwand verbunden, da du in der VM wohl Netzwerkunterstützung und ggf. auch Zugriff auf Host-Hardware wie z.B. USB-Ports benötigst. Das müsstest du auf jedem Host separat konfigurieren und die dazu nötigen Kernel-Module laden. Ausserdem droht ein Datenverlust, wenn der USB-Stick die Verbindung verliert während die VM noch läuft.
 
Zuletzt bearbeitet:
Die Laptop-Variante ist natürlich die sauberste Lösung, sofern sie denn in Frage kommt.

Wenn du dir Luxus leisten möchtest, legst du dir für jeden Arbeitsplatz eine USB-LAN-Karte mit integriertem Hub zu, an die du Tastatur, Netzwerkkabel und Maus anschließt. Dann brauchst du nur noch die Karte und das Bildschirmkabel anzustecken und kannst direkt mit der Arbeit loslegen.

Nachtrag:
 
Zuletzt bearbeitet:
Oder man kauft sich gleich ein richtiges Notebook, wie z. B. ein neues oder gebrauchtes Thinkpad mit richtiger Dockingstation.

Ansonsten könnte die VM-Lösung schon funktionieren, auf den ersten Blick. Ich würde die Virtualisierungssoftware aber auf jeden Fall lokal auf jedem PC installieren und nur die virtuelle HDD immer mitnehmen. Die VM zu pausieren, wird sowieso früher oder später Probleme bereiten, spätestens dann wenn man USB-Geräte anbindet oder unterschiedliche Netzwerkeinstellungen in den Arbeitsumgebungen hat. Also muss man sowieso in jedem Fall immer herunterfahren.


Grüße
Thomas
 
Ein billiger vServer tuts. Da kannst du dir Git installieren. So hast deine Versionierung im Griff und kannst arbeiten wo du willst.
 
Das löst allerdings nicht das Problem, dass man die Arbeits- und Testumgebung auf allen Rechnern einrichten und pflegen muss. Ausserdem wird die Commit-History sehr unübersichtlich, wenn man für jeden Wechsel des Arbeitsplatzes ein commit/push am alten Arbeitsplatz machen muss, damit man den aktuellen Stand an einem anderen Arbeitsplatz per update holen kann. Wenn man die Versionierung von git produktiv verwenden möchte (was meines Erachtens speziell für grössere Projekte sehr sinnvoll ist), dann sollte man nur committen/pushen, wenn der Code in einem funktionsfähigen Zustand ist, und dann auch eine sinnvolle commit-Notiz angeben. Dann lässt sich bei Regressionen auch mit verhältnismässigem Aufwand zurückverfolgen, mit welchem Commit das Problem eingeführt wurde (und anhand des Diffs mit der letzten Version oftmals auch die Ursache ermitteln).

Als Workspace wäre ein geteiltes Dateisystem wohl besser geeignet. Das ist natürlich (z.B. per sshfs) auf einem entfernten Server auch möglich, doch auch dann müsste man sich benötigte Tools und Dienste an jedem Arbeitsplatz installieren. Deshalb scheint mir ein Laptop die einfachere und komfortablere Lösung, zumal man damit zusätzlich auch unterwegs arbeiten kann.
 
Wieso? Dazu gibt es doch branches und merges?!
"master" und "stable" und notfalls für verschiedene Stellen gleichzeitig noch beliebig viele weitere branches, die man irgendwann in eine neue stable zusammen merged..
 
Mit `funktionsfähig` meine ich nicht `stabil`. Branches sind sicherlich sehr praktisch, um neue Funktionen einzubauen oder grössere Änderungen an der Codebasis vorzunehmen, welche im Anschluss umfangreichere Tests durchlaufen müssen, bevor sie im master-/stable-Branch zusammengeführt werden. Code in einem bekanntermassen nicht funktionsfähigen, ggf. nicht einmal kompilierbaren Zustand zu committen, bloss weil man den Rechner wechseln muss, ist jedoch meines Erachtens wenig sinnvoll. IMHO sollte für jeden commit im Nachhinein nachvollziehbar sein, wozu er gemacht wurde und was konkret geändert wurde (auch ohne erst die Unterschiede zur letzten Version prüfen zu müssen).
 
Also ich arbeite an mehreren Arbeitsplätzen und ein eigener Laptop ist hier unverzichtbar.

Hatte früher mal ein Linux auf einem USB-3-Stick installiert, aber das kommt geschwindigkeitsmäßig einfach nicht an einen Laptop mit 2 SSDs ran.


EDIT: Ach ja, und LAMP ist scheiße. Mach das lieber auf einem Server, der per FQDN erreichbar ist. Gibt ja schon LAMP-Server anzumieten oder du nutzt so ein Angebot wie uberspace.de...
 
  • Thread Starter Thread Starter
  • #11
Welchen Nachteil habe ich denn durch einen lokalen LAMP?
Später muss jedenfalls ein Dev/Test-Server her der vom setup identisch ist mit dem Produktivserver. Aber sonst sehe ich keine prinzipiellen Nachteile, oder war das in Hinsicht der potenziellen doppelten Wartung gemeint?
Nach paar Nächte drüber schlagen neige ich grad zu der lokal-Laptop Lösung.
Wenn ich erst anfange alle Dienste aufn Server auszulagern kommt bestimmt 2 Monate später was daher, was sich nicht oder nicht trivial auslagern lässt und dann hab ich genau die Suppe die ich vermeiden will.
 
Welchen Nachteil habe ich denn durch einen lokalen LAMP?
Wenn du einem Kunden schnell was zeigen willst und der in ner Telko sitzt und nicht neben dir, wenn du von einem anderen Gerät drauf zugreifen willst (z.B. um responsive zu testen), ...

Später muss jedenfalls ein Dev/Test-Server her der vom setup identisch ist mit dem Produktivserver. Aber sonst sehe ich keine prinzipiellen Nachteile, oder war das in Hinsicht der potenziellen doppelten Wartung gemeint?
Nach paar Nächte drüber schlagen neige ich grad zu der lokal-Laptop Lösung.
Joah, mal nen LAMP ist okay, aber für eine dauerhafte Testumgebung würde ich das eben nicht nutzen. Allein schon deswegen weil ich persönlich privat Arch Linux und auf Servern Debian nutze und die Paketversionen komplett unterschiedlich sind.

Wenn ich erst anfange alle Dienste aufn Server auszulagern kommt bestimmt 2 Monate später was daher, was sich nicht oder nicht trivial auslagern lässt und dann hab ich genau die Suppe die ich vermeiden will.
Wir reden hier über Linux. Alles, was lokal unter Linux läuft, läuft auch im Rechenzentrum.
 
Wenn du schreibst du brauchst X, meinst du dann wirklich nur den X-Server oder brauchst du eine Desktopumgebung oder einen Window Manager?

Ich hatte Teilweise auch ein Linuxsystem auf einem Stick installiert. Ist aber schon etwas länger her. Damals noch mit USB 2.0 und das ging beim Arbeiten einfach gar nicht. Da passiert einfach zu viel und der USB Port wird halt zum Flaschenhals. Mit USB 3 sollte das schon deutlich besser laufen aber da kommt halt die Frage auf: Haben alle Rechner an denen du arbeiten wirst USB 3.0?

Solltest du eine Grafische Oberfläche brauchen würde ich auf was ganz schmales setzen wie Fluxbox
 
Ich habe hier Ubuntu auf einem USB2-Stick und auf eine SDHC-Karte (im USB2-Cardreader) installiert, weil sich Ubuntu so wesentlich schneller starten und installieren lässt. Mit vom Stick oder SD-Karte gestartetem Ubuntu lässt sich erstaunlich flüssig arbeiten und das obwohl sowohl der Stick, als auch die SD-Karte zu langsam sind, um USB2 auszureizen.
 
  • Thread Starter Thread Starter
  • #15
Wenn du schreibst du brauchst X, meinst du dann wirklich nur den X-Server oder brauchst du eine Desktopumgebung oder einen Window Manager?
da war ich leider missverständlich, mit "+X" war ein Platzhalter für gerade nicht bedachte technologien gemeint.

Ich habe mich erstmal für die laptop Lösung entschieden. Auch wenn der letzte Beitrag über mir ja recht positiv einstimmt. Aber bevor ich gefahr laufe mir einen fiesen flaschenhals einzubauen mache ich das lieber direkt mit laptop, zumal ich mir ja gerade erst einen neuen zugelegt habe (:
 
Kleiner Tipp: nimm kein XAMPP oder so, sondern nginx+php-fpm o.ä. – sehr einfach zu konfigurieren und man merkt es nicht mal, wenn der mitstartet. Hab letztens nur rausgefunden dass mein Webserver läuft, weil ich auf gegangen bin, der stand noch nicht mal in der Prozessliste weit oben. Weitaus effizienter als Apache ;) /offtopic

Und: investiere in mehrere Dockingstationen oder lass sie dir vom Arbeitgeber stellen. Ich bin auch ab und an mit Laptop unterwegs und mag die nicht mehr missen ;)
 
Zurück
Oben