데비안 기반 리눅스 배포판을 사용하여 무작위 패키지를위한 로컬 apt 저장소를 빠르게 만드는 방법은 무엇입니까? apt해당 패키지

일부 상황에서는을 사용하여 로컬 패키지를 수동으로 설치해야합니다 dpkg -i <packagename>. 때로는 apt해당 패키지 의 기능을 활용하는 것이 더 유용 하므로 질문은 다음과 같습니다.

Xubuntu 13.04 / Ubuntu와 같은 데비안 기반 리눅스 배포판을 사용하여 무작위 패키지를위한 로컬 리포지토리를 어떻게 빠르게 만들 수 있습니까?



답변

공식 저장소에서 전체 패키지 트리복제하고 소스 우선 순위를 미세 조정 하려는 상황과 구별해야합니다 . 랜덤 패키지는 테스트를 위해 로컬로 컴파일되거나 단편적으로 복사되는 가상 패키지를 의미합니다. 이제 더 이상 사용되지 않는 문서를 기반으로 한 간단한 설정이 있습니다 .

먼저 패키지를 호스팅 할 디렉토리를 만듭니다.

mkdir <packagedir>

그런 다음 .deb 패키지 파일을 그곳으로 이동하십시오. 방금 만든 디렉토리 위의 디렉토리에서이 명령을 실행하십시오 (권한이 허용하는지 확인하십시오!).

dpkg-scanpackages packagedir | gzip > packagedir/Packages.gz

이제 내용이 포함 된 확장자 .list/etc/apt/sources.list.d/가진 파일을 작성하십시오 .

deb [trusted=yes] file:///path_to_dir_above_packagedir packagedir/

적절한 데이터베이스를 업데이트하십시오.

apt-get update

이 시점에서 로컬 저장소의 패키지는를 사용하여 다른 패키지와 같이 설치할 수 있습니다 apt-get install <packagename>. 새 패키지가 로컬 저장소에 추가 dpkg-scanpackages되면 Packages.gz 파일 을 업데이트하기 위해 규정 된 명령을 다시 발행 apt해야하며 새 패키지를 사용 가능하게하기 전에 업데이트해야합니다. 잘하면 이것은 테스트 목적으로 유용 할 수 있습니다 .


답변

debootstrap과 같은 도구에 필요한 전체 구조로 리포지토리를 만들려면 가장 간단한 방법은 다음과 같습니다.

  1. 저장소 디렉토리를 작성하십시오.

    # mkdir -p /opt/debian
    
  2. conf 서브 디렉토리를 작성하십시오.

    # mkdir /opt/debian/conf
    
  3. 다음과 같은 내용으로 / opt / debian / conf / distributions 파일을 만듭니다 (사용중인 배포판에 맞게 조정).

    Label: Local APT repository
    Codename: jessie
    Architectures: amd64
    Components: main
    Description: Local APT repository for debootstrap
    
  4. reprepro로 패키지를 가져옵니다.

    # reprepro -b /opt/debian includedeb jessie /path/to/package.db
    
  5. 쉘 for-loop를 사용하여 패키지를 가져옵니다 (예 : APT 캐시의 모든 것).

    # cd /var/cache/apt/archives
    # for DEB in *.deb; do reprepro -b /opt/debian includedeb jessie $DEB; done
    

서명되지 않은 아카이브가 생성됩니다. –no-check-gpg 옵션과 함께 debootstrap과 함께 사용할 수 있습니다.


답변