Raspberry Pi sin espacio en disco


9

Soy ridículamente nuevo en rpi y he estado siguiendo muchos tutoriales para intentar que el reconocimiento facial funcione en mi pi. Me he quedado sin espacio en el disco y parece que tras seguir toneladas de tutoriales, me he cargado de basura.

Vi en otra discusión sobre particiones que puedo ejecutar un comando para ver el mío. Aquí está lo que muestra.

pi@raspberrypi ~ $ sudo fdisk -l

Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes
4 heads, 16 sectors/track, 243200 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c27cb

    Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192     1685546      838677+   e  W95 FAT16 (LBA)
/dev/mmcblk0p2         1687552    15499263     6905856   85  Linux extended
/dev/mmcblk0p3        15499264    15564799       32768   83  Linux
/dev/mmcblk0p5         1695744     1818623       61440    c  W95 FAT32 (LBA)
/dev/mmcblk0p6         1826816    15499263     6836224   83  Linux

¿De alguna manera obtuve 5 particiones? ¿Cómo puedo liberar espacio?

EDITAR: salida de df -h

pi@raspberrypi ~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       6.3G  6.0G   25M 100% /
devtmpfs        428M     0  428M   0% /dev
tmpfs            87M  336K   86M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           173M     0  173M   0% /run/shm
/dev/mmcblk0p5   60M   20M   41M  33% /boot
/dev/mmcblk0p3   27M  397K   25M   2% /media/SETTINGS

¿Qué tan grande es la tarjeta SD? ¿Cuál es la salida de df -h? ¿Ejecutó sudo raspi-config y expandió el sistema de archivos raíz (opción 1, creo)?
Steve Robillard

8gig card, lo expandí.
Carretilla elevadora

es esto "solo" raspbian o noobs? No sé para qué sería esta segunda partición FAT.
Ghanima

Es NOOBS sí. ¿Necesito comenzar de nuevo? ¿Debo reinstalar sin NOOBS?
Carretilla elevadora

1
du / |sort -nPrimero, verifique qué está consumiendo espacio, por ejemplo, registros (si logrotate no funciona correctamente) o el caché del administrador de paquetes. La línea de comandos de Steve con el -shes mejor hacerlo.
Ghanima

Respuestas:


10

Esto es lo que funciona para mí. Puede probar este conjunto de comandos para purgar archivos de paquetes innecesarios:

sudo apt-get autoremove
sudo apt-get clean

No funcionará un milagro, pero a veces me liberan unos cientos de MB.

Si quieres ejecutar solo raspbian, tuve mucha suerte con Jessie Lite y agregué paquetes según lo necesito. Aquí hay un ejemplo en una tarjeta uSD de 8GB:

Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.8G  1.1G  6.4G  15% /
devtmpfs        224M     0  224M   0% /dev
tmpfs           229M     0  229M   0% /dev/shm
tmpfs           229M  4.6M  224M   2% /run
tmpfs           5.3M  4.1k  5.3M   1% /run/lock
tmpfs           229M     0  229M   0% /sys/fs/cgroup
/dev/mmcblk0p1   63M   21M   43M  34% /boot

Eso parece útil. Lo intentaré por la mañana. "Limpié" pero no me quité automáticamente. Gracias por la sugerencia.
Carretilla elevadora

También miraré a Jessie Lite, pero eso podría retrasarme un poco. Desearía que hubiera una manera de descargar instantáneas del sistema operativo con las cosas que necesito :)
Carretilla elevadora

AFAIK, "apt-get autoremove" solo elimina los archivos de paquetes desactualizados, mientras que "apt-get clean" los elimina a todos. Si planea reinstalar algunos paquetes, la acción anterior puede ser aconsejable para ahorrar tiempo y experiencia.
derjoachim

7

Si instaló Jessie en un 8gb, mire las aplicaciones que no usa. Eliminé Mathematica y gané más de 600 MB con

sudo apt-get purge wolfram-engine

Y otros paquetes que ocupan el espacio: lifehacker.com/...
nsof

3

Otra solución sería utilizar una memoria USB o tarjeta SD más grande (32G) (con un lector de tarjetas SD USB) y transferir su sistema de archivos raíz al nuevo dispositivo. Consulte Tamaño de expansión de la raíz / uso de HDD externo .

Si desea comenzar de nuevo sin perder lo que tiene en una tarjeta SD más grande , aquí hay una manera de instalar el sistema operativo Raspbian de arranque en una nueva tarjeta SD. Después de la instalación, intercambie la nueva tarjeta SD con su tarjeta SD de arranque y tendrá un sistema limpio con acceso a toda su información anterior.

Install Raspbian on the Raspberry Pi from Linux
  1. CONFIGURACIÓN: los requisitos son un sistema Linux (tipo) capaz de conectarse a Internet, escribir en la tarjeta micro SD (8G o más grande), un programa de formato de disco ( fdisk), wgetsería bueno funzip( unziprequiere almacenamiento local) y una frambuesa Pi. Con la tarjeta SD conectada al sistema Linux en el lector de tarjetas o en el lector de tarjetas USB, determine la dirección del dispositivo con el lsblku otros comandos. En mi caso, usaré / dev / sdb. Compruebe si el dispositivo está montado con el dfcomando y, de ser así, desmonte con el umount /dev/sdb?comando.

    pi@RPi3:~ $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sdb           8:16   1  29.8G  0 disk
    └─sdb1        8:17   1  29.8G  0 part
    sda           8:0    0 931.5G  0 disk
    ├─sda2        8:2    0 931.4G  0 part /
    └─sda1        8:1    0   120M  0 part /media/pi/boot1
    mmcblk0     179:0    0  29.7G  0 disk
    ├─mmcblk0p2 179:2    0  29.7G  0 part
    └─mmcblk0p1 179:1    0    63M  0 part /boot
    
  2. FORMATO: formatee la tarjeta SD en una partición, escriba fat32 [ sudo fdisk /dev/sdb, subcmd p, (si no es el tipo de etiqueta de disco: dos, subcmd o), subcmd d para eliminar particiones antiguas, subcmd n para crear una nueva partición (tome los valores predeterminados, primario p, número 1, primero, último), subcmd t para tipo (número 1, código c) y subcmd w para escribir].

    pi@RPi3:~ $ sudo fdisk -l /dev/sdb
    
    Device     Boot Start      End  Sectors  Size Id Type
    /dev/sdb1        8192 62552063 62543872 29.8G  c W95 FAT32 (LBA)
    
  3. DESCARGAR, DESCOMPONER y ESCRIBIR: es posible descargar la imagen Raspbian, descomprimirla e instalarla en la tarjeta SD de una vez. El unzipcomando funcionará si la imagen Raspbian se descarga primero y luego se descomprime ( unzipno funcionará con la entrada canalizada, lo funziphará). La imagen tiene más de 1.5G, descomprimida sobre 4G, tomará algún tiempo descargarla.

    pi@RPi3:~ $ wget -qO - https://downloads.raspberrypi.org/raspbian_latest | funzip | sudo dd bs=4M of=/dev/sdb
    
  4. VERIFICAR: la imagen ahora está instalada con dos particiones (arranque y raíz). La partición de Linux es muy pequeña y debe ampliarse. (Es posible agregar más particiones si es necesario, antes de expandir). Antes de expandir la partición Linux, NOTA / dev / sdb2 Start Sector (es decir, 137216 en mi caso).

    pi@RPi3:~ $ echo -e "p\nq" | sudo fdisk /dev/sdb | egrep "Dev|^/"
    Device     Boot  Start     End Sectors Size Id Type
    /dev/sdb1         8192  137215  129024  63M  c W95 FAT32 (LBA)
    /dev/sdb2       137216 8581119 8443904   4G 83 Linux
    
  5. EXPANDIR LA PARTICIÓN: el fdiskcomando se puede usar para expandir la partición de Linux. Primero elimine la partición Linux subcmd d, predeterminado 2, agréguelo de nuevo subcmd n, predeterminado p, predeterminado 2,
    usando el Sector de inicio (como se indicó en el paso 3), tome el valor predeterminado para el Sector final y escriba los cambios subcmd w si contento (o salga sin escribir los cambios con subcmd q). Si el sector de inicio es el mismo que antes, los datos estarán en tachuela.

    pi@RPi3:~ $ echo -e "d\n2\nn\np\n2\n137216\n\nw" | sudo fdisk /dev/sdb
    
  6. ESCRIBIR ETIQUETA, VERIFICAR EL SISTEMA DE ARCHIVO y EXPANDIR EL SISTEMA DE ARCHIVO -

    pi@RPi3:~ $ sudo e2label /dev/sdb2 root
    pi@RPi3:~ $ sudo e2fsck -f /dev/sdb2
    pi@RPi3:~ $ sudo resize2fs /dev/sdb2
    
  7. OPCIONES: es posible montar las particiones de la tarjeta SD y hacer configuraciones de archivos, lo que está más allá de este alcance. Asegúrese de que los datos syncestén desmontados si están montados antes de retirar la tarjeta SD del sistema en ejecución.

  8. INICIAR y CONFIGURAR: monte la tarjeta SD en la Raspberry Pi y conecte la alimentación. El Pi debería arrancar. Configure el Pi con referencia a https://www.raspberrypi.org/documentation/configuration/ .


1

Probablemente no quieras comenzar de nuevo. Si le queda poco espacio después de limpiar sus descargas múltiples y el código fuente no utilizado, muévase a una tarjeta de memoria más grande.

Debe poder montar una tarjeta secundaria en su RPI, ya sea con un portador 'pen drive' con conector SD o similar.

Su instalación se basa en NOOBS, por lo que terminó con algunas particiones que ya no están en uso, sin embargo, la cantidad de espacio desperdiciado no es tan significativa, la eliminación puede ser dolorosa. Algunos espacios abiertos se crean para la alineación de límites.

Cree un clon en una tarjeta SD más grande (16 GB o más).

Con Win32DiskImager, cree una copia de seguridad de la imagen con el botón "leer" en un nombre de archivo de su preferencia, luego, use "escribir" para copiar la imagen en la nueva tarjeta SD.

Monte la nueva tarjeta y arranque. En este punto, debe estar ejecutando un clon con el mismo espacio vacío original.

Usando fdisk, 'p' imprime la partición actual. Copie y pegue esta información donde pueda usarla como referencia. Se verá de la siguiente manera (la suya será diferente):

Device         Boot   Start      End  Sectors   Size Id Type
/dev/mmcblk0p1         8192  1675781  1667590 814.3M  e W95 FAT16 (LBA)
/dev/mmcblk0p2      1679360 30703615 29024256  13.9G 85 Linux extended
/dev/mmcblk0p5      1687552  1810431   122880    60M  c W95 FAT32 (LBA)
/dev/mmcblk0p6      1818624 30703615 28884992  13.8G 83 Linux

Elimine / dev / mmcblk0p2 con 'd' y luego ingrese '2', vuelva a crear la partición nuevamente. el 'secreto' es usar el sector idéntico 'inicio'.

Cree la partición extendida de Linux con 'n', seleccione extendida, ingrese el primer sector (en mi ejemplo 1679360) y deje fdiskseleccionar el último sector ('predeterminado'), luego ingrese 't' para ingresar el 'tipo' de partición de 'partición '2, debe ser tipo' 85 '(Linux extendido).

Ahora, cree las particiones lógicas que residen dentro de la partición extendida que acaba de crear.

Use 'n' para nuevo, ingrese 'l' para 'lógico' y 'fdisk' asignará el siguiente espacio disponible, el primer sector debe ser el mismo que antes, en mi muestra, 1687552, el último sector, use el original número, en mi muestra 122880, ingrese el tipo de partición 't' como 'c' (ms-dos).

Repita el proceso para sus otras particiones pero, en la última (p6), deje que 'fdisk' seleccione su 'último sector'.

Verifique sus entradas con 'p' y asegúrese de que solo haya cambiado el último sector en la última partición y nada más, incluido el tipo de partición o 'id'.

Ahora confirme sus cambios con 'w' para escribir la nueva tabla de particiones.

Reinicie y deje que Linux conozca su nuevo tamaño de disco con:

resize2fs /dev/mmcblk0p6

disfrutar,


¿Por qué no solo ddtoda la tarjeta SD cambia el tamaño de las particiones? Duplicar la estructura de una buena Pi SD no es trivial, en particular asegura los límites óptimos para las particiones, que no están en los fdiskvalores predeterminados normales .
Milliways

El problema es modificar las particiones extendidas, por razones desconocidas para mí, al cambiar la marca SD, no pude recrear las particiones modificadas en el sector inicial exacto. La creación de nuevas particiones, probablemente, no estará en el límite, pero ser un estado sólido y no físico no es un problema. La forma fácil debería ser usar Win32DiskImager(o similar): clonar la tarjeta SD, usando fdisk eliminar y recrear en su lugar, en este caso, mmcblk0p6. y luegoresize2fs
fcm

Para cambiar las particiones, primero debe modificar la partición extendida y luego puede extender la partición activa. La razón del límite es que cuando una SD necesita recuperar espacio, lo hace en un Límite de borrado de bloque, generalmente 4M. Si los límites de la partición están desalineados, puede necesitar 2 borrados de bloque. Para una tarjeta SD, debe especificar el tamaño del disco en bloques, no en sectores.
Milliways

Tendría más sentido, ahorraría tiempo y sería menos propenso a errores si en lugar de usar ddpara copiar las particiones con las que acaba de formatear mkfs.ext4, y luego copiar el contenido con rsync. Tenga en cuenta que no está claro anteriormente que necesitará haber creado particiones más grandes primero si desea usar resizefsen el sistema de archivos dentro de la partición .
Ricitos de oro

1

Asegúrese de haber expandido su sistema de archivos para usar todo el espacio disponible.

Abre una terminal y ejecuta sudo raspi-config -> Expand Filesystem

Si este no es el problema, simplemente necesita pasar a un disco más grande. En lugar de comenzar de nuevo (estas instrucciones suponen una Mac pero de lo contrario son muy similares):

Haga una copia de seguridad del disco:

  • Encuentre el nombre del disco: coloque la tarjeta SD en su computadora y ejecútela diskutil list(probablemente disk2... ¡¡no la use disk1!!!)
  • La imagen de copia de seguridad: sudo dd bs=1m if=/dev/disk2 of=/path/to/your/backup.img. Tenga en cuenta que esto llevará mucho tiempo. Para ver el progreso presioneCTRL-T
  • Inserte un nuevo disco y diskutil list
  • Escribir en nuevo disco: sudo dd bs=1m if=/path/to/your/backup.img of=/dev/disk2
  • Expanda el sistema de archivos: inserte en Pi y arranque, sudo raspi-config -> Expand Filesystem

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.