# [KERNEL] -No space left of device-nodos índice (SOLUCIONADO)

## Osvaldo

Hola a todos, desde ya gracias por su ayuda. Soy nuevo en linux y me he decantado por Gentoo (algunos dirán que soy kamikaze...); actualmente tengel el S.O. Wdows pero ya me cansó. Decidí entonces instalar Gentoo en VirtualBox, antes de tirarme a hacerlo "en el metal". 

El asunto es que sigo la guía de instalación del handbook (x86) y cuando realizo un [/(chroot): emerge gentoo-source] me descarga todos los paquetes del kernel (v2.6.34) pero a la hora de descomprimir las fuentes sale el siguiente mensaje de error:

```
(chroot) no such file or directory

```

y luego

```
(chroot) Cannot open: no space left or device
```

y al final no se instalan las fuentes. Realicé lo mismo pero descargando el tarball con wget y descomprimiéndolo con tar -xvjf en /usr/src/ y nada... lo mismo

Así que (intrigado por la supuesta falta de espacio) realicé un 

```
 df
```

 en el directorio citado y está un 53% ocupado. Así que la cosa no venía por ahí, y lo que hice fue fijarme los nodos del directorio con 

```
 df -i
```

  y... ¡100 % IUSE! Repleto de los no tan famosos nodos.

Por lo que tengo entendido, se llena los discos con nodos si se bajan muchos paquetes pequeños (como en el caso del Kernel), pero ¿no es raro que este error no esté contemplado en la página de Gentoo y en la guía de instalación? La verdad, busqué en internet y nada (solo alguna cosa que no funcionó)

¿Viene por ahí el problema, por los inodos? En caso de ser así: ¿cómo se libera el espacio ocupado por los mismos? ¿es conveniente liberar ese espacio, es frecuente hacerlo, o solo sucedió esto debido a un error procedimetal de mi parte?

Les agradezco cualquier ayuda, soy nuevo y pido disculpas si no fui muy claro. Soy un neófito en estas cuestiones. Pero ya he tenido varios dolores de cabeza, necesito ayuda y quiero apreder a usar Gentoo. Por suerte no soy de los que se rinden fácilmente.

P.D.: Por las dudas, la máquina virtual tiene un HD de 7G y una RAM de 256 MB

----------

## John R. Graham

Movido de Installing Gentoo al Spanish.

----------

## quilosaq

¡Hola!

Puedes mirar que particiones tienes montadas y dónde para descartar que estés utilizando una partición que no es la prevista.

```
mount
```

También puedes comprobar como están de ocupadas esas partciones.

```
df -h
```

Por último comprueba que montaste el directorio /dev del anfitrión antes de entrar en chroot, tal como dice la guía.

```
# mount -o bind /dev /mnt/gentoo/dev
```

----------

## opotonil

Ando un poco a carreras, pero hecha un vistazo a estos posts:

https://forums.gentoo.org/viewtopic-t-643067-highlight-particiones.html

https://forums.gentoo.org/viewtopic-t-578145-highlight-particiones.html

Salu2 y Bienvenido.

PD: Son de hace una temporada así que hablan de ext3, pero en principio creo que se podrían aplicar igualmente a ext4.

----------

## esteban_conde

 *Osvaldo wrote:*   

> (chroot) no such file or directory 

 

No se por que pero creo que confundes lo que significa chroot con lo que hace, es decir chroot es una orden que traslada la raiz a un directorio previamente creado en el cual se han descomprimido el/los stages correspondientes, me da la impresion de que crees que chroot es un directorio y no lo es.

----------

## JotaCE

Bienvenido !!

----------

## Osvaldo

Antes que nada, gracias a todos por la bienvenida. Le pido disculpas al moderador por haber publicado originalmente en cualquier lado... (gracias por poner mi consulta en el sitio adecuado)

quilosaq: Te cuento: antes que nada, estoy siguiendo la instalación tal cual dice el manual a partir del 

```
install-x86-minimal-<release>.iso
```

. El esquema de particionado es el que sugiere el manual (ya que se trata de una prueba, como dije, y quiero seguir esas pautas para después armar mi propio esquema cuando lo instale definitivamente en mi laptop):

```
Partición   |  Sistema de Ficheros  |  Tamaño        |  Descripción

/dev/sda1                   ext2                     32M               Partición de arranque

/dev/sda2                (swap)                      512M              Partición de intercambio

/dev/sda3                   ext3                   El resto del disco   Partición de raíz
```

(el disco tiene en total 7Gb) 

Es por eso que me extraña: seguramente no hice algo, no sé... Estoy trabajando según la configuración sugerida por el manual.

Apliqué los comandos bash que me dijiste y sale algo como esto:

```
(chroot) livecd /# mount

rootfs on / type rootfs (rw)

tmpfs on / type tmpfs (rw,relatime)

/dev/hdc on /mnt/cdrom type iso 9660 (ro,relatime)

/dev/loop0 on /mnt/livecd type squashfs (no, relatime)

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)

udev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755)

devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)

tmpfs on /mnt/livecd/lib/firmware type tmpfs (rw,relatime)

tmpfs on /mnt/livecd/usr/portage type tmpfs (rw,relatime)

usbfs on /proc/bus/usb/portage type usbfs (rw,nosuid,noexec,relatime,devgid=85,devmode=664)

/dev/sda3 on / type ext3 (rw,relatime,errors=continue,data=writeback)

/dev/sda1 on /boot type ext2 8rw,relatime,errors=continue)

none on /proc type proc (rw,relatime)

udev on /dev type tmpfs (rw,nosuid,relatime,size=1024k,mode=755)
```

Pongo todo esto porque no sé que información puede ser relevante. 

En cuanto a df -h, aplicado a / tememos:

```
(chroot) livecd /# df -h /

df: Warning: cannot read table of mouted file system: No such file or directory

Filesystem      Size  Used  Avail  Use%  Mounted on

-                    2.8G  1.4G  1.4G   50%   /
```

Si mi inglés no es tan malo como parece (jajaja), dice que no se puede leer la tabla del sistema porque ... ¡el directorio no existe!

No entiendo  :Confused: 

en cuanto a 

```
# mount -o bind /dev /mnt/gentoo/dev
```

ya lo hice, como decía el manual, y no me saltó ningún error.

opotonil: Fui a las páginas que mencionas, tienen información muy interesante, y las voy a tener en cuenta para diseñar mi futuro esquema de particiones (¡si salgo de esta!, jajaja) Ahí se habla de los famosos inodos. Cito:

"Tan solo es necesario modificar el tamaño de inodo o de bloque si se va a hacer algo muy específico con la partición. Por ejemplo, yo para portage uso mkfs.ext2 -b1024 -i1024 para crear la partición de portage. De lo contrario, portage no cabría en una partición de 900 megas  No por falta de espacio, sino por falta de inodos. El tamaño de inodo por defecto es de 4k, reduciéndolo a 1k se consigue que sea posible albergar más archivos. Es ideal si se van a meter cientos de miles de archivos muy pequeños en una partición."

Pero la verdad, yo ya no sé si la cosa viene por ahí... (capaz que estoy cometiendo un error garrafal por otro lado, vos me prodrás ayudar quizá con lo que respondí más arriba, ojalá) El problema de que esté hecho pensando en ext3 no es problema: ya dije, seguí el manual y su esquema simple de particionado.

veteran: No, por suerte no creo que chrooting sea un directorio (aunque la verdad ya dudo de todo). Yo repito: seguí el manual, y la parte del chrotting la coloqué para que vieran que estoy en esta etapa (dentro del entorno)

Les pido disculpas nuevamente porque temo preguntar obviedades, y les agradezco encarecidamente el tiempo que se están tomando para responderme. 

¡Quizá lo mío sea la Química! (soy profesor de química): no sé cómo puedo ayudarlos también, pero estoy a plena disposición. 

Saludos a los hermanos chilenos   :Smile: 

GRACIAS!!!!!!

----------

## quilosaq

Veamos los parámetros de configuración del sistema de archivos.

```
# dumpe2fs -h /dev/sda3
```

----------

## Osvaldo

Perdón por la demora. Traté de utilizar el comando

```
 script
```

 pero me sale 

```
openpty failed

Terminated

```

¿Por qué será? Así que tuve que copiar toda la información de la terminal a mano  :Sad: 

Bueno, para no desviarme de tema, ahí va lo que me dijo el shell (Pregunta: ¿qué es eso de los "superbloques")

```
dumpe2fs -h /dev/sda3

Filesystem volume name: <none>

Last mounted on: <not abailable>

Filesystem UUID: 3c1caed7-4279-4530-9dae-c522d4391b6d

Filesystem magic number: 0xEF53

Filesystem revision #: 1 (dynamic)

Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file

Filesystem flags: signed_directory_hash

Default mount options: (none)

Filesystem state: clean

Error behavior: Continue

Filesystem OS type: Linux

Inode count: 184368

Block count: 736981

Reserved block count: 36849

Free blocks: 707919

Free inodes: 184357

Frist block: 0

Block size: 4096

Fragment size :4096

Reserved GDT blocks: 179

Blocks per group: 32768

Fragment per group: 32768

Inodes per group: 8016

Inode block per group: 501

Filesystem created: Wed Aug 25 00:01:13 2010

Last mount time: Wed Aug 25 00:04:28 2010

Last write time: Wed Aug 25 00:04:28 2010

Mount count: 1

Maximun mount count: 28

Last checked: Wed Aug 25 00:01:13 2010

Check interval: 15552000 (6 months)

Next check after: Mon Feb 21 00:01:13 2011

Reserved blocks uid: 0 (user root)

Reserved blocks gid: 0 (group root)

Frist inode 11

Inode size 256

Required extra isize: 28

Desired extra isize. 28

Journal inode:8

First orphan inode 13

Default directory hash: half_md4

Directory Hash Seed: 6813e7a5-5198-44bb-985f-f87c5e9e3f1f

Journal backup: inode blocks

Journal features: journal_incompat_revoke

Journal size: 64M

Journal length: 16384

Journal sequence: 0x000002b4

Journal start: 8986
```

Uf!!!! Terminé... Todo esto sin el comando script (¿hay algún otro comando que haga lo mismo, algo para guardar lo de la terminal?)

Espero que estos datos te sirvan para darme la solución al problema.

Mil gracias.

----------

## esteban_conde

 *Quote:*   

> dumpe2fs -h /dev/sda3 

 

dumpe2fs -h >dumpe2fs.txt, lo anterior te guarda la salida del comando dumpe2fs -h en el fichero dumpe2fs.txt que se crea si no existia y sirve para cualquier comando que tenga una salida por consola, si el fichero existe y no quieres borrar lo que contiene ">>" anexa la salida al final del archivo.

----------

## quilosaq

No veo nada extrano en la salida del dumpe2fs. Yo creo que está bien. Las cantidades inodes totales y libres no coinciden con la ocupación del 100% que te dio el comando df por lo que creo que no estabas en la patición prevista sino en un tmpfs.

De los post anteriores te señalo la salida del comando mount cuando ya estabas en el entorno chroot. No deberían aparecer todos esos sistemas montados, algunos en el mismo punto de montaje. Mientras no obtengas en ese comando una salida mas limpia no debes seguir adelante.

Los pasos a seguir serían:

Arrancar con el minimal-cd

Cuando obtengas el prompt #

```
swapon /dev/sda2

mount /dev/sda3 /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot
```

Si en los comandos anteriores de diera error sustituye los sda1, sda2 y sda3 por hda1, hda2 y hda3.

```
mount -t proc /mnt/gentoo/proc

mount -o bind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

mount
```

y muestra la salida del comando.

----------

## Osvaldo

Bueno, voy a probar entonces reinstalar todo desde el principio   :Crying or Very sad:  . Les agradezco su ayuda, luego publico a ver que tal me fue, si "sobreviví" a Gentoo, jajaja.

Nos hablamos pronto, muchas gracias   :Very Happy:  .

----------

## Osvaldo

Hola, yo nuevamente: quilosaq, te comento. Realicé la instalación CUIDADOSAMENTE desde el principio; no surgió ningún improvisto ni nada, todo normal. Apliqué el comando 

```
mount
```

 justo antes de entrar al entorno, antes de introducir el comando 

```
# export PS1="(chroot) $PS1"
```

 -como dice el manual- 

Pero la salida de 

```
mount
```

 sigue siendo la misma que en mi post anterior:

```
livecd gentoo /# mount 

rootfs on / type rootfs (rw) 

tmpfs on / type tmpfs (rw,relatime) 

/dev/hdc on /mnt/cdrom type iso 9660 (ro,relatime) 

/dev/loop0 on /mnt/livecd type squashfs (no, relatime) 

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) 

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) 

udev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755) 

devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620) 

tmpfs on /mnt/livecd/lib/firmware type tmpfs (rw,relatime) 

tmpfs on /mnt/livecd/usr/portage type tmpfs (rw,relatime) 

usbfs on /proc/bus/usb/portage type usbfs (rw,nosuid,noexec,relatime,devgid=85,devmode=664) 

/dev/sda3 on / type ext3 (rw,relatime,errors=continue,data=writeback) 

/dev/sda1 on /boot type ext2 8rw,relatime,errors=continue) 

none on /proc type proc (rw,relatime) 

udev on /dev type tmpfs (rw,nosuid,relatime,size=1024k,mode=755)

```

¿Sigo con la instalación? Estoy seguro de no haber cometido ningún error, todo tal cual el handbook.

----------

## quilosaq

Mas info.

¿Que S.O. tienes como host?

¿Que versión de VirtualBox?

En el punto done llegaste, que salida dan los comandos 

```
df -h y df -hi
```

 (no hagas df -h / sino lo que te pongo)

Algunas aclaraciones.

No se explicarte exactamente que son los superbloques.

El punto donde has llegado no es justo antes de entrar al entorno; ya has entrado. El antes y el despues lo marca el comando chroot.

----------

## AnFe

El superbloque es un bloque del disco que contiene toda la información sobre la partición. En los sistemas de ficheros modernos está replicado en varios sitios por si se corrompe.

Un saludo

----------

## Osvaldo

Tanto 

```
df -h
```

 como 

```
df -hi
```

 dan esta salida:

```
df: cannot read table of mouted file system: No such file or directory

```

nota: (lo hice como dijiste, sin el argumento sistema-de-archivo) y donde estaba, antes de ingresar  

```
 # export PS1="(chroot) $PS1"
```

La versión de VirtualBox es la 3.2.8 r64453 y el sistema operativo anfitrión es Wdows 7. Por las dudas, el netinstall es x86.

Gracias por la aclaración de los superbloques, y por decirme cúando efectivamente entré en el entorno; pensé que era luego de ingresar 

```
 # export PS1="(chroot) $PS1"
```

----------

## quilosaq

He hecho mis pruebas y creo que estaba equivocado con la salida del comando mount; a mi también me da algo parecido.

Sigue con la instalacion a ver que pasa.

----------

## Osvaldo

Bueno, pude seguir!!!!!  :Very Happy:   La verdad, no se qué era... Lo único que se me ocurre es que aumente el tamaño del HD a 16 GB, pero no sé. En /usr/src/ estaba el enlace simbólico linux. Fenómeno.

Les agradezco mucho su tiempo, estamos en contacto. ¡Ahora a configurar mi primer Kernel   :Smile: ! 

Les quiero hacer una consulta más: al realizar el 

```
emerge
```

 me apareció un aviso que decía IMPORTANT: (y aquí algo de dos paquetes para instalar) ¿Tengo que fijarme en eso ahora o puedo seguir tranquilo?

Cuando realizo el 

```
eselect new read
```

 la salida estándar es la siguiente: 

```
2010-03-25-python-3.1

  Title                     Python 3.1

  Author                    Arfrever Frehtes Taifersar Arahesis

                            <Arfrever@gentoo.org>

  Posted                    2010-03-25

  Revision                  1

Python 3 is a new major version of Python and is intentionally incompatible

with Python 2. Many external modules have not been ported yet to Python 3,

so Python 2 still needs to be installed. You can benefit from having Python 3

installed without setting Python 3.1 as main active version of Python.

Currently you should not set Python 3.1 as main active version of Python.

When setting it becomes recommended, a separate news item will be created

to notify users.

Although Python 3.1 should not be set as main active version of Python,

you should run python-updater after installation of Python 3.1. By default,

modules that support both Python 2 and Python 3 are installed for both

the active version of Python 2 and the active version of Python 3 when both

Python 2 and Python 3 are installed.

It is recommended to use a UTF-8 locale to avoid potential problems. Especially

C and POSIX locales are discouraged. If locale has not been explicitly set,

then POSIX locale is used, so you should ensure that locale has been set.

Problems occurring only with non-UTF-8 locales should be reported directly

to upstream developers of given packages.

See http://www.gentoo.org/doc/en/utf-8.xml for more information about UTF-8.

2010-08-01-as-needed-default

  Title                     --as-needed enabled in default profiles

  Author                    Tomáš Chvátal <scarabeus@gentoo.org>

  Posted                    2010-08-01

  Revision                  1

-Wl,--as-needed has been added to the default profile's LDFLAGS.

This option optimizes the linking process, only linking binaries to

libraries that are trully needed. This way, fewer libraries are loaded

at runtime and fewer packages need to be rebuilt after library updates.

To take advantage of the new default you can either rebuild world now

or just allow the system to migrate incrementally as it updates.

Please note that setting LDFLAGS="<your flags>" in your make.conf will

override the profile defaults. If you want to add additional LDFLAGS

it is recommended to use LDFLAGS="${LDFLAGS} <your flags>" instead to

avoid this.

For more information on --as-needed, read [1].

 

[1] http://www.gentoo.org/proj/en/qa/asneeded.xml
```

Simplemente les pregunto para saber si me tengo que detener en esto o no; si no, luego seguiré aprendiendo sobre UTF-8 y LDFLAGS y todo eso.

Les agradezco enormemente, he aprendido mucho con sus sugerencias y comentarios. Hasta la próxima.

----------

## quilosaq

Cuando tras un emerge tienes avisos (IMPORTANT) hay que prestarles atención y actuar según el contenido del aviso y el estado particular de tu sistema. Posiblemente el aviso que te dio decía que tienes 2 noticias nuevas por leer.

La primera noticia (python) dice que hay una nueva versión de Python (la 3) y que durante un tiempo deben convivir las 2 (la 2 y la 3) porque muchos de los programas python aún no se has reescrito para la 3.

En la práctica lo que tienes que hacer compilar los modulos que tengas instalados para la v3 con un

```
python-updater
```

y asegurarte que tienes seleccionaa la version 2 como versión a utilizar (estará marcada con un *)

```
eselect python list
```

También puedes comprobar que locales tienes generadas para saber si tienes alguna con utf8

```
locale -a
```

La segunda noticia no te afecta ya que estás creando ahora tu sistema y las recomendaciones que que da son para sistemas que ya estén funcionando.

Resumiendo. Creo que puedes seguir adelante sin problemas.

----------

## Osvaldo

Bueno, lo conseguí!!!! Gracias por haberme ayudado; ahora tengo un gentoo funcional (minimalista pero funcional). Además, he aprendido algunas cuantas cositas de gentoo y de bash en general, asi que: ¡A SEGUIR APRENDIENDO MÁS COSAS!  :Cool: 

Un abrazo a toda la comunidad de gentoo

----------

