Skip to content
isdnetworks
Go back

여러 장비에서 유지한 같은 구조

일하는 장비가 셋인데 같은 저장소를 받아 쓰면서 자리가 제각각이었다. 스크립트에 경로를 적으면 다른 장비에서 안 돌고 메모해 둔 명령도 매번 고쳐 써야 했다.

Table of contents

Open Table of contents

장비마다 다른 자리

경로가 다르면 스크립트와 메모가 장비에 묶인다. 같은 일을 하는 명령이 장비 수만큼 생기고 그중 하나만 고치면 나머지가 어긋난다.

문제는 경로 자체가 아니라 그것이 다른 모든 것을 장비별로 갈라 놓는다는 점이었다. 그래서 자리를 하나로 맞추는 것을 먼저 했다.

같은 경로와 링크

홈 아래 같은 이름의 폴더로 통일하고 저장소 이름을 그 아래에 뒀다. 옮기는 데 삼십 분이 걸렸고 그 뒤로는 명령을 그대로 썼다.

경로를 정할 때 사용자 이름이 다를 수 있으므로 홈 기준 상대 경로로 잡고 대소문자 구분이 다른 환경을 고려해 전부 소문자로 했다. 외장 디스크에 두는 장비는 링크를 걸어서 경로는 같고 실체만 다르게 만들었다.

운영체제 차이를 흡수하는 자리

같은 자리에 둬도 명령 옵션이 운영체제마다 다른 것이 남았다. 치환 명령의 제자리 편집 옵션이 대표적이었고 그것 때문에 스크립트가 한 장비에서만 돌았다.

그런 차이는 스크립트 안에서 운영체제를 보고 갈라 두면 호출부가 하나로 유지된다. 필요한 도구가 깔려 있는지도 시작할 때 확인해서 없으면 이름과 설치 방법을 알려 주게 했다.

장비 사이가 어긋났는지 본다

세 장비가 같은 지점을 보고 있는지를 확인하는 명령을 만들어 작업 전에 돌렸다. 며칠 안 켠 장비가 밀려 있는 것이 그렇게 드러났다.

옛 상태에서 고치면 나중에 합칠 때 어긋난다. 확인 자체는 몇 초인데 안 하면 그 결과가 며칠 뒤에 병합 충돌로 돌아온다.

장비별 역할

셋을 같게 만들어도 실제로 쓰는 방식은 달랐다. 주 작업과 이동용과 시험용으로 역할을 정하니 무엇을 어디서 할지가 안 헷갈렸다.

큰 자료를 이동용 장비에서 다루려다 저장 공간이 모자란 적이 있었는데 역할을 정한 뒤로는 그런 일이 없었다. 역할을 적어 두니 어느 장비에 무엇이 있어야 하는지도 함께 갈렸다.

정리


Share this post on:

Previous Post
배치가 정상 경로와 같은 상태를 만들어야 한다
Next Post
옮길 것의 명시 목록