ปรับขนาดระบบไฟล์บน OpenELEC


11

ฉันพยายามทำการอัปเดตและมีข้อผิดพลาดบอกฉันว่าฉันมีพื้นที่ว่างไม่เพียงพอ ดังนั้นฉันจึงเชื่อมต่อกับ Raspberry ของฉันผ่านSSHเพื่อขอการใช้ดิสก์ด้วย:

df -h

และฉันได้รับผลลัพธ์ต่อไปนี้:

Filesystem                Size      Used Available Use% Mounted on
devtmpfs                185.1M     87.5M     97.6M  47% /dev
/dev/mmcblk0p1          124.7M     96.2M     28.6M  77% /flash
/dev/mmcblk0p2          755.9M    739.4M         0 100% /storage
/dev/loop0               87.5M     87.5M         0 100% /
tmpfs                    74.6M         0     74.6M   0% /dev/shm
tmpfs                    10.0M    684.0K      9.3M   7% /var

สิ่งหนึ่งคือการ์ด SD ของฉันคือการ์ด SD ขนาด 8Gb และขนาดที่แสดงมีขนาดมากกว่า 1Gb ดังนั้นคำถามของฉันคือทำไมฉันไม่เห็นพื้นที่ทั้งหมด

คำตอบ:


13

แก้ไขจากที่นี่ SSH เป็น Raspberry Pi ของคุณรัน OpenELEC และทำตามขั้นตอนเหล่านี้

  1. SSH เป็น root โดยค่าเริ่มต้นคุณอยู่ใน/storage; เปลี่ยนเป็นรูทพาร์ติชัน:

    $ cd /
    
  2. กันไม่ให้ XBMC รีสตาร์ท:

    $ touch /var/lock/xbmc.disabled
    
  3. หยุด XBMC เพื่อให้เราสามารถยกเลิกการต่อเชื่อม/storage:

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. ยืนยันการติดตั้ง:

    $ mount
    $ parted /dev/mmcblk0
    
  5. ในส่วนการเปลี่ยนแปลงเป็นภาคแสดง:

    $ unit s
    
  6. แสดงพาร์ทิชันจดบันทึกเซกเตอร์เริ่มต้นของพาร์ติชันของคุณ:

    $ p
    
  7. ลบพาร์ติชัน:

    $ rm 2
    
  8. สร้างใหม่โดยใช้หมายเลขเซกเตอร์เริ่มต้นเดียวกันและลงท้ายด้วย "-1" เพื่อใช้พื้นที่ที่เหลืออยู่:

    $ mkpart primary 258048 -1
    $ quit parted
    $ e2fsck -f /dev/mmcblk0p2
    $ resize2fs /dev/mmcblk0p2
    $ mount /dev/mmcblk0p2 /storage
    $ df -h
    $ rm /var/lock/xbmc.disabled
    
  9. XBMC จะเริ่มต้นใหม่อีกครั้งด้วยตัวเอง


คำสั่งนี้มีอยู่ในการกระจาย openelec หรือไม่?
darkheir

ขออภัยฉันเริ่มต้นด้วยคำแนะนำ Raspbian นิสัยที่ไม่ดี: P ฉันตอบคำถามอีกครั้งและตอนนี้ควรใช้งานได้
syb0rg

ใช้งานไม่ได้ ฉันไม่สามารถถอดออกได้เนื่องจาก connmand ใช้ / จัดเก็บข้อมูลและไม่สามารถฆ่าได้
Rob

ไม่ทำงานอีกต่อไป! ดูคำตอบของ Marcin ด้านล่าง
เฮอร์แมน

18

OpenELEC ปรับขนาด / จัดเก็บในการบูตครั้งแรกหลังจากสร้าง SD ฉันมองหาสคริปต์ที่ทำเช่นนั้น มันคือhttps://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/fs-resize?source=c บรรทัดโค้ดแรกจะตรวจสอบไฟล์ /storage/.please_resize_me

ดังนั้น ... เพื่อปรับขนาดพื้นที่เก็บข้อมูลเพื่อเติม SD ที่คุณต้องการ:

touch /storage/.please_resize_me
reboot

ทำอย่างนั้นกับ OpenELEC 4.0.7 และทำงานได้ดี


1
นี่ควรเป็นคำตอบที่ได้รับการยอมรับ
Chris

ลองใช้กับ 5.0.3 และทำงานตามที่ระบุไว้
LowvaPrg

ในบรรทัดที่สองของสคริปต์มันบอกว่ามันไม่สามารถปรับขนาดถ้ามีโฟลเดอร์ชื่อ kodi, config หรือแคช ฉันได้รับทั้งหมด 3 อัน ... ดังนั้นฉันจะปรับขนาดตอนนี้ได้อย่างไร
Peter Raeves

4

ปัญหาหนึ่งที่ฉันมี (กับรุ่น 3.1.5): umount / storage =>“ umount: ไม่สามารถ umount / storage: อุปกรณ์หรือทรัพยากรไม่ว่าง”

fuser -m / storage => pid ของกระบวนการที่กำลังล็อค mount ฉันพยายามจะฆ่ามัน แต่ทุกครั้งที่มีกระบวนการใหม่ปิดกั้น mount ฉันต้องฆ่า + umount ในเวลาเดียวกันด้วยไพพ์ (ตามลำดับนี้): umount / storage | kill -9 pid

นั่นคืองาน!


ไม่ทำงาน connmand รีสตาร์ทตัวเองโดยอัตโนมัติก่อนที่เทอร์มินัลจะสามารถเรียกใช้umount
Rob

2

ในกรณีที่ทุกคนมีปัญหากับรุ่นใหม่ล่าสุด:
คำตอบ syb0rg ดีมาก แต่
$ touch /var/lock/xbmc.disabled
$ killall -9 xbmc.bin

ไม่ทำงานอีกต่อไป ! ใช้:
$ systemctl stop kodi.serviceแทน!


2

Openelec 5:

ตรวจสอบว่ากระบวนการใดที่กำลังบล็อกพาร์ติชัน / ที่เก็บข้อมูลเพื่อให้ unmounted

lsof | grep "/storage" (will return the PID of the process)

ตรวจสอบว่ากระบวนการเหล่านี้อยู่ในแผนผัง systemd และควบคุมโดย systemd

systemctl status จะแสดงแผนผัง systemd

ในกรณีที่ฉันต้องหยุดดังต่อไปนี้:

systemctl stop cron.service
systemctl stop connman.service
systemctl stop kodi.service

ตรวจสอบfuser -m /storageว่ามีกระบวนการที่ยังคงบล็อกไดเรกทอรีนั้น ในกรณีที่มีการส่งคืน PID บางส่วนคุณสามารถตรวจสอบกระบวนการที่เกี่ยวข้องกับ PID ps -ef | grep $PIDนั้นได้

หากคุณเห็นบางสิ่งเช่น-shนี้ก็คือเซสชัน ssh ของคุณที่อยู่ในไดเรกทอรี / storage cd /ไปในรูต

kill -9 $PIDมิฉะนั้นคุณสามารถฆ่ากระบวนการที่มี

ตอนนี้คุณสามารถถอนติดตั้งไดเร็กทอรี / storage ได้อย่างปลอดภัยผ่านทาง

umount /storage

ตอนนี้คุณสามารถปรับขนาดพาร์ติชัน (ฉันจะรายงานอีกครั้งเนื่องจากคำสั่งบางอย่างเปลี่ยนไป)

  1. ตรวจสอบให้แน่ใจว่าอนุภาคใด / เก็บไว้

    df -h

ในกรณีส่วนใหญ่จะเป็น/dev/mmcblk0p2(ซึ่งก็คือพาร์ติชัน 2)

  1. เปิดแยกสำหรับอุปกรณ์ / dev / mmcblk0

    parted /dev/mmcblk0

  2. แสดงพาร์ติชัน (ตอนนี้เรา alredy พาร์ทิชันที่เราต้องการปรับขนาด)

    p

  3. ปรับขนาดพาร์ติชัน (กรณีนี้ 2 พาร์ติชันจนถึงจุดสิ้นสุด)

    resize 2 -1

    quit parted

  4. ปรับขนาดระบบไฟล์

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

หากคุณต้องการปรับขนาด / แฟลชเป็นเรื่องที่แตกต่างอย่างสิ้นเชิง


1
ทำงานให้ฉันยกเว้นparted /dev/mmcblk0เป็นpartedและ resize 2 -1จำเป็นต้องเป็นresizepart 2 -1
ChrisGheen

สุดยอดผู้ประกาศข่าว ไม่มีอะไรทำงานให้ฉันยกเว้น anwser นี้
Michael Malura

1

ฉันแก้ไขปัญหาเกี่ยวกับ "การยกเลิกการต่อเชื่อมที่เก็บข้อมูล /" การฆ่าด้วยวิธีนี้:

fuser -m /storage

5161

kill -9 5161 && umount /storage

นั่นใช้ได้สำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.