create - No se puede compilar con make | error fatal No queda espacio en el dispositivo
makefile linux c (2)
Situación: acaba de instalar Linux, intentando aprender a codificar c. Se configura con sudo apt-get install build-essential. Abra el nano tipo en mi código
#include <stdio.h>
int main(int argc, char *argv[])
{
puts("Hello World./n");
return 0;
}
abra otra pestaña de la consola, ingrese make ex1, luego mi mundo gira hacia abajo en el abismo más oscuro que aún tengo que experimentar en mi primera distribución de Linux.
ragnar@ragnar:~/Documents/C$ make ex1
cc -Wall -g ex1.c -o ex1
ex1.c:7:1: fatal error: error closing /tmp/cc8d7Oap.s: No space left on device
}
^
compilation terminated.
make: *** [ex1] Error 1
ragnar@ragnar:~/Documents/C$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb5 4.0G 3.8G 0 100% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 7.9G 8.0K 7.9G 1% /dev
tmpfs 1.6G 1.4M 1.6G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 7.9G 8.1M 7.9G 1% /run/shm
none 100M 28K 100M 1% /run/user
/dev/sdb2 96M 29M 68M 30% /boot/efi
/dev/sdb7 11G 248M 9.5G 3% /home
toda ayuda es apreciada.
La partición que contiene la carpeta raíz ( /
) está 100% llena. La carpeta raíz actualmente también contiene la carpeta /tmp
, que se usa durante la compilación para almacenar archivos temporales. Como la carpeta raíz y con esto la carpeta tmp está llena, esto falla.
Para evitar esto, agregue más espacio o reorganice el existente.
Como solución alternativa
mkdir ~/tmp
export TMPDIR=~/tmp
y reintentar la compilación.
Una forma flexible de organizar un sistema de archivos es usar particiones separadas para
/
/usr
/home
/var
/tmp
Un enfoque lento sería vincular /tmp/
a /var/tmp
. Sin embargo, esto podría causar problemas, ya que en términos de limpieza, el SO podría manejar el contenido en /var/tmp
diferente del contenido en /tmp
. Ese es el contenido de /tmp/
que se eliminaría en cada inicio, ya que /var/tmp
no lo haría.
aquí está mi resultado de df:
[857][rkwill.rkwill-desktop: /home/rkwill]$ df -h -T
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext4 910G 16G 849G 2% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
udev devtmpfs 3.4G 4.0K 3.4G 1% /dev
tmpfs tmpfs 684M 1.5M 683M 1% /run
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 3.4G 96K 3.4G 1% /run/shm
none tmpfs 100M 68K 100M 1% /run/user
Puede notar que mi partición de disco es muy simple (la partición de intercambio es ~ 6gigs)
El disco real es de 1 tera byte.
Los discos de bytes de tera son muy baratos hoy en día.
Todo tu disco parece tener ~ 33gig. Eso fue genial en los días de MS-DOS y las primeras versiones de Linux.
Sin embargo, mi Ubuntu 14.04 Linux solo está usando ~ 26 gigs del disco
(y tengo numerosas utilidades, complementos, imágenes, videos, código fuente para varios proyectos, etc.)
sugiera hacer la instalación inicial (hasta que sepa más sobre cómo funcionará todo) con solo las particiones / y de intercambio.
Cuando uso múltiples particiones, organizo sugerencias similares a @alk, con la adición de una partición para windows, para / lib y para / etc.
Tal partición permite un acceso más rápido en mis servidores, con múltiples discos duros, y modos de falla más seguros, pero no vale la pena para mi escritorio.
Mi computadora de escritorio tiene un disco duro externo de tera byte de múltiples particiones para realizar copias de seguridad.