Apt
通過 apt 為其他架構下載包
我目前在 amd64 架構中,所以當我嘗試時
apt-get download vlc
,它為我的系統下載了適當的架構,但是如何通過 apt 下載 i386 版本?它用於導出到另一個沒有網際網路連接的系統,還有沒有辦法下載任何依賴項?
是的,您可以,只需附加
: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-dep
是從原始碼編譯軟體包,而不是從 a 安裝它,.deb
因此它會建議編譯 vlc 可能需要的內容build-essential
,gcc
但不一定從.deb
.列出 vlc 的主要依賴項可能更容易
apt-cache
:apt-cache depends vlc:i386
如果你想過濾只是取決於使用:
apt-cache depends vlc:i386 | grep 'Depends'
請注意,某些軟體包,例如
libc6
Ubuntu 中預設提供的,因此您無需下載這些軟體包。如果您只想下載所有依賴項並處理以後是否需要它們,您可以使用此腳本: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
這些。請注意,這個腳本不是很聰明,它沒有考慮很多事情,所以你可能會遇到一些愚蠢的錯誤,但它應該可以正常工作。