Ubuntu系统离线安装资源包

这几天部署一个项目,用的是ubuntu的操作系统,而且还是不连接外网的,导致我项目需要的一些软件资源包不能从网上直接install下来,需要手动上传安装,但是安装的时候又发现好多资源包是有关联性的,安装这个资源包的前提是需要安装其他资源包,有的复杂性很高一个个的安太麻烦了,所以我就找整合资源包一起安装的方法,还真找到了,下面我整理了几种方法,可以参考一下。

方法一

单个简单资源包

在可上网的ubuntu电脑上,使用apt-get install安装软件,然后到/var/cache/apt/archives目录下拷贝安装包到离线ubuntu电脑上。比如要安装samba,步骤如下:
1、下载需要的安装软件

sudo apt-get install gcc

2、找到/var/cache/apt/archives目录

cd /var/cache/apt/archives

3、通过ftp下载到自己的电脑或者U盘保存,再拷贝到离线的电脑上,并通过以下命令安装(注意:文件名字可能略有不同,因为版本不一样,安装方式都是一样的)

sudo dpkg -i gcc.deb

这是单个的软件包,还有一些复杂的软件包,需要很多其他资源,不然不能安装,所以还有复杂性软件包安装整合的操作。

#加粗样式## 复杂性资源包
复杂性的软件包需要把它所需要的资源一起下载下来,整个成一个安装包,并且制作离线源。
1、首先先创建一个文件夹

sudo mkdir test
cd test

2、下载资源包,这个下载资源包会把他依赖的资源包一起下载下来(packagename是你包得名字)

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances <packagename> | grep "^\w" | sort -u)

3、下载下载以后有很多的.deb文件,这个需要修改权限并建立依赖关系

sudo mkdir ./archives
sudo dpkg-scanpackages ./ /dev/null | gzip > ./archives/Packages.gz -r
sudo chmod 777 -R ./

注意:如果出现错误:sudo:dpkg-scanpackages: command not found,则需要安装dpkg-dev工具:

sudo apt-get install dpkg-dev

如果dpkg-scanpackages命令只是输出waring和info信息不用管,只要不报错就行
4、打包整个文件夹

sudo tar cvzf ../test.tar.gz ../test

5、将打包后的文件放到离线的服务器上进行解压,我放到了home目录下

sudo tar -xvf test.tar.gz

6、修改下载资源包的源

mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb [trusted=yes] file:///home/test/ archives/" >> /etc/apt/sources.list

7、更新源(注意:每次操作了源最好都更新一下,如果资源包有好几个,每解压一个最好也更新一下)

sudo apt-get update

8、安装离线资源包(写上自己资源包的名字就行,他会自动从你设置的源路径里面解析你的依赖关系)

sudo apt-get install gcc

如果提示依赖问题,可以使用下边的命令修复

sudo apt-get install -f

方法二

到ubuntu官网下载软件资源包,不过只能下载他自己的资源包,不包含他依赖的资源包。

1、ubuntu官网下载地址:Ubuntu – Ubuntu Packages Search,点击访问,找到这个位置。

在这里插入图片描述

2、点击搜索,会出现搜索的内容

出现的搜索内容很多,找到你自己想要的点击kinetic进入即可。

3、进入后会出现软件包的信息及它依赖的资源名
在这里插入图片描述

4、往下滑动,找到这个位置
在这里插入图片描述
根据自己的需要下载自己硬件架构的资源包,一般需要的资源包都会提供需要什么架构的。

5、点击硬件架构名字以后,进入下载页面
在这里插入图片描述

里面有下载链接和文件路径,找到下载就行。文件名字可能略有不同。

6、安装
安装方式跟方法一是一样的。

sudo dpkg -i gcc.deb

至此就安装完成了,我个人建议是用关联性的去安装,这样不会漏掉依赖,不然一个个找然后在拼太麻烦了,而且最好找一个云服务器下载关联性依赖,用自己的虚拟机下载有的网站还下不了,自己去找着下可能版本还不对,个人建议,看自己的经济能力吧。

猜你喜欢

转载自blog.csdn.net/qq_45699784/article/details/128644347