制作Ubuntu离线安装包,apt本地镜像源离线安装

在我准备使用dpkg的方式离线安装ntp时,发现ntp会与systemd-timesyncd产生冲突。当尝试卸载systemd-timesyncd时,会同步卸载掉systemd,因此采用apt本地镜像源的方式进行离线安装。

错误信息如下

systemd-timesyncd provides time-daemon and is present and installed.

一、联网服务器中:

由于/var/cache/apt/archives目录存储的是使用apt-get/apt命令搜索和下载的安装信息和deb安装包,因此是可以清除的:

# clean命令用于清除在本地存储库的安装包文件。即/var/cache/apt/archives/下的文件
sudo apt clean
# 或者
sudo apt-get clean
  1. 下载依赖
    执行下面的代码,会将所有依赖下载到 /var/cache/apt/archives中。
apt -d -f -y --reinstall install  ntp
  1. 制作离线包

注意命令之间的空格

# 创建一个名为 /opt/ubuntu_mirrors 的目录,用于存放后续操作相关的文件和数据
mkdir /opt/ubuntu_mirrors

# 将 /var/cache/apt/archives/ 目录下的所有文件和目录递归复制到 /opt/ubuntu_mirrors 目录中
cp -r /var/cache/apt/archives/* /opt/ubuntu_mirrors

# 切换当前工作目录到 /opt/ubuntu_mirrors
cd /opt/ubuntu_mirrors 

# 删除 partial/ 目录及其lock 文件
rm -rf partial/ lock

# 使用 apt-ftparchive 工具生成当前目录(. 表示当前目录,即 /opt/ubuntu_mirrors)下的软件包信息文件 Packages
# 这个文件包含了当前目录中软件包的详细信息,如名称、版本、依赖关系等,用于构建本地镜像源的软件包索引
apt-ftparchive packages  .  > Packages

# 切换当前工作目录到上级目录(即 /opt)
cd ../

# 将 /opt/ubuntu_mirrors/ 目录及其内容打包成一个名为 ubuntu_mirrors.tar 的 tar 归档文件
# 这个归档文件可以用于备份、传输或分发本地镜像源相关的数据
tar -cvf ubuntu_mirrors.tar ubuntu_mirrors/

二、离线服务器:

上述打包的镜像源ubuntu_mirrors.tar 拷贝到待安装的离线服务器中,注意保持目录一致。

# 切换目录 /opt
cd /opt

# 解压
tar -xvf ubuntu_mirrors.tar

# 备份系统原本的软件源
# ubuntu24.04及以上的版本路径为 /etc/apt/sources.list.d/ubuntu.sources
cp  /etc/apt/sources.list  /etc/apt/sources.list.bak

# 使用 echo 命令向 /etc/apt/sources.list 文件追加新的一行内容,即本地镜像源的配置信息
echo "deb [trusted=yes] file:/opt/ubuntu_mirrors  ./" >>/etc/apt/sources.list

# 更新软件包列表,让系统根据新配置的本地镜像源获取软件包信息
apt update 

# 离线安装 ntp 软件包及其依赖项
apt install -y ntp
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容