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
 
注意:在执行是可能会出现这样的错误 You will have to enable the component called 'main'
解决方法:sudo add-apt-repository main
 

猜你喜欢

转载自www.cnblogs.com/pig1314/p/10175235.html