Uruchamiam Ubuntu 14.04 na Chromebooku Toshiba za pomocą crouton. Dysk, na którym zainstalowany jest mój system operacyjny, jest mały i ma tylko 3,6 GB wolnego miejsca. Chciałbym zainstalować sage
w swoim systemie, ale sage
wymaga 6 GB wolnego miejsca w systemie.
Zawsze jednak trzymam kartę SD włożoną do urządzenia. Karta ma 175 GB wolnego miejsca. Czy można zainstalować sage
na karcie SD?
Sposób, w jaki próbuję pobrać sage
za pomocą poleceń
apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary
jak znaleziono tutaj .
software-installation
external-hdd
Brian Fitzpatrick
źródło
źródło
sage
.Odpowiedzi:
Dzielenie pakietów Debiana na różne dyski dla poszczególnych pakietów jest trudne. Nie ma na to wsparcia; musisz
dpkg
osobno wywoływać pakiety, które chcesz zainstalować w lokalizacji innej niż domyślna.Umieszczenie drzewa katalogów na osobnym dysku jest łatwe. Na szczęście dla ciebie, o ile mogę stwierdzić po szybkim przejrzeniu, pakiety Sage w PPA instalują większość plików
/usr/lib/sagemath
. Możesz łatwo umieścić to na karcie SD. Powiedzmy, że karta SD jest zamontowana (jeśli jest obecna) na/media/sdcard
. Utwórz tam katalog i utwórz dowiązanie symboliczne.Następnie wszystkie pliki, pod którymi instaluje się dpkg,
/usr/lib/sagemath
trafią na kartę SD (niezależnie od tego, z którego pakietu pochodzą).Jeśli spróbujesz użyć Sage lub zarządzać pakietami Sage, gdy karta SD nie będzie obecna, pojawi się komunikat o błędzie, a jeśli włożysz kartę SD i powtórzysz akcję, nie poniesiesz żadnych szkód.
źródło
sage
. Jednak wydawanie$ sage
zwrotówbash: /usr/bin/sage: Permission denied
.user
opcję w/etc/fstab
, dodajexec
opcję.etc/fstab
czyta# UNCONFIGURED FSTAB FOR BASE SYSTEM
To interesujące pytanie. Omówmy kilka sposobów, w jakie można tego spróbować.
Metoda nr 1: Manipulowanie lokalizacją podczas instalacji apt-get
Przy użyciu apt-get nie byłoby to możliwe. Jeśli instalujesz przy użyciu
.deb
plików, znowu nie jest to możliwe. Powodem jest po prostu to, że lokalizacja instalacji jest zakodowana na stałe w tych pakietach.Aby manipulować lokalizacją instalacji, będziesz musiał skompilować ją
sage
ze źródła i zmodyfikowaćmakefile
przed instalacją. Będzie to wiązało się z ciężarem zarządzania zależnościami.Dyskutowano jednak na ten temat. Być może ludzie to zrobili. Może w jakiś sposób zmanipulowali lokalizację instalacji. Zobacz tutaj i tutaj . Jeśli znajdziesz sposób, aby to zrobić, dodaj komentarz.
Metoda nr 2: Zmiana lokalizacji folderu / usr
Możesz zmienić lokalizację samego
/usr
folderu i przenieść go na kartę zewnętrzną. Zwykle byłoby to odradzane, ale ponieważ mówisz, że zawsze trzymasz go włożonym, więc powinno być dobrze.Aby to zrobić, istnieją 2 sposoby:
(Preferowane) Utwórz partycję na karcie zewnętrznej i przenieś całą zawartość z bieżącego
/usr
folderu na tę partycję. Następnie zmodyfikuj,/etc/fstab
aby zamontować tę partycję jako/usr
folder, i/usr
całkowicie usuń stary folder. Aby to wszystko zrobić, musisz uruchomić system z dysku ratunkowego lub płyty CD / USB na żywo.W tej metodzie najpierw należy uruchomić komputer z dysku ratunkowego lub płyty CD / USB na żywo, a następnie przenieść
/usr
folder na kartę zewnętrzną, a następnie utworzyć dowiązanie symboliczne do nowego/usr
folderu.PS
To interesujące pytanie, o którym ostatnio myślałem, gdy mój dysk twardy się zapełniał. Spróbuję niektórych z tych rzeczy i zaktualizuję swoją odpowiedź. Komentarze mogą krytykować niektóre z tych metod.
AKTUALIZACJA
Zobacz także odpowiedź @Gilles. Jego sugestia jest lepsza. Zamiast przenosić cały
/usr
folder na kartę zewnętrzną, po prostu przenieś/usr/lib/sagemath
ją na kartę zewnętrzną, ponieważ zajmuje ona około 3,1 GB instalacji. Tak więc w metodzie nr 2 możesz przenieść ten folder zamiast/usr
.źródło
/usr
na kartę SD uniemożliwiłoby korzystanie z systemu, gdy karta SD nie jest obecna. To nie jest dobry pomysł.