Linux 2.6.18에 dpkg를 설치할 수 없습니다.

Linux 2.6.18에 dpkg를 설치할 수 없습니다.

사용하려는 가상 머신이 있습니다. dpkg나 apt-get이 없는 것 같아서 소스 코드를 다음에서 다운로드했습니다.http://packages.debian.org/sid/dpkg-dev.

./configure를 실행한 다음 make하면 다음과 같은 결과를 얻습니다.

$ make
make  all-recursive
make[1]: Entering directory `/home/dbadmin/temp/dpkg-1.16.8'
Making all in lib
make[2]: Entering directory `/home/dbadmin/temp/dpkg-1.16.8/lib'
Making all in compat
make[3]: Entering directory `/home/dbadmin/temp/dpkg-1.16.8/lib/compat'
  CC     empty.o
cc1: error: unrecognized command line option "-Wvla"
make[3]: *** [empty.o] Error 1
make[3]: Leaving directory `/home/dbadmin/temp/dpkg-1.16.8/lib/compat'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dbadmin/temp/dpkg-1.16.8/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dbadmin/temp/dpkg-1.16.8'
make: *** [all] Error 2

$ ./configure --disable-compiler-warnings $ make를 시도하여...

  CC     trigproc.o
  CC     update.o
  CCLD   dpkg
archives.o: In function `tar_writeback_barrier':
/home/dbadmin/temp/dpkg-1.16.8/src/archives.c:1139: undefined reference to `sync_file_range'
archives.o: In function `fd_writeback_init':
/home/dbadmin/temp/dpkg-1.16.8/src/archives.c:77: undefined reference to `sync_file_range'
collect2: ld returned 1 exit status
make[2]: *** [dpkg] Error 1
make[2]: Leaving directory `/home/dbadmin/temp/dpkg-1.16.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dbadmin/temp/dpkg-1.16.8'
make: *** [all] Error 2

이건 내 기계야

$ uname -a
Linux server.name.domain.tld 2.6.18-194.26.1.el5xen #1 SMP Fri Oct 29 14:30:03 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

이 문제를 해결하려면 패키지 관리자를 어떻게 구해야 합니까?

고쳐 쓰다: $ gcc --version gcc(GCC) 4.1.2 20080704(Red Hat 4.1.2-51)

답변1

Dpkg는 Debian 및 Debian 유사 배포판과 함께 사용하도록 설계되었습니다. 다른 시스템에서 컴파일하는 것은 어려울 수 있으며 어쨌든 효율적으로 사용할 수 없습니다. 또한 2.6.18의 커널 버전은 상당히 오래되었으며(CentOS 5 냄새가 납니다) dpkg의 이전 버전만 작동할 수 있습니다.

gcc --version gcc(GCC) 4.1.2 20080704(Red Hat 4.1.2-51)

따라서 Red Hat 배포판이 있습니다.RHEL또는 CentOS와 같은 재패키지입니다. Red Hat 배포판의 기본 패키지 조작 도구(dpkg와 동일)는 다음과 같습니다.회전 속도. 고급 패키지 조작 도구(apt-get과 동일)는.

Linux 컴퓨터가 실행 중인 배포판을 확인하는 보다 체계적인 접근 방식은 다음을 참조하세요.배포 이름을 효율적으로 결정하는 스크립트를 어떻게 작성합니까?. 운이 좋으면 lsb-release -si답이 주어질 것입니다. 그렇지 않으면 /etc/*release*또는 와 같은 지침 파일을 찾으십시오 /etc/*version*.

답변2

모든 종속성, 특히 GCC를 설치하셨나요?

unrecognized command line option "-Wvla" GCC가 없는 것 같습니다., 또는 버전이 충분히 새롭지 않습니다.

정확히 어떤 시스템을 실행하고 있나요(distro, 버전...)?

추신: Debian/barebones가 아닌 Linux 시스템에는 dpkg를 설치하고 Debian은 설치하지 않는 이유는 무엇입니까?

답변3

Red Hat 기반 시스템을 사용하는 것으로 보이므로 기본 패키지 관리자는 다음과 같아야 합니다.rpm아마도yum해당 사용자 프런트엔드.

설치하는 모든 패키지는 시스템 및 기타 설치된 패키지에 적합해야 합니다.

관련 정보