Raspberry Pi keluar dari ruang disk


9

Saya sangat baru di rpi dan saya telah mengikuti banyak tutorial untuk mencoba membuat pengenalan wajah bekerja pada pi saya. Saya sudah kehabisan ruang disk dan sepertinya melalui banyak tutorial, saya sudah dimuat di sampah.

Saya melihat dalam diskusi lain pada partisi bahwa saya dapat menjalankan perintah untuk melihat partisi saya. Inilah yang ditunjukkan.

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

Apakah saya mendapatkan 5 partisi? Bagaimana saya bisa membebaskan ruang?

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

Seberapa besar kartu SD? Apa output dari df-h? Apakah Anda menjalankan sudo raspi-config dan memperluas sistem file root (opsi 1 - saya percaya)?
Steve Robillard

Kartu 8gig, saya memang mengembangkannya.
Forklift

apakah ini "hanya" raspbian atau noobs? Saya tidak tahu untuk apa partisi FAT kedua ini.
Ghanima

Itu adalah NOOBS ya. Apakah saya perlu memulai dari awal? Haruskah saya menginstal ulang tanpa NOOBS?
Forklift

1
Periksa du / |sort -ndulu, apa yang memakan ruang, misalnya log (jika logrotate berfungsi tidak benar) atau cache manajer paket. Baris perintah Steve dengan -shlebih baik untuk melakukannya.
Ghanima

Jawaban:


10

Inilah yang bekerja untuk saya. Anda dapat mencoba serangkaian perintah ini untuk membersihkan file paket yang tidak dibutuhkan:

sudo apt-get autoremove
sudo apt-get clean

Itu tidak akan berhasil, tetapi terkadang membuat saya beberapa ratus MB dibebaskan.

Jika Anda ingin menjalankan raspbian saja, saya sudah sangat beruntung dengan Jessie Lite dan menambahkan paket yang saya butuhkan. Berikut ini contoh pada kartu uSD 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

Itu sepertinya membantu. Saya akan mencobanya besok pagi. Saya melakukan "membersihkan" tetapi tidak autoremove. Terima kasih untuk sarannya.
Forklift

Saya juga akan melihat ke Jessie Lite tapi itu mungkin membuat saya kembali beberapa waktu. Saya berharap ada cara untuk hanya mengunduh snapshot OS dengan hal-hal yang saya butuhkan :)
Forklift

AFAIK, "apt-get autoremove" hanya menghapus file paket yang ketinggalan zaman, sedangkan "apt-get clean" menghapus semuanya. Jika Anda berencana menginstal ulang beberapa paket, tindakan sebelumnya mungkin disarankan untuk menghemat waktu dan bandwidth.
derjoachim

7

Jika Anda menginstal Jessie pada 8gb, lihat aplikasi yang tidak Anda gunakan. Saya menghapus Mathematica, dan memperoleh lebih dari 600 MB dengan

sudo apt-get purge wolfram-engine

Dan paket lain yang mengambil ruang: lifehacker.com/…
nsof

3

Solusi lain adalah menggunakan tongkat USB (32G) atau Kartu SD yang lebih besar (dengan pembaca Kartu SD USB) dan mentransfer sistem file root Anda ke perangkat baru. Lihat Memperluas ukuran root / menggunakan HDD eksternal .

Jika Anda ingin memulai dari awal tanpa kehilangan apa yang Anda miliki di SD Card yang lebih besar , berikut adalah cara untuk menginstal OS Raspbian yang dapat di-boot pada SD Card baru. Setelah menginstal, tukar SD Card baru dengan SD Card boot Anda dan Anda akan memiliki sistem bersih dengan akses ke semua informasi lama Anda.

Install Raspbian on the Raspberry Pi from Linux
  1. SETUP - Persyaratan adalah sistem Linux (tipe) yang dapat terhubung ke internet, menulis ke Kartu micro SD (8G atau lebih besar), program format disk ( fdisk), wgetakan lebih baik dengan funzip( unzipmemerlukan penyimpanan lokal), dan Raspberry Pi. Dengan Kartu SD terpasang ke sistem Linux di pembaca kartu atau di pembaca kartu USB, tentukan alamat perangkat dengan perintah lsblkatau lainnya. Dalam kasus saya, saya akan menggunakan / dev / sdb. Periksa apakah perangkat sudah terpasang dengan dfperintah dan jika demikian, lepaskan dengan umount /dev/sdb?perintah.

    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. FORMAT - Memformat Kartu SD ke satu partisi, ketik fat32 [ sudo fdisk /dev/sdb, subcmd p, (jika bukan tipe Disklabel: dos, subcmd o), subcmd d untuk menghapus partisi lama, subcmd n untuk membuat partisi baru (ambil default, primer p, angka 1, pertama, terakhir), subcmd t untuk tipe (nomor 1, kode c), dan subcmd w untuk menulis].

    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. UNDUH, UNZIP, dan MENULIS - Dimungkinkan untuk mengunduh gambar Raspbian, unzip, dan menginstalnya di Kartu SD sekaligus. The unzipperintah akan bekerja jika gambar Raspbian pertama download dan kemudian membuka ritsleting ( unziptidak akan bekerja dengan masukan pipa, funzipakan). Gambar lebih dari 1.5G, membuka ritsleting lebih dari 4G, butuh beberapa saat untuk mengunduh.

    pi@RPi3:~ $ wget -qO - https://downloads.raspberrypi.org/raspbian_latest | funzip | sudo dd bs=4M of=/dev/sdb
    
  4. VERIFIKASI - Gambar sekarang diinstal dengan dua partisi (boot dan root). Partisi Linux sangat kecil dan harus diperluas. (Dimungkinkan untuk menambahkan lebih banyak partisi jika diperlukan, sebelum meluas.) Sebelum memperluas partisi Linux, CATATAN / dev / sdb2 Mulai Sektor (mis. 137216 dalam kasus saya).

    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 - fdiskPerintah ini dapat digunakan untuk memperluas partisi Linux. Pertama-tama hapus subcmd partisi Linux d, default 2, tambahkan kembali subcmd n, default p, default 2,
    dengan menggunakan Start Sector (sebagaimana dicatat dalam langkah 3), ambil default untuk End Sector, dan tuliskan perubahan subcmd jika senang (atau berhenti tanpa menulis perubahan dengan subcmd q). Jika Sektor Mulai sama dengan sebelumnya, data akan di-tack.

    pi@RPi3:~ $ echo -e "d\n2\nn\np\n2\n137216\n\nw" | sudo fdisk /dev/sdb
    
  6. MENULIS LABEL, CHECK FILESYSTEM, dan EXPAND FILESYSTEM -

    pi@RPi3:~ $ sudo e2label /dev/sdb2 root
    pi@RPi3:~ $ sudo e2fsck -f /dev/sdb2
    pi@RPi3:~ $ sudo resize2fs /dev/sdb2
    
  7. OPSI - Dimungkinkan untuk memasang partisi Kartu SD dan melakukan konfigurasi file, yang berada di luar cakupan ini. Pastikan data syncterpasang dan dilepas jika dipasang sebelum melepaskan Kartu SD dari sistem yang sedang berjalan.

  8. BOOT dan CONFIG - Pasang Kartu SD di Raspberry Pi dan colokkan daya. Pi harus menyala. Konfigurasikan Pi dengan referensi ke https://www.raspberrypi.org/documentation/configuration/ .


1

Mungkin Anda tidak ingin memulai dari awal lagi. Jika Anda kekurangan ruang setelah membersihkan banyak unduhan dan kode sumber yang tidak digunakan, pindah ke kartu memori yang lebih besar.

Anda harus dapat memasang kartu sekunder pada RPI Anda, baik dengan pembawa 'pen drive' dengan soket SD atau serupa.

Instalasi Anda didasarkan pada NOOBS, sehingga Anda selesai dengan beberapa partisi yang tidak lagi digunakan, namun jumlah ruang yang terbuang tidak terlalu signifikan, penghapusannya bisa menyakitkan. Beberapa ruang terbuka dibuat untuk penyelarasan batas.

Buat klon pada kartu SD yang lebih besar (16GB atau lebih).

Menggunakan Win32DiskImager membuat cadangan gambar menggunakan tombol 'baca' pada nama file preferensi Anda, kemudian, gunakan 'tulis' untuk menyalin gambar ke Kartu SD baru.

Pasang kartu baru dan boot. Pada titik ini, Anda harus menjalankan klon dengan ruang kosong asli yang sama.

Menggunakan fdisk, 'p' untuk mencetak partisi saat ini. Salin dan tempel informasi ini ke tempat Anda dapat digunakan sebagai referensi. Akan terlihat seperti berikut (milik Anda akan berbeda):

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

Hapus / dev / mmcblk0p2 dengan 'd' dan kemudian masukkan '2', buat kembali partisi. 'rahasia' adalah menggunakan sektor 'awal' yang identik.

Buat partisi Linux extended dengan 'n', pilih extended, masukkan sektor pertama (dalam sampel saya 1679360) dan biarkan fdiskuntuk memilih sektor terakhir ('default'), lalu masukkan 't' untuk memasukkan partisi 'jenis' partisi ' '2, harus mengetikkan' 85 '(Linux extended).

Sekarang, buat partisi logis yang berada di dalam partisi extended yang baru saja dibuat.

Gunakan 'n' untuk yang baru, masukkan 'l' untuk 'logis' dan 'fdisk' akan menetapkan slot yang tersedia berikutnya, sektor pertama harus sama dengan sebelumnya, pada sampel saya, 1687552, sektor terakhir, gunakan yang asli nomor, pada sampel saya 122880, masukkan tipe partisi 't' sebagai 'c' (ms-dos).

Ulangi proses untuk partisi Anda yang lain, tetapi, pada partisi terakhir (p6), biarkan 'fdisk' memilih 'sektor terakhir' Anda.

Verifikasi entri Anda dengan 'p' dan pastikan hanya sektor terakhir pada partisi terakhir yang berubah dan tidak ada yang lain termasuk jenis partisi atau 'id'.

Sekarang komit perubahan Anda dengan 'w' untuk menulis tabel partisi baru.

Mulai ulang dan beri tahu Linux ukuran disk baru Anda dengan:

resize2fs /dev/mmcblk0p6

Nikmati,


Mengapa tidak ddseluruh kartu SD saja kemudian mengubah ukuran partisi? Menduplikasi struktur Pi SD yang baik adalah non-sepele, khususnya memastikan batas optimal untuk partisi, yang tidak berada pada fdiskstandar normal .
Milliways

Masalahnya adalah untuk memodifikasi partisi extended, untuk alasan yang tidak diketahui bagi saya, ketika mengubah merek SD, saya tidak dapat membuat ulang partisi yang dimodifikasi pada sektor awal yang tepat. Penciptaan partisi baru mungkin, tidak dalam batas tetapi, menjadi solid state dan bukan fisik bukanlah masalah. Cara mudah seharusnya menggunakan Win32DiskImager(atau serupa): mengkloning kartu SD, menggunakan fdisk hapus dan buat kembali di tempat, dalam hal ini, mmcblk0p6. dan kemudianresize2fs
fcm

Untuk mengubah partisi, Anda harus terlebih dahulu memodifikasi partisi extended maka Anda dapat memperpanjang partisi aktif. Alasan untuk batas adalah bahwa ketika SD perlu memulihkan ruang ia melakukannya pada Batas Blok Erase - biasanya 4M. Jika batas-batas partisi tidak selaras, Anda dapat memerlukan 2 blok penghapusan. Untuk kartu SD, Anda harus menentukan ukuran disk dalam blok bukan sektor.
Milliways

Akan lebih masuk akal, menghemat waktu, dan lebih sedikit kemungkinan untuk melakukan kesalahan jika daripada menggunakan dduntuk menyalin partisi yang baru saja Anda format dengan mereka mkfs.ext4, dan kemudian disalin dengan konten rsync. Catatan tidak jelas di atas bahwa Anda akan perlu untuk menciptakan lebih besar partisi pertama jika Anda ingin menggunakan resizefspada filesystem dalam partisi .
goldilocks

1

Pastikan Anda telah memperluas sistem file Anda untuk menggunakan semua ruang yang tersedia.

Buka terminal dan jalankan sudo raspi-config -> Expand Filesystem

Jika ini bukan masalah maka Anda hanya perlu pindah ke disk yang lebih besar. Alih-alih memulai dari awal (instruksi ini menggunakan Mac tetapi sangat mirip):

Cadangkan disk:

  • Temukan nama disk: masukkan kartu SD ke komputer Anda dan jalankan diskutil list(mungkin disk2... jangan gunakan disk1!!!)
  • Gambar cadangan: sudo dd bs=1m if=/dev/disk2 of=/path/to/your/backup.img. Catatan , ini akan memakan waktu lama. Untuk melihat kemajuan, tekanCTRL-T
  • Masukkan disk baru dan diskutil list
  • Menulis ke disk baru: sudo dd bs=1m if=/path/to/your/backup.img of=/dev/disk2
  • Expand filesystem: Masukkan ke Pi dan boot, sudo raspi-config -> Expand Filesystem

1
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.