문제 해결

걸렸어?무슨 문제가 있습니까?다음은 오류 보고서를 제출하기 전에 시도할 단계입니다.

  • 최신 버전을 사용하고 있는지 확인하십시오. 최신 버전을 사용하지 않으면 문제가 해결되었을 수 있습니다!업그레이드는 항상 최고의 첫 번째 단계입니다.

  • 이전 버전을 사용해 보십시오. 만약 여러분이 on 최신 Fabric인 경우 여러 부 버전(예: 2.3의 경우 Fabric 2.2 또는 2.1)을 롤백하고 문제가 사라지는지 확인하십시오.이렇게 하면 개발자가 제출 로그에서 처음 문제가 발생하는 시간 범위를 좁힐 수 있습니다.

  • 너의 Paramiko를 높이 높이려고 노력해봐. Fabric의 SSH 기능은 Paramiko 라이브러리에 크게 의존하므로 위의 두 단계를 Paramiko 설치에도 적용하십시오.

    주석

    원단 버전은 패라미코 종속성이 다른 경우도 있습니다. 따라서 이전 Paramikos를 시도하려면 원단의 등급을 낮춰야 할 수도 있습니다.

  • 원단이 정말 문제인지 확인하세요. 문제가 원격 명령의 동작이나 출력에 있는 경우 Fabric과 관계 없이 다시 만들어 보십시오.

    • 사용자를 대신하여 실행 중인 정확한 명령 Fabric을 찾습니다.

      • 2.x 이상에서는 echo=True 키워드 매개변수 run.echo 구성 설정 또는 -e CLI 옵션.

      • 1.x에서 Fabric 실행 --show=debug 그리고 run: 또는 sudo: 대사.

    • 먼저 대화식 원격 셸에서 명령을 실행하여 일반 사용자에게 적용되도록 합니다. 이렇게 하면 명령 구성의 오류와 같은 문제가 캡처됩니다.

    • 문제가 발견되지 않으면 셸이 아닌 SSH 세션에서 명령을 실행합니다. 예를 들면 다음과 같습니다. ssh yourserver "your command" 바로 그거야.설정 및 구조 버전에 따라 ssh -T (PTY 사용 안 함) 또는 -t (PTY 사용) Fabric에서 명령을 실행하는 방법에 가장 근접한 방법입니다.

  • Enable Paramiko-level debug logging. 문제가 낮은 레벨의 Paramiko 라이브러리에 있으면 디버그 출력 Paramiko 인쇄를 보는 데 도움이 될 수 있습니다.Fabfile의 최상위 레벨(Fabfile을 사용하지 않을 경우 해당 모듈에서)에 다음을 추가합니다.

    import logging
    logging.basicConfig(level=logging.DEBUG)
    

    그러면 Paramiko의 디버그 문을 표준 오류 스트림으로 인쇄하기 시작해야 합니다.(제대로 벌목목마를 추가해 주세요. basicConfig() 예를 들면, filename='/path/to/a/file' (원하는 경우)

    그런 다음 이 정보를 IRC에 제출하거나 오류 보고서에서 사용자를 도울 수 있습니다.