題:
Raspberry Pi磁盤空間不足
Forklift
2016-01-17 03:20:42 UTC
view on stackexchange narkive permalink

我對rpi感到陌生,並且我一直在關注許多教程,以嘗試在我的pi上實現人臉識別。我的磁盤空間用完了,似乎通過大量的教程,我已經裝滿了垃圾。

我在另一個有關分區的討論中看到,我可以運行命令來查看我的磁盤。這就是它所顯示的。

  pi @ raspberrypi〜$ sudo fdisk -lDisk / dev / mmcblk0:7969 MB,7969177600 bytes4磁頭,16個扇區/磁道,243200個柱面,總共15564800個扇區單位= 1 * 512 = 512扇區字節扇區大小(邏輯/物理):512字節/ 512字節I / O大小(最小/最佳):512字節/ 512字節磁盤標識符:0x000c27cb設備啟動起始塊ID系統/ 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 6pre224 83 Linux  

我是否以某種方式獲得了5個分區?如何釋放空間?

編輯:df -h

  pi @ raspberrypi〜$ df -h文件系統使用的大小可用百分比已安裝在/ dev / root 6.3G 6.0G 25M 100%/ devtmpfs 428M 0 428M 0%/ devtmpfs 87M 336K 86M 1%/ runtmpfs 5.0M 0 5.0M 0%/ run / locktmpfs 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-我相信)?
8gig卡,我確實將其擴展了。
這是“僅僅是”樹莓還是菜鳥?我不知道第二個FAT分區是做什麼用的。
它是NOOBS是的。我需要重新開始嗎?我應該在沒有NOOBS的情況下重新安裝嗎?
不,可能不會。 mmcblk0p3和5僅佔用很少的空間。根據df,作為根安裝的分區(大概是mmcblk0p6)已滿。
好,謝謝。我如何釋放空間?我正在嘗試安裝openCV,據我了解,8gb就足夠了。可能有不必要的垃圾。
我應該換一張16GB卡嗎?
您可以運行du -sh * |從根目錄開始排序-h,然後向下鑽取,它將顯示哪些目錄使用了最多的空間
首先檢查`du / | sort -n`,正在消耗什麼空間,例如日誌(如果logrotate不能正常工作)或程序包管理器的緩存。 Steve的帶有-sh的命令行最好這樣做。
好的,謝謝你們。我將嘗試這些建議。
不要驚慌!儘管文件系統幾乎已滿,但在ext2 / 3/4文件系統上,默認情況下5%保留供`root`使用,因此超級用戶確實可以在完整的root文件系統上修復問題。 -但是普通pi和任何其他用戶的操作將開始變得很奇怪(選項卡補全將失敗,對頁面輸出使用`more`或`less`可能不起作用...)一旦開始卸載軟件包,`debophan `package可以幫助識別周圍閒置的未使用的包-它的`orphaner`前端更易於使用-可以通過模擬包刪除功能首先測試事物。
六 答案:
adengle
2016-01-17 04:15:44 UTC
view on stackexchange narkive permalink

這對我有用。您可以嘗試使用以下命令清除不需要的軟件包文件:

  sudo apt-get autoremovesudo apt-get clean  

這不會產生奇蹟,但有時可以為我釋放幾百MB。

如果您只想運行raspbian,我對 Jessie Lite並根據需要添加軟件包感到非常幸運。這是一個8GB uSD卡上的示例:

 使用的文件系統大小可用用法%安裝在/ dev / root上7.8G 1.1G 6.4G 15%/ devtmpfs 224M 0 224M 0%/ devtmpfs 229M 0 229M 0%/ dev / shmtmpfs 229M 4.6M 224M 2%/ runtmpfs 5.3M 4.1k 5.3M 1%/ run / locktmpfs 229M 0 229M 0%/ sys / fs / cgroup / dev / mmcblk0p1 63M 21M 43M 34%/ boot  
這似乎很有幫助。我會在早上嘗試。我做了“清潔”但沒有自動刪除。謝謝你的建議。
我還將研究Jessie Lite,但這可能會讓我倒退一段時間。我希望有一種方法可以用我需要的東西下載OS的快照:)
在AFAIK中,“ apt-get autoremove”僅刪除過期的程序包文件,而“ apt-get clean”將其全部刪除。如果您打算重新安裝某些軟件包,建議您採取前一種措施,以節省時間和精力。
pascal
2016-04-29 21:37:38 UTC
view on stackexchange narkive permalink

如果您將Jessie安裝在8gb上,請查看不使用的應用程序。我刪除了Mathematica,並使用

  sudo apt-get purge wolfram-engine  
獲得了600 MB以上的內存
以及佔用空間的其他軟件包:https://lifehacker.com/instantly-free-up-almost-1gb-on-your-raspberry-pi-by-di-1773831271
bstipe
2017-04-09 03:41:50 UTC
view on stackexchange narkive permalink

另一種解決方案是使用更大的(32G)USB記憶棒或SD卡(帶有USB SD卡讀取器),然後將根文件系統傳輸到新設備。請參見擴展根目錄大小/使用外部HDD

如果要重新開始而不丟失較大SD卡上的存儲空間,請在此處是在新SD卡上安裝可啟動Raspbian操作系統的一種方法。安裝後,將新的SD卡與啟動SD卡交換,您將擁有一個乾淨的系統,可以訪問所有舊信息。

 從Linux在Raspberry Pi上安裝Raspbian  
  1. 設置-要求是一種Linux(類型)系統,該系統能夠連接到互聯網,寫入micro SD卡(8G或更大),磁盤格式程序( fdisk ), wget funzip unzip 需要本地存儲)搭配Raspberry Pi會很好。將SD卡連接到Linux系統的讀卡器或USB讀卡器中後,使用 lsblk 或其他命令確定設備地址。就我而言,我將使用/ dev / sdb。檢查是否是否使用 df 命令掛載了設備,如果是,則使用 umount / dev / sdb?命令卸載。

      pi @ RPi3:〜$ lsblkNAME MAJ:MIN RM大小RO類型MOUNTPOINTsdb 8:16 1 29.8G 0磁盤└─sdb18:17 1 29.8G 0部件8:0 0 931.5G 0磁盤├─sda28:2 0 931.4G 0部分/└─sda18:1 0 120M 0部分/ media / pi / boot1mmcblk0 179:0 0 29.7G 0磁盤├─mmcblk0p2179:2 0 29.7G 0部分G─mmcblk0p1179:1 0 63M 0部分/ boot  
  2. FORMAT-將SD卡格式化為一個分區,鍵入fat32 [ sudo fdisk / dev / sdb ,subcmd p,(如果不是Disklabel類型:dos,subcmd o),subcmd d刪除舊分區,subcmd n創建一個新分區(採用默認值,primary p,數字1,第一個,最後一個),subcmd t用於類型(數字1,代碼) c),然後用subcmd w寫]。

      pi @ RPi3:〜$ sudo fdisk -l / dev / sdb設備啟動開始端扇區大小ID類型/ dev / sdb1 8192 62552063 62543872 29.8G c W95 FAT32(LBA) 
  3. 下載,解壓縮和寫入-可以一次下載Raspbian映像,解壓縮並將其安裝在SD卡上。如果先下載Raspbian映像然後解壓縮,則 unzip 命令將起作用( unzip 對管道輸入不起作用, funzip 將起作用)。圖像超過1.5G,解壓縮超過4G,將需要一段時間才能下載。

      pi @ RPi3:〜$ wget -qO-https://downloads.raspberrypi.org/raspbian_latest | funzip | sudo dd bs = 4M of = / dev / sdb  
  4. 驗證-現在,該映像安裝了兩個分區(引導和根)。 Linux分區很小,應該擴展。 (如果需要,可以在擴展之前添加更多的分區。)在擴展Linux分區之前,請注意/ dev / sdb2啟動扇區(在我的情況下為137216)。

      pi @ RPi3:〜$ echo -e“ p \ nq” | sudo fdisk / dev / sdb | egrep“ Dev | ^ /”設備啟動開始扇區大小ID類型/ dev / sdb1 8192 137215 129024 63M c W95 FAT32(LBA)/ dev / sdb2 137216 8581119 8443904 4G 83 Linux  
  5. 擴展分區- fdisk 命令可用於擴展Linux分區。首先使用開始扇區(如步驟3中所述)刪除Linux分區subcmd d,默認為2,添加回subcmd n,默認p,默認為2,
    ,使用End Sector的默認值,並寫入更改如果滿意,請使用subcmd 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 rootpi @ RPi3:〜$ sudo e2fsck -f / dev / sdb2
    pi @ RPi3:〜$ sudo resize2fs / dev / sdb2  
  7. 選項-可以掛載SD卡的分區並進行文件配置,這可以超出此範圍。從運行的系統中卸下SD卡之前,請確保數據已同步並卸載(如果已裝入)。

  8. 引導並配置-安裝SD卡在Raspberry Pi中並插入電源。 Pi應該啟動。參照 https://www.raspberrypi.org/documentation/configuration/

  9. ol>配置Pi
fcm
2016-01-17 09:54:58 UTC
view on stackexchange narkive permalink

可能您不想從頭開始。如果清理完多次下載和未使用的源代碼後空間不足,請移至更大的存儲卡。

您需要能夠使用帶有SD插槽的“筆式驅動器”托盤或類似設備在RPI上安裝輔助卡。

您的安裝基於NOOBS,因此您完成了一些不再使用的分區,但是浪費的空間不是那麼大,消除可能很麻煩。將創建一些用於邊界對齊的開放空間。

在更大的SD卡(16GB或更大)上創建克隆。

使用Win32DiskImager在您喜歡的文件名上使用“讀取”按鈕創建映像備份,然後使用“寫入”將映像複製到新的SD卡。

安裝新卡並啟動。此時,您必須使用相同的原始空白空間運行克隆。

使用 fdisk ,'p'打印當前分區。將此信息複製並粘貼到您可以用作參考的位置。如下所示(您將有所不同):

 設備啟動開始端扇區大小ID類型/ 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  

刪除/ dev / mmcblk0p2 d”,然後輸入“ 2”,再次重新創建分區。 “秘密”將使用相同的“開始”扇區。

使用“ n”創建Linux擴展分區,選擇“擴展”,輸入第一個扇區(在我的示例1679360中),然後讓 fdisk 選擇最後一個扇區(“默認”) ,然後輸入“ t”以輸入“ partition” 2的分區“ type”,應輸入“ 85”(Linux擴展)。

現在,創建駐留在剛創建的擴展分區內的邏輯分區

使用'n'表示新的,輸入'l'表示'邏輯',並且'fdisk'將分配下一個可用插槽,在我的示例1687552中,第一個扇區必須與之前相同,最後一個扇區,使用原始編號,在我的樣本122880上,將分區“ t”類型輸入為“ c”(ms-dos)。

為其他分區重複該過程,但是在最後一個分區(p6)上,讓'fdisk'選擇'lastector'。

用'p'和確保只有最後一個分區上的最後一個扇區已更改,而沒有其他任何信息(包括分區類型或'id')。

現在用'w'提交更改以寫入新的分區表。

重新啟動,並使用以下命令讓Linux知道您的新磁盤大小:

  resize2fs / dev / mmcblk0p6  

享受,

為什麼不只是整個SD卡加dd然後調整分區大小呢?複製一個好的Pi SD的結構並非易事,特別是要確保分區的最佳邊界,而這不是正常的“ fdisk”默認值。
問題是修改擴展分區,出於我的未知原因,更改SD品牌時,我無法在確切的初始扇區上重新創建修改後的分區。創建新分區可能不是邊界,而是固態而不是物理問題。簡單的方法應該是使用Win32DiskImager(或類似方法):使用fdisk delete克隆SD卡。並在此情況下重新創建mmcblk0p6。然後`resize2fs`
要更改分區,首先需要修改擴展分區,然後才能擴展活動分區。邊界的原因是,當SD需要恢復空間時,它會在擦除塊邊界上進行恢復-通常為4M。如果分區邊界未對齊,則需要擦除2個塊。對於SD卡,應以塊而非扇區的形式指定磁盤大小。
如果您不使用dd複製分區,而是使用mkfs.ext4格式化分區,然後使用rsync複製到內容中,那將更有意義,節省時間並且不易出錯。上面沒有明確指出,如果要在* partition *內的* filesystem *上使用`resizefs`,則需要先創建較大的* partitions。
D-W
2016-01-21 03:15:12 UTC
view on stackexchange narkive permalink

確保已擴展文件系統以使用所有可用空間。

打開終端並運行 sudo raspi-config ->擴展文件系統

如果這不是問題,那麼您只需要移動到更大的磁盤即可。而不是從頭開始(這些說明假定使用Mac,但其他方面都非常相似):

備份磁盤:

  • 查找磁盤名稱:將SD卡放入計算機並運行 diskutil列表(可能是 disk2 ...不要使用 disk1 !!!!)
  • 備用圖片: sudo dd bs = 1m if = / dev / disk2 of = / path / to / your / backup.img 注意,這將花費很長時間。要查看進度,請按 CTRL-T
  • 插入新磁盤和 diskutil列表
  • 寫入新磁盤: sudo dd bs = 1m if = / dev / disk2
  • 的= / path / to / your / backup.img擴展文件系統:插入Pi並引導, sudo raspi-config- >展開文件系統
Badr Bellaj
2017-04-08 23:01:32 UTC
view on stackexchange narkive permalink

我建議使用 rm -rf / user / share / doc 刪除 / usr / share / doc 文件夾,我有193M可用空間:D >

提醒我:[“好吧,讓我們看看,您有4 Meg可用,”哇!總共8 Meg,謝謝!他對自己的議價能力感到滿意。 “不”,我打斷了,像紅色的室溫一樣品嚐,“總共4兆歐”,“ Hu?我已經用了4兆歐,我怎麼有4兆歐可用?”我無話可說。它會來找他。](http://w3rbg.cs.uni-saarland.de/bofh.html#BASTARD%20OPERATOR%20FROM%20HELL%20#1)


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...