Raspberry Pi sem espaço em disco


9

Sou ridiculamente novo no rpi e tenho acompanhado muitos tutoriais para tentar obter o reconhecimento facial trabalhando no meu pi. Eu fiquei sem espaço em disco e parece que, seguindo vários tutoriais, carreguei o lixo.

Vi em outra discussão sobre partições que posso executar um comando para ver o meu. Aqui está o que 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

De alguma forma eu consegui 5 partições? Como posso liberar espaço?

EDIT: saída 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

Qual é o tamanho do cartão SD? Qual é a saída de df -h? Você executou o sudo raspi-config e expandiu o sistema de arquivos raiz (opção 1 - acredito)?
precisa saber é o seguinte

Cartão 8gig, eu expandi-lo.
Empilhadeira

isso é "apenas" raspbian ou noobs? Não sei para que serve esta segunda partição FAT.
Ghanima

É NOOBS sim. Preciso começar de novo? Devo reinstalar sem NOOBS?
Empilhadeira

11
Verifique du / |sort -nprimeiro o que está consumindo espaço, por exemplo, logs (se o logrotate não funcionar corretamente) ou o cache do gerenciador de pacotes. A linha de comando de Steve com o -shé melhor fazê-lo.
Ghanima

Respostas:


10

Aqui está o que funciona para mim. Você pode tentar este conjunto de comandos para limpar arquivos de pacotes desnecessários:

sudo apt-get autoremove
sudo apt-get clean

Não vai funcionar um milagre, mas às vezes me liberam algumas centenas de MB.

Se você deseja executar apenas raspbian, tive muita sorte com Jessie Lite e adicionei pacotes conforme necessário. Aqui está um exemplo em um cartão 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

Isso parece útil. Vou tentar isso de manhã. Eu fiz "limpo", mas não removi automaticamente. Obrigado pela sugestão.
Empilhadeira

Também vou dar uma olhada em Jessie Lite, mas isso pode me atrasar um pouco. Eu gostaria que houvesse uma maneira de apenas instantâneos de download de OS com necessidade material que eu :)
Empilhadeira

AFAIK, "apt-get autoremove" remove apenas arquivos de pacote desatualizados, enquanto "apt-get clean" remove todos eles. Se você planeja reinstalar alguns pacotes, a ação anterior pode ser aconselhável para economizar tempo e largura de banda.
precisa saber é o seguinte

7

Se você instalou Jessie em um 8gb, observe os aplicativos que não usa. Eu removi o Mathematica e ganhei mais de 600 MB com

sudo apt-get purge wolfram-engine

E outros pacotes que ocupam espaço: lifehacker.com/…
nsof 17/01/18

3

Outra solução seria usar um cartão USB maior (32G) ou cartão SD (com um leitor de cartão SD USB) e transferir o sistema de arquivos raiz para o novo dispositivo. Consulte Expandindo o tamanho da raiz / usando o HDD externo .

Se você deseja recomeçar sem perder o que possui em um cartão SD maior , aqui está uma maneira de instalar o Raspbian OS inicializável em um novo cartão SD. Após a instalação, troque o novo cartão SD pelo seu cartão SD de inicialização e você terá um sistema limpo com acesso a todas as suas informações antigas.

Install Raspbian on the Raspberry Pi from Linux
  1. CONFIGURAÇÃO - Os requisitos são um sistema Linux (tipo) capaz de se conectar à Internet, gravar no cartão micro SD (8G ou superior), um programa em formato de disco ( fdisk), wgetseria agradável funzip( unziprequer armazenamento local) e um Raspberry Pi. Com o cartão SD conectado ao sistema Linux no leitor de cartão ou USB, determine o endereço do dispositivo com os lsblkoutros comandos. No meu caso, vou usar / dev / sdb. Verifique se o dispositivo está montado com o dfcomando e, se estiver, desmonte com o 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 - Formate o cartão SD em uma partição, digite fat32 [ sudo fdisk /dev/sdb, subcmd p, (se não for o tipo de rótulo de disco: dos, subcmd o), subcmd d para excluir partições antigas, subcmd n para criar uma nova partição (siga os padrões, primário p, número 1, primeiro, último), subcmd t para o tipo (número 1, código c) e subcmd w para escrever].

    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 - É possível baixar a imagem Raspbian, descompactá-la e instalá-la no cartão SD de uma só vez. O unzipcomando funcionará se a imagem Raspbian for baixada primeiro e depois descompactada ( unzipnão funcionará com entrada canalizada, funzipserá). A imagem é mais do que 1.5G, descompactada em 4G, levará algum tempo para fazer o download.

    pi@RPi3:~ $ wget -qO - https://downloads.raspberrypi.org/raspbian_latest | funzip | sudo dd bs=4M of=/dev/sdb
    
  4. VERIFICAR - A imagem agora está instalada com duas partições (inicialização e raiz). A partição Linux é muito pequena e deve ser expandida. (É possível adicionar mais partições, se necessário, antes de expandir.) Antes de expandir a partição Linux, NOTE / dev / sdb2 Start Sector (por exemplo, 137216 no meu 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 PARTIÇÃO - O fdiskcomando pode ser usado para expandir a partição Linux. Primeiro exclua a partição Linux subcmd d, padrão 2, adicione-a novamente subcmd n, padrão p, padrão 2,
    usando o Setor inicial (conforme observado na etapa 3), use o padrão para o setor final e escreva as alterações subcmd w se feliz (ou saia sem escrever as alterações com subcmd q). Se o setor inicial for o mesmo de antes, os dados estarão em sintonia.

    pi@RPi3:~ $ echo -e "d\n2\nn\np\n2\n137216\n\nw" | sudo fdisk /dev/sdb
    
  6. ESCREVA ETIQUETA, VERIFICAÇÃO DO ARQUIVO DO SISTEMA E EXPANDIR O SISTEMA DO ARQUIVO -

    pi@RPi3:~ $ sudo e2label /dev/sdb2 root
    pi@RPi3:~ $ sudo e2fsck -f /dev/sdb2
    pi@RPi3:~ $ sudo resize2fs /dev/sdb2
    
  7. OPÇÕES - É possível montar as partições do cartão SD e fazer configurações de arquivos, que estão além deste escopo. Verifique se os dados estão synce desmonte se estiverem montados antes de remover o cartão SD do sistema em execução.

  8. BOOT and CONFIG - Monte o cartão SD no Raspberry Pi e conecte a energia. O Pi deve inicializar. Configure o Pi com referência a https://www.raspberrypi.org/documentation/configuration/ .


1

Provavelmente você não quer começar tudo de novo. Se você estiver com pouco espaço após limpar seus vários downloads e o código-fonte não utilizado, vá para um cartão de memória maior.

Você precisa montar um cartão secundário no seu RPI, com uma portadora 'pen drive' com soquete SD ou similar.

Sua instalação é baseada no NOOBS; portanto, você terminou com algumas partições que não estão mais em uso; no entanto, a quantidade de espaço desperdiçado não é tão significativa, a eliminação pode ser dolorosa. Alguns espaços abertos são criados para o alinhamento dos limites.

Crie um clone em um cartão SD maior (16 GB ou mais).

Usando o Win32DiskImager, crie um backup de imagem usando o botão 'ler' em um nome de arquivo de sua preferência e, em seguida, use 'write' para copiar a imagem para o novo cartão SD.

Monte a nova placa e inicie. Neste ponto, você deve estar executando um clone com o mesmo espaço vazio original.

Usando fdisk, 'p' imprime a partição atual. Copie e cole essas informações para onde você pode usar como referência. Terá a seguinte aparência (a sua 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

Exclua / dev / mmcblk0p2 com 'd' e digite '2', recrie a partição novamente. o 'segredo' é usar o setor 'start' idêntico.

Crie a partição estendida do Linux com 'n', selecione estendida, insira o primeiro setor (no meu exemplo 1679360) e deixe fdiskselecionar o último setor ('padrão'), depois digite 't' para inserir a partição 'type' of 'partition '2, deve ser do tipo' 85 '(Linux estendido).

Agora, crie as partições lógicas que residem dentro da partição estendida recém-criada.

Use 'n' para novo, digite 'l' para 'lógico' e 'fdisk' atribuirá o próximo slot disponível; o primeiro setor deve ser o mesmo que antes, na minha amostra, 1687552, o último setor, use o original number, no meu exemplo 122880, digite o tipo de partição 't' como 'c' (ms-dos).

Repita o processo para suas outras partições, mas, na última (p6), deixe 'fdisk' selecionar seu 'último setor'.

Verifique suas entradas com 'p' e verifique se apenas o último setor na última partição foi alterado e nada mais, incluindo o tipo de partição ou 'id'.

Agora confirme suas alterações com 'w' para escrever a nova tabela de partição.

Reinicialize e informe ao Linux o seu novo tamanho de disco com:

resize2fs /dev/mmcblk0p6

desfrutar,


Por que não apenas ddo cartão SD inteiro redimensiona as partições ?. A duplicação da estrutura de um bom Pi SD não é trivial, garantindo em particular os limites ideais para partições, que não estão nos fdiskpadrões normais .
Milliways 17/01/16

O problema é modificar as partições estendidas, por motivo desconhecido para mim, ao mudar a marca SD, não consegui recriar as partições modificadas no setor inicial exato. A criação de novas partições provavelmente não estará no limite, mas estar em estado sólido e não físico não é um problema. A maneira mais fácil deve ser usar Win32DiskImager(ou similar): clonar o cartão SD, usando fdisk excluir e recriar no local, neste caso, mmcblk0p6. e entãoresize2fs
fcm 17/01

Para alterar as partições, primeiro é necessário modificar a partição estendida, e você pode estender a partição ativa. A razão para o limite é que, quando um SD precisa recuperar espaço, ele o faz em um Limite do bloco de exclusão - geralmente 4M. Se os limites da partição estiverem desalinhados, você poderá precisar de 2 apagamentos de bloco. Para um cartão SD, você deve especificar o tamanho do disco em blocos e não em setores.
Milliways 17/01/16

Faria mais sentido, economizaria tempo e seria menos propenso a erros se, em vez de usar ddpara copiar as partições com as quais você as formatou mkfs.ext4, e depois copiasse o conteúdo com rsync. A nota não é clara acima: você precisará criar partições maiores primeiro se desejar usar resizefsno sistema de arquivos dentro da partição .
goldilocks

1

Verifique se você expandiu seu sistema de arquivos para usar todo o espaço disponível.

Abra um terminal e execute sudo raspi-config -> Expand Filesystem

Se esse não for o problema, basta mover para um disco maior. Em vez de começar de novo (essas instruções assumem um Mac, mas são muito similares):

Faça backup do disco:

  • Encontre o nome do disco: coloque o cartão SD no seu computador e execute diskutil list(provavelmente disk2... não use disk1!!!)
  • Imagem de backup: sudo dd bs=1m if=/dev/disk2 of=/path/to/your/backup.img. Observe que isso levará um longo tempo. Para ver o progresso, pressioneCTRL-T
  • Insira um novo disco e diskutil list
  • Escreva no novo disco: sudo dd bs=1m if=/path/to/your/backup.img of=/dev/disk2
  • Expanda o sistema de arquivos: insira no Pi e inicialize, sudo raspi-config -> Expand Filesystem

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.