Ubuntu apt 本地源 离线安装

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

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

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

运行完该命令后,需要的包及依赖都会下载到 /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/

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

在主机上创建包缓存目录

$ sudo mkdir /var/debs

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

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

生成包索引文件

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

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

$ sudo gedit /etc/apt/sources.list

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

$ deb file:/var debs/

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

更新索引

$ sudo apt-get update

结束

现在可以安装包了。运行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

  • 12
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: Ubuntu的build-essential是一种开发工具包,包含了一系列常用的编译工具和库文件,用于在Ubuntu系统中进行软件开发。如果您需要在没有网络连接的情况下进行安装,可以采取以下步骤: 1. 在有网络连接的Ubuntu系统上,下载并保存build-essential的安装文件。可以通过打开终端,运行命令`sudo apt-get install -d build-essential`对build-essential进行下载。这将下载相关的安装包到本地缓存。 2. 在下载完毕后,您可以将下载的安装包文件移动到没有网络连接的目标Ubuntu系统上。可以使用USB驱动器或其他可移动存储设备来完成。 3. 将安装包文件移动到目标系统后,打开终端并导航到安装包所在的目录。 4. 运行命令`sudo dpkg -i <package-name>.deb`来安装build-essential的安装包。注意,`<package-name>`应该替换为实际的安装包文件名。 5. 安装过程中可能会出现依赖关系问题,此时您需要运行命令`sudo apt-get install -f`来解决缺少的依赖关系。 6. 安装完成后,您可以验证build-essential是否成功安装。可以在终端中运行命令`gcc -v`来检查GCC是否可用,以及运行命令`make -v`来检查make是否可用。如果这些命令都能正常显示版本信息,则说明build-essential已经成功安装。 需要注意的是,离线安装无法自动处理依赖关系,因此您需要手动解决可能出现的依赖问题。一种方法是提前下载所有依赖的安装包并一起移动到目标系统进行安装,另一种方法是在目标系统上逐个解决缺少的依赖关系。 希望以上步骤对您有所帮助!如果有任何疑问,请随时提问。 ### 回答2: Ubuntu的build-essential是一个软件包,提供了构建代码的必要工具和库文件。当我们没有网络连接时,我们可以通过以下步骤进行离线安装。 首先,我们需要一个包含build-essential软件包及其依赖项的离线存储介质,例如USB闪存驱动器或DVD。我们可以从拥有互联网连接的计算机上下载这个软件包及其依赖项,并将它们传输到离线计算机上。 在离线计算机上,我们需要将离线存储介质插入计算机。打开终端,并使用cd命令定位到存储介质所在目录。 接下来,我们需要解包和安装build-essential软件包及其依赖项。运行以下命令: sudo dpkg -i build-essential*.deb sudo apt-get install -f 第一条命令将安装build-essential软件包及其依赖项。第二条命令将检查并安装任何缺少的依赖项。 完成安装后,我们可以验证build-essential是否成功安装。运行以下命令: gcc -v 如果能够正确显示gcc版本信息,那么build-essential已经成功安装了。 总之,通过将build-essential软件包及其依赖项从互联网连接的计算机传输到离线计算机,并使用dpkg命令进行解包和安装,我们可以在离线环境中安装build-essential。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值