Я запускаю Ubuntu 14.04 на Chromebook Toshiba, используя гренки. Диск, на котором установлена моя ОС, мал, всего 3,6 ГБ свободного места. Я хотел бы установить sage
в своей системе, но sage
требуется 6 ГБ свободного места в системе.
Тем не менее, я всегда держу SD-карту в устройстве. Карта имеет 175 ГБ свободного места. Можно ли установить sage
на SD-карту?
Способ, которым я пытаюсь скачать sage
с помощью команд
apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary
как найдено здесь .
software-installation
external-hdd
Брайан Фицпатрик
источник
источник
sage
.Ответы:
Разделить пакеты Debian на разные диски по пакетам сложно. Там нет поддержки для этого; вам придется вызывать
dpkg
отдельно пакеты, которые вы хотите установить в нестандартном месте.Поместить дерево каталогов на отдельный диск очень просто. К счастью для вас, насколько я могу судить по быстрому прочтению, пакеты Sage в PPA устанавливают большинство файлов в
/usr/lib/sagemath
. Вы можете легко положить это на SD-карту. Допустим, карта SD установлена (если имеется) на/media/sdcard
. Создайте каталог там и сделайте символическую ссылку.Тогда все файлы, которые устанавливает dpkg,
/usr/lib/sagemath
окажутся на SD-карте (независимо от того, из какого пакета они поступают).Если вы попытаетесь использовать Sage или управлять пакетами Sage, пока SD-карта отсутствует, вы получите сообщение об ошибке, и если вы вставите SD-карту и повторите действие, никакого вреда не будет.
источник
sage
. Однако выдача$ sage
возвращаетсяbash: /usr/bin/sage: Permission denied
.user
опция/etc/fstab
, добавьте этуexec
опцию.etc/fstab
читает# UNCONFIGURED FSTAB FOR BASE SYSTEM
Это интересный вопрос. Давайте обсудим несколько способов, которыми можно попытаться.
Метод № 1: Управление местоположением во время установки apt-get
Используя apt-get, сделать это невозможно. Если вы устанавливаете с использованием
.deb
файлов, это снова невозможно. Причина в том, что место для установки жестко запрограммировано в этих пакетах.Чтобы манипулировать местом установки, вам придется скомпилировать
sage
из исходного кода и изменить егоmakefile
перед установкой. Это придет с бременем управления зависимостями.Тем не менее, были дискуссии по этому поводу. Возможно, люди сделали это. Возможно, они как-то манипулировали местом установки. Смотрите здесь и здесь . Если вы найдете способ сделать это, пожалуйста, добавьте комментарий.
Способ № 2: изменение расположения папки / usr
Вы можете изменить местоположение самой
/usr
папки и перенести ее на внешнюю карту. Обычно это не приветствуется, но поскольку вы говорите, что всегда держите его вставленным, значит, все должно быть в порядке.Для этого есть 2 способа:
(Предпочтительно) Создайте раздел на вашей внешней карте и перенесите весь контент в текущий
/usr
папке в этот раздел. Затем измените ваш файл так,/etc/fstab
чтобы он монтировал этот раздел как/usr
папку, и полностью удалите старую/usr
папку. Чтобы сделать все это, вам нужно будет загрузиться с какого-нибудь аварийного диска или с живого CD / USB.В этом методе также сначала загрузитесь с некоторого аварийного диска или live CD / USB, а затем переместите
/usr
папку на внешнюю карту и затем создайте символическую ссылку на новую/usr
папку.PS
Это интересный вопрос, о котором я думал в последнее время, когда мой жесткий диск заполнялся. Я попробую некоторые из этих вещей и обновлю свой ответ. Комментарии могут критиковать некоторые из этих методов.
ОБНОВИТЬ
Также смотрите ответ @gilles. Его предложение лучше. Вместо перемещения всей
/usr
папки на внешнюю карту, просто переместите ее/usr/lib/sagemath
на внешнюю карту, поскольку она занимает около 3,1 ГБ вашей установки. Таким образом, в методе № 2 вы можете переместить эту папку вместо/usr
.источник
/usr
на SD-карту сделает систему непригодной для использования, если SD-карта отсутствует. Это не очень хорошая идея.