ubuntu手動離線下載並更新apt依賴包
最近要離線編譯一個服務,但是這個需要更新一些系統組件,無奈之下只能先將需要更新的組件離線下載更新了.
下載依賴包
我在類似的系統上先連網編譯了一下,確定了需要更新的包
將會同時安裝下列軟件:
cpp-7 g++-7 gcc-7 gcc-7-base gcc-8-base libasan4 libcilkrts5 libgcc-7-dev libisl19 libmpx2 libstdc++-7-dev libubsan0
建議安裝:
gcc-7-locales g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg gcc-7-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg
libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg libstdc++-7-doc
下列【新】軟件包將被安裝:
cpp-7 g++ g++-7 gcc-7 gcc-7-base gcc-8-base libasan4 libcilkrts5 libgcc-7-dev libisl19 libmpx2 libstdc++-7-dev libubsan0
升級了 0 個軟件包,新安裝了 13 個軟件包,要卸載 0 個軟件包,有 22 個軟件包未被升級。
需要下載 32.6 MB 的歸檔。
解壓縮后會消耗 113 MB 的額外空間。
獲取:1 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 gcc-8-base amd64 8.4.0-1ubuntu1~18.04 [18.7 kB]
獲取:2 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 gcc-7-base amd64 7.5.0-3ubuntu1~18.04 [18.3 kB]
獲取:3 http://mirrors.aliyun.com/ubuntu bionic/main amd64 libisl19 amd64 0.19-1 [551 kB]
獲取:4 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 cpp-7 amd64 7.5.0-3ubuntu1~18.04 [8,591 kB]
獲取:5 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 libasan4 amd64 7.5.0-3ubuntu1~18.04 [358 kB]
獲取:6 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 libubsan0 amd64 7.5.0-3ubuntu1~18.04 [126 kB]
獲取:7 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 libcilkrts5 amd64 7.5.0-3ubuntu1~18.04 [42.5 kB]
獲取:8 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 libmpx2 amd64 8.4.0-1ubuntu1~18.04 [11.6 kB]
獲取:9 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 libgcc-7-dev amd64 7.5.0-3ubuntu1~18.04 [2,378 kB]
獲取:10 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 gcc-7 amd64 7.5.0-3ubuntu1~18.04 [9,381 kB]
獲取:11 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 libstdc++-7-dev amd64 7.5.0-3ubuntu1~18.04 [1,471 kB]
獲取:12 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 g++-7 amd64 7.5.0-3ubuntu1~18.04 [9,697 kB]
獲取:13 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 g++ amd64 4:7.4.0-1ubuntu2.3 [1,568 B]
已下載 32.6 MB,耗時 4秒 (8,566 kB/s)
正在選中未選擇的軟件包 gcc-8-base:amd64。
(正在讀取數據庫 ... 系統當前共安裝有 198191 個文件和目錄。)
准備解壓 .../00-gcc-8-base_8.4.0-1ubuntu1~18.04_amd64.deb ...
正在解壓 gcc-8-base:amd64 (8.4.0-1ubuntu1~18.04) ...
正在選中未選擇的軟件包 gcc-7-base:amd64。
准備解壓 .../01-gcc-7-base_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 gcc-7-base:amd64 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 libisl19:amd64。
准備解壓 .../02-libisl19_0.19-1_amd64.deb ...
正在解壓 libisl19:amd64 (0.19-1) ...
正在選中未選擇的軟件包 cpp-7。
准備解壓 .../03-cpp-7_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 cpp-7 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 libasan4:amd64。
准備解壓 .../04-libasan4_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 libasan4:amd64 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 libubsan0:amd64。
准備解壓 .../05-libubsan0_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 libubsan0:amd64 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 libcilkrts5:amd64。
准備解壓 .../06-libcilkrts5_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 libcilkrts5:amd64 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 libmpx2:amd64。
准備解壓 .../07-libmpx2_8.4.0-1ubuntu1~18.04_amd64.deb ...
正在解壓 libmpx2:amd64 (8.4.0-1ubuntu1~18.04) ...
正在選中未選擇的軟件包 libgcc-7-dev:amd64。
准備解壓 .../08-libgcc-7-dev_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 libgcc-7-dev:amd64 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 gcc-7。
准備解壓 .../09-gcc-7_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 gcc-7 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 libstdc++-7-dev:amd64。
准備解壓 .../10-libstdc++-7-dev_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 libstdc++-7-dev:amd64 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 g++-7。
准備解壓 .../11-g++-7_7.5.0-3ubuntu1~18.04_amd64.deb ...
正在解壓 g++-7 (7.5.0-3ubuntu1~18.04) ...
正在選中未選擇的軟件包 g++。
准備解壓 .../12-g++_4%3a7.4.0-1ubuntu2.3_amd64.deb ...
正在解壓 g++ (4:7.4.0-1ubuntu2.3) ...
正在設置 gcc-7-base:amd64 (7.5.0-3ubuntu1~18.04) ...
正在設置 libasan4:amd64 (7.5.0-3ubuntu1~18.04) ...
正在設置 gcc-8-base:amd64 (8.4.0-1ubuntu1~18.04) ...
正在設置 libmpx2:amd64 (8.4.0-1ubuntu1~18.04) ...
正在設置 libisl19:amd64 (0.19-1) ...
正在設置 libcilkrts5:amd64 (7.5.0-3ubuntu1~18.04) ...
正在設置 libubsan0:amd64 (7.5.0-3ubuntu1~18.04) ...
正在設置 cpp-7 (7.5.0-3ubuntu1~18.04) ...
正在設置 libgcc-7-dev:amd64 (7.5.0-3ubuntu1~18.04) ...
正在設置 libstdc++-7-dev:amd64 (7.5.0-3ubuntu1~18.04) ...
正在設置 gcc-7 (7.5.0-3ubuntu1~18.04) ...
正在設置 g++-7 (7.5.0-3ubuntu1~18.04) ...
正在設置 g++ (4:7.4.0-1ubuntu2.3) ...
update-alternatives: 使用 /usr/bin/g++ 來在自動模式中提供 /usr/bin/c++ (c++)
正在處理用於 man-db (2.9.1-1) 的觸發器 ...
正在處理用於 libc-bin (2.31-0ubuntu9.1) 的觸發器 ...
方法1:直接查找
從阿里雲國內鏡像地址下載需要的deb
https://mirrors.aliyun.com/ubuntu/pool/main
獲取:1 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 gcc-8-base amd64 8.4.0-1ubuntu1~18.04 [18.7 kB]
下載的是 gcc-8-base
,架構 amd64
版本 8.4.0-1ubuntu1~18.04
- 進入
g/gcc-8/
- 下載 gcc-8-base_8.4.0-1ubuntu1~18.04_amd64.deb
方法2:在阿里雲查找
若是方法1找不到(有些文件不是根據名字放置的...天知道真實位置在哪里)
獲取:5 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 libasan4 amd64 7.5.0-3ubuntu1~18.04 [358 kB]
位置不在/l有關的位置中
- 打開 https://developer.aliyun.com/packageSearch?word=cpp
- 設置查詢條件
- 若是有對應的版本直接下載
- 若是沒有對應的版本,將鼠標移動到下載按鈕上,在左下角會顯示文件下載的位置,找到這個文件的下載路徑
- 在方法1的查找地址中找到鏈接需要的版本(案例上的這個是在gcc-7中,若是其他的版本的可能在 gcc-8等版本中,需要進去找找看)
方法3:網絡查找
若是使用方法1,方法2還是找不到,就需要百度了
獲取:13 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 g++ amd64 4:7.4.0-1ubuntu2.3 [1,568 B]
- 然后在方法1中的地址中就能找到這個包了
安裝
在deb放置的文件夾中運行命令,就會更新了
sudo dpkg -i *.deb
本來嘗試按照上面的順序一個個運行deb的,結果發現后面的設置部分無法處理.
直接運行上面的命令就會自動配置並且更新了