Forum: PC Hard- und Software Linux: Software ausprobieren ohne das System zu verschmutzen


von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Gibt es Moeglichkeiten unter Linux Software auszuprobieren, ohne dabei 
das System zu "verschmutzen"?
Klar kann ich einfach Software installieren, und deinstallieren, 
trotzdem bleiben dann gerne Reste, wie z.B. config-Files in /home und 
/etc zurueck.
Oder aber die Software hat abhaengigkeiten (z.B. Eclipse -> Java) die 
ich nicht im normalen System haben will.

Wenn ich eine Software ausprobiere, und sie mir nicht gefaellt/nicht so 
funktioniert wie ich mir das vorstelle, dann will ich (am besten) 
einfach eine Datei loeschen, wo alles drin steckt, und dann ist alles 
so, als haette ich die Software nie installiert.

Eine VM finde ich aber totaler overkill.

Vom Prinzip suche ich etwas wie Python/Virtuelenv, nur halt fuer normale 
Software. https://wiki.archlinux.org/index.php/Python/Virtualenv

Was gaebe es da an moeglichkeiten, ausser VM? chroot? Docker?

Gruesse

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Wie wäre es mit btrfs und snapshots? Einige Linux-Distributionen 
verwenden diese z.B. bei Online-Updates zum Einfrieren der vorherigen 
Konfiguration, wenn das Root-Dateisystem als btrfs angelegt ist.

von foobar (Gast)


Lesenswert?

Das sollte eigentlich die Paketverwaltung erledigen können.
Leider hast du deine Distribution nicht dazugeschrieben. Unter 
Debian(-ähnlichen) werden mit "apt-get purge" zB auch die Config-Files 
in /etc mitgelöscht. Wenn du dir dein Home-Verzeichnis nicht zumüllen 
willst, kannst du ja die Software mit einem anderen Benutzer 
ausprobieren und dort dann die Dotfiles bzw Verzeichnisse löschen.

von Flo (Gast)


Lesenswert?

Man kann auch ein tmpfs als overlay über root mounten. Dann sind die 
Änderungen im tmpfs und nach dem reboot (oder umount) verloren.
Ist aber auch nicht ganz trivial.

Gruß,
Flo

von Lukey S. (lukey3332)


Lesenswert?

Falls du Debian/Ubuntu benutzt:
1
apt-get purge <packetname>
Entfernt auch die Konfigurationsdateien.

1
apt-get autoremove

Entfernt nichtmehr benötigte abhängigkeiten.

Falls dir das nicht ausreicht, ist eine chroot umgebung ist genau dass, 
was du suchst.

Geht unter Debian/Ubuntu auch sehr einfach:
1
mkdir chroot; sudo debootstrap <z.b. whezzy, jessie oder sid> http://ftp.de.debian.org/debian/ ./chroot

anschliesend kann man mit
1
proot -b /etc/resolv.conf -S ./chroot
(als normaler user) die chroot umgebung "betreten". Und mit den 
bekannten tools pakete installieren. Am schluss verlässt man das ganze 
mit "exit" oder Strg+d. bei grafischen anwendungen muss zuerst außerhalb 
des chroots ein "xhost +localhost" erfolgen, und innerhalb des chroot 
ein "export DSIPLAY=:0"

: Bearbeitet durch User
von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Okay, mein Fehler :-/

Ich nutze Arch, und soweit ich herausgefunden habe, kann pacman (nicht 
immer?) alle Dateien entfernen. Also die Pakete und Abhaenigkeiten 
schon, aber die Config-Files offenbar nicht.

von Lukey S. (lukey3332)


Lesenswert?

Unter Arch scheint
1
pacman -S base -r ./chroot
das äquivalent zu debootsrap zu sein. Proot sollte dort auch vorhanden 
sein.

: Bearbeitet durch User
von sued/west-wind (Gast)


Lesenswert?

Kaj G. schrieb:
> Ich nutze Arch, und soweit ich herausgefunden habe, kann pacman (nicht
> immer?) alle Dateien entfernen. Also die Pakete und Abhaenigkeiten
> schon, aber die Config-Files offenbar nicht.

Fuer ganz Paranoide :)

Kannst ja auch temporaer auf ein LIVE-getrimmtes Arch zurueckgreifen und 
damit Softwaretests fahren, das liesse dein bestehendes System in Gaenze 
unangetastet. Spaeter dann gewuenschte Aenderungen am Zielsystem 
vornehmen.


https://wiki.archlinux.org/index.php/Arch_based_distributions_%28active%29#Live_distributions

von Georg (Gast)


Lesenswert?

Hallo,

es gibt unzählige Möglichkeiten, aber das einfachste und sichersten ist 
imer noch ein Disk Image, das man bei Bedarf zurückspielt. Allerdings 
muss man sich relativ schnell drüber klar werden, mit was man 
weitermachen will.

VMs sind auch nicht so schlimm wie du glaubst, man erstellt sich eine 
Muster-VM mit Grundausstattung, die man kopiert und dann die Software 
installiert, und wenns nix war kann man einfach die VM-Dateien löschen. 
Kostenpflichtige VMs können selbst Snapshots verwalten, bequemer gehts 
nicht.

Georg

von Besucher (Gast)


Lesenswert?

Das einfachste wäre es wohl die Software mit einer Linux-Installation 
auf 'nem USB-Stick auszuprobieren.

von Simon S. (-schumi-)


Lesenswert?

Kaj G. schrieb:
> Okay, mein Fehler :-/
>
> Ich nutze Arch, und soweit ich herausgefunden habe, kann pacman (nicht
> immer?) alle Dateien entfernen. Also die Pakete und Abhaenigkeiten
> schon, aber die Config-Files offenbar nicht.

Also ich meine dass pacman -Rs alles bis auf die config im Homeordner 
löscht. Aber ich würd dir auch zu btrfs raten. Dann kann man machen was 
man will und einfach wieder zurückspringen. Wenn große Updates (wie 
Gnome 3.20 letztens) kommen mach ich auch öfter schnell nen Snapshot, 
dauert ja keine Sekunde, und sicher ist sicher (ist ein Produktivsystem 
das höchstens mal am Wochenende einen Schluckauf haben darf)

von Uhu U. (uhu)


Lesenswert?

Kaj G. schrieb:
> Eine VM finde ich aber totaler overkill.

Wenn man für diese Zwecke eine VM vorhält und dann die Testkandidaten in 
einen Snapshot installiert, ist das kein Overkill. Hinterher wird der 
Snapshot weggeworfen, dann ist die Test-VM wieder sauber für den 
nächsten Test.

von Bernd K. (prof7bit)


Lesenswert?

Kaj G. schrieb:
> Eine VM finde ich aber totaler overkill.

Schau Dir mal Vagrant an. Damit kannst Du virtuelle Maschinen erzeugen, 
automatisch Software installieren und konfigurieren und auch wieder 
zerstören, mit nur jeweils einem einzigen Befehl auf der Kommandozeile, 
in Sekundenschnelle und wiederholgenau daß es nur so eine wahre Freude 
ist.

Und alles ohne ein einziges Mal umständlich in den 
Virtualbox-Einstellungen rumzustochern.

vagrant up

und die Maschine kommt hoch (wenn sie nicht existiert wird automatisch 
eine neue gemacht und gemäß Deinen Angaben vollautomatisch konfiguriert)

vagrant halt

und sie fährt per ACPI event runter.

vagrant destroy

und sie ist wieder spurlos gelöscht.

https://www.youtube.com/watch?v=FSxS6iPJMFw

von Arc N. (arc)


Lesenswert?

Simon S. schrieb:
> Aber ich würd dir auch zu btrfs raten.

Kommt drauf an...
http://events.linuxfoundation.org/sites/events/files/slides/AFL%20filesystem%20fuzzing%2C%20Vault%202016_0.pdf
Btrfs war das schnellste bis zum ersten Bug (5 Sekunden).
Ob der/die Fehler behoben sind, kann ich nicht sagen.

Eine andere Option für den TO wäre u.U. noch UML (User-Mode-Linux), was 
auch für den obigen Dateisystem-Fuzzing-Test verwendet wurde...
http://user-mode-linux.sourceforge.net/ (die Anleitungen stehen z.Z. 
anscheinend nur auf http://user-mode-linux.sourceforge.net/old/)
https://wiki.archlinux.org/index.php/User-mode_Linux

von moep (Gast)


Lesenswert?

Arc N. schrieb:
> Eine andere Option für den TO wäre u.U. noch UML (User-Mode-Linux), was

Das ist so geil wo man sich nich alles ein Linux hinduebeln kann!
Sorry, musste mal gesagt werden. :)

----
Aber kommt echt, Vorschlaege werden ja immer aufwendiger.


Wenn das wie vorher vorgeschlagen nicht schon auf einem btrfs laeuft 
muesste man auchg erst ein FS anlegen und umziehen um dann z.b. 
snappern zu koennen. Evtl. funktioniert 'snapper' auch mit 
gebraeuchlichem ext2/3/4?

Was ist bei Arch denn das vorgeschlagene Standard-FS?

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

So, erstmal vielen dank für eure Antworten.

btrfs werd ich mir mal anschauen :)

moep schrieb:
> Was ist bei Arch denn das vorgeschlagene Standard-FS?
Bei openSUSE sind btrfs und zfs die Vorgeschlagenen Dateisysteme (btrfs 
für / und zfs für /home glaube ich). Sowas gibt es bei Arch aber nicht, 
es wird dir nicht mal eine Partitionierung vorgeschlagen. Du hast alles 
selbst in der Hand.

von guest (Gast)


Lesenswert?

ich finde docker geht am einfachsten ... das benutzen
wir hier immer für testinstallationen ...

www.docker.com

von guest (Gast)


Lesenswert?

... wobei wir auf arch auch lxc benutzen

wiki.archlinux.org/index.php/Linux_Containers

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

docker und lxc anschauen: check :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.