데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      Ubuntu Linux에 deb 패키지로 배포하기 : 2편(하)

      이너 24.08.27
      2,703 12 1
      DEVOTEE 요약
      deb 파일을 배포하려면, 직접 파일을 업로드하는 대신 웹서버를 통해 apt 명령으로 설치할 수 있도록 패키지 인덱스 파일(Packages)을 제공하는 것이 좋습니다. 이를 위해 dpkg-scanpackages 명령으로 패키지 인덱스 파일을 생성하고, Github Pages 같은 서비스를 통해 배포할 수 있으며, PPA를 이용하면 별도의 웹서버 없이도 패키지를 손쉽게 공유할 수 있습니다. PPA는 OpenPGP 키를 이용해 패키지를 서명하고, Launchpad에 업로드하여 다른 사용자들이 쉽게 설치할 수 있도록 도와줍니다.
      DEVOTEE 추천 블로그

      배포

      앞의 과정을 통해 deb 파일을 정상적으로 만들었으면 이제 배포를 해야 합니다.

      deb 파일 자체를 그대로 배포할 수도 있겠지만, 그렇게 하면 매번 파일을 업로드/다운로드 해야 하는 불편함이 있고 파일명 자체로는 배포판 버전을 알 수 없기 때문에

      이 파일이 22.04(Jammy)용인지 20.04(Focal)용인지 알기가 쉽지 않습니다.


      일반적으로 apt install 명령을 통해 패키지를 설치하듯이 우리가 만든 패키지도 설치가 가능하면 더 좋을 것입니다.

      apt 명령은 HTTP/HTTPS를 통해 패키지 저장소 서버에서 패키지 인덱스 정보 파일(Packages)을 가져와 내부에 저장하고 있다가

      apt install로 패키지 설치를 요청 받으면 저장된 인덱스 정보를 이용해 해당 패키지의 다운로드 URL을 얻어서 패키지 파일을 다운로드 받아 설치합니다.


      따라서, 우리가 만든 패키지에 대한 정보 파일과 패키지 파일들을 웹서버를 통해 제공하면 apt install 명령으로 패키지 설치를 가능하게 할 수 있습니다.


      dpkg-scanpackages

      dpkg-scanpackages 명령은 deb 패키지들을 분석해서 Packages 파일(패키지 인덱스 파일)을 생성합니다.

      앞에서 생성한 deb 패키지들을 한곳에 모아놓고 다음과 같이 dpkg-scanpackages 명령을 수행하면 Packages 파일이 생성되는 것을 확인할 수 있습니다.

      $ ls
      aln_0.1.0~jammy_amd64.deb
      aln-dbg_0.1.0~jammy_amd64.deb
      libaln0_0.1.0~jammy_amd64.deb
      libaln0-dbg_0.1.0~jammy_amd64.deb
      libaln-dev_0.1.0~jammy_amd64.deb
      
      $ dpkg-scanpackages . > Packages

      일반적으로 deb 파일들은 dists/{dist-name}/pool/ 디렉토리에 모아 놓고,

      Packages 파일은 dists/{dist-name}/{repository}/binary-{arch}/ 디렉토리에 생성합니다.

      여기서 {dist-name}은 배포판 이름이고, {repository}는 각 패키지의 라이센스 및 사용 조건에 따라 분류됩니다.

      개인이 만든 오픈소스를 패키징하여 배포하려는 경우 main을 사용해도 문제가 없습니다.

      • main: Canonical-supported free and open-source software.

      • universe: Community-maintained free and open-source software.

      • restricted: Proprietary drivers for devices.

      • multiverse: Software restricted by copyright or legal issues.

      더 자세한 내용은 https://help.ubuntu.com/community/Repositories/Ubuntu 참고 바랍니다.


      deb 패키지를 아래처럼 배포할 목적으로 만든 경우를 가정하여 디렉토리를 구성해 보겠습니다.

      • 배포판 지원: Ubuntu 22.04 (jammy), Ubuntu 20.04 (focal)

      • arch 지원: amd64, arm64, armhf

      먼저 디렉토리를 생성합니다:

      mkdir -p ubuntu/dists/focal/pool
      mkdir -p ubuntu/dists/focal/main/{binary-amd64,binary-arm64,binary-armhf}
      mkdir -p ubuntu/dists/jammy/pool
      mkdir -p ubuntu/dists/jammy/main/{binary-amd64,binary-arm64,binary-armhf}

      각 배포판 버전에 맞게 빌드한 deb 패키지 파일들을 pool 디렉토리로 이동시킵니다:

      git clone https://github.com/webispy/aln.git
      
      # focal 배포판 용으로 패키지 빌드 수행
      cd aln
      git clean -dfx
      cp -a packaging/focal debian
      sbuild --chroot focal-amd64
      sbuild --chroot focal-amd64-armhf --host armhf
      sbuild --chroot focal-amd64-arm64 --host arm64
      cd ..
      mv *.deb ubuntu/dists/focal/pool
      
      # jammy 배포판 용으로 패키지 빌드 수행
      cd aln
      git clean -dfx
      cp -a packaging/jammy debian
      sbuild --chroot jammy-amd64
      sbuild --chroot jammy-amd64-armhf --host armhf
      sbuild --chroot jammy-amd64-arm64 --host arm64
      cd ..
      mv *.deb ubuntu/dists/jammy/pool

      이제 각 배포판 버전 및 arch에 맞게 Packages 파일을 생성합니다:

      cd ubuntu
      dpkg-scanpackages -m -a amd64 dists/focal/pool > dists/focal/main/binary-amd64/Packages
      dpkg-scanpackages -m -a arm64 dists/focal/pool > dists/focal/main/binary-arm64/Packages
      dpkg-scanpackages -m -a armhf dists/focal/pool > dists/focal/main/binary-armhf/Packages
      dpkg-scanpackages -m -a amd64 dists/jammy/pool > dists/jammy/main/binary-amd64/Packages
      dpkg-scanpackages -m -a arm64 dists/jammy/pool > dists/jammy/main/binary-arm64/Packages
      dpkg-scanpackages -m -a armhf dists/jammy/pool > dists/jammy/main/binary-armhf/Packages

      제공해야 할 모든 파일들에 대한 준비가 끝났으니 이제 ubuntu 디렉토리를 웹서버를 통해 제공하면 됩니다.

      ALN의 경우 별도의 웹서버를 따로 운영하지 않고 Github에서 제공하는 정적 웹페이지 서비스인 Github Pages를 통해 배포하고 있습니다.

      https://github.com/webispy/aln/tree/gh-pages/ubuntu에서 웹페이지를 통해 제공하는 전체 파일들을 확인할 수 있습니다.

      Github Pages를 통해 배포하는 방법에 대해 궁금하시면 ALN Github에 있는 Github Action 스크립트(https://github.com/webispy/aln/blob/master/.github/workflows/ci.yaml)를 참고 바랍니다.

      이 스크립트에는 deb 패키지를 생성하는 과정도 모두 포함하고 있습니다.


      /etc/apt/sources.list.d/aln.list

      웹서버를 통해 정상적으로 deb 패키지들을 배포하도록 설정 완료했으면 이제 apt 명령으로 설치가 되는지 확인해 봐야 하는데,

      Ubuntu에서는 패키지 서버에 대한 설정을 /etc/apt/sources.list.d/ 디렉토리에서 관리하고 있습니다.

      ALN 패키지 저장소에 대한 설정을 추가하기 위해 /etc/apt/sources.list.d/aln.list 파일을 하나 생성합니다:

      deb [trusted=yes] https://webispy.github.io/aln/ubuntu/ focal main

      참고로, 위에서 생성한 패키지들이 모두 서명 과정을 생략하고 만들었기 때문에 [trusted=yes] 옵션을 추가해야 서명 검증 과정을 건너뛰고 사용할 수 있습니다.


      이제 패키지 저장소가 추가되었으니 시스템의 패키지 인덱스 정보를 업데이트 하도록 아래 명령을 실행합니다.

      $ sudo apt update
      ...
      Get:19 https://webispy.github.io/aln/ubuntu jammy/main amd64 Packages
      ...

      출력되는 로그를 확인해보면 새로 추가한 위 URL에서 패키지 정보를 정상적으로 가져오는 것을 확인할 수 있습니다.


      이제 아래 명령으로 패키지를 설치 및 삭제할 수 있습니다.

      sudo apt install aln libaln-dev
      sudo apt remove aln libaln-dev


      PPA

      Ubuntu는 사용자들이 만든 패키지를 다른 사용자들과 쉽게 공유할 수 있도록 PPA(Personal Package Archive)라는 서비스를 제공합니다.

      이를 이용하면 별도의 웹서버 구축없이 패키지를 업로드하고 배포할 수 있습니다.

      위에서 직접 구축한 ALN 패키지 저장소를 이용하기 위해 사용자가 /etc/apt/sources.list.d/aln.list 파일을 직접 만들도록 가이드 했다면,

      PPA는 아래와 같이 명령을 통해 쉽게 저장소를 관리할 수 있습니다.


      PPA 추가:

      sudo add-apt-repository ppa:repo_name

      PPA 삭제:

      sudo add-apt-repository -r ppa:repo_name


      PGP(Pretty Good Privacy) 키

      PPA 저장소를 생성하기에 앞서 OpenPGP 키를 생성해야 합니다.

      gpg(GNU Privacy Guard) 툴을 이용해서 OpenPGP 표준을 따르는 키를 생성하고 관리할 수 있습니다.


      키 생성:

      $ gpg --gen-key
      ...
      Real name: Inho Oh
      Email address: webispy@gmail.com
      You selected this USER-ID:
          "Inho Oh <webispy@gmail.com>"
      
      Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
      ...
      password: ...
      ...
      
      public and secret key created and signed.
      
      pub   rsa3072 2024-07-11 [SC] [expires: 2026-07-11]
            1234567890ABCDEF1234567890ABCDEF12345678
      uid                      Inho Oh <webispy@gmail.com>
      sub   rsa3072 2024-07-11 [E] [expires: 2026-07-11]

      키 조회:

      $ gpg --fingerprint
      ...
      /home/parallels/.gnupg/pubring.kbx
      ----------------------------------
      pub   rsa3072 2024-07-11 [SC] [expires: 2026-07-11]
            1234 5678 90AB CDEF 1234  5678 90AB CDEF 1234 5678
      
      uid           [ultimate] Inho Oh <webispy@gmail.com>
      sub   rsa3072 2024-07-11 [E] [expires: 2026-07-11]

      이제 생성된 키를 Ubuntu 키서버에 키 등록합니다:

      # pub key의 끝 8자리를 입력합니다
      $ gpg --keyserver keyserver.ubuntu.com --send-keys 12345678
      gpg: sending key 90ABCDEF12345678 to hkp://keyserver.ubuntu.com


      PPA 생성

      먼저 https://launchpad.net/ 사이트 접속 후 회원가입을 진행해야 합니다. 화면 상단 오른쪽의 Log in / Register를 선택합니다.

      Launchpad Homepage

      Ubuntu One 계정이 있으면 해당 계정으로 로그인 할 수 있습니다. 없으면 I don't have an Ubuntu One account를 선택해서 신규로 만들 수 있습니다.

      Launchpad login

      로그인을 하게 되면 아래와 같이 기본 화면이 나타나는데, PPA를 생성하기 위해 화면 상단에서 사용자 이름을 선택해서 개인 화면으로 이동합니다.

      Home after login

      사용자 개인 화면에서 아래로 스크롤하면 Personal package archives 라는 섹션이 있는데, Create a new PPA를 선택합니다.

      User home

      URL로 사용할 이름과 표시할 이름을 설정한 후 Activate 버튼을 선택합니다.

      Create PPA

      아래와 같이 PPA 페이지가 생성되었습니다. PPA에 패키지를 올리기 위해서는 위에서 생성한 OpenPGP키를 등록해야 합니다. 화면 상단에서 사용자 이름을 선택해서 다시 개인 화면으로 이동합니다.

      PPA main

      사용자 개인 화면 중간쯤에 OpenPGP keys 라는 섹션이 있습니다. 현재는 등록된 키가 없는데, 연필 모양의 아이콘을 선택해서 키 등록 화면으로 이동합니다.

      User home for PGP

      OpenPGP 키 등록 화면입니다. 위에서 키를 생성하고 이 키를 gpg 도구를 이용해 Ubuntu 키서버에 등록을 했기 때문에,

      생성한 키의 Fingerprint 값을 입력하고 Import Key 버튼을 선택하면 키서버를 통해 Import가 진행됩니다.

      Import PGP

      키 값이 정상적으로 import 되면 아래와 같이 암호화된 메시지를 사용자의 email에 보냈고, 키를 confirm하기 위해서는 메시지 복호화 후 그 안에 있는 link를 따라가라는 알림이 표시됩니다.

      PGP Imported

      email을 확인해보면 아래와 같이 평문으로 된 내용 아래쪽에 -----BEGIN PGP MESSAGE----- 로 시작해서 -----END PGP MESSAGE-----로 끝나는 암호화된 부분이 있습니다.

      해당 메시지를 복호화해서 메시지 안에 있는 URL에 접속해야 최종적으로 키가 등록됩니다.

      Encrypted email

      메시지 복호화를 위해 암호화된 부분을 별도 파일로 저장합니다.

      $ vi tmp.txt
      -----BEGIN PGP MESSAGE-----
      
      hQGMA5NEfSOB/OApAQv/ezl+bVTq89ekbcRjddY+opBZLEi3zijkRqk93BLbbiWv
      BbGTY1UwbByOFqRfbtR0eTuqSM6cbf/gZEJwSWaPmk5Yu3OnbmJxf2tv6l0uFGim
      XS9DyHthCj33BcKS6eWyUYGd4d0ojPBFc25Nh9T49DNEC5DHXxvg2ylNScrE4ytV
      VL2SHvyze9i1GNqKWqIkKZKQ46/e43tVdn7VGDxg4MxjpF9tCPnMiFzosCFk/A/C
      oxPIQtBBfMa9kG/dqIov+0g4TYjxrPeVqZRLclm2rgcX/7Ql363NU3mNquKl0l+F
      h1ra/KR1GdonpWDg/+6Cc6v33F8C5xYyiRkFgf5T+xXcGuG27JMubS/lcAvoE1EY
      qrpTevBVvMHqOsZVjM6hVX7h5El29YpJnkuQInbSNozP+nSoI5YSksmdK8ezIdmP
      Y5c4lojNee09nxnyI9enD865B588qe6YtghpX7ybYe6MV08wF/JLa32SpD85Usy+
      xUOxD1DpH2XC+2p6nQ080sCpAZ+f7k2C/yqnOMqWUPi98Sq7jDXresYwI5zUO3A0
      QNG3Ok5WLUw3NTtiaS50DCydhtpf+U+kQjwGLnzZFi+ZkFV69394HJqg0ubqvOg9
      arUUmKV2q/ll3Q8zqriFqlj3nB+/FUBJpF4Y/HTe9/ltCww+xI48O+UrDSd2mDZf
      CkZaYQExBo6WP0t5LdGZfmllLFVEJBSnydcA8S3ZVE4KLQdqwbQiFGcusdpZWBMJ
      kTC8QoUOMBBOKRpWdz7QvHlepKnZ4mFvkwFtdPVuCnEaLbrM8IbhA9zCP1zdKcN1
      9SS5R3KEbb+N9UDQ7c2lRMGf5u4BdbnYRn9nlqCbVLih4Qn3bKBzT4L7RV9xfTkG
      JwbdwnEplGhxOGO1lwItDHCPlF49Q+ugkOgfm/Y8Qdt0a4APf5dtqiLj78COo5+9
      8WTKdK49becs9PdRgAkA9LemtEO1YzsyaQC0ZzZUsvK4wD0l0cjM/ruP3Q==
      =He+1
      -----END PGP MESSAGE-----

      gpg 도구를 이용해 복호화하면 아래와 같이 메시지를 확인할 수 있습니다. 이제 마지막에 있는 URL에 접속해서 최종적으로 키를 Confirm 처리합니다.

      $ gpg --decrypt tmp.txt
      gpg: encrypted with 3072-bit RSA key, ID 90ABCDEF12345678, created 2024-07-11
            "Inho Oh <webispy@gmail.com>"
      
      Here are the instructions for confirming the OpenPGP key registration that we
      received for use in Launchpad.
      
      Requester details:
      
          User name    : Inho Oh
          Email address: webispy@gmail.com
      
      Key details:
      
          Key type    : 3072R
          Fingerprint : 1234567890ABCDEF1234567890ABCDEF12345678
      
      UIDs:
          webispy@gmail.com
      
      Please go here to finish adding the key to your Launchpad account:
      
          https://launchpad.net/token/aBcDeFgHiJkLmNoPqRsT

      URL에 접속하면 아래와 같이 키를 Confirm 할지 물어봅니다. Continue 버튼을 선택합니다.

      PGP Key confirm

      키가 성공적으로 등록 되었습니다. 이제 이 키를 이용해서 패키지를 PPA에 업로드 할 수 있습니다.

      Key import success

      패키지 업로드

      PPA에 업로드 하려면 debuild 명령을 통해 필요한 파일을 생성해야 합니다.

      $ git clone https://github.com/webispy/aln.git
      $ cd aln
      
      # debian 패키지 디렉토리 준비 (from packaging/jammy, packaging/focal)
      $ cp -a packaging/jammy debian
      
      # PPA 업로드를 위한 changes 파일 생성
      # - 바이너리 패키지는 빌드할 필요가 없기 때문에 -S 옵션으로 소스 패키지만 생성합니다.
      # - .git 디렉토리는 불필요하기 때문에 제외시킵니다.
      $ debuild -S -I.git

      debuild가 끝나면 상위 디렉토리에 아래 파일들이 생성됩니다.

      $ ls
      aln_0.1.0~jammy.dsc
      aln_0.1.0~jammy.tar.gz
      aln_0.1.0~jammy_source.build
      aln_0.1.0~jammy_source.buildinfo
      aln_0.1.0~jammy_source.changes

      이제 dput 명령으로 PPA에 패키지를 업로드 합니다.

      aln_0.1.0~jammy_source.changes 파일을 지정하면 관련된 파일들이 모두 자동으로 업로드 됩니다.

      $ dput ppa:webispy/aln aln_0.1.0~jammy_source.changes
      Checking signature on .changes
      gpg: /home/parallels/git/my/aln_0.1.0~jammy_source.changes: Valid signature from 90ABCDEF12345678
      Checking signature on .dsc
      gpg: /home/parallels/git/my/aln_0.1.0~jammy.dsc: Valid signature from 90ABCDEF12345678
      Uploading to ppa (via ftp to ppa.launchpad.net):
        Uploading aln_0.1.0~jammy.dsc: done.
        Uploading aln_0.1.0~jammy.tar.gz: done.
        Uploading aln_0.1.0~jammy_source.buildinfo: done.
        Uploading aln_0.1.0~jammy_source.changes: done.
      Successfully uploaded packages.

      업로드가 성공하면 아래와 같이 패키지가 Accept 되었다는 email을 확인할 수 있습니다.

      debuild로 패키지를 만들 때 jammy 버전으로 만들었는데, email 제목에 해당 버전에 대해 Accept 되었다는 것을 확인할 수 있습니다.

      focal 버전에 대해서도 동일하게 반복해서 업로드하면 됩니다.


      주의할점이 있는데,

      • debian/changelog를 작성한 사용자 정보가 PPA 사용자와 일치해야 합니다.

      • 업로드 후 PPA에서 패키지 빌드 오류로 인해 실패할 수 있는데, 오류 수정 후 다시 업로드할 때 반드시 버전(빌드 넘버/리비전)을 올려줘야 합니다. 같은 버전을 올리면 Reject 처리됩니다.

      Accept email

      PPA 페이지에 가보면 패키지 목록에 ALN이 추가된 것을 확인할 수 있고, PPA를 추가하는 방법에 대한 가이드도 확인할 수 있습니다. 패키지 빌드 상태를 확인하기 위해 View package details를 선택합니다.

      Package list

      PPA의 빌드 서버에서 자원을 할당받아 패키지 빌드를 수행하게 되는데, 현재 상태는 대기중(Pending)이고, 노란색 시계 아이콘은 빌드 서버에서 빌드를 위해 큐에 들어가서 대기중인 상태를 의미합니다.

      즉, 아직 빌드가 시작되지 않았음을 의미합니다.

      Pending status - wait

      일정 시간이 지나면 빌드 서버에서 빌드가 시작되고 빌드 상태 아이콘이 녹색 톱니바퀴로 변경됩니다.

      현재 기본 arch가 기본으로 amd64만 설정되어 있기 때문에, amd64 환경으로만 빌드가 진행됩니다. amd64를 선택하면 빌드 로그를 확인할 수 있고, 차후 옵션에서 arm64, armhf, i386 등의 arch를 추가할 수 있습니다.

      Pending status - wait

      빌드가 성공하고나서 바로 Publish되면 좋겠지만 PPA 내부적으로 지연이 있기 때문에 조금(때로는 1시간 이상...) 기다려야 합니다.

      최종적으로 PPA에 Publish되면 아래와 같이 상태가 Pending -> Published로 변경되고, 빌드 상태도 완료를 의미하는 체크표시로 변경됩니다.

      그리고 Published에는 시간이 표시됩니다.

      Published

      이제 PPA를 이용해서 ALN을 설치할 수 있습니다.

      $ sudo add-apt-repository ppa:webispy/aln
      ...
      Hit:10 https://ppa.launchpadcontent.net/webispy/aln/ubuntu jammy InRelease
      ...
      
      $ sudo apt install aln libaln-dev
      ...
      Get:1 https://ppa.launchpadcontent.net/webispy/aln/ubuntu jammy/main amd64 libaln0 amd64 0.1.0 [4,346 B]
      Get:2 https://ppa.launchpadcontent.net/webispy/aln/ubuntu jammy/main amd64 aln amd64 0.1.0 [5,310 B]
      Get:3 https://ppa.launchpadcontent.net/webispy/aln/ubuntu jammy/main amd64 libaln-dev amd64 0.1.0 [4,430 B]
      ...

      현재는 amd64 arch으로만 패키지를 빌드하고 있는데, 다른 arch를 추가하려면 아래와 같이 PPA 페이지에서 Change details 선택해서 옵션을 변경할 수 있습니다.

      PPA Page - Change details

      Change details 화면에서 스크롤를 내리면 Processors 섹션이 있습니다.

      여기에서 원하는 항목들을 체크한 후 Save 버튼을 선택하면 됩니다.

      이후 업로드되는 패키지에 대해서는 선택한 arch에 대해 바이너리 빌드를 모두 수행하게 됩니다.

      Change details

      packaging/noble, packaging/jammy, packaging/focal 디렉토리를 각각 debian 디렉토리로 복사한 후 PPA에 업로드를 완료하면,

      아래와 같이 각 배포판별 패키지가 패키지 목록에 정상적으로 나타나는 것을 확인할 수 있습니다.

      Package list

      목록에 있는 패키지 하나를 선택해서 세부 내용을 확인해보면 위의 Processors에서 선택한 amd64, arm64 그리고 armhf 항목에 맞게 패키지가 추가로 빌드된 것을 확인할 수 있습니다.

      (i386은 PPA 관리자에 의해 제한된 것으로 보입니다.)

      Package details

      마무리

      지금까지 별도 웹 서버를 통한 배포와 PPA를 통한 배포, 이렇게 두 가지 방법에 대해 소개해 드렸습니다.

      두 방법을 모두 활용하여 개발 버전은 CI/CD를 구축해 Github Pages로 패키지를 배포하고, 정식 릴리즈 버전은 PPA를 통해 배포하는 방식으로 적용하면 좋을 것 같습니다.


      이 글을 통해 deb 패키지를 만들고 배포하는 데 필요한 전반적인 과정을 이해하고, 자신이 개발한 소프트웨어를 더욱 쉽게 배포할 수 있기를 바랍니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      이너 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기