소프트웨어 개발에 사용되는 오프라인 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
모두 완료되었습니다! 우리 패키지가 준비되었습니다! (참고: 이는 단지 예일 뿐이므로 공식 패키지를 생성하려면 더 많은 작업이 필요합니다.).