一、CentOS本地源设置
1.备份并删除原始的repo源文件
[root@rd-proxy yum.repos.d]# tar -jcv -f CentOS.repo.tar.bz3 CentOS-*
CentOS-Base.repo
CentOS-Debuginfo.repo
CentOS-Media.repo
CentOS-Vault.repo
[root@rd-proxy yum.repos.d]# ll
total 21
-rw-r--r-- 2 root root 2294 Oct 30 19:06 CentOS-Base.repo
-rw-r--r--. 2 root root 638 Feb 25 2013 CentOS-Debuginfo.repo
-rw-r--r-- 2 root root 630 Oct 30 19:03 CentOS-Media.repo
-rw-r--r-- 2 root root 1579 Oct 30 19:12 CentOS.repo.tar.bz2
-rw-r--r--. 2 root root 3664 Feb 25 2013 CentOS-Vault.repo
[root@rd-proxy yum.repos.d]# rm -f CentOS-*
[root@rd-proxy yum.repos.d]# ll
total 5
-rw-r--r-- 2 root root 1579 Oct 30 19:12 CentOS.repo.tar.bz2
2.新建repo文件
[root@rd-proxy yum.repos.d]# vi Centos-Base.repo
[local_server]
#定义库名
name=This is a local repo
#定义描述
baseurl=file:///media/cdrom
#定义源路径,可多个
enable=1
#是否启用源,1真0假
gpgcheck=1
#是否检查key,若不检查则无需定义key
"Centos-Base.repo" 6L, 89C written
3.清除所有缓存
[root@rd-proxy yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local_server
Cleaning up Everything
Cleaning up list of fastest mirrors
4.重建本地缓存
[root@rd-proxy yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
local_server | 5.0 kB 00:00 ...
local_server/group_gz | 210 kB 00:00 ...
local_server/filelists_db | 5.8 MB 00:00 ...
local_server/primary_db | 4.5 MB 00:00 ...
local_server/other_db | 2.0 MB 00:00 ...
Metadata Cache Created
5.测试
[root@rd-proxy yum.repos.d]# yum install bind-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind-utils.i686 32:9.8.2-0.17.rc1.el6 will be installed
--> Processing Dependency: bind-libs = 32:9.8.2-0.17.rc1.el6 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.i686
--> Processing Dependency: liblwres.so.80 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.i686
--> Processing Dependency: libisccfg.so.82 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.i686
--> Processing Dependency: libisccc.so.80 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.i686
--> Processing Dependency: libisc.so.83 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.i686
--> Processing Dependency: libdns.so.81 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.i686
--> Processing Dependency: libbind9.so.80 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.i686
--> Running transaction check
---> Package bind-libs.i686 32:9.8.2-0.17.rc1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================
Installing:
bind-utils i686 32:9.8.2-0.17.rc1.el6 local_server 180 k
Installing for dependencies:
bind-libs i686 32:9.8.2-0.17.rc1.el6 local_server 882 k
Transaction Summary
======================================================================================================================================================
Install 2 Package(s)
Total download size: 1.0 M
Installed size: 2.7 M
Is this ok [y/N]: y
Downloading Packages:
------------------------------------------------------------------------------------------------------------------------------------------------------
Total 23 MB/s | 1.0 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 32:bind-libs-9.8.2-0.17.rc1.el6.i686 1/2
Installing : 32:bind-utils-9.8.2-0.17.rc1.el6.i686 2/2
Verifying : 32:bind-utils-9.8.2-0.17.rc1.el6.i686 1/2
Verifying : 32:bind-libs-9.8.2-0.17.rc1.el6.i686 2/2
Installed:
bind-utils.i686 32:9.8.2-0.17.rc1.el6
Dependency Installed:
bind-libs.i686 32:9.8.2-0.17.rc1.el6
Complete!
#二、局域网yum源配置
1.所需工具
createrepo:仓库文件创建工具
httpd,ftp:传输工具
2.环境准备
server:ikulin 10.10.10.1
client:localhost 10.10.10.3
linux:centos7
3.server拷贝光盘rpm包到本地http目录
[linxy@ikulin media]$ cp -r Packages/ /var/www/html/yum
4.server生成创建仓库
[linxy@ikulin yum]$ createrepo .
Spawning worker 0 with 2398 pkgs
Spawning worker 1 with 2398 pkgs
Spawning worker 2 with 2398 pkgs
Spawning worker 3 with 2397 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
5.server启动httpd服务
[linxy@ikulin html]$ sudo systemctl restart httpd
6.client配置repo源
[root@localhost yum.repos.d]# cat CentOS-Base.repo
[C7]
name=CentOS7
baseurl=http://10.10.10.1/yum
gpgcheck=0
7.client清除所有缓存
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: C7
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
8.client重建本地缓存(失败)
8.1.故障1,防火墙设置问题
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
http://10.10.10.1/yum/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to 10.10.10.1:80; No route to host"
Trying other mirror.
^Chttp://10.10.10.1/yum/repodata/repomd.xml: [Errno 14] curl#56 - "Callback aborted"
故障排除:
- 故障提示没有route无法连接到server,但在server上测试访问为ok,连通性测试为ok,判断为防火墙拦截了访问请求
- 检查c/s的selinux、iptables为关闭,但centos7开始,默认的防火墙为firewalld,查询状态为开启
- 关闭server的firewalld服务后出现故障2
8.2.故障2,http目录权限设置问题
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
http://10.10.10.1/yum/repodata/repomd.xml: [Errno 14] HTTP Error 403 - Forbidden
故障排除:
- 故障提示访问拒绝,使用curl访问服务器ok,向下级目录访问被拒绝,判断为目录或文件访问权限设置不正确
- 检查yum下仓库数据目录repodata的权限为744,非所属用户访问只拥有只读权限,而目录必须拥有执行权限才能进入
- 修改repodata目录权限为745
[linxy@ikulin yum]$ ll -d rep* drwxr--r-- 2 root root 4096 Feb 16 22:47 repodata [linxy@ikulin yum]$ sudo chmod 745 repodata/ [linxy@ikulin yum]$ ll -d rep* drwxr--r-x 2 root root 4096 Feb 16 22:47 repodata
8.3.client本地缓存重建完成
[root@localhost ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: C7
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
[root@localhost ~]# du -h /var/cache/yum/
0 /var/cache/yum/x86_64/7/C7/gen
0 /var/cache/yum/x86_64/7/C7/packages
0 /var/cache/yum/x86_64/7/C7
0 /var/cache/yum/x86_64/7/base/gen
0 /var/cache/yum/x86_64/7/base/packages
8.0K /var/cache/yum/x86_64/7/base
0 /var/cache/yum/x86_64/7/extras/gen
0 /var/cache/yum/x86_64/7/extras/packages
0 /var/cache/yum/x86_64/7/extras
0 /var/cache/yum/x86_64/7/updates/gen
0 /var/cache/yum/x86_64/7/updates/packages
0 /var/cache/yum/x86_64/7/updates
12K /var/cache/yum/x86_64/7
12K /var/cache/yum/x86_64
12K /var/cache/yum/
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
C7 | 2.9 kB 00:00:00
(1/3): C7/primary_db | 5.7 MB 00:00:00
(2/3): C7/filelists_db | 6.6 MB 00:00:00
(3/3): C7/other_db | 2.4 MB 00:00:00
Determining fastest mirrors
Metadata Cache Created
[root@localhost yum.repos.d]# du -h /var/cache/yum
85M /var/cache/yum/x86_64/7/C7/gen
0 /var/cache/yum/x86_64/7/C7/packages
99M /var/cache/yum/x86_64/7/C7
0 /var/cache/yum/x86_64/7/base/gen
0 /var/cache/yum/x86_64/7/base/packages
8.0K /var/cache/yum/x86_64/7/base
0 /var/cache/yum/x86_64/7/extras/gen
0 /var/cache/yum/x86_64/7/extras/packages
0 /var/cache/yum/x86_64/7/extras
0 /var/cache/yum/x86_64/7/updates/gen
0 /var/cache/yum/x86_64/7/updates/packages
0 /var/cache/yum/x86_64/7/updates
99M /var/cache/yum/x86_64/7
99M /var/cache/yum/x86_64
99M /var/cache/yum
9.测试验证
[root@localhost yum.repos.d]# yum search wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
================================================================= N/S matched: wget ==================================================================
wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols
Name and summary matches only, use "search all" for everything.