Raspberry Pi esaurito lo spazio su disco


9

Sono ridicolmente nuovo su rpi e ho seguito molti tutorial per provare a far funzionare il riconoscimento facciale sul mio pi. Ho esaurito lo spazio su disco e sembra che dopo aver seguito tonnellate di tutorial, ho caricato su junk.

Ho visto in un'altra discussione sulle partizioni che posso eseguire un comando per vedere il mio. Ecco cosa mostra.

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

Ho ottenuto in qualche modo 5 partizioni? Come posso liberare spazio?

EDIT: output di 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

Quanto è grande la scheda SD? Qual è l'output di df -h? Hai eseguito sudo raspi-config ed espanso il file system di root (opzione 1 - credo)?
Steve Robillard,

8gig card, l'ho fatto espandere.
Carrello elevatore

è questo "solo" raspbian o noobs? Non so a cosa serva questa seconda partizione FAT.
Ghanima

È NOOBS sì. Devo ricominciare? Devo reinstallare senza NOOBS?
Carrello elevatore

1
Controlla du / |sort -nprima cosa consuma spazio, ad esempio i log (se logrotate non funziona correttamente) o la cache del gestore pacchetti. La riga di comando di Steve con il -shè meglio farlo.
Ghanima

Risposte:


10

Ecco cosa funziona per me. È possibile provare questo set di comandi per eliminare i file di pacchetto non necessari:

sudo apt-get autoremove
sudo apt-get clean

Non funzionerà per miracolo, ma a volte mi libera un paio di centinaia di MB.

Se vuoi eseguire solo raspbian, ho avuto molta fortuna con Jessie Lite e aggiungendo i pacchetti di cui ho bisogno. Ecco un esempio su una scheda uSD da 8 GB:

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

Sembra utile. Ci proverò al mattino. Ho fatto "pulito" ma non autoremove. Grazie per il suggerimento
Carrello elevatore

Esaminerò anche Jessie Lite, ma questo potrebbe tornare indietro. Vorrei che ci fosse un modo per scaricare solo istantanee del sistema operativo con le cose di cui ho bisogno :)
Forklift

AFAIK, "apt-get autoremove" rimuove solo i file del pacchetto non aggiornati, mentre "apt-get clean" li rimuove tutti. Se si prevede di reinstallare alcuni pacchetti, potrebbe essere consigliabile eseguire la precedente azione per risparmiare tempo e testimoni di banda.
derjoachim,

7

Se hai installato Jessie su 8 GB, guarda le applicazioni che non usi. Ho rimosso Mathematica e ho guadagnato più di 600 MB con

sudo apt-get purge wolfram-engine

E altri pacchetti che occupano spazio: lifehacker.com/...
NSOF

3

Un'altra soluzione sarebbe quella di utilizzare una chiavetta USB (32G) più grande o una scheda SD (con un lettore di schede SD USB) e trasferire il filesystem di root sul nuovo dispositivo. Vedi Espansione delle dimensioni del root / utilizzo di un HDD esterno .

Se vuoi ricominciare da capo senza perdere ciò che hai su una scheda SD più grande , ecco un modo per installare il sistema operativo Raspbian avviabile su una nuova scheda SD. Dopo l'installazione, scambia la nuova scheda SD con la scheda SD di avvio e avrai un sistema pulito con accesso a tutte le tue vecchie informazioni.

Install Raspbian on the Raspberry Pi from Linux
  1. SETUP - I requisiti sono un sistema Linux (tipo) in grado di connettersi a Internet, scrivere sulla scheda micro SD (8G o superiore), un programma in formato disco ( fdisk), wgetsarebbe gradito con funzip( unziprichiede memoria locale) e un Raspberry Pi. Con la scheda SD collegata al sistema Linux nel lettore di schede o nel lettore di schede USB, determinare l'indirizzo del dispositivo con lsblko altri comandi. Nel mio caso, userò / dev / sdb. Controllare se il dispositivo è montato con il dfcomando e, in tal caso, smontare con il 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 - Formatta la scheda SD su una partizione, digita fat32 [ sudo fdisk /dev/sdb, subcmd p, (se non tipo Disklabel: dos, subcmd o), subcmd d per eliminare vecchie partizioni, subcmd n per creare una nuova partizione (prendi le impostazioni predefinite, primaria p, numero 1, primo, ultimo), subcmd t per tipo (numero 1, codice c) e subcmd w per scrivere].

    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. DOWNLOAD, UNZIP e WRITE - È possibile scaricare l'immagine Raspbian, decomprimerla e installarla contemporaneamente sulla scheda SD. Il unzipcomando funzionerà se l'immagine Raspbian viene prima scaricata e quindi decompressa ( unzipnon funzionerà con l'input inoltrato, funzipfunzionerà). L'immagine è più di 1,5 G, decompressa oltre 4 G, ci vorrà un po 'di tempo per il download.

    pi@RPi3:~ $ wget -qO - https://downloads.raspberrypi.org/raspbian_latest | funzip | sudo dd bs=4M of=/dev/sdb
    
  4. VERIFICA - L'immagine è ora installata con due partizioni (boot e root). La partizione Linux è molto piccola e dovrebbe essere espansa. (È possibile aggiungere più partizioni se sono necessarie, prima di espandere.) Prima di espandere la partizione Linux, NOTE / dev / sdb2 Start Sector (ovvero 137216 nel mio 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. EXPAND PARTITION - Il fdiskcomando può essere utilizzato per espandere la partizione Linux. Prima cancella la partizione Linux subcmd d, default 2, aggiungila nuovamente subcmd n, default p, default 2,
    usando il settore Start (come indicato al passaggio 3), prendi il default per il settore End e scrivi le modifiche subcmd w se felice (o esci senza scrivere le modifiche con subcmd q). Se il settore Start è lo stesso di prima, i dati saranno inattaccabili.

    pi@RPi3:~ $ echo -e "d\n2\nn\np\n2\n137216\n\nw" | sudo fdisk /dev/sdb
    
  6. SCRIVI ETICHETTA, CONTROLLO FILESYSTEM ed ESPANDI FILESYSTEM -

    pi@RPi3:~ $ sudo e2label /dev/sdb2 root
    pi@RPi3:~ $ sudo e2fsck -f /dev/sdb2
    pi@RPi3:~ $ sudo resize2fs /dev/sdb2
    
  7. OPZIONI - È possibile montare le partizioni della scheda SD ed eseguire configurazioni di file che vanno oltre questo ambito. Assicurarsi che i dati siano synce smontare se montati prima di rimuovere la scheda SD dal sistema in esecuzione.

  8. BOOT e CONFIG - Montare la scheda SD nel Raspberry Pi e collegare l'alimentazione. Il Pi dovrebbe avviarsi. Configurare il Pi con riferimento a https://www.raspberrypi.org/documentation/configuration/ .


1

Probabilmente non vuoi ricominciare tutto da capo. Se sei a corto di spazio dopo aver pulito più download e il codice sorgente inutilizzato, passa a una scheda di memoria più grande.

Devi essere in grado di montare una scheda secondaria sul tuo RPI, con un supporto 'pen drive' con presa SD o simile.

La tua installazione si basa su NOOBS, quindi hai finito con alcune partizioni non più in uso, tuttavia la quantità di spazio sprecato non è così significativa, l'eliminazione può essere dolorosa. Alcuni spazi aperti vengono creati per l'allineamento dei confini.

Crea un clone su una scheda SD più grande (almeno 16 GB).

Usando Win32DiskImager creare un backup dell'immagine usando il pulsante 'leggi' su un nome file di tua preferenza, quindi usa 'scrivi' per copiare l'immagine sulla nuova scheda SD.

Montare la nuova scheda e avviare. A questo punto, devi eseguire un clone con lo stesso spazio vuoto originale.

Usando fdisk, 'p' stampa la partizione corrente. Copia e incolla queste informazioni dove puoi usarle come riferimento. Apparirà come segue (il tuo sarà diverso):

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

Elimina / dev / mmcblk0p2 con 'd' e quindi inserisci '2', ricrea nuovamente la partizione. il "segreto" è usare lo stesso settore "start".

Crea la partizione estesa Linux con 'n', seleziona estesa, inserisci il primo settore (nel mio esempio 1679360) e lascia fdiskselezionare l'ultimo settore ('default'), quindi inserisci 't' per inserire la partizione 'tipo' di 'partizione '2, dovrebbe essere il tipo' 85 '(Linux esteso).

Ora crea le partizioni logiche che risiedono all'interno della partizione estesa appena creata.

Usa 'n' per nuovo, inserisci 'l' per 'logico' e 'fdisk' assegnerà il prossimo slot disponibile, il primo settore deve essere lo stesso di prima, sul mio campione, 1687552, l'ultimo settore, usa l'originale numero, sul mio campione 122880, inserisci la partizione 't' come 'c' (ms-dos).

Ripeti la procedura per le altre partizioni ma, sull'ultima (p6), lascia che 'fdisk' selezioni il tuo 'ultimo settore'.

Verifica le voci con 'p' e assicurati che sia cambiato solo l'ultimo settore dell'ultima partizione e nient'altro incluso il tipo di partizione o 'id'.

Ora esegui il commit delle modifiche con 'w' per scrivere la nuova tabella delle partizioni.

Riavvia e fai sapere a Linux la tua nuova dimensione del disco con:

resize2fs /dev/mmcblk0p6

godere,


Perché non solo ddl'intera scheda SD quindi ridimensionare le partizioni ?. La duplicazione della struttura di un buon Pi SD non è banale, in particolare garantendo i limiti ottimali per le partizioni, che non sono sui fdiskvalori predefiniti normali .
Milliways,

Il problema è di modificare le partizioni estese, per motivi sconosciuti, quando ho cambiato il marchio SD, non sono stato in grado di ricreare le partizioni modificate sul settore iniziale esatto. La creazione di nuove partizioni, probabilmente, non sarà al limite, ma essere allo stato solido e non fisico non è un problema. Il modo più semplice dovrebbe essere quello di usare Win32DiskImager(o simili): clonare la scheda SD, usando fdisk delete e ricreare sul posto, in questo caso, mmcblk0p6. e poiresize2fs
fcm

Per modificare le partizioni devi prima modificare la partizione estesa, quindi puoi estendere la partizione attiva. Il motivo del limite è che quando una SD ha bisogno di recuperare spazio, lo fa su un confine di blocco di cancellazione - di solito 4M. Se i confini della partizione non sono allineati, è possibile che siano necessarie 2 cancellazioni di blocco. Per una scheda SD è necessario specificare la dimensione del disco in blocchi non settori.
Milliways,

Avrebbe più senso, risparmierebbe tempo e sarebbe meno soggetto a errori se invece di usare ddper copiare le partizioni con cui le hai appena formattate mkfs.ext4e poi copiate nel contenuto con rsync. Nota non è chiaro sopra che sarà necessario aver prima creato partizioni più grandi se si desidera utilizzare resizefssul filesystem all'interno della partizione .
Riccioli d'oro

1

Assicurati di aver espanso il tuo file system per utilizzare tutto lo spazio disponibile.

Apri un terminale ed esegui sudo raspi-config -> Expand Filesystem

Se questo non è il problema, devi semplicemente spostarti su un disco più grande. Invece di ricominciare (queste istruzioni presuppongono un Mac ma sono molto simili in caso contrario):

Eseguire il backup del disco:

  • Trova il nome del disco: inserisci la scheda SD nel tuo computer ed esegui diskutil list(probabilmente disk2... non usare disk1!!!)
  • Immagine di backup: sudo dd bs=1m if=/dev/disk2 of=/path/to/your/backup.img. Nota , questo richiederà molto tempo. Per vedere i progressi premereCTRL-T
  • Inserisci nuovo disco e diskutil list
  • Scrivi sul nuovo disco: sudo dd bs=1m if=/path/to/your/backup.img of=/dev/disk2
  • Espandi filesystem: inserisci in Pi e avvia, sudo raspi-config -> Expand Filesystem

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.