본문 바로가기
AndroidOverLinux

Android smbd 용량 문제 해결하기

by 도정진 ㅋㅋ잠자 2020. 4. 14.

안녕하세요? 


아래 글에 대한 스크립트 입니다.





1. 원문


https://cafe.naver.com/mk802/35619



1909 Win10 버전으로 확인해 보니 아래와 같이 남은 용량이 941MB 로 나옵니다.



그럼 이게 문제인데.. 



그리고 U5 는 SMBv2 를 지원해서 SMB1.0 활성화 할 필요 없습니다.

이 문제를 픽스 하기 위해서 아래와 같이 작업합니다.

root@AOL-Debian:/data/data/com.explorer/samba/lib# ls
charset  codepages  dfree  smb.conf  smbusers
root@AOL-Debian:/data/data/com.explorer/samba/lib# vim smb.conf 

#------------smb.conf-----------#
[global]
workgroup = WORKGROUP
server string = U5PLUS-MINI-1650
security = user
map to guest = Bad User
encrypt passwords = yes
username map = /data/data/com.explorer/samba/lib/smbusers
wins support = yes
unix extensions = no
enable core files = no
# lanman auth = yes
case sensitive = yes
display charset = UTF-8
unix charset = UTF-8
dos charset = UTF-8
max log size = 225
printcap name = /dev/null
load printers = no
socket options = TCP_NODELAY IPTOS_LOWDELAY
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
dead time = 15
getwd cache = yes
dns proxy = no
use sendfile = yes
lpq cache time = 30
client NTLMv2 auth = yes
# guest account = root
# passdb backend = smbpasswd
# domain logons = no
netbios name = U5PLUS-MINI-1650
#  Networking configuration options  #
; hosts allow = 192.168.*
; hosts deny = 192.168.*
; interfaces = 192.168.*/255.255.255.0
; bind interfaces only = yes
max connections = 15
wide links = yes
max protocol = SMB2
dfree command = /data/data/com.explorer/samba/lib/dfree 
[U5PLUS_share]
hide dot files = yes
hide files = /.*/lost+found/
available = yes
browseable = yes
create mask = 0777
directory mask = 0777
path = /mnt
writable = yes
valid users = 
guest ok = yes
force user = root

dfree 는 해당 디렉터리의 남은 용량을 계산하는 smbd 의 내부 로직을 오버라이딩 하는 설정입니다.

그럼 dfree 스크립트를 하나 생성합니다.

root@AOL-Debian:/data/data/com.explorer/samba/lib# vim dfree

#!/system/bin/sh
echo "-1 50%"

root@AOL-Debian:/data/data/com.explorer/samba/lib# chmod a+x dfree
root@AOL-Debian:/data/data/com.explorer/samba/lib# sync && reboot

실제로 1809 에서는 마이너스 용량이 표기 되지만, 1909 에서는 0바이트로 나올 겁니다. 남은 용량도 0바이트

실제로는 echo "-1 50%" 의 의미는 이렇습니다.

전체용량이 -1 이고 그 중에 50퍼를 사용했다고 거짓으로 알려 주는 것입니다.

파일을 넣는 빼든 - 용량이라 윈도우에서는 용량이 무제한으로 남았다고 인식합니다.

그럼 아래와 같이 0바이트 중 0바이트 남음으로 뜹니다.



그럼 파일 1기가 이상 파일 잘 복사됩니다.

윈도우 설치 이미지 install.wim 파일 대략 4기가입니다.





확인해보시고 반영해 주셨으면 좋겠습니다.

감사합니다.




2. 적용하기


root@AOL-Debian:~# bash <(curl -s -L https://github.com/djjproject/android_over_linux/raw/master/smbfix/android_smb_fix.sh)


fix android smbd service.

reflink : https://cafe.naver.com/mk802/35619


make dfree script...


fix permissions...


add dfree command smb.conf...


already smb.conf have dfree command...


android smbfix finished...

you must reboot device.

Do you want reboot? enter y. : y

root@AOL-Debian:~# stty: 'standard input': Input/output error

[info] Using makefile-style concurrent boot in runlevel 0.

[ ok ] Stopping Jellyfin Media Server: jellyfin.

[ ok ] Stopping UPnP devices daemon: MiniSSDPd.

[ ok ] Stopping internet superserver: inetd.

Killing Plex Media Server: done

Stopping ftp server: pure-ftpd.

[ ok ] Stopping bittorrent daemon: transmission-daemon.

[ ok ] Stopping Tvheadend: tvheadend.

[ ok ] Stopping ympd Daemon: ympd.

[ ok ] Stopping Music Player Daemon: mpd.

[ ok ] Shutting down ALSA...done.

[ ok ] Stopping Avahi mDNS/DNS-SD Daemon: avahi-daemon.

[ ok ] Stopping enhanced syslogd: rsyslogd.

System now Rebooting...


감사합니다.





댓글0