在我准备使用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
- 下载依赖
执行下面的代码,会将所有依赖下载到/var/cache/apt/archives
中。
apt -d -f -y --reinstall install ntp
- 制作离线包
注意命令之间的空格
# 创建一个名为 /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