Ubuntu apt 本地源 离线安装

转载自:https://blog.csdn.net/candcplusplus/article/details/52156324

今天一台主机(Ubuntu 14.04)不知道为什么连不上外网了。只能和局域网内的其他主机相互ping通。但是上面一个正在跑的程序出了问题,需要安装两个额外的包,而且这两个包依赖还挺多的样子。这可急死我了。但是我另一台笔记本可以上外网。碰巧也安装的是Ubuntu14.04。我就想能不能把要安装的包先在笔记本上下载好,然后通过U盘转移到前面那台主机上,再在那台主机上通过本地包安装呢?通过网上一番搜索后,终于搞定了。现在总结一下步骤。

在能上网的笔记本上下载好需要的包

$ sudo rm -rf /var/cache/apt/archives/*  # 清空缓存目录,这一步也可以不做
$ sudo apt-get -d install <包名>
    
    
  • 1
  • 2

运行完该命令后,需要的包及依赖都会下载到 /var/cache/apt/archives。

复制到U盘中

将下载好的包( /var/cache/apt/archives目录下的所有文件)复制到U盘中,准备转移。如果你不想拷贝多余的包文件,你可以提前将 /var/cache/apt/archives 目录清空后再下载需要的包。

# 先在U盘中创建好一个目录debs
$ sudo cp -r /var/cache/apt/archives/* /U盘/路径/debs/
    
    
  • 1
  • 2

下面转到不能上网的主机上操作

在主机上创建包缓存目录

$ sudo mkdir /var/debs
    
    
  • 1

将U盘中下载好的包文件全部复制到/var/debs目录下

$ sudo cp -r /U盘/路径/debs/* /var/debs/
    
    
  • 1

生成包索引文件

$ sudo touch /var/debs/Packages.gz
$ sudo chmod -R 777 /var/debs/  # 这一步是为了获得文件的可写可读可执行权限,要不然后面会失败
$ sudo dpkg-scanpackages debs  /dev/null  | gzip > debs/Packages.gz  # 创建索引
    
    
  • 1
  • 2
  • 3

在 /etc/apt/sources.list 中添加本地目录

$ sudo gedit /etc/apt/sources.list
    
    
  • 1

将sources.list 原来的内容都注释掉。在最后添加

$ deb file:/var debs/
    
    
  • 1

注意上面的 /var 和 debs/ 之间的空格,以及 “/”。不要写错/var/debs/路径了。

更新索引

$ sudo apt-get update
    
    
  • 1

结束

现在可以安装包了。运行sudo apt-get install <包名> 就会像以前一样安装好了指定的包了。

参考:

Ubuntu使用apt-get安装本地deb包 - milantgh - 博客园 http://www.cnblogs.com/milantgh/p/3837356.html
浅谈Ubuntu上离线安装包的制作与安装问题_系统圣地 http://www.285868.com/a/xtjc/5817.html

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>

今天一台主机(Ubuntu 14.04)不知道为什么连不上外网了。只能和局域网内的其他主机相互ping通。但是上面一个正在跑的程序出了问题,需要安装两个额外的包,而且这两个包依赖还挺多的样子。这可急死我了。但是我另一台笔记本可以上外网。碰巧也安装的是Ubuntu14.04。我就想能不能把要安装的包先在笔记本上下载好,然后通过U盘转移到前面那台主机上,再在那台主机上通过本地包安装呢?通过网上一番搜索后,终于搞定了。现在总结一下步骤。

在能上网的笔记本上下载好需要的包

$ sudo rm -rf /var/cache/apt/archives/*  # 清空缓存目录,这一步也可以不做
$ sudo apt-get -d install <包名>
  
  
  • 1
  • 2

运行完该命令后,需要的包及依赖都会下载到 /var/cache/apt/archives。

复制到U盘中

将下载好的包( /var/cache/apt/archives目录下的所有文件)复制到U盘中,准备转移。如果你不想拷贝多余的包文件,你可以提前将 /var/cache/apt/archives 目录清空后再下载需要的包。

# 先在U盘中创建好一个目录debs
$ sudo cp -r /var/cache/apt/archives/* /U盘/路径/debs/
  
  
  • 1
  • 2

下面转到不能上网的主机上操作

在主机上创建包缓存目录

$ sudo mkdir /var/debs
  
  
  • 1

将U盘中下载好的包文件全部复制到/var/debs目录下

$ sudo cp -r /U盘/路径/debs/* /var/debs/
  
  
  • 1

生成包索引文件

$ sudo touch /var/debs/Packages.gz
$ sudo chmod -R 777 /var/debs/  # 这一步是为了获得文件的可写可读可执行权限,要不然后面会失败
$ sudo dpkg-scanpackages debs  /dev/null  | gzip > debs/Packages.gz  # 创建索引
  
  
  • 1
  • 2
  • 3

在 /etc/apt/sources.list 中添加本地目录

$ sudo gedit /etc/apt/sources.list
  
  
  • 1

将sources.list 原来的内容都注释掉。在最后添加

$ deb file:/var debs/
  
  
  • 1

注意上面的 /var 和 debs/ 之间的空格,以及 “/”。不要写错/var/debs/路径了。

更新索引

$ sudo apt-get update
  
  
  • 1

结束

现在可以安装包了。运行sudo apt-get install <包名> 就会像以前一样安装好了指定的包了。

参考:

Ubuntu使用apt-get安装本地deb包 - milantgh - 博客园 http://www.cnblogs.com/milantgh/p/3837356.html
浅谈Ubuntu上离线安装包的制作与安装问题_系统圣地 http://www.285868.com/a/xtjc/5817.html

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>

猜你喜欢

转载自blog.csdn.net/cdknight_happy/article/details/80818966
今日推荐