외장 드라이브에 프로그램을 설치할 수 있나요?

외장 드라이브에 프로그램을 설치할 수 있나요?

저는 crouton을 사용하여 Toshiba 크롬북에서 Ubuntu 14.04를 실행하고 있습니다. 운영 체제를 설치한 드라이브는 공간이 3.6GB에 불과할 정도로 작았습니다. sage내 시스템에 설치 하고 싶지만 sage시스템에 6GB의 여유 공간이 필요합니다.

하지만 저는 항상 SD 카드를 기기에 삽입합니다. 카드에는 175GB의 여유 공간이 있습니다. sageSD카드에 설치 가능한가요 ?

sage명령을 사용하여 다운로드를 시도한 방식

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

발견하다여기.

답변1

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

디렉토리 트리를 별도의 디스크에 두는 것은 쉽습니다. 운 좋게도 PPA의 Sage 패키지는 대부분의 파일을 /usr/lib/sagemathSD 카드에 쉽게 설치할 수 있습니다. SD 카드가 설치되어 있는 것으로 가정합니다(있는 경우) /media/sdcard. 거기에 디렉터리를 만들고 심볼릭 링크를 만듭니다.

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

그런 다음 dpkg로 설치된 모든 파일은 /usr/lib/sagemath(어떤 패키지에서 왔는지에 관계없이) SD 카드에 저장됩니다.

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

답변2

이것은 흥미로운 질문입니다. 시도해 볼 수 있는 몇 가지 사항에 대해 논의해 보겠습니다.

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

apt-get을 사용하면 불가능합니다. 파일 설치를 사용하는 경우에도 .deb이 작업은 불가능합니다 . 이유는 간단합니다. 설치 위치가 이러한 패키지에 하드코딩되어 있기 때문입니다.

설치 위치를 조작하려면 sage소스에서 컴파일하고 makefile설치하기 전에 수정해야 합니다. 이로 인해 종속성을 관리해야 하는 부담이 커집니다.

그러나 이에 대한 논의가 있었습니다. 어쩌면 사람들은 이미 그렇게 했을 수도 있습니다. 어쩌면 장착 위치를 어떻게든 조작했을 수도 있습니다. 바라보다여기그리고여기. 이를 수행할 수 있는 방법을 찾으면 의견을 추가해 주세요.

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

폴더 자체의 위치를 ​​변경하여 /usr외부 카드로 전송할 수 있습니다. 일반적으로 이것은 권장되지 않지만 당신이 말한 이후로언제나플러그를 꽂아두면 괜찮을 것입니다.

이를 수행하는 방법에는 두 가지가 있습니다.

  1. (권장) 외부 카드에 파티션을 생성하고 현재 폴더에 있는 모든 항목을 /usr해당 파티션으로 전송합니다. 그런 다음 파티션을 수정하여 폴더 /etc/fstab로 마운트 하고 이전 폴더를 완전히 삭제하십시오. 이 모든 작업을 수행하려면 복구 디스크나 라이브 CD/USB에서 부팅해야 합니다./usr/usr

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

폴리스티렌

이것은 흥미로운 질문이며, 최근 하드 드라이브가 가득 차면서 제가 많이 생각해 본 질문입니다. 다음 중 일부를 시도하고 답변을 업데이트하겠습니다. 이러한 방법 중 일부를 비판하는 의견을 환영합니다.

고쳐 쓰다

@gilles의 답변도 참조하세요. 그의 조언이 더 좋습니다. /usr폴더를 모두 외장카드로 옮길 필요는 없고 , /usr/lib/sagemath약 3.1GB의 설치공간을 차지하므로 외장카드로 옮기기만 하면 됩니다. 그래서,방법 #2, 대신 이 폴더를 이동할 수 있습니다 /usr.

관련 정보