如何在linux中做本地源
如何在linux中做本地源详细介绍
在 Linux 中设置本地源通常用于离线环境或加速软件包安装,以下是针对不同主流 Linux 发行版(Debian/Ubuntu 系列、Red Hat/CentOS 系列)的详细步骤:
一、准备工作
- 获取安装介质
- 下载对应发行版的 ISO 镜像(如 Ubuntu Desktop/Server ISO、CentOS ISO)。
- 解压 ISO 或直接使用其中的软件包目录(如
pool/(Debian/Ubuntu)或Packages/(CentOS))。
- 创建本地源目录
bash/mnt/local_repo
二、Debian/Ubuntu 系列(如 Ubuntu、Debian、Linux Mint)
方法 1:挂载 ISO 镜像作为本地源
- 挂载 ISO 文件
bash/path/to/iso/ubuntu.iso /mnt/local_repo loop - 编辑源配置文件
bash/etc/apt/sources.list.d/local-source.list添加以下内容(根据 ISO 版本调整,例如 Ubuntu 22.04 LTS 代号为
jammy):
plaintextdeb file:///mnt/local_repo/dists/jammy main restricted universe multiversedeb-src file:///mnt/local_repo/dists/jammy main restricted universe multiverse
- 更新包索引
bashupdate
方法 2:使用本地软件包目录(非 ISO)
- 将下载的软件包(如
deb文件)放入自定义目录(如/mnt/local_repo/deb/)。 - 编辑源文件(同上),路径指向本地目录:plaintext
deb file:///mnt/local_repo/deb/ ./ # 简单格式,适用于单层目录
三、Red Hat/CentOS 系列(如 CentOS、RHEL、Rocky Linux)
方法 1:挂载 ISO 镜像作为本地源
- 挂载 ISO 文件
bash/path/to/iso/CentOS-8-x86_64.iso /mnt/local_repo loop - 创建仓库配置文件
bash/etc/yum.repos.d/local.repo添加以下内容(以 CentOS 8 为例,调整版本号):
inifile:///mnt/local_repo/BaseOS/ # 分两个目录(CentOS 8+)
- 生成缓存
bashdnf makecache
方法 2:使用本地软件包目录(非 ISO)
- 将软件包(如
rpm文件)放入目录(如/mnt/local_repo/rpm/),并生成仓库元数据:bashdnf createrepocreaterepo /mnt/local_repo/rpm/
- 编辑
.repo文件,baseurl指向本地目录:ini
四、通用注意事项
- 权限问题
- 编辑系统文件需用
sudo,挂载目录需有读写权限。 - 避免直接修改默认的
sources.list或.repo文件,建议新建自定义文件(如local-source.list)。
- 编辑系统文件需用
- 版本匹配
- 本地源的 ISO / 软件包版本需与系统版本一致(如 Ubuntu 22.04 对应
jammy,CentOS 7 对应CentOS-7)。
- 本地源的 ISO / 软件包版本需与系统版本一致(如 Ubuntu 22.04 对应
- 优先级设置(可选)
- 若同时使用网络源和本地源,可通过
priority(Debian/Ubuntu)或cost(Red Hat)设置优先级(数值越小优先级越高):- Debian/Ubuntu:在源行添加
priority=100(本地源优先级高于网络源)。 - Red Hat:在
.repo文件中添加cost=10(默认网络源为 100)。
- Debian/Ubuntu:在源行添加
- 若同时使用网络源和本地源,可通过
- 临时 / 永久挂载
- 临时挂载重启后失效,如需永久挂载,将挂载命令写入
/etc/fstab:plaintext/path/to/iso/ubuntu.iso /mnt/local_repo iso9660 loop 0 0
- 临时挂载重启后失效,如需永久挂载,将挂载命令写入
五、验证本地源
安装一个测试包,确认从本地源获取:
- Debian/Ubuntu:bash
软件包名 - Red Hat/CentOS:bash
dnf 软件包名912 dnf install <软件包名>
通过以上步骤,即可在 Linux 中成功配置本地源,实现离线环境下的软件安装或加速包管理操作。根据具体发行版选择对应方法,确保路径和版本正确即可。