Ubuntu使用apt功能离线安装应用

APT说明

apt(Advanced Packaging Tool)是一个在Debian和Ubuntu中的Shell前端软件包管理器。apt命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令。apt命令执行需要超级管理员权限(root)。在Ubuntu环境中大量的功能都需要在联网状态下使用apt命令进行下载安装。

本实验中使用镜像版本:ubuntu-22.04.4-live-server-amd64.iso

apt配置文件

apt配置文件目录: /etc/apt/sources.list

  • l apt可以从一个或多个软件仓库/源(sources)下载软件包,apt软件源的主配置文件就是/etc/apt/sources.list,一般在此文件中修改或添加官方的软件源,修改配置文件后使用命令:apt-get update更新一下软件源;/etc/apt/sources.list是apt工具用来记录软件仓库位置的配置文件,同样的还有位于/etc/apt/sources.list.d/*.list的各个文件;
  • l 如果用户想要添加定制源(第三方源),可以修改/etc/apt/sources.list文件,也可以在/etc/apt/sources.list.d/文件夹下增添(.list)文件。建议不在原文件下修改,而是自行增添(.list)文件。更新后使用命令:apt-get update更新一下软件源
  • l 修改配置文件源位置时只需要替换掉文件内的超链接即可,或者以下方网易源例子增加在配置文件头部。
deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse

各个镜像站内都有文件的使用方法,可以自行探索。

Ubuntu官方:http://security.ubuntu.com/ubuntu/

阿里云开源镜像:http://mirrors.aliyun.com/ubuntu/

清华大学开源镜像:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/

中科大开源镜像:https://mirrors.ustc.edu.cn/ubuntu/

网易云开源镜像:http://mirrors.163.com/ubuntu/

离线本地源

在需要在离线环境下使用apt功能时,自行下载需要安装的软件功能和依赖程序,下载方法见下一节。Ubuntu原本的镜像文件中的依赖很少,并不是那么完整,但又想挂载上安装某个功能时,可以这样使用:

步骤:挂载镜像——修改配置文件——更新apt源——安装功能

挂载镜像——ISO文件

创建挂载目录,挂载镜像源

sudo mkdir mnt/cdrom

sudo mount /mnt/ubuntu-22.04.4-live-server-amd64.iso /mnt/cdrom/

或者 sudo mount -t iso9660 -o loop /mnt/ubuntu-22.04.4-live-server-amd64.iso /mnt/cdrom/

挂载镜像——硬件光驱

创建挂载目录,挂载光驱

sudo mkdir /mnt/cdrom

sudo mount /dev/cdrom /mnt/cdrom

使用命令:df -h,查看挂载结果

修改配置文件——设置本地源

备份配置文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑配置文件:sudo vi /etc/apt/sources.list

将下面内容插入到配置文件头部,或者新配置文件中输入以下内容:

deb file:///mnt/cdrom jammy main restricted universe multiverse

更新apt源

sudo apt-get update

安装功能

sudo apt-get install 【安装的软件】

下载软件和依赖到离线环境中安装

离线环境中安装软件经常会出现缺少依赖程序的情况,而依赖程序的安装可能出现在需要其他依赖支持的情况,所以单只是一个程序下来安装就想成功的话很不现实。

步骤:在联网的设备中下载程序——离线设备中安装程序

下载程序——在各镜像站自行下载软件依赖程序:

Ubuntu官方站:http://security.ubuntu.com/ubuntu/

阿里云开源镜像站:http://mirrors.aliyun.com/ubuntu/

清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/

中科大开源镜像站:https://mirrors.ustc.edu.cn/ubuntu/

网易云开源镜像站:http://mirrors.163.com/ubuntu/

搜狐开源镜像站:http://mirrors.sohu.com/ubuntu/

华为开源镜像站:https://mirrors.huaweicloud.com/ubuntu/

开源社/Azure中国:http://azure.archive.ubuntu.com/ubuntu/

腾讯云开源镜像站:https://mirrors.cloud.tencent.com/ubuntu/

重庆大学开源镜像站:https://mirrors.cqu.edu.cn/ubuntu/

……

感兴趣的可以查看站点内容,但是一般不用这种方式

下载程序——apt下载软件及其依赖包

apt文件缓存目录: /var/cache/apt/archives

缓存目录中将保存安装所需的所有deb文件,执行apt命令安装某个软件功能时会率先访问本地缓存中是否有该程序,有就直接不用再次下载,没有就下载后再安装。

sudo apt install -d gcc

执行后缓存目录下会出现很多包,即为安装的程序包以及依赖包程序

命令sudo apt depends ntp,查询ntp的依赖包有哪些。 提示其他软件有依赖错误,执行结果中建议执行apt install -f 执行sudo apt install -f自动解决依赖问题

离线设备安装

使用自己的方法将文件导入到离线设备中。

dpkg命令安装

将所有下载好的所有.deb文件放置在一个文件夹内进行安装。

命令:sudo dpkg -i *.deb

apt命令安装

1.将下载好的文件放置在离线设备的缓存目录中(/var/cache/apt/archives),然后正常使用apt的安装命令进行安装。

2.创建一个这样的目录(sudo mkdir -r /ubuntu/pool/main/),在apt配置文件中新添本地源(deb file:// /ubuntu jammy main restricted universe multiverse),然后正常使用apt的安装命令进行安装。

安装命令:sudo apt-get install 【安装的软件】

注意:离线安装要求下载的文件内容的依赖关系要高度完整才行。

标签: Ubuntu, apt

文章作者: XiaoAnBlog
文章链接: http://ds.bhswl.cn/index.php/archives/41/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XiaoAn Blog

添加新评论