Wie installiere ich unter Linux ein Programm auf einer anderen Partition als auf die auf die das Linux installiert ist?

...komplette Frage anzeigen

2 Antworten

Wenn du einfach "mount" eingibst, werden dir alle devices gelistet, die du im System hast. Da sollte dann auch keine Fehlen.

Zunächst werden alle Programme im Default-Verzeichnis installiert. Die könnte man dann umständlich verzeichnisweise verschieben und durch symb. Links auf die neuen Verzeichnisse zeigen lassen. Man kann auch gleich dieses Verzeichnis komplett auf einen anderen Datenträger verschieben. Pfiffiger wäre es vielleicht, das Programmverzeichnis gleich komplett auf einem anderen Datenträger als Zugriffpunkt zu mounten.

linuxer 02.02.2016, 13:32

Pfiffiger wäre es vielleicht, das Programmverzeichnis gleich komplett
auf einem anderen Datenträger als Zugriffpunkt zu mounten.

ist es vielleicht aber auch nicht!

Beim Hochfahren werden die in der Datei /etc/fstab vorhandenen Einträge abgearbeitet ( gemountet) . Sollte /etc nicht auf der root-Partition liegen, dann geht gar nichts.
Nahezu Gleiches tritt ein, wenn /usr/ (darunter werden eine Vielzahl von Anwenderprogrammen abgelegt) auf einer anderen Partition liegt.
Das Binary von mount, das diese andere Partition beim Booten mounten soll, liegt auch unter /usr ( Standard: /usr/bin/  ).
Mit Tricks kann man das zwar lösen z.B. dadurch, dass man die root-Partition so präpariert, dass mount und andere beim Booten erforderliche Programme unter /usr/bin/ auf dieser root-Partition liegen. Wenn dann an den Mount-Point "/usr/"  eine andere Partititon angebunden wird, hat man dann die volle Auswahl dieser Binaries.

Solche Dinge haben wir gemacht, als 10 MByte-Festplatten Luxus waren. ( 10 MegaByte kein Schreibfehler ! )

Mit solchen Aktionen lernt man Unix/Linux besser kennen, mehr Wert dürfte das aber heute nicht mehr haben.

0
DrErika 03.02.2016, 14:52
@linuxer

Naja, du siehst vielleicht mehr Probleme als es tatsächlich gibt. Richtig ist, dass diejenigen Verzeichnisse, die das System zum Hochfahren benötigt auf der root-Partition liegen müssen. Damit wäre /etc/ ein Kandidat, den man nicht verschieben sollte. Allerdings werden in /etc/ auch keine (User-)Programme abgelegt!

0

das ist so einfach nicht. Die einzelnen Linux-Distributionen bieten auf ihren Servern installierbare Programme an. Die werden dann dort gespeichert, wo das die Entwickler vorgesehen haben. Prinzipiell sollte man das auch so beibehalten, denn so entstehen die wenigsten Fehler. Wo nach der Installation die Programme stehen findest du mit dem Befehl:

which <name-des-programms> 

heraus.
Da die meisten Programme dynamisch gelinkt sind (sehr viele Programmteile werden erst bei Bedarf aus Bibliotheken geholt) , belegen sie nur wenig Platz auf der Platte. 

Wenn du wirklich so installierte Programme auf einer anderen Partition speichern willst, dann verschiebe ( mv ) diese Datei auf die andere Partition und erstelle am alten Platz einen Link zum neuen Platz.

ln -s  <Name-auf-neuer-Partition> <alter-name>

<alter-Name> dann so wie ihn which ausgegeben hat

Ob sich dieser Aufwand wirklich lohnt? Wenn du wirklich Platzprobleme hast, dann ist es besser, ganze Verzeichnisse auf die andere Partition zu verschieben. Das kann aber problematisch werden, wenn damit auch Programme verschoben werden, die beim Booten gebraucht werden. Daher habe ich oben "das ist s einfach nicht" geschrieben. Machbar ist es, wenn man weiß, was man macht.

 

Was möchtest Du wissen?