El 能夠在Ubuntu,Linux Mint及其衍生版本中安裝應用程序,有多種方法。 最常見和已知的是在分發軟件中心的幫助下,我們可以在其中找到大量準備安裝的應用程序。
我們通常使用的另一種常用方法是在終端的幫助下 最受歡迎的方法之一是通過deb軟件包進行安裝。
通常 當我們安裝一個deb軟件包時,我們通常不檢查它的依賴關係,因為它只是純軟件包,並不包括其正確操作所需的所有那些軟件包或庫。
第一種方法
使用這種方法 我們可以從系統中下載軟件包,然後將其安裝在同一系統或沒有Internet連接的任何其他系統上。
也可以下載用於不同體系結構系統的軟件包。 例如,您可以從32位系統下載64位軟件包,反之亦然。
如何在本地下載具有依賴項的deb軟件包?
至 要在本地下載Debian,Ubuntu及其衍生版本中具有依賴性的軟件包,可以使用以下方法之一。
這是最簡單,最直接的方法。
對於這 只需運行以下命令即可下載具有所有依賴項的軟件包,而無需安裝它們:
sudo apt-get install --download-only nombre-del-paquete
托多斯 下載的文件將保存在文件夾中 /var / cache / apt / archives。
現在,我們可以簡單地繼續在任何pendrive上複製整個緩存文件夾,以稍後使用這些下載的軟件包。
要安裝下載的軟件包,只需轉到我們製作的副本並使用以下命令進行安裝:
sudo dpkg -i *
現在,使用此方法的問題雖然看起來很簡單,但是它是緩存文件夾不僅存儲了剛剛下載的軟件包及其依賴項,而且還包含系統上已安裝的更多軟件包。
因此,如果您不想攜帶不必要的軟件包,則應清除緩存。 儘管對於這種情況,我們可以使用另一種方法。
第二種方法
另一種方法是首先下載所需程序的依賴項。
因此,為了知道包的所有依賴關係的列表,我們必須執行以下命令
sudo apt-cache depends nombre-del-paquete
輸出將或多或少像這樣:
nombre-del-paquete PreDepends: ….. Depends: xxx Depends: xxxx Conflicts: Breaks: update-manager-core Suggests: xxxx Suggests: xxxx Replaces: xxx
現在, 我們只需要下載具有相關性的軟件包即可。 我們可以使用以下命令執行此操作:
for i in $(apt-cache depends python | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/''/''/); do sudo apt-get download $i 2>>errors.txt; done
上面的命令將下載軟件包以及所有必需的依賴項,並將它們保存在當前工作目錄中。
此命令還將所有錯誤保存在errors.txt文件中,如果我們有問題並知道沖突的起因,我們可以查看該文件。
如何按體系結構下載軟件包?
現在如上所述 可以下載任何類型的體系結構的軟件包,但是由於對於64位用戶,必須添加對32位體系結構的支持。
首先要做的是 我們必須使用以下命令在系統上啟用他們想要的體系結構:
sudo dpkg --add-architecture i386*
T我們還可以下載用於ARM的軟件包以及啟用該體系結構在我們的系統中,我們只需要啟用以下架構即可:
sudo dpkg --add-architecture armhf
相似地 我們可以通過以下方法檢查系統中可用的體系結構:
sudo dpkg --print-foreign-architectures
啟用您選擇的體系結構後,您必須運行以下命令來下載與特定體系結構相關的軟件包。
for i in $(apt-cache depends python:i386 | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/''/''/); do sudo apt-get download $i 2>>errors.txt; done
現在,下載軟件包及其依賴項之後,只需將它們複製到USB驅動器,然後將軟件包安裝在任何系統上即可。
感謝您帶給我們教程,很久以前我在reddit論壇上看到了此命令,它曾經多次挽救了我的性命,一旦我不得不在現場CD的幫助下使用它就可以將其安裝在服務器在文本模式下的網卡驅動程序。
非常感謝! 它可以為我提供幫助,因為在我所居住的地區(多米尼加共和國),與互聯網的連接並不總是很容易。 因此,本教程可以幫助我在需要訪問Internet的情況下在不同的計算機上安裝一些軟件包,只需將這些軟件包傳輸到USB記憶棒或類似的東西上。
謝謝,我忘了在我的ubuntu mate上實現i386架構,這是必不可少的,而我實際上遇到了仿生ubuntu中的錯誤,我認為這就是問題所在