Apt

通過 apt 為其他架構下載包

  • September 13, 2021

我目前在 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-essentialgcc但不一定從.deb.

列出 vlc 的主要依賴項可能更容易apt-cache

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這些。

請注意,這個腳本不是很聰明,它沒有考慮很多事情,所以你可能會遇到一些愚蠢的錯誤,但它應該可以正常工作。

引用自:https://unix.stackexchange.com/questions/115272