Rez의 패키지 관리 (Managing Packages)
Rez는 다양한 방식으로 패키지를 관리할 수 있는 기능을 제공합니다. 이를 통해 패키지를 무시, 복사, 이동, 삭제 등의 작업을 효율적으로 수행할 수 있습니다
1. 패키지 무시 (Ignoring Packages)
특정 패키지를 무시하면 해당 패키지가 여전히 저장소에 남아 있지만, Rez API나 새로운 런타임에서는 보이지 않습니다. 현재 사용 중인 런타임에는 영향을 미치지 않습니다.
- 명령어:
- $ rez-pkg-ignore foo-1.2.3 filesystem@/path/to/packages
- API:
- from rez.package_repository import package_repository_manager repo = package_repository_manager.get_repository("filesystem@/path/to/packages") repo.ignore_package("foo", "1.2.3")
- .ignore{버전} 파일이 생성됩니다. 무시된 패키지는 u 옵션을 사용하여 다시 활성화할 수 있습니다.
2. 패키지 복사 (Copying Packages)
패키지는 한 저장소에서 다른 저장소로 복사할 수 있습니다. 복사 과정은 Rez 명령어 또는 API를 통해 수행해야 하며, 디스크에서 직접 복사하지 않아야 합니다.
- 명령어:
- $ rez-cp --dest-path /new/path my_pkg-1.2.3
- API:
- from rez.package_copy import copy_package from rez.packages import get_latest_package p = get_latest_package("python") copy_package(p, "/new/repo")
⚠️ 주의: 디스크에서 직접 복사하면 캐시 문제 등 여러 문제가 발생할 수 있으므로 반드시 Rez 명령어를 사용하세요.
3. 패키지 이동 (Moving Packages)
패키지는 저장소 간에 이동할 수 있습니다. 이동 후, 원본 패키지는 자동으로 숨겨지며, 이후 수동으로 삭제해야 합니다.
- 명령어:
- $ rez-mv --dest-path /new/path python-3.7.4 /old/path
- API:
- from rez.package_move import move_package p = get_package_from_repository("python", "3.7.4", "/old/path") move_package(p, "/new/path")
비활성 패키지를 보관소로 이동하거나, 오래된 런타임 복원을 위해 사용됩니다. 이동 시 --keep-timestamp 옵션을 사용하면 원본 타임스탬프를 유지할 수 있습니다.
4. 패키지 삭제 (Removing Packages)
패키지를 삭제하면 저장소에서 완전히 제거됩니다. 삭제된 패키지는 복원할 수 없으므로 주의가 필요합니다.
- 명령어:
- $ rez-rm --package python-3.7.4 /path/to/packages
- API:
- from rez.package_remove import remove_package remove_package("python", "3.7.4", "/path/to/packages")
무시된 패키지를 삭제하려면, --ignored-since=N 옵션을 사용하여 특정 기간(예: 30일) 이상 무시된 패키지만 삭제할 수 있습니다:
$ rez-rm --ignored-since=30 -v
'REZ > ADVACED' 카테고리의 다른 글
Pip (0) | 2024.12.24 |
---|---|
Resolve Caching (0) | 2024.12.24 |
Suites (0) | 2024.12.24 |
Context bundles (0) | 2024.12.24 |
Ephemerals (1) | 2024.12.24 |