OpenELECでファイルシステムのサイズを変更する


11

アップデートを実行しようとしていたところ、空き容量が足りないというエラーメッセージが表示されました。だから私はラズベリーに接続して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カードは8Gb SDカードであり、表示されるサイズは1Gbに近いので、なぜ私の質問は、スペース全体が見えないのですか?

回答:


13

ここから変更し、OpenELECを実行しているRaspberry PiにSSH接続し、次の手順に従います。

  1. rootとしてSSHでログインし/storageます。デフォルトでは、ルートパーティションに切り替えます。

    $ cd /
    
  2. XBMCが再起動しないようにします。

    $ touch /var/lock/xbmc.disabled
    
  3. XBMCを停止して、マウントを解除できるようにします/storage

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. マウントを確認します。

    $ mount
    $ parted /dev/mmcblk0
    
  5. partedで、セクター表示への変更:

    $ 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 2013

申し訳ありませんが、私は常にデフォルトでRaspbianの指示を使用しています。質問に再回答しましたが、問題なく動作するはずです。
syb0rg 2013

動作しません。connmandが/ storageを使用していて、アンマウントできないため、アンマウントできません
Rob

もう動かない!以下のMarcinの回答を参照してください。
ハーマン

18

OpenELECは、SD作成後の最初の起動時に/ storageのサイズを変更します。それを行うスクリプトを探しました。それはだ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、2015

スクリプトの2行目に、kodi、config、またはcacheという名前のフォルダーが存在する場合はサイズを変更できないと表示されています。3つすべてを取得しました...では、どのようにサイズを変更しますか?
Peter Raeves、2016年

4

私が持っていた1つの問題(バージョン3.1.5で):umount / storage =>「umount:cannot umount / storage:Device or resource busy」

fuser -m / storage =>マウントをロックしていたプロセスのpidを削除しようとしましたが、毎回新しいプロセスがマウントをブロックしました。パイプと同時に(この順序で)+ 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:

マウント解除するパーティション/ストレージをブロックしているプロセスを確認します

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ものが表示された場合は、/ storageディレクトリにあるsshセッションです。cd /ルートに移動します。

それ以外の場合は、そのプロセスをで強制終了できますkill -9 $PID

これで、/ storageディレクトリを安全にマウント解除できます

umount /storage

これで、パーティションのサイズを変更できます(一部のコマンドが変更されているため、再度報告します)。

  1. / particion / storageが属するものであることを確認します

    df -h

ほとんどの場合/dev/mmcblk0p2(パーティション2)

  1. デバイス/ dev / mmcblk0のpartedを開く

    parted /dev/mmcblk0

  2. パーティションを表示(サイズを変更するパーティションを確認しました)

    p

  3. パーティションのサイズを変更します(この場合は最後までパーティション2)。

    resize 2 -1

    quit parted

  4. ファイルシステムのサイズを変更する

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

/ flashのサイズを変更する場合は、まったく別の話です。


1
私のために働いたが、そうでparted /dev/mmcblk0あったことpartedresize 2 -1必要であったことを除いてresizepart 2 -1
ChrisGheen 2017年

これまでのところ最高のアンサー。このアンサー以外は何も私のために働いていませんでした。
Michael Malura 2017

1

私はこの方法で「ストレージのマウント解除/」殺害に関する問題を解決しました:

fuser -m /storage

5161

kill -9 5161 && umount /storage

それでうまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.