部署YUM仓库及NFS服务共享

一、部署yum仓库

部署yum仓库的步骤如下:

  1. 在服务器上安装httpd软件包,用于搭建Web服务器。可以使用以下命令安装:
$ sudo yum install httpd

  1. 安装createrepo软件包,用于创建yum仓库。可以使用以下命令安装:
$ sudo yum install createrepo

  1. 创建一个用于存储yum仓库的目录。例如,可以使用以下命令创建一个名为"repo"的目录:
$ sudo mkdir /var/www/html/repo

  1. 将需要放入yum仓库的rpm包复制到刚刚创建的目录中。

  2. 在刚刚创建的目录中使用以下命令创建yum仓库的元数据:

$ sudo createrepo /var/www/html/repo

  1. 配置httpd服务器,以便可以通过Web访问yum仓库。可以使用以下命令来编辑httpd的配置文件:
$ sudo vi /etc/httpd/conf/httpd.conf

  1. 在配置文件中添加如下内容,创建一个新的VirtualHost,并将DocumentRoot指向刚刚创建的目录:
<VirtualHost *:80>
    ServerName yum-repo.example.com
    DocumentRoot /var/www/html/repo
    <Directory /var/www/html/repo>
        Require all granted
    </Directory>
</VirtualHost>

  1. 启动httpd服务并设置开机自启动:
$ sudo systemctl start httpd
$ sudo systemctl enable httpd

  1. 在客户端上编辑yum配置文件,以便使用新的yum仓库。可以使用以下命令来编辑yum的配置文件:
$ sudo vi /etc/yum.repos.d/myrepo.repo

  1. 在配置文件中添加以下内容,指定新的yum仓库的位置:
[myrepo]
name=My Yum Repository
baseurl=http://yum-repo.example.com
enabled=1
gpgcheck=0

  1. 保存并退出配置文件。

  2. 使用yum命令验证新的yum仓库是否可用。可以使用以下命令来列出所有可用的软件包:

$ yum list

以上步骤完成后,就成功部署了一个yum仓库,并可以在客户端上使用新的yum仓库进行软件包的安装、更新等操作。

yum实现过程

先在yum服务器上创建 yum仓库,在仓库中事先存储了众多rpm包,以及包的相关元数据文件;

当yum客户端利用yum工具进行安装时包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

二、yum的基本用法

1.yum主配置文件解析:

[root@localhost]# /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 keepcache=0                        //是否保存缓存  0代表不保存,1代表保存

debuglevel=2                                  //调试级别

logfile=/var/log/yum.log  // 日志文件位置

exactarch=1      //是否允许不同版本的rpm安装

obsoletes=1 //update 的一个参数是否可以允许旧版本的运行gpgcheck=1                                  //验证秘钥

plugins=1                                   //是否允许插件1代表可以

installonly_limit=5                         //保存几个内核 5代表5个

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum

(1) cachedir=/var/cache/yum/x86_64/6/base/packages【yum缓存的目录,yum在此存储下载rpm包和数据库,】

(2) keepcache=0【安装完成后是否保留软件包,0为不保留,1为保留】

(3) debuglevel=2 【信息输出等级,范围为0-10,缺省为2】

(4) logfile=/var/log/yum.log 【yum日志文件位置,可以查询过去所作的更新】

(5) pkgpolicy=newest/last【包策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本,如果是last,则yum会将服务器id以字母表排序,并选择最后哪个服务器上的软件安装。一般都选newest】

(6) distroverpkg=redhat-release【指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包】

(7) tolerant=1 【表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1 2 3三个包,而其中3此前已经安装了,设为1,则yum不会出现错误信息,默认为0】

(8) exctarch=1【设置为1,则yum只会安装和系统架构匹配的软件包。】

(9) retries=6 【网络链接发生错误后的重试次数,如果设为0则会无限重试,默认为6】

(10) obsoletes=1【这是一个update的参数,允许更新陈旧的rpm包】

(11) plugins=1 【是否启用插件,默认为1是允许,0表示不允许。】

yum的repo配置文件中可用的变量:

$releasever: 当前OS的发行版的主版本号,如:8,7,6

$arch: CPU架构,如:aarch64, i586, i686,x86_64等

$basearch:系统基础平台;i386, x86_64

$contentdir:表示目录,比如:centos-8,centos-7

$YUM0-$YUM9:自定义变量

2:yum仓库文件位置

默认的yum仓库 是centos官方的yum源,需要联网才可以使用;

[root@localhost yum.repos.d]# ls /etc/yum.repos.d/

常见的几个文件:

CentOS-Debuginfo.repo  

CentOS-Base.repo  

CentOS-Vault.repo

CentOS-Media.repo

CentOS-Debuginfo 这个是debug包尤其和内核相关的更新和软件安装

CentOS-Base 这个是联网基础的源,一般都用这个

CentOS-Vault 这个是最近新版本的加入的老版本的yum源配置

CentOS-Media 这个是使用光盘挂载后调用的文件

3:日志文件:/var/log/yum.log

[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志文件

Jun 23 11:03:16 Installed: apr-1.4.8-3.el7.x86_64

Jun 23 11:03:16 Installed: apr-util-1.5.2-6.el7.x86_64

Jun 23 11:03:16 Installed: httpd-tools-2.4.6-67.el7.centos.x86_64

4.yum基本命令

命令

作用

yum list

显示所有可用包

yum info

显示可用包的信息

yum search

模糊查找相关信息

yum whatprovides

精确查找

yum grouplist

显示所有可用包组

yum groupinfo

显示所有的包组具体信息

yum install

安装具体软件包

yum update

软件升级

yum remove

卸载具体软件

yum history

查看当前yum操作历史

yum history undo

加入序号卸载序号里安装的软件

yum history redo

加入序号重新执行序号里的操作

三、用ftp方式搭建云仓库 

要部署ftpyum仓库,您需要按照以下步骤进行操作:

  1. 安装ftpyum软件:

    • 在CentOS上,可以通过以下命令来安装:yum install ftpyum
    • 在其他Linux发行版上,可以通过源码安装,具体步骤可以参考ftpyum的官方文档。
  2. 配置ftpyum仓库:

    • /etc/ftpyum.d/目录下创建一个新的配置文件,例如:myrepo.cfg
    • 在配置文件中定义您的仓库及相关参数,例如:
      [myrepo]
      name = My Repository
      url = ftp://example.com/pub/repo
      enabled = 1
      gpgcheck = 0
      

    • url参数中,指定您的仓库的FTP地址。
    • 可以根据需要修改其他参数,例如禁用GPG校验(gpgcheck=0)。
  3. 启动ftpyum服务:

    • 在命令行中运行以下命令启动ftpyum服务:ftpyumd start
    • 如果启动成功,您应该能够看到类似以下输出:
      Starting ftpyumd:                                        [  OK  ]
      

  4. 配置客户端使用ftpyum仓库:

    • 在客户端上编辑/etc/yum.repos.d/目录下的myrepo.repo文件,添加以下内容:
      [myrepo]
      name=My Repository
      baseurl=ftp://example.com/pub/repo
      enabled=1
      gpgcheck=0
      

    • 替换baseurl参数为您的ftpyum仓库的地址。
  5. 使用ftpyum仓库:

    • 在客户端上运行yum update等yum命令时,将使用您部署的ftpyum仓库。

这样,您就成功部署了ftpyum仓库,并可以通过FTP来管理您的软件包。请根据您的具体情况进行相应的配置和调整。

四、用HTTP搭建yum仓库

要搭建一个HTTP yum仓库,您需要执行以下步骤:

  1. 确保您的系统上已安装了 httpd 服务器。如果尚未安装,可以使用以下命令安装:

    sudo yum install httpd
    

  2. 在适当的目录下,创建一个新的文件夹,用于存放 yum 仓库的 RPM 包。假设您将该目录命名为yum-repo,并在/var/www/html/目录下创建该文件夹:

    sudo mkdir /var/www/html/yum-repo
    

  3. 将您的 RPM 包复制到该文件夹中。可以使用以下命令复制 RPM 包:

    sudo cp /path/to/your/rpm/package.rpm /var/www/html/yum-repo
    

  4. 切换到该目录,执行以下命令生成 yum 仓库的元数据:

    sudo createrepo /var/www/html/yum-repo
    

  5. 配置 httpd 服务器,使其可以提供 yum 仓库的内容。编辑/etc/httpd/conf.d/yum-repo.conf文件,并添加以下内容:

    Alias /yum-repo /var/www/html/yum-repo
    <Directory /var/www/html/yum-repo>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    

  6. 重新启动 httpd 服务器:

    sudo systemctl restart httpd
    

  7. 完成以上步骤后,您的 yum 仓库已经搭建好了。您可以在客户端上配置该仓库,使其可以下载和安装 RPM 包。编辑/etc/yum.repos.d/yum-repo.repo文件,并添加以下内容:

    [yum-repo]
    name=yum-repo
    baseurl=http://your-server-ip/yum-repo
    enabled=1
    gpgcheck=0
    

  8. 保存文件并退出。现在,您可以使用 yum 命令从该仓库中安装和更新软件包了。

请注意,上述步骤假设您的服务器上已经配置了正确的网络设置,并且可以通过http://your-server-ip/访问到 yum 仓库。如果您的服务器有防火墙,还需要确保允许访问 HTTP 端口(默认为 80)。

五.NFS共享文件

1:NFS简介

NFS(Network File System 网络文件服务)
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
NFS 也是 NAS 存储 设备必然支持的一种协议。

2:特点

采用TCP/IP传输网络文件;
安全性低;
简单易操作;
适合局域网环境;

3:原理

NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。

4:搭建过程

#服务器端:192.168.10.101

[root@localhost httpd]#systemctl stop firewalld

[root@localhost httpd]#setenforce 0

[root@localhost share]#yum install nfs-utils.x86_64  -y

#安装软件包盘用作共享使用

#新建共享目录

[root@localhost httpd]#mkdir /share

[root@localhost httpd]#cd /share/

[root@localhost share]#chmod -R 777 /share/

#修改权限

[root@localhost share]#vim /etc/exports

#编辑配置文件

/share *

/share 192.168.10.0/24(rw,sync,no_root_squash)

#共享目录  网段           读写,同步,无root权限

#重启rpcbind和nfs服务

[root@localhost ~]# systemctl start rpcbind

[root@localhost ~]# systemctl start nfs

[root@localhost ~]#exports -vr

#不重启生效

[root@localhost share]#exportfs -v

#查看详细的nfs信息

[root@localhost ~]# netstat -anpt | grep rpc

[root@localhost share]# showmount -e

Export list for localhost.localdomain:

/share (everyone)

#客户机端:192.168.10.102

[root@localhost ~]#mkdir /data   //创建一个挂目录

#挂载服务器端地址文件在自己目录下

[root@localhost ~]# mount 192.168.10.101:/share /data

[root@localhost ~]#df -hT

192.168.10.101:/share  nfs4       17G  8.6G  8.5G   51% /data

#测试一下

#服务器 touch 一个文件,在客户端看看有没有

[root@localhost share]# touch 1.txt

#客户端:

[root@localhost yum.repos.d]# cd /data

[root@localhost data]# ls

1.txt

#因为给了 share 777权限,因此客户端也可以 touch 文件

[root@localhost data]# touch 2.txt

[root@localhost data]# ls

1.txt  2.txt

#强制解挂载

[root@localhost ~]# umount /mnt

t umount. nfs: /mnt : device is busy

[root@localhost ~]# umount -lf /mnt

  • 27
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值