简介
- 在有网络连接的情况下, 我们常使用
yum
或apt
来安装软件, 若是在离线的局域网中, 就需要为特定软件制作本地源。 - 可以使用
Python
自带的SimpleHTTPServer
来实现简单局域网的源。
CentOS
- 使用
yum
安装软件时,下载的*.rpm
包缓存在/var/cache/yum/x86_64/7/
。
创建目录
- 用于存放特定软件所需的软件包。
1 | mkdir -p /opt/packages |
下载软件包
1 | yum install -y --downloadonly --downloaddir=/opt/packages python-openstackclient |
创建软件仓库
1 | yum install -y createrepo |
1 | createrepo /opt/packages |
生成压缩包
1 | tar -zcf packages.tgz packages/ |
配置本地源
1 | tar -zxf packages.tgz -C /opt |
1 | [Local] |
- 客户端安装软件:
1 | yum install python-openstackclient |
Ubuntu
简介
- 使用
apt
命令安装软件时,下载的*.deb
包缓存在/var/cache/apt/archives/
。
创建目录
- 用于存放特定软件所需的软件包。
1 | mkdir -p /opt/packages |
下载软件包
- 清除旧的缓存:
1 | rm -f /var/cache/apt/archives/*.deb |
- 下载软件包:
1 | apt install -d -y PACKAGE-NAME |
拷贝软件包
1 | cp -a /var/cache/apt/archives/*.deb /opt/packages/ |
生成索引包
Packages.gz
中包含软件包信息以及其依赖关系信息。- 安装
dpkg-dev
以便使用dpkg-scanpackages
命令生成Packages.gz
文件。
1 | apt install -y dpkg-dev |
单机版本地源
- 此处忽略一切的警告(
warning
)。
1 | cd /opt/ |
- 制作成压缩包,便于网络传输。
1 | cd /opt/ |
将压缩包拷贝到目标主机。
解压压缩包并配置软件源:
1 | tar -zxf packages.tgz -C /opt |
临时的Web共享本地源
- 此处忽略一切的警告(
warning
)。
1 | cd /opt/packages/ |
- 使用
Python
自带的SimpleHTTPServer
会在当前目录启动一个简易的Web
服务器。
1 | cd /opt/packages/ |
- 在目标节点上配置软件源:
1 | echo 'deb [trusted=yes] http://IP:PORT/ /' > /etc/apt/sources.list |
搭建Web服务共享本地源
- 搭建主流的
Web
服务:Apache
服务或Nginx
服务。 - 配置
Web
服务,根目录指向/opt/packages/
。 - 在目标节点上配置软件源:
1 | echo 'deb [trusted=yes] http://IP:PORT/ /' > /etc/apt/sources.list |
安装软件
- 在目标节点上安装软件:
1 | apt-get update |