문제 해결¶
걸렸어?무슨 문제가 있습니까?다음은 오류 보고서를 제출하기 전에 시도할 단계입니다.
최신 버전을 사용하고 있는지 확인하십시오. 최신 버전을 사용하지 않으면 문제가 해결되었을 수 있습니다!업그레이드는 항상 최고의 첫 번째 단계입니다.
이전 버전을 사용해 보십시오. 만약 여러분이 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에 제출하거나 오류 보고서에서 사용자를 도울 수 있습니다.