zoukankan      html  css  js  c++  java
  • 搭建本地yum源和局域网yum源

    搭建本地yum源和局域网yum源

        由于很多客户环境是专网,不允许连网,无法使用网上的各种yum源,来回拷贝rpm包安装麻烦,还得解决依赖问题。所以想着搭建个本地/局域网YUM源,方便安装软件。

    1         搭建本地YUM源

    环境:第一台VM IP:192.168.10.81

             第二台VM IP:192.168.10.82

    1.1              准备rpm包

    虚拟机挂载镜像包CentOS-7-x86_64-Everything-1511.iso 开机启动

    挂载镜像:

    [root@centos7-81 ~]# mount /dev/sr0 /mnt/

    mount: /dev/sr0 is write-protected, mounting read-only

    [root@centos7-81 ~]# mkdir -p /yum/yum-iso  #新建本地路径/yum/yum-iso

    把挂载的镜像里面所有文件都拷贝到本地目录/yum/yum-iso

    [root@centos7-81 ~]# cp -r /mnt/* /yum/yum-iso/

     

    1.2              备份并移除其他repo

    [root@centos7-81 ~]# cd /etc/yum.repos.d/

    [root@centos7-81 yum.repos.d]# tar czvf repo-bk.tar.gz CentOS-*

    CentOS-Base.repo

    CentOS-CR.repo

    CentOS-Debuginfo.repo

    CentOS-fasttrack.repo

    CentOS-Media.repo

    CentOS-Sources.repo

    CentOS-Vault.repo

    [root@centos7-81 yum.repos.d]# rm -rf *.repo

    1.3              配置本地repo

    [root@centos7-81 yum.repos.d]# vi CentOS-Media.repo

    [c7-media]

    name=CentOS-$releasever-Media

    baseurl=file:///yum/yum-iso/

    gpgcheck=0

    enabled=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    注:配置repo路径、关闭gbp校验、启用这个repo

    1.4              制作cache

    [root@centos7-81 yum.repos.d]# yum clean all

    Loaded plugins: fastestmirror

    Cleaning repos: c7-media

    Cleaning up everything

    Cleaning up list of fastest mirrors

    [root@centos7-81 yum.repos.d]# yum makecache

    Loaded plugins: fastestmirror

    c7-media                                                                                               | 3.6 kB  00:00:00    

    (1/4): c7-media/group_gz                                                                               | 3.5 kB  00:00:00    

    (2/4): c7-media/primary_db                                                                             | 679 kB  00:00:00    

    (3/4): c7-media/other_db                                                                               | 174 kB  00:00:00    

    (4/4): c7-media/filelists_db                                                                           | 258 kB  00:00:00    

    Determining fastest mirrors

    Metadata Cache Created

    [root@centos7-81 yum.repos.d]#

    这样就可以使用yum安装软件了

    [root@centos7-81 ~]# yum install -y tree

    Loaded plugins: fastestmirror

    Loading mirror speeds from cached hostfile

    Resolving Dependencies

    --> Running transaction check

    ---> Package tree.x86_64 0:1.6.0-10.el7 will be installed

    --> Finished Dependency Resolution

    Dependencies Resolved

    ==============================================================================================================================

     Package                   Arch                        Version                            Repository                     Size

    ==============================================================================================================================

    Installing:

     tree                      x86_64                      1.6.0-10.el7                       c7-media                       46 k

    Transaction Summary

    ==============================================================================================================================

    Install  1 Package

    Total download size: 46 k

    Installed size: 87 k

    Downloading packages:

    Running transaction check

    Running transaction test

    Transaction test succeeded

    Running transaction

    Warning: RPMDB altered outside of yum.

      Installing : tree-1.6.0-10.el7.x86_64                                                                                   1/1

      Verifying  : tree-1.6.0-10.el7.x86_64                                                                                   1/1

    Installed:

      tree.x86_64 0:1.6.0-10.el7                                                                                                 

    Complete!

    [root@centos7-81 ~]#

    安装createrepo

    [root@centos7-81 ~]# yum install createrepo -y

    准备RPM包

    自己确定rpm包,目录,这里使用tree做演示

    [root@centos7-81 ~]# mkdir -p /yum/yum-custom/packages

    [root@centos7-81 ~]# cp /yum/yum-iso/Packages/tree-1.6.0-10.el7.x86_64.rpm /yum/yum-custom/packages/

    [root@centos7-81 ~]# createrepo -u -d /yum/yum-custom/

    Spawning worker 0 with 1 pkgs

    Workers Finished

    Saving Primary metadata

    Saving file lists metadata

    Saving other metadata

    Generating sqlite DBs

    Sqlite DBs complete

    [root@centos7-81 ~]# ll /yum/yum-custom/

    total 4

    drwxr-xr-x 2 root root   42 Oct 20 23:46 packages

    drwxr-xr-x 2 root root 4096 Oct 20 23:46 repodata

    配置自定义repo

    [root@centos7-81 ~]# vi /etc/yum.repos.d/CentOS-Media.repo

    [c7-media]

    name=CentOS-$releasever-Media

    baseurl=file:///yum/yum-custom/

    gpgcheck=0

    enabled=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    2         配置局域网yum源

    将repo文件改为

    [root@centos7-81 ~]# cat /etc/yum.repos.d/CentOS-Media.repo

    [c7-media]

    name=CentOS-$releasever-Media

    baseurl=file:///yum/yum-iso/

    gpgcheck=0

    enabled=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    重新生成缓存

    [root@centos7-81 ~]# yum clean all

    [root@centos7-81 ~]# yum makecache

    安装vsftp

    [root@centos7-81 ~]# yum install vsftpd -y

    关闭selinux和防火墙

    [root@centos7-81 ~]# getenforce

    Disabled

    [root@centos7-81 ~]# cat /etc/selinux/config

    # This file controls the state of SELinux on the system.

    # SELINUX= can take one of these three values:

    #     enforcing - SELinux security policy is enforced.

    #     permissive - SELinux prints warnings instead of enforcing.

    #     disabled - No SELinux policy is loaded.

    SELINUX=disabled

    # SELINUXTYPE= can take one of three two values:

    #     targeted - Targeted processes are protected,

    #     minimum - Modification of targeted policy. Only selected processes are protected.

    #     mls - Multi Level Security protection.

    SELINUXTYPE=targeted

    [root@centos7-81 ~]# systemctl stop firewalld

    [root@centos7-81 ~]# systemctl disable firewalld

    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

    修改vsftp配置文件

    [root@centos7-81 ~]# vi /etc/vsftpd/vsftpd.conf

    在最末尾加上

    anon_root=/yum/yum-custom/

    启动vsftp并设置开机启动

    [root@centos7-81 ~]# systemctl start vsftpd

    [root@centos7-81 ~]# systemctl enable vsftpd

    本地电脑访问ftp://192.168.10.81

     

    关键步骤:

    生成repodata目录,自动创建索引信息

    [root@centos7-81 yum]# createrepo -pdo /yum/yum-custom/ /yum/yum-custom/  

    否则安装tree的时候会出现报错:

    Error downloading packages:

      tree-1.6.0-10.el7.x86_64: failed to retrieve packages/tree-1.6.0-10.el7.x86_64.rpm from c7-media

    error was [Errno 2] Local file does not exist: /etc/yum.repos.d/-d/packages/tree-1.6.0-10.el7.x86_64.rpm

    [root@centos7-82 yum.repos.d]# yum clean all

    [root@centos7-82 yum.repos.d]# yun makecache

    在另一台VM上设置repo文件

    [root@centos7-82 ~]# cd /etc/yum.repos.d/

    [root@centos7-82 yum.repos.d]# rm -rf *

    从第一台VM上将repo文件传到第二台VM上

    [root@centos7-81 ~]# scp /etc/yum.repos.d/CentOS-Media.repo root@192.168.10.82:/etc/yum.repos.d/

    The authenticity of host '192.168.10.82 (192.168.10.82)' can't be established.

    ECDSA key fingerprint is 32:c1:45:16:b2:a8:b2:25:22:58:02:11:a2:a3:54:90.

    Are you sure you want to continue connecting (yes/no)? yes

    Warning: Permanently added '192.168.10.82' (ECDSA) to the list of known hosts.

    root@192.168.10.82's password:

    CentOS-Media.repo                                                                                          100%  143     0.1KB/s   00:00   

    [root@centos7-81 ~]#

    在第二台VM上修改repo文件

    [c7-media]

    name=CentOS-$releasever-Media

    #baseurl=file:///yum/yum-iso/

    baseurl=ftp://192.168.10.81

    gpgcheck=0

    enabled=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    [root@centos7-82 yum.repos.d]# yum install -y tree
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package tree.x86_64 0:1.6.0-10.el7 will be installed
    --> Finished Dependency Resolution

    Dependencies Resolved

    ==============================================================================================================================
    Package Arch Version Repository Size
    ==============================================================================================================================
    Installing:
    tree x86_64 1.6.0-10.el7 c7-media 46 k

    Transaction Summary
    ==============================================================================================================================
    Install 1 Package

    Total download size: 46 k
    Installed size: 87 k
    Downloading packages:
    tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : tree-1.6.0-10.el7.x86_64 1/1
    Verifying : tree-1.6.0-10.el7.x86_64 1/1

    Installed:
    tree.x86_64 0:1.6.0-10.el7

    Complete!

    就可以使用了

  • 相关阅读:
    HTTP的GET和POST请求
    移动开发平台性能比較
    Struts2之类型转换器的使用
    对Socket CAN的理解(4)——【Socket CAN接收数据流程】
    当罗密欧遇到朱丽叶... ...当指针遇到数组
    Qt的Script、Quick、QML的关系与总结
    nyoj27水池数目 (DFS)
    HBase行锁原理及实现
    poj1852ant
    JSTL&EL表达式
  • 原文地址:https://www.cnblogs.com/hailun1987/p/9827329.html
Copyright © 2011-2022 走看看