sbuild schroot가 실패했습니다.

sbuild schroot가 실패했습니다.

Ubuntu 패키지를 Debian 패키지로 패키징하려고 합니다. 유지 관리를 위해 sbuild.

여기의 단계를 따르세요.

처음 5개 단계를 완료했지만 빌드하려고 하면 chroot 오류가 발생합니다.

단계는 다음과 같습니다.

   1 sudo apt-get install sbuild
   2 sudo mkdir /root/.gnupg # To work around #792100
   3 sudo sbuild-update --keygen
   4 sudo sbuild-adduser $LOGNAME
   5  ... *logout* and *re-login* or use `newgrp sbuild` in your current shell
   6 sudo sbuild-createchroot --make-sbuild-tarball=/srv/chroot/unstable-amd64.tar.gz unstable `mktemp -d` http://httpredir.debian.org/debian

sbuild-createchrrot내가 사용한 명령은 다음과 같습니다: 코드:모두 선택

sudo sbuild-createchroot --make-sbuild-tarball=/srv/chroot/jessie-amd64.tar.gz jessie `mktemp -d` http://httpredir.debian.org/debian
I: SUITE: jessie
I: TARGET: /tmp/tmp.uLbQox2R0X
I: MIRROR: http://httpredir.debian.org/debian
I: Running debootstrap --arch=amd64 --variant=buildd --verbose --include=fakeroot,build-essential,debfoster --components=main --resolve-deps jessie /tmp/tmp.uLbQox2R0X http://httpredir.debian.org/debian
I: Retrieving Release 
I: Retrieving Release.gpg 
I: Checking Release signature
I: Valid Release signature (key id 75DDC3C4A499F1A18CB5F3C8CBF8D6FD518E17E1)
I: Retrieving Packages 
I: Validating Packages 
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: acl adduser dmsetup insserv libaudit-common libaudit1 libbz2-1.0 libcap2 libcap2-bin libcryptsetup4 libdb5.3 libdebconfclient0 libdevmapper1.02.1 libgcrypt20 libgpg-error0 libkmod2 libncursesw5 libprocps3 libsemanage-common libsemanage1 libslang2 libsystemd0 libudev1 libustr-1.0-1 procps systemd systemd-sysv udev 
I: Found additional base dependencies: binutils bzip2 cpp cpp-4.9 debian-archive-keyring dpkg-dev g++ g++-4.9 gcc gcc-4.9 gnupg gpgv libapt-pkg4.12 libasan1 libatomic1 libc-dev-bin libc6-dev libcilkrts5 libcloog-isl4 libdpkg-perl libfakeroot libgc1c2 libgcc-4.9-dev libgdbm3 libgmp10 libgomp1 libisl10 libitm1 liblsan0 libmpc3 libmpfr4 libquadmath0 libreadline6 libstdc++-4.9-dev libstdc++6 libtimedate-perl libtsan0 libubsan0 libusb-0.1-4 linux-libc-dev make patch perl perl-modules readline-common xz-utils 
I: Checking component main on http://httpredir.debian.org/debian...
I: Retrieving acl 2.2.52-2
I: Validating acl 2.2.52-2
I: Retrieving libacl1 2.2.52-2
I: Validating libacl1 2.2.52-2
I: Retrieving adduser 3.113+nmu3
I: Validating adduser 3.113+nmu3
I: Retrieving apt 1.0.9.8.2
I: Validating apt 1.0.9.8.2
I: Retrieving libapt-pkg4.12 1.0.

완료될 때까지 계속됩니다. 이것이 오류인지는 확실하지 않지만 터미널 제어권을 다시 얻기 전에 이런 일이 발생합니다.

I: Base system installed successfully.
I: Configured /etc/hosts:
   ┌────────────────────────────────────────────────────────────────────────
   │127.0.0.1 hn localhost
   └────────────────────────────────────────────────────────────────────────
I: Configured /usr/sbin/policy-rc.d:
   ┌────────────────────────────────────────────────────────────────────────
   │#!/bin/sh
   │echo "All runlevel operations denied by policy" >&2
   │exit 101
   └────────────────────────────────────────────────────────────────────────
I: Configured APT /etc/apt/sources.list:
   ┌────────────────────────────────────────────────────────────────────────
   │deb http://httpredir.debian.org/debian jessie main
   │deb-src http://httpredir.debian.org/debian jessie main
   └────────────────────────────────────────────────────────────────────────
I: Please add any additional APT sources to /tmp/tmp.uLbQox2R0X/etc/apt/sources.list
I: Setting reference package list.
I: Updating chroot.
Ign http://httpredir.debian.org jessie InRelease      
Hit http://httpredir.debian.org jessie Release.gpg
Hit http://httpredir.debian.org jessie Release
Get:1 http://httpredir.debian.org jessie/main Sources [7058 kB]
Get:2 http://httpredir.debian.org jessie/main amd64 Packages [6763 kB]                                                                                                            
Get:3 http://httpredir.debian.org jessie/main Translation-en [4582 kB]                                                                                                            
Fetched 18.4 MB in 21s (837 kB/s)                                                                                                                                                 
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I: chroot /tmp/tmp.uLbQox2R0X has been removed.
I: Successfully set up jessie chroot.
I: Run "sbuild-adduser" to add new sbuild users.

그 후 다음을 실행하려고 합니다.

sbuild -d jessie filename.dsc

그러면 다음 오류가 발생합니다.

╔══════════════════════════════════════════════════════════════════════════════╗
║ simplescreenrecorder 0.3.6+1~ppa1~wily1 (amd64)            07 Feb 2016 04:15 ║
╚══════════════════════════════════════════════════════════════════════════════╝

Package: simplescreenrecorder
Version: 0.3.6+1~ppa1~wily1
Source Version: 0.3.6+1~ppa1~wily1
Distribution: jessie
Machine Architecture: amd64
Host Architecture: amd64
Build Architecture: amd64

E: /etc/schroot/schroot.conf: Failed to stat file: No such file or directory

┌──────────────────────────────────────────────────────────────────────────────┐
│ Summary                                                                      │
└──────────────────────────────────────────────────────────────────────────────┘

그런 다음 커서는 깜박이면서 거기에 앉아 있습니다.

chroot에 문제가 있나요? 왜 sbuild제대로 설정되지 않습니까? 이것을 사용하려면 어떻게 수정해야 합니까 sbuild?

sbuild:
  Installed: 0.65.2-1
  Candidate: 0.65.2-1
  Version table:
     0.66.0-5~bpo8+1 0
        100 http://httpredir.debian.org/debian/ jessie-backports/main amd64 Packages
 *** 0.65.2-1 0
        500 http://httpredir.debian.org/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status

schroot:
  Installed: 1.6.10-1+b1
  Candidate: 1.6.10-1+b1
  Version table:
 *** 1.6.10-1+b1 0
        500 http://httpredir.debian.org/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status

편집하다:

다음 파일이나 폴더가 없고 수동으로 만드는 방법을 모르겠습니다. Wikipedia는 이러한 문서에 대해 많이 언급하지 않습니다.

E: /etc/schroot/schroot.conf: Failed to stat file: No such file or directory

편집하다/etc/schroot내 폴더의 내용입니다.

tree /etc/schroot/
/etc/schroot/
├── buildd
├── chroot.d
│   └── jessie-amd64-sbuild-k92zq_
├── default
├── desktop
├── minimal
├── sbuild
└── setup.d
    └── 99check -> 00check

7 directories, 2 files

이것은 jessie-amd64 파일의 내용입니다.

cat /etc/schroot/chroot.d/jessie-amd64-sbuild-k92zq_ 
[jessie-amd64-sbuild]
type=file
description=Debian jessie/amd64 autobuilder
file=/srv/chroot/jessie-amd64.tar.gz
groups=root,sbuild
root-groups=root,sbuild
profile=sbuild

내가 달릴 때

schroot -c jessie-amd64-sbuild
E: /etc/schroot/schroot.conf: Failed to stat file: No such file or directory

schroot -c jessie-amd64
E: /etc/schroot/schroot.conf: Failed to stat file: No such file or directory

-c 명령을 사용해도 여전히 오류가 발생하고 schroot.conf 파일에 대해 불평합니다.

이것을 schroot.conf 파일에 쓰려고 했습니다.

cat /etc/schroot/schroot.conf 
[jessie-amd64]
type=file
description=Debian jessie/amd64 autobuilder
file=/srv/chroot/jessie-amd64.tar.gz
groups=root,sbuild
root-groups=root,sbuild
profile=sbuild

그런 다음 실행해 보세요.schroot -c /etc/schroot/schroot.conf

schroot -c jessie-amd64
E: /srv/chroot/jessie-amd64.tar.gz: Failed to stat file: No such file or directory

그런 다음 위의 오류가 발생합니다.

답변1

/etc/schroot/chroot.d/jessie-amd64-sbuild-k92zq_생성한 파일의 sbuild-createchroot이름을 바꿔야 합니다 jessie-amd64-sbuild(예: 임의의 접미사 제거). 원하는 경우 편집할 수도 있습니다. 그들 schroot -c jessie-amd64-sbuild과 함께 일할 수 있어야 합니다 sbuild -d jessie whatever.dsc. 인스턴스화하고 정리하는 데 약간의 시간이 걸리는 tarball chroot를 사용합니다.

관련 정보