OpenELEC üzerinde dosya sistemini yeniden boyutlandırma


11

Bir güncelleme yapmaya çalışıyordum ve bir hata bana yeterli boş alanım olmadığını söyledi. Bu yüzden SSHdisk kullanımını istemek için Ahududu ile bağlandım :

df -h

Ve şu sonucu elde ettim:

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

Mesele şu ki SD kartım 8Gb SD kart ve gösterdiği boyut 1Gb'ye benziyor, bu yüzden sorum şu: Neden tüm alanı göremiyorum?

Yanıtlar:


13

Buradan değiştirildi , SSH'yi OpenELEC çalıştıran Raspberry Pi'nize takın ve şu adımları izleyin.

  1. Kök olarak SSH, varsayılan olarak konumunuz /storage; Kök bölüme geç:

    $ cd /
    
  2. XBMC'nin yeniden başlatılmasını önleyin:

    $ touch /var/lock/xbmc.disabled
    
  3. XBMC'yi durdurun, böylece bağlantısını kesebiliriz /storage:

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. Bağlantıları doğrulayın:

    $ mount
    $ parted /dev/mmcblk0
    
  5. Ayrılmış olarak, sektörlerde değişiklik şunları görüntüler:

    $ unit s
    
  6. Bölümleri gösterin, bölümünüzün başlangıç ​​sektörünü not edin:

    $ p
    
  7. Bölümü kaldırın:

    $ rm 2
    
  8. Aynı başlangıç ​​sektör numarasını kullanarak ve kalan alanı kullanmak için "-1" ile biterek yeniden oluşturun:

    $ 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 kendi kendine tekrar başlayacaktır.


Bu komut openelec dağıtımında mevcut mu?
darkheir

Üzgünüm, her zaman Raspbian talimatlarını varsayılan olarak kullanıyorum, kötü alışkanlık: P. Soruyu tekrar cevapladım ve şimdi işe yarayacak.
syb0rg

Çalışmıyor. Bağlantıyı kullanamadığından çünkü bağlantıyı kesemiyorum ve öldürülemiyor
Rob

Artık çalışmıyor! Aşağıdaki Marcin'in cevabına bakın.
Herman

18

OpenELEC, SD'yi oluşturduktan sonra ilk önyüklemede yeniden boyutlandırır / depolar. Bunu yapan senaryoyu aradım. Bu https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/fs-resize?source=c İlk kod satırı /storage/.please_resize_me dosyasını kontrol eder.

Yani ... SD'yi doldurmak için depolama alanını yeniden boyutlandırmak için şunları yapmanız gerekir:

touch /storage/.please_resize_me
reboot

Bunu OpenELEC 4.0.7 üzerinde yaptım ve iyi çalıştı.


1
kabul edilen cevap bu olmalı
Chris


Komut dosyasının ikinci satırında kodi, config veya cache adında bir klasör varsa yeniden boyutlandırılamayacağını söyler. 3 tanesine sahibim ... Peki şimdi nasıl yeniden boyutlandırırım?
Peter Raeves

4

Bir sorunum var (sürüm 3.1.5 ile): umount / storage => “umount: umount / storage olamaz: Aygıt veya kaynak meşgul”

fuser -m / storage => montajı kilitleyen işlemin pid'ini öldürmeye çalıştım, ama her yeni montaj işlemi engelledi. Ben boru ile aynı anda + umount öldürmek zorunda (bu sırayla): umount / depolama | öldürmek -9 pid

Bu işi yap!


Çalışmaz, terminal çalışmadan önce connmand otomatik olarak yeniden başlatılırumount
Rob

2

Herkes yeni sürümü ile bu sorunu varsa:
syb0rg cevap harika ama
$ touch /var/lock/xbmc.disabled
$ killall -9 xbmc.bin

artık çalışmıyor ! Kullanın:
$ systemctl stop kodi.serviceyerine!


2

Openelec 5:

Sökülecek bölümü / depolamayı engelleyen işlemi denetleme

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

Bu işlemlerin systemd ağacında olup olmadığını ve systemd tarafından kontrol edilip edilmediğini kontrol edin.

systemctl status sistemd ağacını gösterecektir.

Belki de aşağıdakileri durdurmak zorunda kaldım:

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

fuser -m /storageBu dizini hala engelleyen işlem olup olmadığını kontrol edin . Bazı PID'lerin döndürülmesi durumunda, çalışan PID ile hangi işlemin ilişkilendirildiğini kontrol edebilirsiniz ps -ef | grep $PID.

Eğer böyle bir şey görürseniz -sh/ storage dizinindeki ssh oturumunuzdur. cd /köküne gitmek.

Aksi takdirde bu işlemi ile öldürebilirsiniz kill -9 $PID.

Artık / storage dizinini kullanarak güvenli bir şekilde bağlantısını kesebilirsiniz

umount /storage

Şimdi bölümü yeniden boyutlandırabilirsiniz (bazı komutlar değiştiği için tekrar rapor vereceğim)

  1. Hangi partikül / depolamanın ait olduğundan emin olun

    df -h

Davanın çoğunda ( /dev/mmcblk0p22. bölüm)

  1. Aygıt / dev / mmcblk0 için açık olarak ayrıldı

    parted /dev/mmcblk0

  2. Bölümleri göster (hangi bölümü yeniden boyutlandırmak istediğimizi şimdi belirtiyoruz)

    p

  3. Bölümü yeniden boyutlandırma (bu vaka bölümü 2 sonuna kadar)

    resize 2 -1

    quit parted

  4. Dosya sistemini yeniden boyutlandırın

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

Eğer yeniden boyutlandırmak istiyorsanız / flash tamamen farklı bir hikaye.


1
Dışında benim için çalıştı parted /dev/mmcblk0oldu partedve resize 2 -1olması gerekiyorduresizepart 2 -1
ChrisGheen

Şimdiye kadarki en iyi anwser. Bu anwser dışında başka hiçbir şey benim için işe yaramadı.
Michael Malura

1

"Depolama birimini ayır /" öldürme sorununu şu şekilde çözdüm:

fuser -m /storage

5161

kill -9 5161 && umount /storage

Bu benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.