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
    复制代码
  • 相关阅读:
    静态工具类中使用注解注入service
    赵伟国:芯片不像互联网 不能一招鲜吃遍天(发展芯片制造业已拥有三个纵深:市场纵深、资本纵深、人才纵深)
    将grub写入mbr
    Linux下Qt5.6 Fcitx无法输入中文输入解决办法
    为 Mac Finder 增加右键文件打包压缩(免费)
    Obtaining Directory Change Notifications(微软的例子,使用FindFirstChangeNotification,FindNextChangeNotification,FindCloseChangeNotification API函数)
    C#开发Linux守护进程
    排序算法比较与分析
    Mvc+Dapper+存储过程分页10万条数据
    RabbitMQ
  • 原文地址:https://www.cnblogs.com/baiquan/p/7545710.html
Copyright © 2011-2022 走看看