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 【安装的软件】
注意:离线安装要求下载的文件内容的依赖关系要高度完整才行。
- 上一篇: Linux安装Oracle19c
- 下一篇: Ubuntu网络配置