Synology ipkg nano - 잘못된 줄 번호, 때로는 파일의 잘못된 면에 있음

Synology ipkg nano - 잘못된 줄 번호, 때로는 파일의 잘못된 면에 있음

고쳐 쓰다

나는 제출했다오류 보고서결론은 ipkg를 통해 제공되는 Nano 버전이 3년이 지났고 잘못 수정되었거나 종속성이 깨졌다는 것입니다.

안타깝게도 커뮤니티에서 만든 패키지 관리자는 폐기되거나(ipkg) 호환되지 않습니다(opkg). Synology로 계속 개발하려고 하면 비슷한 문제에 직면하게 될 것 같아서 다른 플랫폼을 시도해 보려고 합니다. 하지만 이 플랫폼은 열어 두겠습니다.

원래

nano에서 파일을 열 때 줄 번호가 활성화되어 있으면 줄 번호가 완전히 잘못되어 잘못된 면에 나타납니다!

이는 모든 파일에서 발생합니다. 예는 다음과 같습니다.

nano의 줄 번호가 잘못되었습니다.

실제 파일은 올바른 것 같습니다:

실제 파일 내용

➜  ngnix-proxy-manager cat -A docker-compose.yml
version: "3"$
services:$
  app:$
    image: 'jc21/nginx-proxy-manager:latest'$
    restart: unless-stopped$
    ports:$
      # Public HTTP Port:$
      - '80:80'$
      # Public HTTPS Port:$
      - '443:443'$
      # Admin Web Port:$
      - '81:81'$
      # Add any other Stream port you want to expose$
      # - '21:21' # FTP$
    environment:$
      # These are the settings to access your db$
      DB_MYSQL_HOST: "db"$
      DB_MYSQL_PORT: 3306$
      DB_MYSQL_USER: "npm"$
      DB_MYSQL_PASSWORD: "npm"$
      DB_MYSQL_NAME: "npm"$
      # If you would rather use Sqlite uncomment this$
      # and remove all DB_MYSQL_* lines above$
      # DB_SQLITE_FILE: "/data/database.sqlite"$
      # Uncomment this if IPv6 is not enabled on your host$
      # DISABLE_IPV6: 'true'$
    volumes:$
      - ./data:/data$
      - ./letsencrypt:/etc/letsencrypt$
    depends_on:$
      - db$
  db:$
    image: 'jc21/mariadb-aria:latest'$
    restart: unless-stopped$
    environment:$
      MYSQL_ROOT_PASSWORD: 'npm'$
      MYSQL_DATABASE: 'npm'$
      MYSQL_USER: 'npm'$
      MYSQL_PASSWORD: 'npm'$
    volumes:$
      - ./data/mysql:/var/lib/mysql$
➜  ngnix-proxy-manager od -c docker-compose.yml
0000000   v   e   r   s   i   o   n   :       "   3   "  \n   s   e   r
0000020   v   i   c   e   s   :  \n           a   p   p   :  \n
0000040           i   m   a   g   e   :       '   j   c   2   1   /   n
0000060   g   i   n   x   -   p   r   o   x   y   -   m   a   n   a   g
0000100   e   r   :   l   a   t   e   s   t   '  \n                   r
0000120   e   s   t   a   r   t   :       u   n   l   e   s   s   -   s
0000140   t   o   p   p   e   d  \n                   p   o   r   t   s
0000160   :  \n                           #       P   u   b   l   i   c
0000200       H   T   T   P       P   o   r   t   :  \n
0000220           -       '   8   0   :   8   0   '  \n
0000240           #       P   u   b   l   i   c       H   T   T   P   S
0000260       P   o   r   t   :  \n                           -       '
0000300   4   4   3   :   4   4   3   '  \n                           #
0000320       A   d   m   i   n       W   e   b       P   o   r   t   :
0000340  \n                           -       '   8   1   :   8   1   '
0000360  \n                           #       A   d   d       a   n   y
0000400       o   t   h   e   r       S   t   r   e   a   m       p   o
0000420   r   t       y   o   u       w   a   n   t       t   o       e
0000440   x   p   o   s   e  \n                           #       -
0000460   '   2   1   :   2   1   '       #       F   T   P  \n
0000500           e   n   v   i   r   o   n   m   e   n   t   :  \n
0000520                       #       T   h   e   s   e       a   r   e
0000540       t   h   e       s   e   t   t   i   n   g   s       t   o
0000560       a   c   c   e   s   s       y   o   u   r       d   b  \n
0000600                           D   B   _   M   Y   S   Q   L   _   H
0000620   O   S   T   :       "   d   b   "  \n
0000640   D   B   _   M   Y   S   Q   L   _   P   O   R   T   :       3
0000660   3   0   6  \n                           D   B   _   M   Y   S
0000700   Q   L   _   U   S   E   R   :       "   n   p   m   "  \n
0000720                       D   B   _   M   Y   S   Q   L   _   P   A
0000740   S   S   W   O   R   D   :       "   n   p   m   "  \n
0000760                   D   B   _   M   Y   S   Q   L   _   N   A   M
0001000   E   :       "   n   p   m   "  \n                           #
0001020       I   f       y   o   u       w   o   u   l   d       r   a
0001040   t   h   e   r       u   s   e       S   q   l   i   t   e
0001060   u   n   c   o   m   m   e   n   t       t   h   i   s  \n
0001100                       #       a   n   d       r   e   m   o   v
0001120   e       a   l   l       D   B   _   M   Y   S   Q   L   _   *
0001140       l   i   n   e   s       a   b   o   v   e  \n
0001160               #       D   B   _   S   Q   L   I   T   E   _   F
0001200   I   L   E   :       "   /   d   a   t   a   /   d   a   t   a
0001220   b   a   s   e   .   s   q   l   i   t   e   "  \n
0001240               #       U   n   c   o   m   m   e   n   t       t
0001260   h   i   s       i   f       I   P   v   6       i   s       n
0001300   o   t       e   n   a   b   l   e   d       o   n       y   o
0001320   u   r       h   o   s   t  \n                           #
0001340   D   I   S   A   B   L   E   _   I   P   V   6   :       '   t
0001360   r   u   e   '  \n                   v   o   l   u   m   e   s
0001400   :  \n                           -       .   /   d   a   t   a
0001420   :   /   d   a   t   a  \n                           -       .
0001440   /   l   e   t   s   e   n   c   r   y   p   t   :   /   e   t
0001460   c   /   l   e   t   s   e   n   c   r   y   p   t  \n
0001500           d   e   p   e   n   d   s   _   o   n   :  \n
0001520                   -       d   b  \n           d   b   :  \n
0001540               i   m   a   g   e   :       '   j   c   2   1   /
0001560   m   a   r   i   a   d   b   -   a   r   i   a   :   l   a   t
0001600   e   s   t   '  \n                   r   e   s   t   a   r   t
0001620   :       u   n   l   e   s   s   -   s   t   o   p   p   e   d
0001640  \n                   e   n   v   i   r   o   n   m   e   n   t
0001660   :  \n                           M   Y   S   Q   L   _   R   O
0001700   O   T   _   P   A   S   S   W   O   R   D   :       '   n   p
0001720   m   '  \n                           M   Y   S   Q   L   _   D
0001740   A   T   A   B   A   S   E   :       '   n   p   m   '  \n
0001760                       M   Y   S   Q   L   _   U   S   E   R   :
0002000       '   n   p   m   '  \n                           M   Y   S
0002020   Q   L   _   P   A   S   S   W   O   R   D   :       '   n   p
0002040   m   '  \n                   v   o   l   u   m   e   s   :  \n
0002060                           -       .   /   d   a   t   a   /   m
0002100   y   s   q   l   :   /   v   a   r   /   l   i   b   /   m   y
0002120   s   q   l  \n
0002124

버전:

  • 시놀로지 DSM6.2.4-25556
  • GNU nano, version 3.1

쉘과 클라이언트의 다양한 조합을 시도했지만 동일한 문제가 발생합니다.

  • GNU bash, 버전 4.3.48(1)-릴리스(x86_64-pc-linux-gnu)
  • zsh 5.2 (x86_64-buildroot-linux-gnu)
  • 오미지쉬-최신 마스터
  • OS X 터미널
  • 1.9.1942.0Powershell 프로필이 있는 Windows 터미널7.1.3

재설치도 해봤는데sudo /opt/bin/ipkg install nano --force-reinstall

nano는 nanoc 파일을 올바르게 읽습니다.

> more $XDG_CONFIG_HOME/nano/nanorc
set linenumbers

어느 시점에서는 충돌이 발생하기도 했습니다.

> nano docker-compose.yml.save
Sorry! Nano crashed!  Code: 11.  Please report a bug.

내용 줄을 편집하면 줄 번호가 다음과 같이 변경됩니다.https://gfycat.com/unripeoblongafricanhornbill

  1. 211-줄번호가 변경되었습니다 -0
  2. 225-줄 번호가 변경되었습니다 -1
  3. 239-줄번호 변경 -2

nano는 줄 번호가 비활성화되어 있으면 제대로 작동합니다. 여기에서 설정을 주석 처리하고 nanoc를 다시 열었습니다.

무선 번호가 정확하고

DSM 7로 업데이트됨

Synology를 DSM 7로 업데이트하고 nano를 다시 사용해 보았습니다. 다시 말하지만, 그렇지 않으면 set linenumbers출력이 왜곡됩니다. 또한 다음과 같은 멋진 오류 메시지가 표시됩니다.

Badness: tried to display a line on row -1851878901 -- please report a bug

여기에 이미지 설명을 입력하세요.

파일을 로드하는 동안 줄 번호가 몇 번 변경되고 다음 오류가 발생합니다.

Further warnings were suppressed

여기에 이미지 설명을 입력하세요.

답변1

[질문에서 답변으로 복사되었습니다. 원본 포스터에서 나온 내용입니다.]

나는 제출했다오류 보고서결론은 ipkg를 통해 제공되는 Nano 버전이 3년이 지났고 잘못 수정되었거나 종속성이 깨졌다는 것입니다.

안타깝게도 커뮤니티에서 만든 패키지 관리자는 폐기되거나(ipkg) 호환되지 않습니다(opkg). Synology로 계속 개발하려고 하면 비슷한 문제에 직면하게 될 것 같아서 다른 플랫폼을 시도해 보려고 합니다. 하지만 이 플랫폼은 열어 두겠습니다.

관련 정보