공식 설치 스크립트를 통해 Arch Linux를 사용하여 Matlab을 설치하려고 합니다. 모든 것이 잘 작동하고 모든 구성 요소를 선택한 후 다운로드가 시작됩니다. 이제 문제는 설치 프로그램이 다운로드한 콘텐츠를 /tmp에 저장한다는 것입니다. 여기에 4GB(램의 절반)를 할당했습니다. 지금까지 이것은 문제가 되지 않았습니다. 설치/다운로드 과정의 약 25% 정도에서 설치 프로그램은 /tmp에 남은 공간이 없다는 오류를 표시합니다. 설치를 시작하기 전 디렉터리를 확인해 보니 4GB의 여유 공간이 있었습니다.
드라이브에 충분한 여유 공간이 있으므로 다른 디렉터리를 충분한 공간이 있는 설치 프로그램으로 리디렉션할 수 있습니까? 설치 프로그램이 설치 디렉터리를 요청했지만 이 디렉터리를 선택할 수 있는 옵션이 제공되지 않았습니다.
답변1
@thrig가 답변에서 지적한 것처럼 설치 프로그램이 환경 변수를 TMP
지원 하지 않고 파티션/램디스크 자체가 너무 작은 경우 다른 것을 설치하면 됩니다.TMPDIR
/tmp
mkdir "$HOME/matlabdl"
mount --bind -o nonempty "$HOME/matlabdl" /tmp
일반 마운트와 달리 마운트는 기존 디렉터리를 가져와서 다른 위치에 마운트합니다. 즉, 이 경우 다운로드가 실제로 진행되는 램디스크에 --bind
다운로드하는 대신입니다 . 일반적으로 필요한 비어 있지 않은 경우에도 설치가 수행되도록 합니다 ./tmp
$HOME/matlabdl
-o nonempty
/tmp
설치가 완료되면 /tmp를 다시 마운트 해제합니다.
umount /tmp
그러면 램디스크가 다시 표시됩니다. 일부 프로세스가 덮어쓴 프로세스를 계속 사용하고 있는 경우 /tmp
오류와 같은 도구를 사용하여 해당 프로세스가 무엇인지 알아보세요 lsof
.
답변2
설치 프로그램은 이를 무시 matlab_R2018b_glnxa64.zip
하고 TMP
무시 TMPDIR
하고 직접 사용합니다 /tmp
. 전체 다운로드 크기는 9597MB, 설치 후 27GB입니다. 한 가지 접근 방식은 설치 프로그램을 여러 번 실행하고 /tmp
사용량이 제한을 초과하지 않도록 컬렉션의 하위 집합만 설치하는 것입니다 . 또 다른 방법은 트릭을 사용하여 LD_PRELOAD
다른 곳에 작성하는 것입니다. 또 다른 방법은 설치 GUI가 다운로드를 시작한 후 다운로드를 일시 중지한 후 다음을 수행하는 것입니다.
% cd /tmp
% ls | grep -v systemd
hsperfdata_jhqdoe
mathworks_24989
mathworks_jhqdoe.log
mathworks_jhqdoe.log.lck
tmw1537542523097
% mv tmw1537542523097 /some/where/with/space
% ln -s /some/where/with/space tmw1537542523097
그런 다음 설치 프로그램의 일시 중지를 해제하십시오.