OpenBSD 시스템의 시스템 디스크를 분할하는 동안 오류로 인해 현재 공간이 부족합니다 /usr
.
openbsd$ df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/sd0a 2057756 141352 1813520 7% /
/dev/sd0k 30699004 66384 29097672 0% /home
/dev/sd0d 5202236 746020 4196108 15% /tmp
/dev/sd0f 4122108 3002484 913520 77% /usr
/dev/sd0g 2057756 387016 1567856 20% /usr/X11R6
/dev/sd0h 11366780 552236 10246208 5% /usr/local
/dev/sd0j 12379516 4 11760540 0% /usr/obj
/dev/sd0i 3857212 2060552 1603800 56% /usr/src
/dev/sd0e 8218940 67776 7740220 1% /var
최신 버전의 GCC를 설치하려고 했는데 오류가 발생했습니다 No space left on device
.
openbsd$ cd /usr/ports/lang/gcc/6
openbsd$ doas make install
{{ ... thouands of lines omitted for brevity ... }}
tar: Unable to create gcc-6.4.0/install-sh: No space left on device
tar: Unable to create gcc-6.4.0/ylwrap: No space left on device
tar: Unable to create gcc-6.4.0/LAST_UPDATED: No space left on device
tar: Unable to create gcc-6.4.0/NEWS: No space left on device
tar: Unable to create gcc-6.4.0/MD5SUMS: No space left on device
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2555 'do-extract': @PATH=/usr/ports/pobj/gcc-6.4.0/bin:/usr/bin:/bin:/usr/sbin:/s...)
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2528 '/usr/ports/pobj/gcc-6.4.0/.extract_done')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2003 '/usr/ports/packages/amd64/all/gcc-6.4.0p0.tgz')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2465 '_internal-package')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2444 'package')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2021 '/var/db/pkg/gcc-6.4.0p0/+CONTENTS')
*** Error 1 in /usr/ports/lang/gcc/6 (/usr/ports/infrastructure/mk/bsd.port.mk:2444 'install')
많은 공간을 차지하지 않도록 대상 파일을 다른 디렉터리에 빌드하는 것이 가능합니까 /usr/ports
? 비슷한 것을 시도했지만 cd /tmp/build && make -C /usr/ports/lang/gcc/6 install
중간 파일은 여전히 동일한 디렉토리에 생성됩니다 Makefile
.
답변1
WRKOBJDIR
이 변수를 빌드가 수행되어야 하는 디렉터리로 설정할 수 있습니다 . 이 변수에 대한 설명은 다음을 참조하세요.bsd.port.mk(5)
.
예를 들어 다음을 사용할 수 있습니다.
cd /usr/ports/lang/gcc/6
doas env WKOBJDIR=/tmp/build make install
/etc/mk.conf
또는 항상 .NET에서 변수를 설정하는 것과 다른 위치에서 포트를 컴파일하려는 경우 /usr/ports/pobj
.
lang/gcc/6
포트 도 참고하세요제거하다GCC 8에서 더 이상 사용되지 않으므로 오늘(2019-04-25) 포트 트리에서 제거되었습니다.