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. 루트로 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. 부분적으로 섹터 변경 표시 :

    $ 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

죄송합니다, 항상 Raspbian 지침, 나쁜 습관이 있습니다. : P. 나는 질문에 다시 대답했고 지금은 효과가 있습니다.
syb0rg

작동하지 않습니다. 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

스크립트의 두 번째 줄에는 kodi, config 또는 cache라는 폴더가 있으면 크기를 조정할 수 없다고 말합니다. 나는 그들 중 3 개를 모두 가지고 ... 그래서 어떻게 지금 크기를 조정합니까?
피터 Raeves

4

한 가지 문제 (버전 3.1.5) : umount / storage =>“umount : / storage를 마운트 해제 할 수 없습니다 : 장치 또는 리소스 사용량이 많음”

fuser -m / storage => 마운트를 잠그고 있던 프로세스의 pid 나는 그것을 죽이려고 시도했지만 새로운 프로세스가 마운트를 막을 때마다. 파이프와 같은 시간에 + umount를 죽여야합니다 (순서대로) : umount / storage | -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에 의해 제어되는지 확인하십시오.

systemctl status 시스템 트리가 표시됩니다.

경우에 따라 다음을 중지해야 할 수도 있습니다.

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. 어떤 참여 / 스토리지가 속하는지 확인

    df -h

대부분의 경우 /dev/mmcblk0p2(파티션 2)

  1. 장치 / dev / mmcblk0에 대한 부분 열기

    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했다 parted하고 resize 2 -1있을 필요가resizepart 2 -1
ChrisGheen

지금까지 최고의 답변. 이 답변을 제외하고는 다른 일이 없었습니다.
Michael Malura

1

이런 식으로 "unmount storage /"killing 문제를 해결했습니다.

fuser -m /storage

5161

kill -9 5161 && umount /storage

그것은 나를 위해 일했다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.