Linux技能篇-yum源搭建(本地源和公网源)

这篇具有很好参考价值的文章主要介绍了Linux技能篇-yum源搭建(本地源和公网源)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本文章基于centos7,适用于centos6,7,8,9等版本搭建yum源,文章分为网络源和本地源两部分内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、yum源是什么?

YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。
linux本地yum源,Linux学习之路,linux,运维,服务器

我们也将yum叫做包管理器,顾名思义,就是为了解决Linux操作系统的软件下载,安装,卸载,以及解决包与包之间的依赖关系。

注:什么是依赖关系?
Linux 依赖项只是程序需要运行的东西。这是因为 Linux 开发人员倾向于以模块化的方式编写程序。这可以追溯到从较小的组件构建程序的“Unix 哲学”。依赖项通常是共享库。它们可能用于访问数据库、使用网络协议或在屏幕上绘制图形元素。虽然专有程序也使用共享库,但在 Linux 世界中这样做更容易,因为它们通常也是开源的。依赖项也可以是完整的程序。Linux 世界中的一种常见模式是为现有命令行程序构建 GUI 前端。使用共享库使开发更容易,因为开发人员不必在每次要创建新应用程序时都想出新的方法来做事。

二、使用镜像搭建本地yum源

前提:需要准备对应的操作系统镜像。

1.搭建临时仓库

搭建临时仓库,意思就是临时使用,可能使用完之后就不需要了,等下次需要的时候再搭建,不需要长期保持yum源在机器上的使用场景。
这里我用centos7.9的镜像和虚拟机来做示范。

第一步:挂载系统ios镜像到虚拟机

linux本地yum源,Linux学习之路,linux,运维,服务器
操作系统的安装镜像中含有很多我们常见的rpm包,足可以应付大部分的使用场景。
完成之后,这个图标亮了表示已经连接iso到系统中。
linux本地yum源,Linux学习之路,linux,运维,服务器

第二步:在操作系统中挂载镜像

在Linux系统中,一般情况下/mnt目录中不会存放文件,这个大多数时候都是当作挂载点来使用

[root@localhost ~]# ls -al /
total 16
dr-xr-xr-x.  17 root root  224 May 26 05:34 .
dr-xr-xr-x.  17 root root  224 May 26 05:34 ..
lrwxrwxrwx.   1 root root    7 May 26 05:30 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 May 26 05:34 boot
drwxr-xr-x.  20 root root 3220 Nov 12 08:51 dev
drwxr-xr-x.  75 root root 8192 Nov 12 08:54 etc
drwxr-xr-x.   2 root root    6 Apr 11  2018 home
lrwxrwxrwx.   1 root root    7 May 26 05:30 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 May 26 05:30 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt
drwxr-xr-x.   2 root root    6 Apr 11  2018 opt
dr-xr-xr-x. 113 root root    0 Nov 12 08:51 proc
dr-xr-x---.   2 root root  135 Nov  9 17:00 root
drwxr-xr-x.  24 root root  720 Nov 12 08:54 run
lrwxrwxrwx.   1 root root    8 May 26 05:30 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x.  13 root root    0 Nov 12 08:51 sys
drwxrwxrwt.   8 root root  127 Nov 12 08:51 tmp
drwxr-xr-x.  13 root root  155 May 26 05:30 usr
drwxr-xr-x.  19 root root  267 May 26 05:35 var

我们执行命令将iso镜像挂载到/mnt目录下

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only

注:这里两个命令使用其中一个就可以,/dev/cdrom和/dev/sr0在这里都表示这个镜像,这里有个细节,cdrom是sr0的软链接。

[root@localhost ~]# ll /dev
total 0
crw-rw----. 1 root video    10, 175 Nov 12 08:51 agpgart
crw-------. 1 root root     10, 235 Nov 12 08:51 autofs
drwxr-xr-x. 2 root root         160 Nov 12 08:51 block
drwxr-xr-x. 2 root root          80 Nov 12 08:51 bsg
crw-------. 1 root root     10, 234 Nov 12 08:51 btrfs-control
drwxr-xr-x. 3 root root          60 Nov 12 08:51 bus
lrwxrwxrwx. 1 root root           3 Nov 12 09:08 cdrom -> sr0
drwxr-xr-x. 2 root root          80 Nov 12 08:51 centos

第三步:修改yum源配置文件

在centos系统中,yum源的配置文件位于/etc/yum.repos.d目录下

[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  CentOS-x86_64-kernel.repo

在默认情况下,centos系统会在这个文件下存放公网的yum源配置,这些我们都用不到,建个目录都放进去就好了

[root@localhost yum.repos.d]# mkdir repobak
[root@localhost yum.repos.d]# mv ./* repobak/
mv: cannot move ‘./repobak’ to a subdirectory of itself, ‘repobak/repobak’
[root@localhost yum.repos.d]# ls
repobak

为什么会报错呢,因为repobak就是mv命令的目标目录,目标目录不会把自己放进自己里面,这是做不到的
然后我们新建一个本地的yum源配置文件,这个文件名可以随便起,但是,必须以 .repo 结尾

[root@localhost yum.repos.d]# touch local.repo
[root@localhost yum.repos.d]# vi local.repo
[localrepo]
name=local
baseurl=file:///mnt/
enable=1
gpgcheck=0

一共有五行内容,详解:
[localrepo] :标识yum源,在一个配置文件中可以配置多个yum源,用方括号来标识它们,方括号里面内容可以自定义
name=local :yum源名称,也可自定义
baseurl=file:///mnt/ :这个是yum源的地址,在本地挂载镜像的情况下,这个路径就是你镜像挂载点的位置
enable=1 :这个标识yum源的状态,1为启用,0为禁用
gpgcheck=0 :yum源校验,1为启用,0为禁用
(如果启用yum源校验,还需要输入一行gpgkey的内容,一般情况下不需要校验,如果有需要,自己添加一行)
第四步:同步yum源
先执行以下命令清空本地yum源缓存

[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: localrepo
Cleaning up list of fastest mirrors

然后查看yum源列表,新建yum源缓存

[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                                                               repo name                                                                                         status
localrepo                                                                                             local                                                                                             4,070
repolist: 4,070
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
localrepo                                                                                                                                                                              | 3.6 kB  00:00:00
(1/2): localrepo/filelists_db                                                                                                                                                          | 3.3 MB  00:00:00
(2/2): localrepo/other_db                                                                                                                                                              | 1.3 MB  00:00:00
Metadata Cache Created

到这里,临时的yum源也就搭建好了,这里我们使用的是mount命令来做挂载,这个不具有持久性,如果机器重启,那开机还需要重新挂载,但是配置文件是不会丢的
安装bash-completion和vim工具:

[root@localhost yum.repos.d]# yum install -y vim bash-completion
······
Complete!
[root@localhost yum.repos.d]#

安装完成!

2.搭建本地仓库

使用iso挂载镜像做yum源虽然可以满足我们的需求,但是一旦有很多台机器都需要搭建yum源,一台一台挂载镜像这种方式显然非常麻烦,这时候有一个yum仓库,所有机器都使用这个仓库就会很省事。一些公司或者企业都会有专门的yum源服务器,所以掌握搭建yum仓库是非常有必要的。
我在这里使用http来搭建,(当然,你也可以使用ftp)我在这用http来做,如果有兴趣,你可以使用ftp来做,我就不教你了

第一步:搭建临时yum源来安装httpd并做文件分享

这里直接从安装httpd开始,搭建临时的yum源看前面的部分

[root@localhost yum.repos.d]# yum install httpd
······
Complete!

默认安装就好,不需要花里胡哨
将iso镜像挂载到/var/www/html目录下,为了保持目录的简洁,新建一个目录(如果有多个镜像,这样可以使这个目录更加整洁,可读性也更高)
(一般情况下,镜像放在一个目录,然后将镜像挂载过来就行,如果你的机器空间足够大,你也可以直接把iso镜像复制过来,这个你自己决定就好了,我这里空间不太大,就挂载过来了,为了稳定,建议将iso镜像放到机器中)

[root@localhost yum.repos.d]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# mkdir centos79
[root@localhost html]# ls
centos79
[root@localhost html]# mount /dev/cdrom /var/www/html/centos79/
mount: /dev/sr0 is write-protected, mounting read-only

挂载成功之后,启动httpd服务,在本机的浏览器中输入ip和目录来访问,看看是否挂载成功

[root@localhost html]# systemctl start httpd
[root@localhost html]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2023-11-12 09:55:37 CST; 10s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1569 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1569 /usr/sbin/httpd -DFOREGROUND
           ├─1570 /usr/sbin/httpd -DFOREGROUND
           ├─1571 /usr/sbin/httpd -DFOREGROUND
           ├─1572 /usr/sbin/httpd -DFOREGROUND
           ├─1573 /usr/sbin/httpd -DFOREGROUND
           └─1574 /usr/sbin/httpd -DFOREGROUND

Nov 12 09:55:37 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Nov 12 09:55:37 localhost.localdomain httpd[1569]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' di... this message
Nov 12 09:55:37 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost html]# ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.137.132/24 brd 192.168.137.255 scope global noprefixroute dynamic ens33
       valid_lft 1682sec preferred_lft 1682sec

我这台机器的ip是192.168.137.132,所以,地址为http://192.168.137.132/centos79
如果不能访问,查看防火墙(firewalld)和selinux服务状态,关闭firewalld和selinux
linux本地yum源,Linux学习之路,linux,运维,服务器
如果是在没有浏览器的情况下,使用curl访问你的http服务的地址也是可以的,如果没有回显,那可能服务状态有异常

[root@localhost ~]# curl  http://192.168.137.132/cenos79
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cenos79 was not found on this server.</p>
</body></html>

第二步:在需要yum的机器上修改yum源配置文件

[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]# mkdir repobak
[root@localhost yum.repos.d]# mv ./* repobak/
mv: cannot move ‘./repobak’ to a subdirectory of itself, ‘repobak/repobak’
[root@localhost yum.repos.d]# ls
repobak
[root@localhost yum.repos.d]# touch centos79.repo
[root@localhost yum.repos.d]# vi centos79.repo
[centos79]
name=centos79
baseurl=http://192.168.137.132/centos79
enable=1
gpgcheck=0

Loaded plugins: fastestmirror
Cleaning repos: centos79
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos79                                                                                                                                                                               | 3.6 kB  00:00:00
(1/2): centos79/group_gz                                                                                                                                                               | 153 kB  00:00:00
(2/2): centos79/primary_db                                                                                                                                                             | 3.3 MB  00:00:00
repo id                                                                                             repo name                                                                                           status
centos79                                                                                            centos79                                                                                            4,070
repolist: 4,070
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
centos79                                                                                                                                                                               | 3.6 kB  00:00:00
(1/2): centos79/other_db                                                                                                                                                               | 1.3 MB  00:00:00
(2/2): centos79/filelists_db                                                                                                                                                           | 3.3 MB  00:00:00
Metadata Cache Created

到这里你的yum源仓库就搭建好了。

三、使用公网yum源仓库

前提:Linux操作系统可以访问到公网。

1.寻找需要的仓库url

在公网中,我们一般会使用国内镜像站的源,在最开始,这些源都是在国外的,下载速度很慢,而且,访问外网也是咱们国家不允许的。
经常使用的镜像站有很多,我在这列举我最常用的三个:排名不分先后,都很好用,看你个人喜好!!!

清华源:https://mirrors.tuna.tsinghua.edu.cn/help/centos/
中科大源:https://mirrors.ustc.edu.cn/help/centos.html
阿里源:https://developer.aliyun.com/mirror

这些镜像站都有很多系统,具体的使用,到镜像站就会有使用教程,比如:
清华源:
linux本地yum源,Linux学习之路,linux,运维,服务器
中科大源:
linux本地yum源,Linux学习之路,linux,运维,服务器
阿里源:
linux本地yum源,Linux学习之路,linux,运维,服务器

2. 修改配置文件

我们这里以清华源为例,来给大家演示:
确认机器可以连接到公网,按提示操作,对于centos7系统,复制命令到操作系统直接执行就好
不要动原来的配置文件!!!
不要动原来的配置文件!!!
不要动原来的配置文件!!!
使用ping 命令来检测网络连通性:

[root@localhost ~]# ping baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=29.6 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=32.6 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=31.5 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=4 ttl=128 time=31.3 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=5 ttl=128 time=32.2 ms
^C
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4017ms
rtt min/avg/max/mdev = 29.694/31.496/32.682/1.046 ms
[root@localhost ~]#

如上则为连通外网

[root@localhost ~]# sed -e 's|^mirrorlist=|#mirrorlist=|g' \
>     -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
>     -i.bak \
>     /etc/yum.repos.d/CentOS-*.repo
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors
[root@localhost ~]# yum makecache
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
base                                                                                                                                                                                   | 3.6 kB  00:00:00
extras                                                                                                                                                                                 | 2.9 kB  00:00:00
updates                                                                                                                                                                                | 2.9 kB  00:00:00
(1/10): base/7/x86_64/group_gz                                                                                                                                                         | 153 kB  00:00:00
(2/10): base/7/x86_64/primary_db                                                                                                                                                       | 6.1 MB  00:00:01
(3/10): base/7/x86_64/filelists_db                                                                                                                                                     | 7.2 MB  00:00:02
(4/10): base/7/x86_64/other_db                                                                                                                                                         | 2.6 MB  00:00:00
(5/10): extras/7/x86_64/primary_db                                                                                                                                                     | 250 kB  00:00:00
(6/10): extras/7/x86_64/other_db                                                                                                                                                       | 150 kB  00:00:00
(7/10): extras/7/x86_64/filelists_db                                                                                                                                                   | 303 kB  00:00:00
(8/10): updates/7/x86_64/primary_db                                                                                                                                                    |  24 MB  00:00:03
(9/10): updates/7/x86_64/other_db                                                                                                                                                      | 1.4 MB  00:00:00
(10/10): updates/7/x86_64/filelists_db                                                                                                                                                 |  13 MB  00:00:03
Metadata Cache Created

配置公网的yum源,就是将原先centos官网的地址更改为国内镜像站的地址,校验啥的都不用变,所以不需要动原来的配置文件,因为很多时候公司或者企业服务器并不能连接到外网,所以这种配置方法很多时候都是个人搭配虚拟机来使用或者电脑为Linux系统的个人使用文章来源地址https://www.toymoban.com/news/detail-762955.html

到了这里,关于Linux技能篇-yum源搭建(本地源和公网源)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux(麒麟V10)搭建本地yum源

    根据服务器操作系统类型,下载对应版本iso镜像文件,我的是麒麟V10 x86架构的 下载地址为:https://www.kylinos.cn/support/trial.html?trial=5540 填写信息注册账号即可进入下载页面 我下载的系统镜像名称是:Kylin-Server-10-SP2-Release-Build09-20210524-x86_64.iso 将上传好的iso镜像文件上传至服务器

    2024年02月13日
    浏览(44)
  • Red Hat Enterprise Linux 9替换镜像源和更新yum源

    目录 前言 介绍 什么是本地yum源? 本地yum源有什么作用? 什么是国内镜像源? 国内镜像源的作用是什么? 它们两者有什么区别? 配置本地yum源 配置国内镜像源 总结 在大二学习红帽技术的过程中,为了记录学习过程,便于后续的学习和总结,编写了此文章,欢迎观看与指

    2024年03月22日
    浏览(37)
  • 本地Linux搭建web服务并发布公网访问 - 无需公网IP

    🍎 博客主页:🌙@披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 内网穿透 🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙 🍉一起加油,去追寻、去成为更好的自己

    2024年01月16日
    浏览(41)
  • 本地Linux搭建web服务并发布公网访问

    转载自cpolar极点云的文章:在Ubuntu搭建Web站点,并将其发布到公网访问 网:我们通常说的是互联网;站:可以理解成在互联网上的一个房子。把互联网看做一个城市,城市里面的每一个房子就是一个站点,房子里面放着你的资源,那如果有人想要访问你房子里面的东西怎么办

    2024年02月06日
    浏览(33)
  • 公网访问Linux CentOS本地搭建的Web站点

    转载自cpolar文章:Linux CentOS本地搭建Web站点,并实现公网访问 在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有

    2024年02月07日
    浏览(33)
  • Linux CentOS本地搭建Web站点,并实现公网访问

    查询语句 书写顺序: 1、select 2、from 3、where 4、group by 5、having 6、order by 7、limit 查询语句 执行顺序: 数据库的时候先执行from,确定数来自哪张表 再执行where,看看哪些行需要查询 再执行group by,确定是否分组 再执行having,过滤掉不要的组 然后是select,再确定查询哪些列

    2024年02月02日
    浏览(35)
  • 公网访问的Linux CentOS本地Web站点搭建指南

    在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有tomcat容器、Apache等,这边使用Apache来建搭建。 Apache2 是一种流行的

    2024年02月16日
    浏览(32)
  • 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)

     由于公司业务服务器大部分都在内网环境下运行,内网环境无法直接使用yum安装升级更新软件,所以需要自建Yum源来满足目前日常工作需要。 YUM 常用命令参数: 1.添加YUM源配置文件 2.挂载光盘步骤 3.开启开机自启动挂载 方式一:vim /etc/fstab 方式二:vim /etc/rc.local httpd:使

    2024年02月05日
    浏览(58)
  • 本地搭建Linux DataEase数据可视化分析工具并实现公网访问

    DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。 在本地搭建后,借助cpolar 内网穿透实现远程公网地址即可访问

    2024年02月05日
    浏览(43)
  • 如何在Linux本地搭建Tale网站并实现无公网ip远程访问

    今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale,Tale使用轻量级mvc框架Blage开发,它拥有小、美、快、稳的特点。该项目完全开源、免费,能够让你快速搭建包含前、后台的博客系统,大大节省了搭建私人博客的时间。 接下来教大家如何部署Tale个人博客,并

    2024年03月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包