다른 아키텍처에 적합한 apt를 통해 패키지 다운로드


15

현재 amd64 아키텍처에 있으므로 시도 할 때 apt-get download vlc시스템에 적합한 아키텍처를 다운로드했지만 apt를 통해 i386 버전을 어떻게 다운로드 할 수 있습니까?

인터넷에 연결되어 있지 않은 다른 시스템으로 내보내는 데 사용되며 다음과 같은 종속성을 다운로드하는 방법이 있습니까?


설치 하시겠습니까?
Braiam

참고로, 나는 새로운 지식으로 대답을 넓혔습니다.
Seth

답변:


13

:i386, 다음과 같이 다운로드 명령에 추가 하면됩니다.

sudo apt-get download <package>:i386  

그래서 당신을 위해 :

sudo apt-get download vlc:i386  

패키지 종속성을 자동으로 다운로드하는 방법을 알지 build-dep못하지만 귀하의 경우에는 작동하지 않습니다.

맨 페이지를 조금 더 파고 들자, 실제로 build-dep다음과 같이 사용할 수 있음을 알았습니다 .

sudo apt-get build-dep --download-only vlc:i386  

그런 다음 필요한 패키지를 현재 디렉토리로 다운로드합니다. 그, 그러나 참고 build-depA로부터를 설치, 소스 패키지를 컴파일에 있지 찾고 .deb은 같은 것들을 제안 할 수 있도록 build-essential하고 gcc있는 컴파일 VLC에 필요하지만, 반드시에서 설치할 수 있습니다 .deb.

다음과 apt-cache같이 vlc의 주요 종속성을 나열하는 것이 더 쉬울 수 있습니다 .

apt-cache depends vlc:i386  

필터링하여 필터링하려면 다음을 사용하십시오.

apt-cache depends vlc:i386 | grep 'Depends'  

libc6Ubuntu에서 기본적으로 제공되는 것과 같은 일부 패키지 는 다운로드 할 필요가 없습니다. 모든 종속성을 다운로드하고 나중에 필요한지 여부를 처리하려면이 스크립트를 사용할 수 있습니다.

for i in $(apt-cache depends vlc:i386 | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>no32.txt; done  

그러면 종속, 권장 및 제안 된 모든 패키지가 다운로드되고 오류가있는 경로로 다시 라우팅됩니다 no32.txt. i386 버전이없는 (즉, 바이너리가 아닌) 일부 필요한 패키지가 거기에 있기 때문에 완료되면 거기를 살펴 봐야합니다.

그저 apt-get download.

이 스크립트는 매우 똑똑하지는 않지만 많은 것을 고려하지 않으므로 약간의 오류가 발생할 수 있지만 일반적으로 작동합니다.


그리고 빌드-뎁 패키지 : i386은 어떻습니까?
enedil

@enedil build-dep 다운로드 설치, 이것은 그의 i386 패키지를 그의 컴퓨터에 설치하는데, 이것은 그가 원하는 것이 아닙니다. 자세한 내용은 man apt-get을 참조하십시오.
세스

또한이 aptitude download명령은. 그래도 다중 아키텍처가 활성화되어 있는지 확실하지 않습니다.
Faheem Mitha

@FaheemMitha 예, 적성은 모든 일을 apt-get할 수 있습니다.
세스

0

이를 수행 할 수있는 한 가지 방법은 호스트 시스템에서 chroot 또는 proot를 사용하여 적절한 아키텍처의 격리 된 파일 시스템을 만드는 것입니다. 그런 다음 에뮬레이트 된 환경에서 apt를 실행하여 마치 해당 아키텍처의 시스템에있는 것처럼 아키텍처 특정 패키지를 설치할 수 있습니다. 아키텍처를 에뮬레이트하기 때문에 약간 느리게 실행되지만 다른 아키텍처의 다른 장치에 배포 할 수있는 rootfs가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.