自建yum源和apt源
老版本 linux 系统的安装源都不维护消失了,没有源安装一些常用软件比较麻烦,可以使用 iso 镜像文件搭建简易安装源,安装常用软件包
参考文章:yum源的三种搭建方式,CentOS 使用iso镜像安装本地 yum 源 ,使用iso镜像设置Ubuntu系统本地apt源,Debian如何配置局域网APT软件仓库
yum 源:网络搭建
这里以 Centos7 为例
1)服务器上需要安装有 apache 或 nginx 等服务器,并可以正常访问,这里使用 nginx 为例,服务器 ip 为 192.168.0.211
网站目录为 /var/www/html/
2)上传 CentOS-7-x86_64-DVD-2009.iso
镜像到服务器上,然后在网站目录下新建一个文件夹,文件夹名随意。
|
|
3)将 iso 镜像挂载到创建的目录下 /var/www/html/repo
|
|
挂载完成后,repo 目录下会多出一些文件
4)启动一台 Centos7 服务器,来到 /etc/yum.repos.d
目录下,删除这个目录下的所有文件,创建一个文件 http.repo
,写入以下内容。
|
|
至于删除的那些文件的作用和内容,有兴趣可以自行百度或查看上述参考文章。
验证 yum 源是否成功:yum repolist
apt 源:网络搭建
这里以搭建 debian9 为例。
服务器上需要安装有 apache 或 nginx 等服务器,并可以正常访问,这里使用 nginx 为例,服务器 ip 为 192.168.0.211
网站目录为 /var/www/html/
1)创建目录 debian9
|
|
2)上传 iso 镜像文件,并挂载至 debian9
目录
|
|
3)查看 /var/www/html/debian9
目录,可以看到相关文件
4)启动一台 debian9 主机,编辑 /etc/apt/sources.list
文件,注释掉其他源,写入网络源
|
|
成功,这样就可以安装软件了,仅限 iso 镜像中自带的软件包
5)例如没有 vim,就可以从自己搭建的网络 apt 源进行安装,当然,仅限 iso 镜像中自带的软件包
服务器重启后挂载失效
因为上面只是临时挂载,重启后就失效了,可以再用 mount 命令挂载以便。如果你熟悉 Linux,可以将其写入配置文件,和挂载硬盘一样。
图省事的话可以将挂载命令在开机时自动执行,有两种方式实现:
rc.local:先看看有没有这个配置文件,文件在 /etc/rc.local
,debian 默认没有。将 mount -o loop debian-9.13.0-amd64-DVD-1.iso /var/www/html/debian9
写入
crontab:crontab -e
将 @reboot mount -o loop debian-9.13.0-amd64-DVD-1.iso /var/www/html/debian9
命令写入。
apt 源的配置文件说明
参考: https://www.cnblogs.com/beanmoon/p/3387652.html
source.list 文件中每一行配置可以分为四个部分:deb http://mirrors.163.com/debian/ stretch main contrib
- deb 或者 deb-src:前者代表软件的位置,后者代表软件的源代码的位置
- http://mirrors.163.com/debian/ :ftp 镜像的 url
- stretch:debian 系统的版本号。stretch-updates 是软件包状态,代表更新
- main contrib:限定词
其中,前三个部分好理解,都是固定的样式,主要是第四部分的限定词,要理解清楚含义。
常见的三个限定词有:main、contrib、non-free
- main :Debian 里最基本及主要且符合自由软件规范的软件 ( packages )。
- contrib :这里头软件虽然可以在 Debian 里头运作,即使本身属于自由软件但多半却是相依于非自由 ( non-free ) 软件。
- non-free :不属于自由软件范畴的软件。
一般软件的镜像源都包含这三个,比如腾讯的 debian10 镜像源配置为:deb https://mirrors.cloud.tencent.com/debian/ buster main contrib non-free
通过浏览器找到地址,打开对应为的地址 /dists/buster/
可以看到 main、contrib、non-free 这三个文件夹
其次,我们在自己搭建的镜像源目录里也可以找到对应的目录,这里只有 main、contrib,没有 non-free
所以,在使用我们自己搭建的 debian9 镜像源时,配置为:deb [trusted=yes] http://192.168.0.211/debian9/ stretch main contrib
后面不要加 non-free。
不同的 Linux 系统源配置有些不同,比如 Ubuntu:deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse