Ich verwende Ubuntu 14.04 auf einem Toshiba-Chromebook mit Crouton. Das Laufwerk, auf dem mein Betriebssystem installiert ist, ist klein und verfügt nur über 3,6 GB freien Speicherplatz. Ich möchte sage
auf meinem System installieren , sage
benötige jedoch 6 GB freien Speicherplatz auf dem System.
Ich habe jedoch immer eine SD-Karte im Gerät. Die Karte verfügt über 175 GB freien Speicherplatz. Ist eine Installation sage
auf der SD-Karte möglich?
Die Art und Weise, wie ich versuche, sage
mit den Befehlen herunterzuladen
apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary
wie hier gefunden .
software-installation
external-hdd
Brian Fitzpatrick
quelle
quelle
sage
.Antworten:
Es ist schwierig, Debian-Pakete paketweise auf verschiedene Festplatten aufzuteilen. Dafür gibt es keine Unterstützung. Sie müssten
dpkg
die Pakete, die Sie an einem nicht standardmäßigen Speicherort installieren möchten, separat aufrufen .Das Einfügen eines Verzeichnisbaums auf eine separate Festplatte ist einfach. Zum Glück für Sie installieren die Sage-Pakete in der PPA, soweit ich anhand einer kurzen Durchsicht erkennen kann, die meisten Dateien in
/usr/lib/sagemath
. Sie können das einfach auf die SD-Karte legen. Angenommen, die SD-Karte ist (sofern vorhanden) darauf montiert/media/sdcard
. Erstellen Sie dort ein Verzeichnis und stellen Sie einen symbolischen Link her.Dann
/usr/lib/sagemath
landen alle Dateien, unter denen dpkg installiert wird, auf der SD-Karte (unabhängig davon, von welchem Paket sie stammen).Wenn Sie versuchen, Sage zu verwenden oder die Sage-Pakete zu verwalten, während die SD-Karte nicht vorhanden ist, wird eine Fehlermeldung angezeigt. Wenn Sie die SD-Karte einlegen und die Aktion wiederholen, wird kein Schaden angerichtet.
quelle
sage
. Ausgabe von$ sage
Retourenbash: /usr/bin/sage: Permission denied
.user
Option in haben/etc/fstab
, fügen Sie dieexec
Option hinzu.etc/fstab
liest# UNCONFIGURED FSTAB FOR BASE SYSTEM
Dies ist eine interessante Frage. Lassen Sie uns einige Möglichkeiten diskutieren, wie dies versucht werden könnte.
Methode 1: Bearbeiten des Speicherorts während der Installation von apt-get
Mit apt-get wäre dies nicht möglich. Wenn Sie mit
.deb
Dateien installieren , ist dies wiederum nicht möglich. Der Grund ist einfach, dass der Speicherort für die Installation in diesen Paketen fest codiert ist.Um den Installationsort zu bearbeiten, müssen Sie ihn
sage
aus dem Quellcode kompilieren und ändern,makefile
bevor Sie ihn installieren. Dies wird mit der Verwaltung der Abhängigkeiten verbunden sein.Es gab jedoch Diskussionen darüber. Vielleicht haben es die Leute getan. Vielleicht haben sie den Installationsort irgendwie manipuliert. Sehen Sie hier und hier . Wenn Sie einen Weg finden, dies zu tun, fügen Sie bitte einen Kommentar hinzu.
Methode 2: Ändern des Speicherorts des Ordners / usr
Sie können den Speicherort des
/usr
Ordners selbst ändern und auf Ihre externe Karte übertragen. Normalerweise wird davon abgeraten, aber da Sie sagen, dass Sie es immer eingefügt lassen, sollte es in Ordnung sein.Dazu gibt es zwei Möglichkeiten:
(Vorzuziehen) Erstellen Sie eine Partition auf Ihrer externen Karte und übertragen Sie den gesamten Inhalt des aktuellen
/usr
Ordners auf diese Partition. Ändern Sie dann Ihre/etc/fstab
, um diese Partition als/usr
Ordner bereitzustellen, und entfernen Sie den alten/usr
Ordner vollständig. Um all dies zu tun, müssen Sie von einer Rettungs-CD oder einer Live-CD / USB booten.Booten Sie auch bei dieser Methode zuerst von einer Rettungs-CD oder einer Live-CD / USB, verschieben Sie den
/usr
Ordner auf die externe Karte und erstellen Sie dann einen Symlink zum neuen/usr
Ordner.PS
Dies ist eine interessante Frage, über die ich in letzter Zeit nachgedacht habe, als meine Festplatte voll wurde. Ich werde einige dieser Dinge ausprobieren und meine Antwort aktualisieren. Kommentare sind willkommen, um einige dieser Methoden zu kritisieren.
AKTUALISIEREN
Siehe auch @gilles Antwort. Sein Vorschlag ist besser. Anstatt den gesamten
/usr
Ordner auf die externe Karte zu verschieben, verschieben Sie den Ordner einfach/usr/lib/sagemath
auf die externe Karte, da diese etwa 3,1 GB Ihrer Installation belegt. In Methode 2 können Sie diesen Ordner also anstelle von verschieben/usr
.quelle
/usr
auf die SD-Karte wechseln, wird das System unbrauchbar, wenn die SD-Karte nicht vorhanden ist. Das ist keine gute Idee.