Ubuntu離線安裝gcc


 
 
本次成功案例是ubuntu-server-16.04.5
一、我們所處的背景是Linux服務器完全處於無網狀態,而且沒有裝gcc,make等環境。我們在該背景下,安裝離線數據包
<一>.首先在一台有網的相同的服務器上進行操作。
  1.apt-cache  search  XXX  (查找XXX有哪些軟件包),找到XXX 軟件,然后執行apt-get -d install XXX,執行完后,XXX的依賴包就會下載保存在/var/cache/apt/archives里面。在這里注明一點,我曾經在apt-get -d install gcc后進行下面的步驟失敗了,后來是apt-get install gcc直接安裝后,gcc -v查看后確實安裝上了gcc,才成功的。原因是什么呢,我只發現-d安裝后deb包沒有直接安裝上的多,相差的還是很大的。所以建議直接安裝,確保把所有的包都已經下載完畢了。
  2.生成依賴關系
    1>.根目錄下新建一個文件夾 
      $ sudo mkdir offlinePackage
    2>.將下載的deb包拷貝到上述新建的文件夾下
      $ sudo cp -r /var/cache/apt/archives  /offlinePackage
    3>.修改文件夾的權限,可讀可寫可執行
      $ sudo chmod 777 -R /offlinPackage/
    4>.建立deb包的依賴關系
      $ sudo dpkg-scanpackages /offlinePackage/ /dev/null |gzip >/offlinePackage/Packages.gz -r
      如果出現錯誤:sudo: dpkg-scanpackages: command not found
      則需要安裝dpkg-dev工具:
        $ sudo apt-get install dpkg-dev
    5>.將生成的Packages.gz包復制到和deb同目錄下
      $ sudo cp /offlinePackage/Packages.gz /offlinePackage/archives/Packages.gz
  3.打成壓縮包,以備后用
    $ tar cvzf offlinePackage.tar.gz offlinePackage/
<二>.在離線的Linux系統上進行安裝
  1.將offlinePackage.tar.gz復制到根目錄下,解壓
    $ sudo tar -xvf offlinePackage.tar.gz
  2.將安裝包所在和源路徑添加到系統源source.list
    $ sudo vi /etc/apt/sources.list
           加入 deb file:///offlinePackage archives/
         然后將所有的其他deb全部注銷掉(#)
         注意:我們在添加之前可以先將原來的源備份
          $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
         以備以后使用
  3.更新系統源
    $ sudo apt-get update
    在更新源可能會出現一些問題,在參考博客中已經提到,我的解決是
      sudo apt-get update ---allow-insecure-repositories
      sudo apt-get install -f
      sudo apt-get update --allow-unauthenticated
    注意事項:本地的源是沒有簽名的,直接更新ubuntu1604下的apt會提示找不到release文件,是一種不安全的源,默認是被禁用的。如果還要安裝的話需要加上這個 --allow-unauthenticated選項。
  4.離線安裝
    此時,在沒有網絡的情況下,我們就可以安裝我們之間下載的XXXX軟件了
          $ sudo apt-get  install gcc
     這里應該會報個錯,看報錯信息,大體意思是文件的位置問題。這里需要將offlinePackage整個文件copy一份進入offlinePackage里。再安裝
注意:在執行是可能會出現這樣的錯誤 You will have to enable the component called 'main'
解決方法:sudo add-apt-repository main
 


免責聲明!

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



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