A.4 CTM 사용
CTM은 원격 디렉토리 트리를 중앙 서버 디렉토리 트리와 동기화된 상태로 유지하는 방법입니다. FreeBSD 소스 트리에서 사용하기 위해 개발되었지만 시간이 지남에 따라 다른 목적으로 사용될 수 있다는 사실을 발견한 사람들도 있었습니다. 현재 델타 생성 단계에 대한 문서가 거의 또는 전혀 없으므로 CTM을 다른 용도로 사용하려는 경우 자세한 내용은 ctm-users 메일링 리스트에 문의하세요.
A.4.1 CTM을 사용해야 하는 이유는 무엇입니까?
CTM은 FreeBSD 소스 트리의 로컬 복사본을 제공합니다. 코드 트리에는 사용 가능한 다양한 "맛"이 있습니다. 전체 CVS 트리를 추적하려는지 아니면 분기만 추적하려는지 CTM이 정보를 제공합니다. FreeBSD의 활동적인 개발자이지만 TCP/IP 연결이 거의 또는 전혀 없거나 단순히 변경 사항이 자동으로 전송되기를 원하는 경우 CTM이 적합합니다. 가장 공격적인 분기의 경우 하루에 3개 이상의 델타를 얻게 됩니다. 그러나 이메일을 통해 자동으로 보내는 것을 고려해야 합니다. 업그레이드 크기는 항상 가능한 한 작게 보장됩니다. 일반적으로 5K 미만이고 경우에 따라(1/10 기회) 10~50K가 있을 수 있으며 때때로 100K 또는 그보다 큰 경우도 있습니다.
또한 시험판 버전이 아닌 개발 코드로 직접 작업할 때의 주의 사항에 대해 스스로 교육해야 합니다. 이는 "현재" 코드를 선택하면 눈에 띄게 나타납니다. FreeBSD를 읽고 따라가는 것이 좋습니다.
A.4.2 CTM을 사용하려면 어떻게 해야 합니까?
두 가지가 필요합니다: CTM 프로그램과 이를 공급할 초기 델타('현재' 수준에 도달하기 위해).
CTM 프로그램은 버전 2.0부터 FreeBSD의 일부였으며 소스 코드 복사본이 있는 경우 /usr/src/usr.sbin/ctm에 있습니다.
FTP나 이메일이라는 두 가지 방법으로 "델타"를 CTM에 공급할 수 있습니다. 인터넷에 대한 일반적인 FTP 액세스가 있는 경우 다음 FTP 사이트는 CTM에 대한 액세스를 지원합니다:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/
또는 이 섹션 이미지를 살펴보세요.
FTP는 해당 디렉토리에 접속하여 README 파일을 받아 거기서부터 시작합니다.
이메일을 통해 델타를 받으시려면:
CTM 배포 목록을 구독하세요. ctm-cvs-cur는 전체 CVS 트리를 지원합니다. ctm-src-cur는 최신 개발 브랜치를 지원합니다. ctm-src-4는 4.X 릴리스 분기 등을 지원합니다. . (메일링 리스트 구독 방법을 모르신다면, 위의 리스트 이름을 클릭하시거나 http://lists.FreeBSD.org/mailman/listinfo로 가서 구독하고 싶은 리스트를 클릭하세요. 페이지에는 구독에 필요한 모든 지침이 포함되어 있습니다.) p>
메일로 CTM 업데이트를 받기 시작하면 ctm_rmail 프로그램을 사용하여 압축을 풀고 적용할 수 있습니다. 실제로 프로세스가 완전히 자동으로 실행되도록 하려면 /etc/aliases에 설정하여 ctm_rmail 프로그램을 직접 사용할 수 있습니다. 자세한 내용은 ctm_rmail 매뉴얼 페이지를 참조하십시오.
참고: CTM 델타를 얻는 데 사용하는 방법에 관계없이 ctm-announce 메일링 리스트를 구독해야 합니다.
향후 CTM 시스템 운영과 관련한 공지사항을 제출할 수 있는 공간을 별도로 마련할 예정입니다. 위의 메일링 리스트 이름을 클릭하고 지침에 따라 메일링 리스트에 가입하세요.
A.4.3 처음으로 CTM 사용하기
CTM 델타 사용을 시작하기 전에 시작점을 알아야 합니다.
먼저 당신이 이미 가지고 있는 것이 무엇인지 결정해야 합니다. 누구나 "빈" 디렉터리로 시작할 수 있습니다. 초기 "비어 있는" 델타로 CTM 지원 트리를 시작해야 합니다. 한때 이러한 "시작" 델타는 사용자의 편의를 위해 의도적으로 CD로 출시되었지만 더 이상 그렇지 않습니다.
코드 트리의 크기는 수십 메가바이트이므로 이미 가지고 있는 것부터 시작하는 것이 좋습니다. -RELEASE CD가 있는 경우 초기 코드 복사본을 복사하거나 압축을 풀 수 있습니다. 이렇게 하면 데이터 전송이 많이 절약됩니다.
이러한 "초기" 델타 이름에는 숫자 뒤에 X가 있는 것을 알 수 있습니다(예: src-cur.3210XEmpty.gz). X가 붙은 디자인은 원래 "시드"의 출처와 일치합니다. 비어 있음은 빈 디렉터리입니다. 일반적으로 비어 있음에서 시작하는 기본 변환은 100개의 델타로 구성됩니다. 그건 그렇고, 그들은 거대합니다! XEmpty 델타에는 70~80MB의 gzip 압축 데이터가 일반적입니다.
시작할 기본 델타를 선택한 후에는 이 숫자보다 높은 모든 델타가 필요합니다.
A.4.4 일상 생활에서 CTM 사용
델타를 적용하려면 다음을 입력하면 됩니다.
# cd /where/ever/you/want /the/ 물건
# ctm -v -v /where/you/store/your/deltas/src-xxx.*
CTM은 gzip으로 압축된 델타를 이해할 수 있으므로 먼저 gunzip을 수행해야 디스크 공간이 절약됩니다.
전체 프로세스가 신뢰할 수 있는 것으로 간주되지 않는 한 CTM에는 코드 트리가 포함되지 않습니다. -c 플래그를 사용하여 CTM이 코드 트리를 건드리지 않도록 델타를 확인할 수도 있습니다. 이는 현재 코드 트리와 함께 사용해도 안전한지 확인하기 위해 델타의 무결성만 확인합니다.
CTM에는 다른 매개변수가 있습니다. 자세한 내용은 매뉴얼 페이지나 소스 코드를 참조하세요.
사실 그게 전부입니다. 새로운 델타를 얻을 때마다 CTM을 통해 이를 실행하여 코드를 최신 상태로 유지하세요.
다시 다운로드하기 어려운 델타는 삭제하지 마세요. 무언가가 깨지면 그것을 유지하는 것에 대해 생각합니다. 플로피 디스크만 가지고 있더라도 fdwrite를 사용하여 복사본을 만드는 것을 고려해 보십시오.
A.4.5 로컬 변경 사항 유지
개발자로서 저는 코드 트리에서 파일을 실험하고 변경하는 것을 좋아합니다. CTM은 제한된 방식으로 로컬 수정을 지원합니다. foo 파일이 있는지 확인하기 전에 먼저 foo.ctm을 찾습니다. 이 파일이 존재하는 경우 CTM은 foo 대신 해당 파일에서 작동합니다.
이 동작은 로컬 변경 사항을 유지하는 간단한 방법을 제공합니다. 수정하려는 파일을 복사하고 .ctm 접미사로 이름을 바꾸면 됩니다. 그런 다음 코드를 자유롭게 수정할 수 있으며 CTM은 .ctm 파일을 최신 버전으로 업데이트합니다.
A.4.6 기타 흥미로운 CTM 옵션
A.4.6.1 업데이트할 내용을 올바르게 찾기
변경 목록을 결정할 수 있으며 CTM은 다음을 수행할 수 있습니다. 그렇게 하려면 코드 베이스에서 CTM의 -l 옵션을 사용하십시오.
이 기능은 변경 사항 로그를 유지하고 싶거나, 다양한 스타일로 수정된 파일 기록을 전처리 또는 후처리하고 싶거나, 유치하게 미친 듯한 느낌을 주고 싶을 때 유용합니다.
A.4.6.2 업그레이드 전 백업 만들기
때때로 CTM 업그레이드로 인해 변경될 모든 파일을 백업하고 싶을 수도 있습니다.
-B 백업 파일 옵션을 지정하면 CTM은 지정된 CTM 델타에 의해 수정될 모든 파일을 백업 파일에 백업합니다.
A.4.6.3 업그레이드의 영향을 받는 파일 제한
때때로 특정 CTM으로 업그레이드 범위를 제한하고 싶을 수도 있고, 방법을 알고 싶을 수도 있습니다. 델타 목록에서 파일을 선택합니다. 파일의 일부를 압축 해제합니다.
-e 및 -x 옵션을 사용하여 필터 규칙 표현식을 지정하면 CTM이 작동할 파일 목록을 제어할 수 있습니다.
예를 들어 저장된 CTM 델타 세트에서 최신 lib/libc/Makefile을 추출하려면 다음 명령을 실행하세요:
# cd /where/ever/you /want/to/ extract/it/
# ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
CTM delta의 각 파일에 대해 지정된 파일에 대해 - e 및 -x 옵션은 명령줄에 지정된 순서대로 적용됩니다. -e 및 -x가 모두 적용된 후 적합한 것으로 표시될 때까지 CTM에서 파일을 조작할 수 없습니다.
A.4.7 CTM에 대한 향후 계획
그 중 몇 가지:
CTM에서 일부 인증 방법을 사용하여 위조 CTM 패치를 탐지할 수 있습니다.
CTM 옵션을 구성하면 복잡해지고 직관적이지 않게 됩니다.
A.4.8 기타
포트 수집을 위한 일련의 델타도 있지만 이에 대한 관심은 아직 그다지 높지 않습니다.
A.4.9 CTM 미러
CTM/FreeBSD는 다음 미러 사이트에서 익명 FTP를 통해 다운로드할 수 있습니다. 익명 FTP를 통해 CTM을 얻으려면 가까운 사이트를 사용해 보세요.
질문이 있는 경우 ctm-users 메일링 리스트에 문의하세요.
캘리포니아, 베이 지역, 공식 소스 코드
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/
남아프리카, 기존 델타용 백업 서버
ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/
대만, 중국
ftp:/ /ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/
ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/
ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/
가까운 미러를 찾을 수 없거나 미러가 불완전한 경우 alltheweb과 같은 검색 엔진을 사용해 보십시오. .