離線環境使用以下apt-get命令安裝目標組件


轉自  Aaron_Zhao的ChinaUnix博客

問題場景:
要在離線環境使用以下apt-get命令安裝目標組件xxxx
# apt-get  install xxxx
問題描述:
沒有在線的倉庫,無法使用apt-get該如何解決?
解決思路: 
下載所有所需的deb包和它的依賴,拷貝到目標安裝機器上,然后搭建一個本地apt倉庫,安裝完成之后刪除本地倉庫
解決方法:
一、新建一台測試的虛擬機,聯網下載所有所需的deb包和其依賴
注意:盡可能保證虛擬機和目標主機操作系統初始安裝一致,或者要求測試虛擬機的組件是目標主機的子集,那樣測試主機下載的deb包和依賴會更全面,具有包括性。
# cd /var/cache/apt/archives
# rm  *.deb
安裝dpkg-scanpackage工具
# sudo apt -d install dpkg-dev
注意:-d表示只下載,不安裝 
# tar zcvf tool.tar.gz ./*.deb
# rm *.deb
# sudo apt -d install xxx
#  tar zcvf  abc.tar.gz  *.deb
二、拷貝下載的deb包到離線目標機器的目錄,並搭建本地apt倉庫(本案例是/var/debs)
拷貝所有deb文件
# scp /var/cache/apt/archives/*.tar.gz  user@目的IP: /home/user
# cd /home/user;
# mkdir tool;tar xvf tool.tar.gz -C  tool;dpkg -i  tool/*.deb
安裝命令dpkg-scanpackage
#whick dpkg-scanpackage
使用dpkg-scanpackage將目的deb包制作成本地源
# mkdir -p /var/debs ;mv abc.tar.gz  /var/debs;chmod -R 755 /var/debs
# dpkg-scanpackage /var/debs /dev/null | gzip > Packages.gz  
# cp -p  /etc/apt/source.list /etc/apt/source.listbak
# echo "deb [trusted=true] file:/var/debs /"  > /etc/apt/source.list
# apt update
注意:如果沒有 [trusted=true],則執行 apt update會報以下錯誤

注意:“debs”后面有空格和“/”,否則執行 apt update會報以下錯誤


安裝目標組件
# apt install xxx
四、安裝完成后,刪除搭建的本地apt倉庫,恢復系統apt倉庫文件
# mv /etc/apt/source.listbak  /etc/apt/source.list
# apt update
# rm -rf /var/debs


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM