Thay đổi kích thước hệ thống tệp trên OpenELEC


11

Tôi đã cố gắng thực hiện cập nhật và một lỗi cho tôi biết rằng tôi không có đủ dung lượng trống. Vì vậy, tôi đã kết nối với Raspberry của mình thông qua SSHđể yêu cầu sử dụng đĩa với:

df -h

Và tôi đã thu được kết quả như sau:

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

Vấn đề là thẻ SD của tôi là thẻ SD 8Gb và kích thước nó hiển thị giống như 1Gb, vì vậy câu hỏi của tôi là tại sao tôi không thể nhìn thấy toàn bộ không gian?

Câu trả lời:


13

Được sửa đổi từ đây , SSH vào Raspberry Pi của bạn chạy OpenELEC và làm theo các bước sau.

  1. SSH trong root, theo mặc định bạn đang ở /storage; chuyển sang phân vùng gốc:

    $ cd /
    
  2. Giữ XBMC không khởi động lại:

    $ touch /var/lock/xbmc.disabled
    
  3. Dừng XBMC, để chúng tôi có thể ngắt kết nối /storage:

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. Xác minh gắn kết:

    $ mount
    $ parted /dev/mmcblk0
    
  5. Trong phần chia tay, thay đổi để hiển thị các ngành:

    $ unit s
    
  6. Hiển thị phân vùng, ghi chú khu vực bắt đầu của phân vùng của bạn:

    $ p
    
  7. Xóa phân vùng:

    $ rm 2
    
  8. Tạo lại nó, sử dụng cùng số khu vực bắt đầu và kết thúc bằng "-1" để sử dụng không gian còn lại:

    $ 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 sẽ tự khởi động lại.


Là lệnh này có mặt trên bản phân phối openelec?
darkheir

Xin lỗi, tôi luôn mặc định hướng dẫn của Raspbian, thói quen xấu: P. Tôi đã trả lời lại câu hỏi và bây giờ nó sẽ hoạt động.
syb0rg

Không hoạt động. Tôi không thể bỏ qua vì người dùng đang sử dụng / lưu trữ và nó không thể bị giết
Rob

Không hoạt động nữa! Xem câu trả lời của Marcin dưới đây.
Herman

18

OpenELEC thay đổi kích thước / lưu trữ trong lần khởi động đầu tiên sau khi tạo SD. Tôi đã tìm kịch bản mà làm điều đó. Đó là https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/fs-resize?source=c Dòng mã đầu tiên kiểm tra tệp /st Storage / .please_resize_me.

Vì vậy, ... để thay đổi kích thước bộ nhớ để điền vào SD, bạn cần phải:

touch /storage/.please_resize_me
reboot

Hoàn thành nó trên OpenELEC 4.0.7 của tôi và hoạt động tốt.


1
đây phải là câu trả lời được chấp nhận
Chris

đã thử nó vào ngày 5.0.3 và nó hoạt động như đã nêu
LowvaPrg

Trên dòng thứ hai của tập lệnh, nó nói rằng nó không thể thay đổi kích thước nếu tồn tại một thư mục có tên kodi, config hoặc cache. Tôi đã có cả 3 người trong số họ ... Vậy làm cách nào để thay đổi kích thước bây giờ?
Peter Raeves

4

Một vấn đề tôi gặp phải (với phiên bản 3.1.5): umount / dung lượng => um umount: không thể lưu trữ / lưu trữ: Thiết bị hoặc tài nguyên bận rộn

fuser -m / Storage => pid của tiến trình đang khóa mount tôi đã cố giết nó, nhưng mỗi khi một tiến trình mới lại chặn mount. Tôi phải giết + umount cùng lúc với đường ống (theo thứ tự này): umount / Storage | giết -9 pid

Đó là công việc!


Không hoạt động, Connmand tự động khởi động lại trước khi thiết bị đầu cuối có thể chạyumount
Rob

2

Trong trường hợp bất cứ ai có vấn đề này với phiên bản mới nhất:
câu trả lời syb0rg là tuyệt vời nhưng
$ touch /var/lock/xbmc.disabled
$ killall -9 xbmc.bin

không hoạt động nữa ! Sử dụng:
$ systemctl stop kodi.servicethay vào đó!


2

Openelec 5:

Kiểm tra quá trình nào đang chặn phân vùng / lưu trữ để được ngắt kết nối

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

Kiểm tra xem các quá trình này có trong cây systemd và được kiểm soát bởi systemd.

systemctl status sẽ hiển thị cây systemd.

Trong trường hợp có thể tôi đã phải dừng lại như sau:

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

Kiểm tra fuser -m /storagenếu vẫn còn quá trình chặn thư mục đó. Trong trường hợp một số PID được trả về, bạn có thể kiểm tra quá trình nào được liên kết với PID đó đang chạy ps -ef | grep $PID.

Nếu bạn thấy một cái gì đó giống như -shđó là phiên ssh của bạn trong thư mục / Storage. cd /để đi vào gốc.

Nếu không, bạn có thể giết quá trình đó với kill -9 $PID.

Bây giờ bạn có thể ngắt kết nối thư mục / lưu trữ một cách an toàn thông qua

umount /storage

Bây giờ bạn có thể thay đổi kích thước phân vùng (tôi sẽ báo cáo lại vì một số lệnh được thay đổi)

  1. Đảm bảo phân vùng / lưu trữ thuộc về

    df -h

Trong hầu hết các trường hợp sẽ là /dev/mmcblk0p2(đó là phân vùng 2)

  1. Mở chia tay cho thiết bị / dev / mmcblk0

    parted /dev/mmcblk0

  2. Hiển thị các phân vùng (hiện tại chúng tôi đã thay đổi phân vùng mà chúng tôi muốn thay đổi kích thước)

    p

  3. Thay đổi kích thước phân vùng (trường hợp này phân vùng 2 cho đến hết)

    resize 2 -1

    quit parted

  4. Thay đổi kích thước hệ thống tập tin

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

Nếu bạn muốn thay đổi kích thước / flash là một câu chuyện hoàn toàn khác.


1
Làm việc cho tôi, ngoại trừ parted /dev/mmcblk0partedresize 2 -1cần thiết để đượcresizepart 2 -1
ChrisGheen

Anwser tốt nhất cho đến nay. Không có gì khác làm việc cho tôi ngoại trừ anwser này.
Michael Malura

1

Tôi đã giải quyết vấn đề về việc giết chết "lưu trữ không đếm được /" theo cách này:

fuser -m /storage

5161

kill -9 5161 && umount /storage

Điều đó đã làm việc cho tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.