Ubah ukuran sistem file pada OpenELEC


11

Saya mencoba melakukan pembaruan dan kesalahan memberi tahu saya bahwa saya tidak punya cukup ruang kosong. Jadi saya terhubung ke Raspberry saya SSHuntuk meminta penggunaan disk dengan:

df -h

Dan saya mendapatkan hasil sebagai berikut:

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

Masalahnya adalah kartu SD saya adalah kartu SD 8Gb dan ukuran yang ditampilkan lebih seperti 1Gb, jadi pertanyaan saya adalah mengapa saya tidak bisa melihat seluruh ruang?

Jawaban:


13

Dimodifikasi dari sini , SSH menjadi Raspberry Pi Anda yang menjalankan OpenELEC dan ikuti langkah-langkah ini.

  1. SSH sebagai root, secara default Anda berada di /storage; beralih ke partisi root:

    $ cd /
    
  2. Jauhkan XBMC dari memulai ulang:

    $ touch /var/lock/xbmc.disabled
    
  3. Hentikan XBMC, sehingga kami dapat melepas /storage:

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. Verifikasi pemasangan:

    $ mount
    $ parted /dev/mmcblk0
    
  5. Secara terpisah, ubah ke tampilan sektor:

    $ unit s
    
  6. Perlihatkan partisi, catat sektor awal partisi Anda:

    $ p
    
  7. Hapus partisi:

    $ rm 2
    
  8. Buat ulang, menggunakan nomor sektor awal yang sama dan berakhir dengan "-1" untuk menggunakan ruang yang tersisa:

    $ 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 akan memulai kembali sendiri.


Apakah perintah ini ada pada distribusi openelec?
darkheir

Maaf, saya selalu default untuk instruksi Raspbian, kebiasaan buruk: P. Saya telah menjawab kembali pertanyaannya dan sekarang seharusnya berhasil.
syb0rg

Tidak bekerja Saya tidak dapat meng-unmount karena connmand menggunakan / penyimpanan dan itu tidak dapat dibunuh
Rob

Tidak berfungsi lagi! Lihat jawaban Marcin di bawah ini.
Herman

18

OpenELEC mengubah ukuran / penyimpanan pada boot pertama setelah membuat SD. Saya mencari skrip yang melakukan itu. Ini https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/fs-resize?source=c Baris kode pertama memeriksa file /storage/.please_resize_me.

Jadi ... untuk mengubah ukuran penyimpanan untuk mengisi SD Anda harus:

touch /storage/.please_resize_me
reboot

Melakukannya pada OpenELEC 4.0.7 saya dan bekerja dengan baik.


1
ini seharusnya jawaban yang diterima
Chris

mencobanya pada 5.0.3 dan bekerja seperti yang dinyatakan
LowvaPrg

Pada baris kedua skrip dikatakan bahwa ia tidak dapat mengubah ukuran jika ada folder bernama kodi, config atau cache. Saya mendapatkan semuanya 3 ... Jadi bagaimana saya mengubah ukuran sekarang?
Peter Raeves

4

Satu masalah yang saya miliki (dengan versi 3.1.5): umount / storage => “umount: tidak dapat umount / storage: Perangkat atau sumber daya sibuk”

fuser -m / storage => pid dari proses yang mengunci mount saya mencoba membunuhnya, tetapi setiap kali proses baru memblokir mount. Saya harus membunuh + umount bersamaan dengan pipa (dalam urutan ini): umount / storage | bunuh -9 pid

Itu berhasil!


Tidak berfungsi, connmand restart sendiri secara otomatis sebelum terminal dapat menjalankanumount
Rob

2

Jika ada yang punya masalah dengan versi terbaru:
syb0rg jawabannya bagus tapi
$ touch /var/lock/xbmc.disabled
$ killall -9 xbmc.bin

tidak berfungsi lagi ! Gunakan:
$ systemctl stop kodi.servicesebagai gantinya!


2

Openelec 5:

Periksa proses apa yang memblokir partisi / penyimpanan untuk dilepas

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

Periksa apakah proses ini ada di pohon systemd dan dikontrol oleh systemd.

systemctl status akan menampilkan pohon systemd.

Mungkin saya harus menghentikan yang berikut ini:

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

Periksa dengan fuser -m /storageapakah masih ada proses memblokir direktori itu. Jika PID dikembalikan, Anda dapat memeriksa proses apa yang dikaitkan dengan PID yang sedang berjalan ps -ef | grep $PID.

Jika Anda melihat sesuatu seperti -shitu adalah sesi ssh Anda yang ada di direktori / storage. cd /untuk pergi ke root.

Kalau tidak, Anda dapat membunuh proses itu dengan kill -9 $PID.

Sekarang Anda dapat dengan aman melepas direktori / storage melalui

umount /storage

Sekarang Anda dapat mengubah ukuran partisi (saya akan melaporkan lagi karena beberapa perintah diubah)

  1. Pastikan partion / penyimpanan milik

    df -h

Dalam sebagian besar kasus akan /dev/mmcblk0p2(yaitu partisi 2)

  1. Buka parted untuk perangkat / dev / mmcblk0

    parted /dev/mmcblk0

  2. Tampilkan partisi (sekarang kita sudah partisi yang ingin kita ubah ukurannya)

    p

  3. Ubah ukuran partisi (partisi case 2 ini sampai akhir)

    resize 2 -1

    quit parted

  4. Ubah ukuran sistem file

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

Jika Anda ingin mengubah ukuran / flash adalah cerita yang sama sekali berbeda.


1
Bekerja untuk saya, kecuali parted /dev/mmcblk0itu parteddan resize 2 -1perluresizepart 2 -1
ChrisGheen

Anwser terbaik sejauh ini. Tidak ada yang bekerja untuk saya kecuali server ini.
Michael Malura

1

Saya memecahkan masalah tentang "unmount storage /" membunuh dengan cara ini:

fuser -m /storage

5161

kill -9 5161 && umount /storage

Itu berhasil untuk saya.

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.