- Debian API 활성화
- Debian 그룹 API 활성화
- 패키지 파일 업로드
- 패키지 다운로드
- 라우트 접두어
- 배포 Release 파일 다운로드
- 서명된 배포 Release 파일 다운로드
- 릴리스 파일 서명 다운로드
- 패키지 인덱스 다운로드
- 해시별 패키지 인덱스 다운로드
- Debian 설치 프로그램 패키지 인덱스 다운로드
- 해시별 Debian 설치 프로그램 패키지 인덱스 다운로드
- 소스 패키지 인덱스 다운로드
- 해시별 소스 패키지 인덱스 다운로드
Debian API
- 피처 플래그 뒤에 배포됨, 기본적으로 비활성화됨.
이것은 Debian에 대한 API 문서입니다.
GitLab 패키지 레지스트리에서 Debian 패키지를 업로드하고 설치하는 방법은 Debian 레지스트리 문서를 참조하세요.
Debian API 활성화
Debian API는 기본적으로 비활성화된 피처 플래그 뒤에 있습니다. GitLab Rails 콘솔에 액세스 권한을 가진 GitLab 관리자는 이를 활성화할 수 있습니다. 활성화하려면 Debian API를 활성화의 지침을 따르세요.
Debian 그룹 API 활성화
Debian 그룹 API는 기본적으로 비활성화된 피처 플래그 뒤에 있습니다. GitLab Rails 콘솔에 액세스 권한을 가진 GitLab 관리자는 이를 활성화할 수 있습니다. 활성화하려면 Debian 그룹 API를 활성화의 지침을 따르세요.
Debian 패키지 리포지터리 인증
패키지 파일 업로드
- GitLab 15.9에서 명시적 배포 및 컴포넌트로 업로드 도입됨.
Debian 패키지 파일 업로드:
PUT projects/:id/packages/debian/:file_name
Attribute | Type | Required | Description |
---|---|---|---|
`id` | string | yes | 프로젝트의 ID 또는 전체 경로입니다. |
`file_name` | string | yes | Debian 패키지 파일의 이름입니다. |
`distribution` | string | no | 배포 코드 이름 또는 스위트입니다. 명시적 배포 및 컴포넌트로 업로드에 사용됩니다. |
`component` | string | no | 패키지 파일 컴포넌트입니다. 명시적 배포 및 컴포넌트로 업로드에 사용됩니다. |
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file path/to/mypkg.deb \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/mypkg.deb"
명시적 배포 및 컴포넌트로 업로드:
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file /path/to/myother.deb \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/myother.deb?distribution=sid&component=main"
패키지 다운로드
패키지 파일 다운로드:
GET projects/:id/packages/debian/pool/:distribution/:letter/:package_name/:package_version/:file_name
Attribute | Type | Required | Description |
---|---|---|---|
`distribution` | string | yes | Debian 배포의 코드 이름 또는 스위트입니다. |
`letter` | string | yes | Debian 분류 (첫 글자 또는 lib-first-letter)입니다. |
`package_name` | string | yes | 소스 패키지 이름입니다. |
`package_version` | string | yes | 소스 패키지 버전입니다. |
`file_name` | string | yes | 파일 이름입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb"
출력을 파일로 작성합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb" \
--remote-name
다운로드한 파일을 현재 디렉터리에 원격 파일 이름을 사용하여 작성합니다.
라우트 접두어
이제 설명하는 남은 엔드포인트는 각각 다른 범위에서 요청을 하는 동일한 두 세트의 라우트입니다.
- 프로젝트 수준 접두사를 사용하여 단일 프로젝트 범위에서 요청합니다.
- 그룹 수준 접두사를 사용하여 단일 그룹 범위에서 요청합니다.
이 문서의 예시는 모두 프로젝트 수준 접두사를 사용합니다.
프로젝트 수준
/projects/:id/packages/debian
Attribute | Type | Required | Description |
---|---|---|---|
`id` | string | yes | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
그룹 수준
/groups/:id/-/packages/debian
Attribute | Type | Required | Description |
---|---|---|---|
`id` | string | yes | 프로젝트 ID 또는 전체 그룹 경로입니다. |
배포 Release 파일 다운로드
Debian 배포 파일 다운로드:
GET <route-prefix>/dists/*distribution/Release
Attribute | Type | Required | Description |
---|---|---|---|
`distribution` | string | yes | Debian 배포의 코드 이름 또는 스위트입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release"
출력을 파일로 작성합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release" \
--remote-name
다운로드한 파일을 현재 디렉터리에 원격 파일 이름을 사용하여 작성합니다.
서명된 배포 Release 파일 다운로드
서명된 Debian 배포 파일 다운로드:
GET <route-prefix>/dists/*distribution/InRelease
Attribute | Type | Required | Description |
---|---|---|---|
`distribution` | string | yes | Debian 배포의 코드 이름 또는 스위트입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease"
출력을 파일로 작성합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease" \
--remote-name
다운로드한 파일을 현재 디렉터리에 원격 파일 이름을 사용하여 작성합니다.
릴리스 파일 서명 다운로드
Debian 릴리스 파일 서명 다운로드:
GET <route-prefix>/dists/*distribution/Release.gpg
Attribute | Type | Required | Description |
---|---|---|---|
`distribution` | string | yes | Debian 배포의 코드 이름 또는 스위트입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg"
출력을 파일로 작성합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg" \
--remote-name
다운로드한 파일을 현재 디렉터리에 원격 파일 이름을 사용하여 작성합니다.
패키지 인덱스 다운로드
패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/Packages
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 codename 또는 suite입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
architecture
| string | yes | 배포 아키텍처 유형입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages"
파일에 출력을 작성하려면:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages" \
--remote-name
현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.
해시별 패키지 인덱스 다운로드
- GitLab 15.4에서 도입되었습니다.
해시별 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/by-hash/SHA256/:file_sha256
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 codename 또는 suite입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
architecture
| string | yes | 배포 아키텍처 유형입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
파일에 출력을 작성하려면:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.
Debian 설치 프로그램 패키지 인덱스 다운로드
- GitLab 15.4에서 도입되었습니다.
Debian 설치 프로그램 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/Packages
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 codename 또는 suite입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
architecture
| string | yes | 배포 아키텍처 유형입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages"
파일에 출력을 작성하려면:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages" \
--remote-name
현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.
해시별 Debian 설치 프로그램 패키지 인덱스 다운로드
- GitLab 15.4에서 도입되었습니다.
해시별 Debian 설치 프로그램 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/by-hash/SHA256/:file_sha256
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 codename 또는 suite입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
architecture
| string | yes | 배포 아키텍처 유형입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
파일에 출력을 작성하려면:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.
소스 패키지 인덱스 다운로드
- GitLab 15.4에서 도입되었습니다.
소스 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/source/Sources
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 codename 또는 suite입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources"
파일에 출력을 작성하려면:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources" \
--remote-name
현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.
해시별 소스 패키지 인덱스 다운로드
- GitLab 15.4에서 도입되었습니다.
해시별 소스 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/source/by-hash/SHA256/:file_sha256
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 codename 또는 suite입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
파일에 출력을 작성하려면:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.