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?

darkheir
sumber

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.

syb0rg
sumber
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.

Marcin
sumber
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!

Tamu
sumber
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!

Lewiatan
sumber
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.

Jero
sumber
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.

pengguna11691
sumber