오프라인 Ubuntu 시스템을 위한 자체 패키지 저장소 만들기

오프라인 Ubuntu 시스템을 위한 자체 패키지 저장소 만들기

소프트웨어 개발에 사용되는 오프라인 Ubuntu 18.04 LTS amd64 시스템이 있고 이를 위한 패키지 저장소를 생성해야 합니다. (또는 최악의 경우 패키지가 포함된 디렉터리) 이 문제를 어떻게 해결할 수 있나요? 모든 종속성을 갖춘 공통 C++ 및 Python 관련 패키지(표준 C++ 라이브러리, pip, numpy...) 세트가 필요합니다.

모든 답변을 소중히 여기세요

편집: 요점은 다른 (유형) 시스템에서 패키지를 가져오는 방법입니다.

답변1

패키지를 설치해야 합니다:

sudo apt-get install build-essential

데비안 패키지 만들기

이를 위해 우리는dpkg-deb 도구. 먼저 우리는 생성해야합니다데비안패키지 구조. 빌드에 필요한 유일한 파일데비안패키지에는 다음이 포함됩니다:

DEBIAN/control 사용자 정의 파일이 패키지의 일부가 됩니다(필수는 아님). 먼저 다음과 같은 디렉터리를 만듭니다.안녕하세요 세계. 이 디렉터리에는 필요한 모든 패키지 파일이 보관됩니다.

mkdir helloworld

다음으로 DEBIAN 디렉터리와 제어 파일을 만듭니다.

mkdir helloworld/DEBIAN
vi helloworld/DEBIAN/control

제어 파일에 다음 정보를 입력합니다.

Package: linuxconfig
Version: 1.0
Section: custom
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: linuxconfig.org
Description: Print linuxconfig.org on the screen

좋습니다. 빠진 유일한 것은 우리 helloworld프로그램입니다. 디렉터리 내에서 helloworld프로그램이 시스템에 설치될 경로를 나타내는 디렉터리 트리를 만들고 여기에 실행 파일을 복사합니다.

mkdir -p helloworld/usr/bin/
cp /path/to/helloworld helloworld/usr/bin/

이제 패키지를 만들 준비가 되었습니다.

dpkg-deb --build helloworld 
dpkg-deb: building package `helloworld ' in `helloworld.deb'.
ls
linuxconfig  linuxconfig.deb

프로그램 버전과 패키지 아키텍처를 포함하도록 패키지 이름을 변경할 수 있습니다. 예를 들어:

mv helloworld.deb helloworld-1.0_amd64.deb

모두 완료되었습니다! 우리 패키지가 준비되었습니다! (참고: 이는 단지 예일 뿐이므로 공식 패키지를 생성하려면 더 많은 작업이 필요합니다.).

관련 정보