Synology 네이티브 설치

2019-09-17

이 글은 intel cpu 에서만 가능하며, 제약사항도 많아 권장하지 않습니다.
chroot를 이용한 Synology 네이티브 설치 방법으로 설치하시기 바랍니다.

도커가 안되는 Synology 모델의 설치에 대한 문의도 있고, 라즈베리파이에서도 되는 것을 확인한 김에 다시 한번 네이티브로 설치해봤습니다.
결론은 도커 버전에서 사용하는 3가지 python 모듈이 설치되지 않습니다. psutil, guppy, pycrypto 모듈인데, pstuil과 guppy는 시스템 정보와, 메모리 정보를 얻는 모듈로 첫화면에 정보를 표시하는데만 사용하기에 없어도 상관없습니다.

문제는 pycypto 모듈인데, 이모듈은 티빙과 텔레그램 봇에서 암호화 관련하여 사용하고 있습니다. 따라서 티빙 다운로드는 되지 않으며, 텔레그램 봇으로 정보를 받는 부분은 사용할 수 없습니다. (파일처리의 텔레그램 메시지 수신은 가능함)

사용하실 분들은 이 부분을 감안하시기 바랍니다.


Hits: 1249

This Post Has 15 Comments

  1. 시놀로지 DS218play에 설치를 시도하였는데
    pip install -r requirements.txt 시에 빌드 단계에서 에러 메시지를 출력하네요. cffi, gevent, greenlet, lxml, Pillow 각각 단계 모두에서요.

    Building wheels for collected packages: cffi, gevent, greenlet, lxml, Pillow
    Building wheel for cffi (setup.py) … error

    1. 에러 메시지 좀 올려주세요. 빨간색 하단에 보면 구체적으로 나오거든요

    2. 생각해보니 제 시놀은 예전에 gcc 및 개발환경을 설치했었고, intel cpu입니다.
      putty 창에서 gcc 만 입력했을 때 실행이 되시는지?

      가능하시면 제가 ssh 접속해서 설치를 진행해보겠습니다.
      텔레그램 채널에 오셔서 말씀해주세요

  2. 안녕하세요.
    klive서버를 덕분에 잘 이용중입니다.
    klive 관련해서 문의하려는데 쓸곳을 못찾아 부득이하게 여기에 남기네요.
    다름이 아니라 epg에서 에피소드가 tvh의 에피소드 칼럼으로 들어가는게 아니라 제목뒤에 x회 이런식으로 붙다보니
    녹화시에 제목별 폴더에 되는게 아니라 제목-회차 폴더로 생성이 되네요.
    혹 epg생성에서 에피소드를 구분이 되게 해주실수 있을까요?
    좋은 프로그램 감사드립니다.

  3. Building wheel for guppy (setup.py) … error
    ERROR: Complete output from command /bin/python -u -c ‘import setuptools, tokenize;__file__='”‘”‘/tmp/pip-install-ftAcZT/guppy/setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ bdist_wheel -d /tmp/pip-wheel-8z3YR3 –python-tag cp27:
    ERROR: running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/guppy
    copying guppy/__init__.py -> build/lib.linux-x86_64-2.7/guppy
    creating build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/__init__.py -> build/lib.linux-x86_64-2.7/guppy/doc
    creating build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/xterm.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/tkcursors.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/textView.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/etc.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/cmd.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/__init__.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/Unpack.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/RE_Rect.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/RE.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/OutputHandling.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/KnuthBendix.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/KanExtension.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/IterPermute.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/Help.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/Glue.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/FSA.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/ExecfileWithModuleInfo.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/Compat.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/Code.py -> build/lib.linux-x86_64-2.7/guppy/etc
    copying guppy/etc/Cat.py -> build/lib.linux-x86_64-2.7/guppy/etc
    creating build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/__init__.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/XHTML.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Text.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Tester.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/SpecNodes.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Main.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Latex.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Html.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Help.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Gsml.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Filer.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/FileIO.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Exceptions.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/DottedTree.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    copying guppy/gsl/Document.py -> build/lib.linux-x86_64-2.7/guppy/gsl
    creating build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/pbhelp.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/__init__.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/View.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Use.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/UniSet.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Target.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Spec.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/RemoteConstants.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Remote.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/RefPat.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/RM.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Prof.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Path.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Part.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/OutputHandling.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Monitor.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/ImpSet.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Doc.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Console.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/Classifiers.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    copying guppy/heapy/AbstractAlgebra.py -> build/lib.linux-x86_64-2.7/guppy/heapy
    creating build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_sf.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_menuleak.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_heapyc.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_dependencies.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_all.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_View.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_UniSet.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_Spec.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_RetaGraph.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_RefPat.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_Path.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_Part.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_OutputHandling.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_ER.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/test_Classifiers.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/support.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    copying guppy/heapy/test/__init__.py -> build/lib.linux-x86_64-2.7/guppy/heapy/test
    creating build/lib.linux-x86_64-2.7/guppy/sets
    copying guppy/sets/test.py -> build/lib.linux-x86_64-2.7/guppy/sets
    copying guppy/sets/__init__.py -> build/lib.linux-x86_64-2.7/guppy/sets
    copying guppy/doc/sets.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/index.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/heapyc.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/heapy_tutorial.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/heapy_Use.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/heapy_UniSet.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/heapy_RootState.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/guppy.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/gslexample.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/gsl.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/docexample.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/ProfileBrowser.html -> build/lib.linux-x86_64-2.7/guppy/doc
    copying guppy/doc/pbscreen.jpg -> build/lib.linux-x86_64-2.7/guppy/doc
    running build_ext
    building ‘guppy.sets.setsc’ extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/src
    creating build/temp.linux-x86_64-2.7/src/sets
    /usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc -fno-strict-aliasing -DSYNOPLAT_F_X86_64 -O2 -include /usr/syno/include/platformconfig.h -DSYNO_ENVIRONMENT -DBUILD_ARCH=64 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DSYNO_RUNNING_DSM_BUILD_SYSTEM -g -pipe -fstack-protector –param=ssp-buffer-size=4 -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -DOPENSSL_NO_SSL3 -I/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/libffi-3.2.1/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/sets/sets.c -o build/temp.linux-x86_64-2.7/src/sets/sets.o
    unable to execute ‘/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc’: No such file or directory
    error: command ‘/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc’ failed with exit status 1
    —————————————-
    ERROR: Failed building wheel for guppy
    Running setup.py clean for guppy
    Building wheel for psutil (setup.py) … error
    ERROR: Complete output from command /bin/python -u -c ‘import setuptools, tokenize;__file__='”‘”‘/tmp/pip-install-ftAcZT/psutil/setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ bdist_wheel -d /tmp/pip-wheel-kCtM77 –python-tag cp27:
    ERROR: running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/psutil
    copying psutil/_pswindows.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_pssunos.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_psposix.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_psosx.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_pslinux.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_psbsd.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_psaix.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_compat.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/_common.py -> build/lib.linux-x86_64-2.7/psutil
    copying psutil/__init__.py -> build/lib.linux-x86_64-2.7/psutil
    creating build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_windows.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_unicode.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_system.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_sunos.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_process.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_posix.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_osx.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_misc.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_memory_leaks.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_linux.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_contracts.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_connections.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_bsd.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/test_aix.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/__main__.py -> build/lib.linux-x86_64-2.7/psutil/tests
    copying psutil/tests/__init__.py -> build/lib.linux-x86_64-2.7/psutil/tests
    running build_ext
    building ‘psutil._psutil_linux’ extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/psutil
    /usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc -fno-strict-aliasing -DSYNOPLAT_F_X86_64 -O2 -include /usr/syno/include/platformconfig.h -DSYNO_ENVIRONMENT -DBUILD_ARCH=64 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DSYNO_RUNNING_DSM_BUILD_SYSTEM -g -pipe -fstack-protector –param=ssp-buffer-size=4 -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -DOPENSSL_NO_SSL3 -I/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/libffi-3.2.1/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=561 -DPSUTIL_LINUX=1 -DPSUTIL_ETHTOOL_MISSING_TYPES=1 -I/usr/include/python2.7 -c psutil/_psutil_common.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_common.o
    unable to execute ‘/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc’: No such file or directory
    error: command ‘/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc’ failed with exit status 1
    —————————————-
    ERROR: Failed building wheel for psutil
    Running setup.py clean for psutil
    Failed to build guppy psutil
    ERROR: markdown 3.1 has requirement setuptools>=36, but you’ll have setuptools 25.1.6 which is incompatible.
    ERROR: caldav 0.1.10 has requirement lxml==2.1.5, but you’ll have lxml 4.3.3 which is incompatible.
    ERROR: google-auth 1.6.3 has requirement pyasn1-modules>=0.2.1, but you’ll have pyasn1-modules 0.0.8 which is incompatible.
    Installing collected packages: greenlet, gevent, gevent-websocket, cachetools, rsa, google-auth, httplib2, google-auth-httplib2, uritemplate, google-api-python-client, guppy, idna, lxml, Markdown, oauth2client, Pillow, urllib3, requests, websocket-client, tqdm, PlexAPI, psutil, sqlitedict
    Found existing installation: greenlet 0.4.9
    ERROR: Cannot uninstall ‘greenlet’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

    1. DS718+에 네이티브로 설치시 에러메세지입니다.
      너무 기네요…

      1. 원하시면 제가 ssh 설치해드리겠습니다.
        텔레그램 오셔서 알려주세요

        1. 도커로 sjva 설치했습니다.
          직접 댓글로 설치까지 해주시려 하시니 감사드립니다.

          유용한 프로그램 잘 활용해보겠습니다.

  4. 설치중 에러가 납니다.
    빨간줄로 나온 에러코드는

    ERROR: Could not find a version that satisfies the requirement futures==3.2.0 (from -r requirements.txt (line 14)) (from versions: 0.2.python3, 0.1, 0.2, 1.0, 2.0, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.1.0, 3.1.1)
    ERROR: No matching distribution found for futures==3.2.0 (from -r requirements.txt (line 14))

    라고 하네요..

    1. futures 버전을 3.1.1로 맞추니 해결 되었습니다. 설치는 진행이 되네요

      1. aiohttp설치중 버전이 맞는게 없다고 나와 직접 aiohttp==3.0.0설치 하여 진행 하였습니다. ㅠ 왜이리 걸리는게 많을까요

        1. ERROR:failed building wheel for pillow
          EOORO:filaed building wheel for lxm
          ERROR:failed building wheel for greenlet
          ERROR:failed building wheel for cffi

          에러가 나와서 ㅜㅜ 또 해맵니다. ㅠㅠ

          1. 기종이 먼가요?

          2. 네 시놀로지 DS218 입니다.
            설치 포기중 입니다. 글 확인이 많이 늦었습니다 ㅠ

            지금은 윈도우로 플렉스 서버용으로 하나 만들려고 합니다.

  5. 안녕하세요. 소주님

    ASUS AC68U 멀린펌에 Native로 설치 해보려는데, 어렵네요ㅠ

    1. requirements.txt내 guessit==3.0.4 에서 하기와 같이 에러나면서 진행이 안되는데데,
    소주님 로그에는 없어 삭제하였더니 이후 진행은 됩니다.

    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

    2. 빌드단계에선 에러가 너무 많이 나네요ㅠ
    ERROR: Failed building wheel for cffi
    ERROR: Failed building wheel for gevent
    ERROR: Failed building wheel for greenlet
    ERROR: Failed building wheel for xml
    ERROR: Failed building wheel for Pillow
    ERROR: Command errored out with exit status 1: /opt/bin/python2 -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘/tmp/mnt/sda1/entware/tmp/pip-install-iucqgW/cffi/setup.py'”‘”‘; __file__='”‘”‘/tmp/mnt/sda1/entware/tmp/pip-install-iucqgW/cffi/setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record /tmp/mnt/sda1/entware/tmp/pip-record-eN_Hgg/install-record.txt –single-version-externally-managed –compile Check the logs for full command output.

    거의 문외한이라 인터넷 검색해가면서, 겨우 여기까지 왔는데, 이 이상은 저의 수준으론 무리네요ㅠ

댓글 남기기

Close Menu