데비안(서버) 설치 후 자동으로 특정 경로에 특정 파일을 두는 방법은 무엇입니까?

데비안(서버) 설치 후 자동으로 특정 경로에 특정 파일을 두는 방법은 무엇입니까?

나는 다음과 같은 데비안 서버용 설치 ISO를 만들어 달라는 요청을 받았습니다:

  1. 특정 패키지가 사전 설치되어 있어야 합니다.
  2. 특정 파일(주로 Python 모듈)은 특정 디렉터리에 자동으로 위치해야 합니다.

ISO는 고객에게 제공되며 이러한 조건은 설치 후 고객이 다른 조치를 취할 필요가 없도록 하기 위해 존재합니다.

현재 나는 다음을 사용하여 첫 번째 조건을 달성했습니다.단순-CDD; 그러나 두 번째 경우에는 어떻게 달성할 수 있는지 모르겠습니다. (Simple-CDD HOWTO 페이지에서 언급된 한 가지는 필요한 파일이 프로필/NAME.extra에 나열될 수 있다는 것입니다.ISO 파일의 /simple-cdd에 추가되도록, 그러나 데비안을 설치한 후에는 데비안 자체의 파일 시스템에 해당 파일이 필요합니다.

답변1

질문 2의 경우 *.deb패키지를 생성하고 이를 Simple-CDD에 포함할 수 있습니다. 파일이 패키지에 의해 "소유"되기 때문에 단순히 파일을 배포하거나 스크립트로 생성하는 것보다 이것을 선호하는 경우. 이는 dpkg -S $file그들이 존재하는 이유를 이해할 수 있고 이해할 수 있음을 의미합니다.

*.deb참고: Simple-CDD에 패키지를 추가하는 방법에 대한 지침으로 이 답변을 업데이트하는 것을 고려하십시오.

이를 설정하는 기본 방법은 with 이지만 dh_make, cpack이와 같은 간단한 파일 배포와 같은 사소한 경우에는 더 쉽습니다.

  1. 배포할 파일을 디렉터리에 수집합니다. 디렉토리 구조를 보존하는 것이 좋습니다. 에 관련된 모든 작업을 수행할 .것이므로 을 배포하려면 /etc/myconfig에 복사하세요 ./etc/myconfig.

  2. ./CMakeLists.txt다음 콘텐츠로 만듭니다 .

cmake_minimum_required(VERSION 3.7)
project(foo)

# Repeat this for each directory or file you want to install
install(DIRECTORY etc 
  DESTINATION /
  USE_SOURCE_PERMISSIONS
  COMPONENT default
)

set(CPACK_GENERATOR "DEB")
set(CPACK_PACKAGE_NAME foo)
set(CPACK_PACKAGE_DESCRIPTION "Long description of what this package is"
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Short description")
set(CPACK_PACKAGE_VENDOR "The ones who installed your OS")
set(CPACK_PACKAGE_CONTACT "[email protected]")
set(CPACK_PACKAGE_VERSION "1.0")

set(CPACK_COMPONENT_ALL default)
set(CPACK_DEB_COMPONENT_INSTALL "ON")

include(CPack)

참고: Debian Stretch 및 이전 버전에는 cpack구성 요소 설치에 대해 md5sum만 생성하는 버그가 있었습니다. 이로 인해 debsums. 제가 COMPONENT이곳을 이용하는 이유는 바로 이것입니다. 이 버그는 Buster에서 수정되었습니다. Buster 이상을 사용하는 경우 해당 줄이 포함된 줄을 삭제할 수 있습니다 COMPONENT.

  1. 패키지 구축
$ mkdir build && cd build
$ cmake ..
$ cpack

*.deb빌드 디렉터리에 파일이 있습니다 . 이것이 Simple-CDD에 포함하고 싶은 내용입니다.

  1. 패키지 확인

이것을 실행하세요:

$ dpkg --contents *.deb

포함하려는 모든 파일이 표시되어야 합니다. 크기도 의미가 있어야합니다. 또한 이를 설치 dpkg -i *.deb한 다음 대상 위치를 살펴보고 문제가 없는지 확인할 수도 있습니다 .

답변2

Simple-CDD를 사용하여 CD에 추가 파일을 제공하는 방법을 확인했습니다. 이제 일종의 아카이브(또는 적절한 패키지)를 배송 /target하고미리 설정 파일설치 후 스크립트올바른 위치에 놓기 위해.

모든 옵션을 미리 설정할 필요는 없으며 사용자가 설치하는 동안 가져가고 싶은 옵션만 미리 설정할 필요가 있습니다.

관련 정보