- Debian API 활성화
- Debian 그룹 API 활성화
- 패키지 파일 업로드
- 패키지 다운로드
- 경로 접두어
- 배포 Release 파일 다운로드
- 서명 된 배포 릴리스 파일 다운로드
- 릴리스 파일 서명 다운로드
- 패키지 인덱스 다운로드
- 해시별로 패키지 인덱스 다운로드
- Debian 설치 프로그램 패키지 인덱스 다운로드
- 해시별로 Debian 설치 프로그램 패키지 인덱스 다운로드
- 소스 패키지 인덱스 다운로드
- 해시별 소스 패키지 인덱스 다운로드
Debian API
- 기능 플래그 뒤에 배포, 기본적으로 비활성화됨.
이 문서는 Debian의 API 문서입니다.
GitLab 패키지 레지스트리에서 Debian 패키지를 업로드하고 설치하는 방법에 대한 지침은 Debian 레지스트리 문서를 참조하십시오.
Debian API 활성화
Debian API는 기본적으로 비활성화된 기능 플래그 뒤에 있습니다. GitLab 레일즈 콘솔에 액세스 할 수 있는 GitLab 관리자는 활성화할 수 있습니다. 활성화하려면 Debian API 활성화 안내를 따르십시오.
Debian 그룹 API 활성화
Debian 그룹 API는 기본적으로 비활성화된 기능 플래그 뒤에 있습니다. GitLab 레일즈 콘솔에 액세스 할 수 있는 GitLab 관리자는 활성화할 수 있습니다. 활성화하려면 Debian 그룹 API 활성화 안내를 따르십시오.
Debian 패키지 저장소 인증
Debian 패키지 저장소에 인증하는 방법을 참조하십시오.
패키지 파일 업로드
- GitLab 15.9에서 명시적 배포 및 컴포넌트로 업로드가 소개됨.
Debian 패키지 파일을 업로드합니다:
PUT projects/:id/packages/debian/:file_name
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
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
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 코드명 또는 스위트. |
letter
| string | yes | Debian 분류 (첫 글자 또는 lib-첫 글자). |
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
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| string | yes | 프로젝트 ID 또는 전체 프로젝트 경로. |
그룹 수준
/groups/:id/-/packages/debian
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| string | yes | 프로젝트 ID 또는 전체 그룹 경로. |
배포 Release 파일 다운로드
Debian 배포 파일을 다운로드합니다.
GET <route-prefix>/dists/*distribution/Release
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
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
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드 파일을 작성합니다.
서명 된 배포 릴리스 파일 다운로드
서명 된 Debian 배포 파일을 다운로드합니다.
GET <route-prefix>/dists/*distribution/InRelease
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
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
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
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 배포의 코드 이름 또는 스위트입니다. |
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
이렇게 하면 현재 디렉토리에 원격 파일 이름을 사용하여 다운로드 한 파일이 작성됩니다.
해시별로 패키지 인덱스 다운로드
해시별로 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/by-hash/SHA256/:file_sha256
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 코드 이름 또는 스위트입니다. |
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 설치 프로그램 패키지 인덱스 다운로드
Debian 설치 프로그램 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/Packages
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 코드 이름 또는 스위트입니다. |
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 설치 프로그램 패키지 인덱스 다운로드
해시별로 Debian 설치 프로그램 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/by-hash/SHA256/:file_sha256
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포의 코드 이름 또는 스위트입니다. |
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 | 데비안 배포의 코드명 또는 스위트입니다. |
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 | 데비안 배포의 코드명 또는 스위트입니다. |
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
이렇게 하면 현재 디렉토리에 원격 파일 이름을 사용하여 다운로드한 파일이 작성됩니다.