외장 드라이브에 프로그램을 설치할 수 있습니까?


9

crouton을 사용하여 Toshiba 크롬 북에서 Ubuntu 14.04를 실행합니다. 내 OS가 설치된 드라이브는 작고 3.6GB의 여유 공간이 있습니다. sage시스템 에 설치하고 싶지만 시스템에 sage6GB의 여유 공간이 필요합니다.

그러나 항상 SD 카드를 기기에 삽입 한 상태로 유지합니다. 이 카드에는 175GB의 여유 공간이 있습니다. sageSD 카드에 설치할 수 있습니까?

sage명령을 사용 하여 다운로드하려는 방식

apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary

등이 발견 여기에 .


Sage를 어떻게 설치합니까? deb 패키지에서? 아카이브를 풀면? 소스에서 컴파일하여?
Gilles 'SO- 악마 그만해

@Gilles 방금 설치 방법을 포함하도록 질문을 업데이트했습니다 sage.
브라이언 피츠 패트릭

답변:


4

패키지 단위로 데비안 패키지를 패키지의 다른 디스크로 분할하는 것은 어렵습니다. 이에 대한 지원은 없습니다. dpkg기본이 아닌 위치에 설치하려는 패키지에 대해 별도로 호출해야합니다 .

디렉토리 트리를 별도의 디스크에 넣는 것은 쉽습니다. 다행스럽게도 PPA의 Sage 패키지는 빠른 설명을 통해 알 수있는 한 대부분의 파일을에 설치합니다 /usr/lib/sagemath. SD 카드에 쉽게 넣을 수 있습니다. SD 카드가 (있는 경우)에 마운트되어 있다고 가정 해 봅시다 /media/sdcard. 거기에 디렉토리를 만들고 심볼릭 링크를 만드십시오.

mkdir /media/sdcard/sagemath
ln -s /media/sdcard/sagemath /usr/lib/sagemath

그런 다음 dpkg가 설치하는 모든 파일은 /usr/lib/sagemath(패키지에 관계없이) SD 카드에있게됩니다.

SD 카드가없는 상태에서 Sage를 사용하거나 Sage 패키지를 관리하려고하면 오류 메시지가 표시되며 SD 카드를 삽입하고 작업을 반복해도 아무런 해가 없습니다.


팁 주셔서 감사합니다. 귀하의 제안을 따르고 설치했습니다 sage. 그러나 발행 $ sage은을 리턴합니다 bash: /usr/bin/sage: Permission denied.
브라이언 피츠 패트릭

"실행 가능"및 소유자 / 그룹 정보와 같은 속성이 필요한 경우 외부 드라이브에 ext4, btrfs 등의 UNIX 유형 파일 시스템이 있어야합니다.
Ned64

@ Ned64 내 SD 카드에 ext4가 있습니다.
브라이언 피츠 패트릭

@BrianFitzpatrick 나는 vfat 위에 posixovlfs가 필요하다고 말하려고했지만 이것이 ext4이므로 특별한 것이 필요하지 않습니다. SD 카드를 어떻게 설치하고 있습니까? 에 user옵션 이 있으면 옵션을 /etc/fstab추가하십시오 exec.
Gilles 'SO- 악마 그만'

@Gilles 내 etc/fstab읽기# UNCONFIGURED FSTAB FOR BASE SYSTEM
Brian Fitzpatrick

4

이것은 흥미로운 질문입니다. 이것이 시도 될 수있는 몇 가지 방법을 논의 해 보자.

방법 # 1 : apt-get 설치 중 위치 조작

apt-get을 사용하면 그렇게 할 수 없습니다. .deb파일을 사용하여 설치하는 경우 다시는 불가능합니다. 설치 위치가 이러한 패키지에 하드 코드되어 있기 때문입니다.

설치 위치를 조작하려면 설치 하기 전에 sage소스 에서 컴파일 하고 수정 makefile해야합니다. 이것은 의존성을 관리하는 부담이 따릅니다.

그러나 이에 관한 논의가있었습니다. 아마도 사람들은 그렇게했을 것입니다. 어쩌면 설치 위치를 조작했을 수도 있습니다. 여기여기를 참조 하십시오 . 이 작업을 수행하는 방법을 찾으면 의견을 추가하십시오.

방법 # 2 : / usr 폴더의 위치 변경

/usr폴더 자체 의 위치를 ​​변경 하여 외부 카드로 전송할 수 있습니다. 일반적으로 이것은 권장되지 않지만 항상 삽입 된 상태로 유지 한다고 말하고 있으므로 괜찮습니다.

이렇게하려면 두 가지 방법이 있습니다.

  1. (권장) 외장 카드에 파티션을 만들고 현재 /usr폴더 의 모든 내용 을 해당 파티션으로 전송하십시오. 그런 다음 /etc/fstab파티션을 /usr폴더 로 마운트하도록 수정 하고 이전 /usr폴더를 모두 제거하십시오 . 이 모든 작업을 수행하려면 복구 디스크 나 라이브 CD / USB로 부팅해야합니다.

  2. 이 방법에서는 먼저 일부 복구 디스크 또는 라이브 CD / USB에서 부팅 한 다음 /usr폴더를 외부 카드로 옮긴 다음 새 폴더에 대한 심볼릭 링크 를 만듭니다 /usr.

추신

이것은 흥미로운 질문입니다. 내 하드 디스크가 가득 차서 최근에 생각했던 것입니다. 나는 이것들 중 일부를 시도하고 내 대답을 업데이트 할 것입니다. 이러한 방법 중 일부를 비판하는 의견을 환영합니다.

최신 정보

@gilles answer도 참조하십시오. 그의 제안이 더 낫습니다. 모든 /usr폴더를 외부 카드 로 옮기는 대신 /usr/lib/sagemath약 3.1GB의 설치 공간을 차지하므로 외부 카드 로 옮기십시오 . 따라서 방법 # 2 에서 대신이 폴더를 이동할 수 /usr있습니다.


/usrSD 카드로 이동 하면 SD 카드가 없으면 시스템을 사용할 수 없게됩니다. 좋은 생각이 아닙니다.
Gilles 'SO- 악마 그만해'

예. 그러나 OP는 카드가 항상 삽입되어있을 것이라고 언급했다. 나는 내 대답에서 이것을 언급했다.
shivams

@Gilles 나는 단지 당신의 대답입니다. 당신의 제안은 확실히 더 좋습니다.
shivams
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.