[우분투] 사설 저장소를 만들어 제가 만드는 deb패키지를 같이 개발하는 사람들이 쉽게 받게 하려 합니다

제가 현제 프로젝트를 맡아 개발중인데 릴리즈를 rpm으로 하다보니

여러사람 귀찮게 하는거 같아 deb 패키징을 오늘 배웠습니다.

어찌어찌 하여 deb 패키징을 성공 하였는데 조금 더 욕심이 생겨

우분투의 장점중 하나인 시냅틱 꾸러미 관리자를 사용하여 많은 사람들의 수고를 덜고자 합니다.

즉,

[참고 : 저는 오늘 deb패키징을 익혔습니다. -_ㅜ]

[color=#BF4000:2yn5ys2m]1. 서버를 만든다.

  1. 만들어진 서버에 저장소를 만든다.

  2. 만들어진 저장소에 deb를 올린다.

  3. 제가 만든 저장소를 설정해 놓은 모든 사람들 중 해당 패키지를 설치한 모든 사람들에게 업데이트 알림 팝업이 뜬다.

  4. 사람들은 시냅틱 꾸러미 관리자를 통하여 쉽게 해당 패키지를 업데이트 할 수 있다.[/color:2yn5ys2m]

이렇게 하고 싶은 겁니다. -_ㅜ

하지만 1번 부터 무엇을 공부해야 할지 방향을 잡기가 힘이 들어 도움을 청하게 됬습니다.

혹시 이분야에 대하여 지식이 있으신 분이 계시면 작은 것이라도 좋으니

조금 나누어 주셨으면 합니다.

감사합니다~

우분투가 제공하는 [url=http://ppa.launchpad.net:xg283dtw]개인 PPA 저장소[/url:xg283dtw]가 1기가 까지 지원 하니 그를 이용하는것이 편한데요… https://launchpad.net 에 가입후 사용 하실수 있습니다.

그러나 굳이 따로 서버로 운영하시려면 아래 글을 참고 하시기 바랍니다.

  1. 아파치 및 APT UTILS 설치
    sudo apt-get install apt-utils apache2

  2. 저장소(Repository) 디렉 만들기
    sudo -s
    mkdir /var/www/packages
    cd /var/www/packages
    mkdir -p pool/main
    mkdir -p dists/hardy/main/binary-i386
    mkdir .cache

  3. 환경설정파일 만들기
    apt-utils 은 위에서 설치 했으니 두개의 환경 설정 파일을 /var/www/packages 에 만들어야 합니다.

sudo vi apt-release.conf

[code:xg283dtw]APT::FTPArchive::Release::Codename "hardy";
APT::FTPArchive::Release::Origin "도메인";
APT::FTPArchive::Release::Components "main";
APT::FTPArchive::Release::Label "강분도 Ubuntu Repository";
APT::FTPArchive::Release::Architectures "i386";
APT::FTPArchive::Release::Suite "hardy";[/code:xg283dtw]

sudo vi apt-ftparchive.conf

[code:xg283dtw] Dir {
ArchiveDir ".";
CacheDir "./.cache";
};

Default {
 Packages::Compress ". gzip bzip2";
 Contents::Compress ". gzip bzip2";
};

TreeDefault {
 BinCacheDB "packages-$(SECTION)-$(ARCH).db";
 Directory "pool/$(SECTION)";
 Packages "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages";
 Contents "$(DIST)/Contents-$(ARCH)";
};

Tree "dists/hardy" {
 Sections "main";
 Architectures "i386";
}[/code:xg283dtw]
  1. deb 파일 업 후 정보 갱신
    deb 파일의 위치 /var/www/packages/pool/main

정보 갱신
cd /var/www/packages
apt-ftparchive generate apt-ftparchive.conf
apt-ftparchive -c apt-release.conf release dists/hardy > dists/hardy/Release

P.S.
GPG 키 없어도 설치 되지만 인증을 위한 GPG 키에 대한건 더 알아 보시기 바랍니다.
GPG 키생성시엔 패키지에도 같이 정보가 들어 가야 합니다. ;)

정말 감사합니다!!!

갑갑해서 이것저것 찾아 보고는 있었는데 전혀 진척이 없어 실망하던중

너무나도 훌륭한 답변을 달아 주셧네요

아 그리고,

저도 피피에이를 생각하지 않은 건 아닌데요

회사에서 개발하는 것이기 때문에 소스가 공개되는 것을 윗분들이 꺼려 하시더라구요 -_-;;

그리고 관리를 제가 계속 하면 모를까 아마 시스템이 구축되어 정상 작동 하면

다른 분이 관리하시게 될거 같아서 피피메이는 안될거 같아요 ㅎ

아파치나 다른 것에 대해서는 제가 모르는 부분이 많아 좀 더 공부하며

어떻게 진척되었나 업로드 하겠습니다.

정말 감사합니다 !

강분도님!

제가 지금 사용하고 있는 우분투 버전은 gutsy이니

[code:1401yaab]
APT::FTPArchive::Release::Codename "gutsy";
APT::FTPArchive::Release::Origin "도메인";
APT::FTPArchive::Release::Components "main";
APT::FTPArchive::Release::Label "Ubuntu Repository";
APT::FTPArchive::Release::Architectures "i386";
APT::FTPArchive::Release::Suite "gutsy";[/code:1401yaab]

라고 하면 되는 건가요? 그리고 도메인에는 어떤걸 써야 합니까?

그리고 혹시 사용하는 메신저가 있으시면 주소좀 알 수 있을까요?

[quote="bonserk":yhjn301u]강분도님!

제가 지금 사용하고 있는 우분투 버전은 gutsy이니
"gutsy"
라고 하면 되는 건가요? 그리고 도메인에는 어떤걸 써야 합니까?

그리고 혹시 사용하는 메신저가 있으시면 주소좀 알 수 있을까요?[/quote:yhjn301u]

gutsy 라고 바꾸실 곳이 좀 있죠
1번 저장소 디렉도 mkdir -p dists/gutsy/main/binary-i386
3번 환경설정 2번에 Tree "dists/gutsy" {

도메인은 그냥 ubuntu.or.kr 같이 http:// 뻬고 넣으심 되는데 어디인지 근거 밝히는 거랍니다.

음 그리고 … 메신저는 쪽지 확인 바랍니다.

정말 감사합니다.

덕분에 감잡고 문서 좀 보니 해결 할 수 있었습니다.

진심으로 감사드립니다~~ ^^