zoukankan      html  css  js  c++  java
  • 创建本地yum源

    #mkdir /mnt/yum              (挂载目录)        
    #mount /dev/cdrom /mnt/yum         (挂载光驱)
    #mkdir /root/yumdate              (建立yum源目录)
    #cp /mnt/yum/Packages/* /root/yumdate    (复制rpm包)
    #cd /root/yumdate                                                    (进入主目录)
    #rpm -ivh createrepo                                              (安装createrepo包)
    createrepo -v /root/yum/                                         (创建索引信息,repodate)
    #cp /mnt/yum /*comp.xml /root/yum/comps.xmlcreaterepo /root/yum/comps.xml /root/yum
    #vim /etc/yum.repo.d/CentOS.base                    (创建repo文件)
    [local_server]                                                          (库名称)
        name=Thisis a local repo                               (名称描述)
        baseurl=file:///root/yum                                    (源目录,源地址)
        enabled=1                                                         (是否启用该yum源,0为禁用)
        gpgcheck=1                                                      (检查GPG-KEY,0为不检查,1为检查)
        gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6(gpgcheck=0时无需配置)
    # yum clean all                                                    (清除缓存)
    # yum makecache                                              (建立新缓存)
    ---------------------------------------------------------------------------------------------------

    CentOS7.2 创建本地YUM源和局域网YUM源

     

    1背景

     由于开发环境只有局域网,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题。

    想着搭建个本地/局域网YUM源,方便自己跟同事安装软件。

    2环境

    [root@min-base ~]# cat /etc/redhat-release 
    CentOS Linux release 7.2.1511 (Core) 

    并且是Minimal Install。

    3安装

    3.1本地YUM源

    3.1.1 ISO源

    准备rpm包 

    挂载CentOS-7-x86_64-Everything-1511.iso,把里面所有文件都拷贝到本地目录/yum/yum-iso

    复制代码
    [root@min-base ~]# mkdir /mnt/yum-iso
    [root@min-base ~]# mount /dev/cdrom /mnt/yum-iso/
    mount: /dev/sr0 is write-protected, mounting read-only
    [root@min-base ~]# mkdir /yum/
    [root@min-base ~]# cp -a /mnt/yum-iso/ /yum/
    [root@min-base ~]# ll /yum/
    total 4
    dr-xr-xr-x. 8 root root 4096 Dec 10  2015 yum-iso
    [root@min-base ~]# ll /yum/yum-iso/
    total 640
    -r--r--r--. 1 root root     14 Dec 10  2015 CentOS_BuildTag
    dr-xr-xr-x. 3 root root     33 Dec 10  2015 EFI
    -r--r--r--. 1 root root    215 Dec 10  2015 EULA
    -r--r--r--. 1 root root  18009 Dec 10  2015 GPL
    dr-xr-xr-x. 3 root root     69 Dec 10  2015 images
    dr-xr-xr-x. 2 root root   4096 Dec 10  2015 isolinux
    dr-xr-xr-x. 2 root root     41 Dec 10  2015 LiveOS
    dr-xr-xr-x. 2 root root 483328 Dec 10  2015 Packages
    dr-xr-xr-x. 2 root root   4096 Dec 10  2015 repodata
    -r--r--r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
    -r--r--r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
    -r--r--r--. 1 root root   2883 Dec 10  2015 TRANS.TBL
    [root@min-base ~]# 
    复制代码

    备份、移除其他repo

    复制代码
    [root@min-base ~]# cd /etc/yum.repos.d/
    [root@min-base yum.repos.d]# ll
    -rw-r--r--. 1 root root 1664 Dec  9  2015 CentOS-Base.repo
    -rw-r--r--. 1 root root 1309 Dec  9  2015 CentOS-CR.repo
    -rw-r--r--. 1 root root  649 Dec  9  2015 CentOS-Debuginfo.repo
    -rw-r--r--. 1 root root  290 Dec  9  2015 CentOS-fasttrack.repo
    -rw-r--r--. 1 root root  630 Dec  9  2015 CentOS-Media.repo
    -rw-r--r--. 1 root root 1331 Dec  9  2015 CentOS-Sources.repo
    -rw-r--r--. 1 root root 1952 Dec  9  2015 CentOS-Vault.repo
    [root@min-base yum.repos.d]# tar zcvf 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@min-base yum.repos.d]# rm -f CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo
    复制代码

    配置本地repo

    [root@min-base 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

    制作cache

    复制代码
    [root@min-base yum.repos.d]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: c7-media
    Cleaning up everything
    Cleaning up list of fastest mirrors
    [root@min-base yum.repos.d]# yum makecache
    Loaded plugins: fastestmirror
    c7-media                                                                                                         | 3.6 kB  00:00:00     
    (1/4): c7-media/group_gz                                                                                         | 155 kB  00:00:00     
    (2/4): c7-media/primary_db                                                                                       | 5.3 MB  00:00:00     
    (3/4): c7-media/filelists_db                                                                                     | 6.2 MB  00:00:00     
    (4/4): c7-media/other_db                                                                                         | 2.3 MB  00:00:00     
    Determining fastest mirrors
    Metadata Cache Created
    [root@min-base yum.repos.d]# 
    复制代码

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

    复制代码
    [root@min-base yum.repos.d]# yum groupinstall "Development tools"
    Loaded plugins: fastestmirror
    There is no installed groups file.
    Maybe run: yum groups mark convert (see man yum)
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package autoconf.noarch 0:2.69-11.el7 will be installed
    --> Processing Dependency: perl >= 5.006 for package: autoconf-2.69-11.el7.noarch
    --> Processing Dependency: m4 >= 1.4.14 for package: autoconf-2.69-11.el7.noarch
    --> Processing Dependency: perl(warnings) for package: autoconf-2.69-11.el7.noarch
    复制代码

    或者

    复制代码
    [root@min-base yum.repos.d]# yum install 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
    复制代码

    3.1.2 自定义YUM源

    [root@min-base yum.repos.d]# yum -y install createrepo

    准备rpm包

    (需要自己确定依赖包)、目录。这里使用tree做演示。

    [root@min-base ~]# mkdir -p /yum/yum-custom/packages
    [root@min-base ~]# cp tree-1.6.0-10.el7.x86_64.rpm /yum/yum-custom/packages/

    创建repo

    复制代码
    [root@min-base ~]# createrepo -u -d  /yum/yum-custom/
    Spawning worker 0 with 1 pkgs
    Spawning worker 1 with 0 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    [root@min-base ~]# ll /yum/yum-custom/
    total 4
    drwxr-xr-x. 2 root root   41 Dec 20 07:03 packages
    drwxr-xr-x. 2 root root 4096 Dec 20 07:08 repodata
    [root@min-base ~]# 
    复制代码

    配置自定义repo

    [root@min-base ~]# 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
    复制代码

    制作cache

    复制代码
    [root@min-base ~]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: c7-media
    Cleaning up everything
    Cleaning up list of fastest mirrors
    [root@min-base ~]# 
    [root@min-base ~]# yum makecache
    Loaded plugins: fastestmirror
    c7-media                                                                                                         | 3.0 kB  00:00:00     
    (1/3): c7-media/filelists_db                                                                                     |  880 B  00:00:00     
    (2/3): c7-media/primary_db                                                                                       | 1.8 kB  00:00:00     
    (3/3): c7-media/other_db                                                                                         | 1.3 kB  00:00:00     
    Determining fastest mirrors
    Metadata Cache Created
    [root@min-base ~]# 
    复制代码

    使用自定义repo

    复制代码
    [root@min-base ~]# yum install 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
    复制代码

    3.2 局域网YUM源

    局域网YUM源可以配成:本地YUM源 + FTP服务器

    这里使用自定义源yum-custom(见上面) + VSFTP演示。

    下载vsftpd

    [root@min-base ~]# yum -y install vsftpd

    配置vsftpd

    编辑vsftp.conf

    [root@min-base ~]# vi /etc/vsftpd/vsftpd.conf

    并增加匿名用户root目录(默认已经启用匿名访问)

    anon_root=/yum/

    注意目录权限如下

    复制代码
    [root@min-base ~]# ll -a /yum/
    total 8
    drwxr-xr-x.  4 root root   37 Dec 20 07:37 .
    dr-xr-xr-x. 18 root root 4096 Dec 20 06:32 ..
    drwxr-xr-x.  4 root root   36 Dec 20 07:08 yum-custom
    dr-xr-xr-x.  8 root root 4096 Dec 10  2015 yum-iso
    复制代码

     关闭selinux

    临时

    [root@min-base ~]# setenforce 0

    或者,永久:

    编辑config

    [root@min-base ~]# vi /etc/selinux/config

    设置

    SELINUX=disabled

    重启

    [root@min-base ~]# reboot

    启用vsftp

    [root@min-base ~]# systemctl start vsftpd
    [root@min-base ~]# systemctl enable vsftpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
    [root@min-base ~]# 

    局域网使用

    局域网另外一台机器min-client,

    配置repo

    编辑repo

    [root@min-client ~]# vim /etc/yum.repos.d/CentOS-Media.repo

    内容如下

    复制代码
    [c7-media]
    name=CentOS-$releasever - Media
    baseurl=ftp://192.168.118.133/yum-custom
    gpgcheck=0
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    复制代码

    其中192.168.118.133为上面vsftp服务器地址

    启用这个局域网的repo

    复制代码
    [root@min-client ~]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: c7-media
    Cleaning up everything
    [root@min-client ~]# yum makecache
    Loaded plugins: fastestmirror
    c7-media                                                                                                         | 3.0 kB  00:00
    (1/3): c7-media/filelists_db                                                                                     |  880 B  00:00
    (2/3): c7-media/other_db                                                                                         | 1.3 kB  00:00
    (3/3): c7-media/primary_db                                                                                       | 1.8 kB  00:00
    Determining fastest mirrors
    Metadata Cache Created
    [root@min-client ~]# 
    复制代码

    使用

    复制代码
    [root@min-base ~]# yum -y install 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
    复制代码
  • 相关阅读:
    〖Linux〗Kubuntu设置打开应用时就只在打开时的工作区显示
    〖Linux〗Kubuntu, the application 'Google Chrome' has requested to open the wallet 'kdewallet'解决方法
    unity, dll is not allowed to be included or could not be found
    android check box 自定义图片
    unity, ios skin crash
    unity, Collider2D.bounds的一个坑
    unity, ContentSizeFitter立即生效
    类里的通用成员函数应声明为static
    unity, Gizmos.DrawMesh一个坑
    直线切割凹多边形
  • 原文地址:https://www.cnblogs.com/baiquan/p/7545710.html
Copyright © 2011-2022 走看看