Raspberry Piのディスク容量不足


9

私は途方もなくrpiに不慣れで、自分のpiで顔認識を機能させるために、多くのチュートリアルに従ってきました。ディスク容量が足りなくなったので、次の大量のチュートリアルを実行して、ジャンクに負荷をかけたようです。

私は自分のコマンドを実行してパーティションを確認できる別のディスカッションで見ました。これが示すものです。

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

どういうわけか5つのパーティションを取得しましたか?どうすればスペースを解放できますか?

編集: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

SDカードの大きさは?df -hの出力は何ですか?sudo raspi-configを実行してルートファイルシステムを拡張しましたか(オプション1-信じます)?
Steve Robillard

8ギグカード、私はそれを拡大しました。
フォークリフト2016年

これは「ただの」ラズビア人かnoobsですか?この2番目のFATパーティションの用途がわかりません。
ガニマ

ITはNOOBSです。最初からやり直す必要がありますか?NOOBSなしで再インストールする必要がありますか?
フォークリフト2016年

1
チェックしdu / |sort -n、例えば、ログスペースを食べているものを、最初の(logrotateのは適切ではない動作するかどうか)、またはパッケージマネージャのキャッシュ。Steveのコマンドラインは、-shそうすることをお勧めします。
ガニマ

回答:


10

ここに私のために働くものがあります。次のコマンドセットを試して、不要なパッケージファイルを削除できます。

sudo apt-get autoremove
sudo apt-get clean

それは奇跡を起こさないでしょうが、時々私に数百MBを解放してもらいます。

raspbianだけを実行したい場合は、Jessie Liteを使用して、必要に応じてパッケージを追加できました。以下は8GB uSDカードの例です:

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

それは役に立ちそうです。朝にしてみます。「クリーン」にしましたが、自動削除しませんでした。提案をありがとう。
フォークリフト2016年

Jessie Liteについても調べますが、それによってしばらく時間がかかるかもしれません。OSのスナップショットを必要なものだけでダウンロードする方法があったらいいのに:)
フォークリフト

申し訳ありませんが、「apt-get autoremove」では古いパッケージファイルのみが削除されますが、「apt-get clean」ではすべて削除されます。一部のパッケージを再インストールする予定の場合は、時間と帯域幅を節約するために、前のアクションをお勧めします。
derjoachim

7

Jessieを8GBにインストールした場合は、使用していないアプリケーションを確認してください。私はMathematicaを削除し、600 MB以上を獲得しました

sudo apt-get purge wolfram-engine

そしてスペースを取る他のパッケージ:lifehacker.com/…– nsof 18
1

3

別の解決策は、より大きな(32G)USBスティックまたはSDカード(USB SDカードリーダー付き)を使用して、ルートファイルシステムを新しいデバイスに転送することです。ルートのサイズの拡張/外付けHDDの使用を参照してください。

より大きなSDカードにあるものを失うことなく最初からやり直したい場合は、新しいSDカードに起動可能なRaspbian OSをインストールする方法を次に示します。インストール後、新しいSDカードをブートSDカードと交換すると、すべての古い情報にアクセスできるクリーンなシステムになります。

Install Raspbian on the Raspberry Pi from Linux
  1. SETUP -要求事項は、Linux、インターネットに接続することができ(タイプ)システム、マイクロSDカードへの書き込み(8G以上)、ディスクフォーマットプログラム(あるfdisk)、wgetといいだろうfunzipunzip、ローカルストレージが必要)とラズベリーパイ カードリーダーまたはUSBカードリーダーでLinuxシステムに接続されたSDカードを使用して、lsblkまたはその他のコマンドでデバイスアドレスを確認します。私の場合、/ dev / sdbを使用します。dfコマンドでデバイスがマウントされているかどうかを確認し、マウントされている場合はコマンドでマウント解除しumount /dev/sdb?ます。

    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-SDカードを1つのパーティションにフォーマットし、fat32 [ sudo fdisk /dev/sdb、subcmd pを入力します(Disklabelタイプでない場合:dos、subcmd o)、subcmd dは古いパーティションを削除し、subcmd nは新しいパーティションを作成します(デフォルト、プライマリp、番号1、最初、最後)、タイプのサブコマンドt(番号1、コードc)、および書き込むサブコマンドw]。

    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. ダウンロード、解凍、書き込み-Raspbianイメージをダウンロードして解凍し、SDカードに一度にインストールできます。unzipRaspbian画像が最初に解凍し、その後ダウンロードされている場合、コマンドは(動作するunzip、パイプ入力で動作しませんfunzipであろう)。画像は1.5Gを超えており、4Gで解凍されています。ダウンロードには時間がかかります。

    pi@RPi3:~ $ wget -qO - https://downloads.raspberrypi.org/raspbian_latest | funzip | sudo dd bs=4M of=/dev/sdb
    
  4. 確認-イメージは2つのパーティション(ブートとルート)でインストールされます。Linuxパーティションは非常に小さいため、拡張する必要があります。(拡張する前に、必要に応じてパーティションを追加することもできます。)Linuxパーティションを拡張する前に、/ dev / sdb2セクターを開始(つまり、私の場合は137216)に注意してください。

    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-このfdiskコマンドは、Linuxパーティションを拡張するために使用できます。最初にLinuxパーティションサブコマンドd、デフォルト2を削除し、それをサブコマンドn、デフォルトp、デフォルト2に戻します
    (手順3で説明したように)開始セクターを使用し、終了セクターのデフォルトを使用して、変更サブコマンドwを書き込みます。幸せ(またはsubcmd qで変更を書き込まずに終了)。開始セクターが以前と同じである場合、データは適切です。

    pi@RPi3:~ $ echo -e "d\n2\nn\np\n2\n137216\n\nw" | sudo fdisk /dev/sdb
    
  6. ラベルの書き込み、ファイルシステムのチェック、ファイルシステムの拡張-

    pi@RPi3:~ $ sudo e2label /dev/sdb2 root
    pi@RPi3:~ $ sudo e2fsck -f /dev/sdb2
    pi@RPi3:~ $ sudo resize2fs /dev/sdb2
    
  7. オプション-SDカードのパーティションをマウントしてファイル構成を行うことは可能ですが、この範囲を超えています。sync実行中のシステムからSDカードを取り外す前に、データがマウントされている場合はマウント解除してください。

  8. 起動と設定-SDカードをRaspberry Piにマウントし、電源を差し込みます。Piが起動するはずです。https://www.raspberrypi.org/documentation/configuration/を参照してPiを構成します


1

おそらく、最初からやり直したくないでしょう。複数のダウンロードと未使用のソースコードをクリーンアップした後にスペースが不足する場合は、より大きなメモリカードに移動してください。

SDソケットを備えた「ペンドライブ」キャリアまたは同様のものを使用して、RPIにセカンダリカードをマウントできる必要があります。

インストールはNOOBSに基づいているため、使用されなくなったいくつかのパーティションで終了しましたが、無駄なスペースの量はそれほど多くないため、削除するのは面倒です。境界整列のためにいくつかのオープンスペースが作成されます。

より大きなSDカード(16GB以上)にクローンを作成します。

Win32DiskImagerを使用して、お好みのファイル名の「読み取り」ボタンを使用してイメージバックアップを作成し、次に「書き込み」を使用してイメージを新しいSDカードにコピーします。

新しいカードをマウントして起動します。この時点で、元の同じ空のスペースでクローンを実行している必要があります。

fdisk、「p」を使用すると、現在のパーティションが出力されます。この情報を参照として使用できる場所にコピーして貼り付けます。次のようになります(実際のものは異なります)。

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

/ d / mmcblk0p2を「d」で削除してから「2」を入力し、パーティションを再作成します。「秘密」は、同一の「開始」セクターを使用することです。

「n」を使用してLinux拡張パーティションを作成し、拡張を選択し、最初のセクター(サンプル1679360)fdiskを入力し、最後のセクター(「デフォルト」)を選択してから、「t」を入力して「partition」のパーティション「タイプ」を入力します。 '2はタイプ' 85 'でなければなりません(Linux拡張)。

次に、作成した拡張パーティション内に存在する論理パーティションを作成します。

新規には「n」を使用し、「論理」には「l」を入力し、「fdisk」は次に使用可能なスロットを割り当てます。最初のセクターは以前と同じでなければなりません。私のサンプルでは、​​1687552、最後のセクター、オリジナルを使用します番号、私のサンプル122880で、パーティション「t」タイプを「c」(ms-dos)と入力します。

他のパーティションでも同じ手順を繰り返しますが、最後のパーティション(p6)では、「fdisk」で「最後のセクター」を選択します。

'p'を使用してエントリを確認し、最後のパーティションの最後のセクターのみが変更され、パーティションタイプや 'id'を含む他のものが何もないことを確認してください。

ここで 'w'を使用して変更をコミットし、新しいパーティションテーブルを書き込みます。

再起動してLinuxに新しいディスクサイズを知らせます:

resize2fs /dev/mmcblk0p6

楽しい、


ddSDカード全体だけでパーティションのサイズを変更しないのはなぜですか?優れたPi SDの構造を複製することは簡単ではありませんfdisk。特に、通常のデフォルトにはないパーティションの最適な境界を確保することは重要です。
ミリウェイズ2016年

問題は、拡張パーティションを変更することです。不明な理由で、SDブランドを変更すると、変更されたパーティションを正確な初期セクターに再作成できませんでした。新しいパーティションの作成は、おそらく境界にはありませんが、ソリッドステートで物理的ではないことは問題ではありません。簡単な方法は、Win32DiskImager(または同様の)を使用fdisk することです。SDカードのクローンを作成し、削除して再作成して、この場合はmmcblk0p6にします。それからresize2fs
fcm

パーティションを変更するには、まず拡張パーティションを変更する必要があります。次に、アクティブパーティションを拡張できます。境界の理由は、SDが領域を回復する必要がある場合、消去ブロック境界(通常4M)で回復するためです。パーティションの境界がずれている場合は、2ブロックの消去が必要になることがあります。SDカードの場合、セクターではなくブロック単位でディスクサイズを指定する必要があります。
ミリウェイズ2016年

ddフォーマットしたパーティションをmkfs.ext4コピーしてでコンテンツにコピーするよりも、意味があり、時間を節約でき、エラーが発生しにくくなりますrsyncパーティション内のファイルシステムで使用する場合は、最初に大きなパーティションを作成する必要があることは、上記では明確ではありません。resizefs
ゴルディロックス

1

使用可能なすべてのスペースを使用するようにファイルシステムを拡張していることを確認してください。

ターミナルを開いて実行します sudo raspi-config -> Expand Filesystem

これが問題でない場合は、より大きなディスクに移動する必要があります。最初からやり直す代わりに(これらの手順はMacを想定していますが、それ以外は非常に似ています):

ディスクをバックアップします。

  • ディスク名を見つけます:SDカードをコンピューターに挿入して実行しますdiskutil list(おそらくdisk2...使用しないでくださいdisk1!!!)
  • 代替画像:sudo dd bs=1m if=/dev/disk2 of=/path/to/your/backup.img注:これにはかなり時間がかかります。進行状況を表示するにはCTRL-T
  • 新しいディスクを挿入して diskutil list
  • 新しいディスクに書き込む: sudo dd bs=1m if=/path/to/your/backup.img of=/dev/disk2
  • ファイルシステムを展開:Piに挿入して起動し、 sudo raspi-config -> Expand Filesystem

1
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.