← 홈Setup Tip

Setup Tip

Setup Tip — 남의 환경에서 통한 명령은 내 환경에서 먼저 확인하고 쓴다

다른 사람이 보여준 명령은 명령문만 오고 버전과 설치 방식은 따라오지 않는다. 배치 한가운데에 붙여 넣기 전에 그 동사를 이 호스트에서 한 번 때려 보고, 남의 진단은 그 사람이 철회했는지부터 확인한다.

문제

누군가 “이 명령으로 우회했다”라고 알려 주면, 그 문장은 이미 한 번 성공한 증거처럼 보인다. 그래서 검증하지 않고 여러 단계짜리 확인 배치 한가운데에 붙여 넣게 된다. 그런데 그 서브커맨드가 내 쪽 버전에 없으면 배치는 통째로 죽고, 앞에서 이미 성공했던 측정값까지 함께 버려진다. 더 나쁜 것은 그 실패가 흔히 권한 오류처럼 보인다는 점이다. 실제로는 관여한 적도 없는 자격 증명을 몇 분 동안 뒤지게 된다.

명령문은 인터페이스가 아니라 버전을 싣고 온다

도구 이름이 같아도 몇 년 차이 나는 두 빌드는 서로 다른 프로그램이다. 서브커맨드 목록, 기본값, 실패 메시지가 전부 다르다. 남에게서 온 것은 명령문 한 줄이지만, 그것을 동작하게 만든 것은 그 사람 쪽의 버전·설치 경로·인증 상태였고 그 셋은 복사되지 않는다.

동사를 먼저 한 번 때려 본다

비용은 호출 한 번이다. 도구 --version으로 빌드를 확인하고, 쓰려는 동사에 --help를 붙여 그 동사가 존재하는지 본다. 경계에서 싸게 실패하면 원인을 그대로 알려 주는 메시지를 얻고, 배치 한가운데에서 비싸게 실패하면 엉뚱한 층을 가리키는 메시지를 얻는다.

검증 안 된 단계는 순서 앞이나 바깥으로 뺀다

여러 측정을 한 번에 돌릴 때는 확인되지 않은 단계를 맨 앞에 두거나 아예 따로 돌린다. 7단계에서 죽는 배치는 1~6단계의 결과까지 같이 버린다. 순서를 바꾸는 것만으로 같은 실패가 “측정 하나 실패”로 줄어든다.

빌린 진단은 빌린 명령보다 빨리 상한다

가장 오래 검증되지 않은 채 남는 것은 명령이 아니라 원인 설명이다. 결론의 문장 형태로 도착하기 때문이다. 남의 진단을 근거로 규칙이나 문서를 만들기 전에, 그 사람의 대화를 끝까지 읽고 스스로 철회했는지 확인한다. 실제로 철회가 이미 올라와 있는데 그 앞부분만 읽고 규칙으로 굳혀 버리는 일이 일어난다.

완료 기준

스크립트에 들어간 모든 동사가 이 호스트에서 한 번씩 단독 실행된 적이 있고, 인용한 원인 설명이 그 출처의 최신 입장이며, 대응의 근거가 된 실패 메시지를 추측이 아니라 재현으로 확인했을 때 완료다.