如何手工nexus3.x搭建本地仓库Yum仓库

通过ISO镜像简单搭建本地yum仓库_服务器应用_Linux公社-Linux系统门户网站
你好,游客
通过ISO镜像简单搭建本地yum仓库
来源:Linux社区&
作者:cubix
&在一次安装软件过程中,需要依赖包,但是这个依赖包没有在原先的ISO源里面。因为下载的系统包有CD1跟CD2,检查后发现所需的rpm包在CD2里面,直接配置CD2为yum源时缺需要CD1里面的rpm包。最后想了个办法,用软连接把两个ISO的包合并后得到一个完整的安装源。
在一台机器上配置后,可以在这台服务器上搭建http服务器,把它当作一个内网的yum仓库使用。通过目录区分不同版本的yum源,简化并统一内网服务器的yum源配置。
一、原始的yum配置。
[root@mysql-243 ~]# cat /etc/yum.repos.d/cd.repo [iso]name=isobaseurl=file:///mnt/iso/enabled=1gpgcheck=0[root@mysql-243 ~]# mount /dev/cdrom /mnt/iso/mount: block device /dev/sr0 is write-protected, mounting read-only&& #### 安装rrdtool-perl时候报错 ####[root@mysql-243 ~]# yum install rrdtool-perl -y......Error Downloading Packages:& rrdtool-perl-1.3.8-6.el6.x86_64: failure: Packages/rrdtool-perl-1.3.8-6.el6.x86_64.rpm from iso: [Errno 256] No more mirrors to try.& && #### 查看ISO目录下,未发现rpm包 ####[root@mysql-243 ~]# ls /mnt/iso/Packages/ |grep rrdtool-perl&&
#### 挂载CD2,并查看发现该rpm包在CD2上面 #### [root@mysql-243 yum.repos.d]# umount /mnt/iso/[root@mysql-243 ~]# mount -o loop /vm/iso/-6.5-x86_64-bin-DVD2.iso& /mnt/iso[root@mysql-243 ~]# grep *rrdtool-perl*&&& #### 再次安装时找不到其他依赖包 #### [root@mysql-243 ~]# yum install rrdtool-perl -yError Downloading Packages:& rrdtool-1.3.8-6.el6.x86_64: failure: Packages/rrdtool-1.3.8-6.el6.x86_64.rpm from iso: [Errno 256] No more mirrors to try.& dejavu-sans-mono-fonts-2.30-2.el6.noarch: failure: Packages/dejavu-sans-mono-fonts-2.30-2.el6.noarch.rpm from iso: [Errno 256] No more mirrors to try.& dejavu-fonts-common-2.30-2.el6.noarch: failure: Packages/dejavu-fonts-common-2.30-2.el6.noarch.rpm from iso: [Errno 256] No more mirrors to try.& dejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch: failure: Packages/dejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch.rpm from iso: [Errno 256] No more mirrors to try.
二、卸载当前ISO,将两个ISO分别挂载到/mnt/cd1,/mnt/cd2上,然后通过软链接的形式合并两个ISO的rpm包。
[root@mysql-243 ~]#umount /mnt/iso/[root@mysql-243 ~]#mkdir -p /mnt/iso/6.5/Packages[root@mysql-243 ~]#mkdir /mnt/cd1[root@mysql-243 ~]#mkdir /mnt/cd2[root@mysql-243 ~]#mount -o loop /vm/iso/CentOS-6.5-x86_64-bin-DVD1.iso& /mnt/cd1[root@mysql-243 ~]#mount -o loop /vm/iso/CentOS-6.5-x86_64-bin-DVD2.iso& /mnt/cd2[root@mysql-243 ~]#ln -s /mnt/cd1/Packages/* /mnt/iso/6.5/Packages/[root@mysql-243 ~]#ln -s /mnt/cd2/Packages/* /mnt/iso/6.5/Packages/[root@mysql-243 ~]#rm -f /mnt/iso/6.5/Packages/TRANS.TBL[root@mysql-243 ~]#cat /mnt/cd1/Packages/TRANS.TBL /mnt/cd2/Packages/TRANS.TBL |sort & /mnt/iso/6.5/Packages/TRANS.TBL[root@mysql-243 ~]#ln -s /mnt/cd1/repodata/ /mnt/iso/6.5/[root@mysql-243 ~]#
三、修改yum配置,并测试安装。
#### 由于新建立的目录修改为/mnt/iso/6.5/,需要对原先的yum源进行修改 ####[root@mysql-243 /]# cat /etc/yum.repos.d/cd.repo |grep baseurlbaseurl=file:///mnt/iso/6.5/[root@mysql-243 ~]#yum clean all[root@mysql-243 ~]#yum list all& #### 整合后能够成功安装rrdtool-perl ####[root@mysql-243 ~]#yum install rrdtool-perl -y......Installed:& rrdtool-perl.x86_64 0:1.3.8-6.el6& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & Dependency Installed:& dejavu-fonts-common.noarch 0:2.30-2.el6& dejavu-lgc-sans-mono-fonts.noarch 0:2.30-2.el6& dejavu-sans-mono-fonts.noarch 0:2.30-2.el6& rrdtool.x86_64 0:1.3.8-6.el6 Complete!
四、接下来部署apache服务搭建本地的yum源,将/mnt/iso/目录以http的方式发布出去。
#### 安装apache ####[root@mysql-243 ~]#yum install httpd -y &&#### 发布yum仓库 ####[root@mysql-243 ~]#cat /etc/httpd/conf.d/yum.conf NameVirtualHost *:80&VirtualHost *:80&& & DocumentRoot /mnt/iso/&/VirtualHost&&Directory "/mnt/iso/"&& & Options Indexes MultiViews FollowSymLinks& & AllowOverride None& & Order allow,deny& & Allow from all&/Directory&[root@mysql-243 ~]# chkconfig& httpd --level 345 on[root@mysql-243 ~]#/etc/init.d/httpd& restart&&#### 添加ISO盘开机自动挂载。直接将挂载写在rc.local文件里。 ######## 此处不建议修改/etc/fstab,以避免移除ISO导致系统启动失败。#### [root@mysql-243 ~]# cat& /etc/rc.local#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/localmount -o loop /vm/iso/CentOS-6.5-x86_64-bin-DVD1.iso& /mnt/cd1mount -o loop /vm/iso/CentOS-6.5-x86_64-bin-DVD2.iso& /mnt/cd2
如果内网有其他版本的系统,只需要在/mnt/iso下面新建相应的目录,将镜像链接到该目录下即可,无需修改apache的配置。如需要搭建centos7.2的源,只需把7.2的镜像链接到/mnt/iso/7.2/这个目录底下。
五、在另一台服务器配置yum源测试。
[root@mysql-244 ~]# cat /etc/yum.repos.d/http243.repo [http243]name=http243baseurl=http://192.168.175.243/6.5/enabled=1gpgcheck=0[root@mysql-244 ~]# yum clean all[root@mysql-244 ~]# yum list all[root@mysql-243 ~]# yum install rrdtool-perl -y
在内网的其他服务器上,只需将/etc/yum.repos.d/http243.repo这个配置文件放上去,然后修改对应的目录,就可以完成配置了,在多台服务器要安装基础包的时候可以简化很多操作。
更多YUM相关教程见以下内容:
RHEL7 本地yum源配置
CentOS 7 使用阿里云的yum源、PIP源
CentOS及 Linux安装yum源&
CentOS 7更改yum源与更新系统
7.0配置本地yum源& &
软件包管理之前端管理工具yum&
CentOS 7 使用阿里云的yum源、PIP源
本文永久更新链接地址:
相关资讯 & & &
& (03月23日)
& (09/25/:31)
& (02/23/:08)
& (10/12/:29)
& (12/20/:49)
& (08/18/:25)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款CentOS搭建本地yum源
一、实验环境:
在CentOS上搭建yum源,并测试安装bind软件。
需要CentOS的安装光盘
二、实验步骤:
1.首先把镜像盘挂在上:mount /dev/cdrom /media/。
2. 创建本地源的目录,这个可以随便创建,我就创建在根下/yum/repo-packages目录下。把挂载光盘上的所有数据都拷贝到这个目录下。
3.如果安装系统个时候安装了yum软件包后,在/etc/下有yum的文件夹,我们也可以用rpm工具查看是不是安装了yum软件包。
[root@localhost
~]#rpm &qa | grep yum
4.进入/etc/yum.repos.d/目录下,我们需要把默认的两个yum配置文件保存到另一个目录中,不然首选查找默认的yum配置文件,在当前目录下创建一个村发备份的目录,我这里就创建一个back,然后移动默认的配置文件。
[root@localhost
yum.repos.d]#mkdir back
[root@localhost
yum.repos.d]#mv * back
5.然后用手工创建一个yum服务的配置文件,配置文件必须是CentOS-Local.repo并且要存放在/etc/yum.repos.d/目录下。
[root@localhost
yum.repos.d]#vim CentOS-Local.repo
CentOS-Local.repo
# This repo is
used to mount the default ocations for a CDROM / DVD on
# CentOS-5. You
can use this repo and yum to install items directly off
# DVD ISO that
we release.
# To use this
repo, put in your DVD and use it with the other repos
--enablerepo=c5-local [command]
# or for ONLY
the media repo, do this:
--disablerepo=\* --enablerepo=c5-local [command]
[c5-local]
name=CentOS-5 -
baseurl=file:///yum/repo-packages/CentOS/&&
若本机为服务器,且为客户端&
(此时不需http或ftp)
或者&& ftp://192.168.0.200/pub/Server&&&&
&&&&&&&&&&&&&&
192.168.0.200为ftp服务器的地址
gpgcheck=1&&&&&&&
//是否检查GPG签名,0为不检查,1为检查
enabled=1&&&&&&&&
//开启仓库
gpgkey=file:///usr/repo-packages/RPM-GPG-KEY-CentOS-5&&&&
//签名文件
其中有#的行是注释行,可以不用写。
[ ]内的是仓库的名字
name是仓库的描述也可以说是名字
仓库的位置,如果是本地配置为客户端,则要以"file:/"开头,如果库在ftp服务器上就按上图显示
配置.在这里注意这个地址不能写成ftp://192.168.0.200/var/ftp/pub目录,
因为登陆到ftp上的根目录就是/var/ftp目录.
是否启用这个仓库,1为起用,0为禁用
是否检查GPG签名(用来验证要安装的包是不是CentOS官方的,这一行没有也可)
的存放地址一般就在图片上显示的,(这一行没有也行)
6.安装软件包源信息生成工具包。
7.安装完成后,可以生成软件包源信息文件。
在生成软件包源信息的时候,花的时间比较长,看系统盘里的软件有多少,这里有3392个rpm的软件包。
8.生成完成后,需要注意的时,清理原来的数据源配置信息。
[root@localhost
yum.repos.d]#yum clean all
9.在上面配置yum配置文件的时候,启动了检查GPG签名,所以必须导入软件包KEY文件。
[root@localhost
yum.repos.d]#rpm &import
/yum/repo-packages/RPM-GPG-KEY-CentOS-5
&&(需要两个“-”符号)
本地源的搭建已经全部完成,下面我们可以使用本地源来进行软件的安装了。
[root@localhost
~]# yum -y install bind*
Loaded plugins:
fastestmirror
Loading mirror
speeds from cached hostfile
Setting up
Install Process
Dependencies
--& Running transaction check
---& Package bind-devel.i386
30:9.3.6-4.P1.el5_4.2 set to be updated
---& Package bind-libbind-devel.i386
30:9.3.6-4.P1.el5_4.2 set to be updated
---& Package bind-libs.i386
30:9.3.6-4.P1.el5_4.2 set to be updated
--& Finished Dependency
Resolution
Dependencies
=========================================================================================================================================
&Package&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Arch&&&&&&&&&&&&&&&&&&
Version&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Repository&&&&&&&&&&&&&&&&&
=========================================================================================================================================
Installing:
&bind-devel&&&&&&&&&&&&&&&&&&&&&&&&&&
i386&&&&&&&&&&&&&&&&&&
30:9.3.6-4.P1.el5_4.2&&&&&&&&&&&&&&&&&&&&&
c5-local&&&&&&&&&&&&&&&&&&
&bind-libbind-devel&&&&&&&&&&&&&&&&&&
i386&&&&&&&&&&&&&&&&&&
30:9.3.6-4.P1.el5_4.2&&&&&&&&&&&&&&&&&&&&&
c5-local&&&&&&&&&&&&&&&&&&
&bind-libs&&&&&&&&&&&&&&&&&&&&&&&&&&&
i386&&&&&&&&&&&&&&&&
&&30:9.3.6-4.P1.el5_4.2&&&&&&&&&&&&&&&&&&&&&
c5-local&&&&&&&&&&&&&&&&&&
Transaction
=========================================================================================================================================
Install&&&&&&
3 Package(s)
Upgrade&&&&&&
0 Package(s)
Total download
size: 4.0 M
Downloading
-----------------------------------------------------------------------------------------------------------------------------------------
Total&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&74
MB/s | 4.0
rpm_check_debug
Transaction Test
Transaction Test
Transaction
Test Succeeded
Transaction
Installing&&&&
bind-libs&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
error: failed
to stat /media/CentOS_5.5_Final: No such file or
Installing&&&&
bind-devel&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2/3
Installing&&&&
bind-libbind-devel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Installed:
& bind-devel.i386
30:9.3.6-4.P1.el5_4.2&&&&&
bind-libbind-devel.i386
30:9.3.6-4.P1.el5_4.2&&&&&
bind-libs.i386
30:9.3.6-4.P1.el5_4.2&&&&
[root@localhost
如果在工作过程中如要使用者响应,这个参数可以直接回答yes
列出在yum server
上面有的RPM套件
安装某个套件
升级某个套件,如果update后面没有接套件名称,即更新目前主机所有已安装的套件.
列出某个套件的详细信息,相当于rpm -qi package内容
将已下载到本机的packages或headers移除
移除已经安装在系统中的某个套件
yum localinstall package
本地安装软件包
yum update
yum update package
更新指定程序包package
yum check-update
检查可更新的程序
显示安装包信息
显示所有已经安装和可以安装的程序包
显示指定程序包安装情况
yum search
查找软件包
yum remove | erase
删除程序包
yum clean headers
清除header
yum clean packages
清除下载的rpm包
yum clean all
清除header与rpm包
11.CentOSyum
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。用户名:浮夸往事
评论数:63
访问量:13827
注册日期:
阅读量:1297
阅读量:3317
阅读量:459314
阅读量:1143782
51CTO推荐博文
大家可以先看这篇文章。导言:&&&&YUM主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源。网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受。因此我们在优化系统时,都会更换国内的源。&&&&相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中的YUM源服务器,即便在Internet连接中断的情况下,也不会影响其他YUM客户端的软件安装和升级。1. 创建yum仓库目录mkdir&-p&/application/yum/centos6.6/x86_64/&&&&
cd&/application/yum/centos6.6/x86_64/
rz&&#&上传rpm包到此目录,此目录下面还可以包括文件夹2. 安装createrepo软件yum&-y&install&createrepo3. 初始化repodata索引文件createrepo&-pdo&/application/yum/centos6.6/x86_64/&/application/yum/centos6.6/x86_64/4. 提供yum服务#&可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境
cd&/application/yum/centos6.6/x86_64/
python&-m&SimpleHTTPServer&80&&&/dev/null&&&&&
可以通过浏览器输入本机IP查看。5. 添加新的rpm包#&只下载软件不安装
yumdownloader&pcre-devel&openssl-devel&
createrepo&--update&/application/yum/centos6.6/x86_64/&&&
#&每加入一个rpm包就要更新一下。平时yum安装软件时不删除安装包
#&cat&/etc/yum.conf&
keepcache=1
#&安装包存储目录
cachedir=/var/cache/yum/$basearch/$releasever
#&/var/cache/yum/x86_64/6/base/packages6. 客户端配置cd&/etc/yum.repos.d
[root@B&yum.repos.d]#&vi&oldboy.repo&
name=Server
baseurl=http://10.0.0.5
gpgcheck=0
[root@YUM&~]#&yum&--enablerepo=oldboy&--disablerepo=base,extras,updates,epel&list&
#&指定使用oldboy库&&&&&上面是临时使用内网yum源,想永久并简单使用yum -y install lrzsz命令,就需要修改配置文件将默认的repo文件关闭。[root@oldboy&~]#&cd&/etc/yum.repos.d/
[root@oldboy&yum.repos.d]#&vim&CentOS-Base.repo
#&在每一个启动的源加上
#&enabled=0&&&#改为1就启用,没有此参数也是启用。
enabled=0# 还有其他开启的仓库就使用这个办法关闭。&&&&&&&&&&&&&&&&&&&&&&&&&&上面只是将自己制作的rpm包,放入yum源。但还有一种企业需求,说的更具体一点,平时学生上课yum安装软件都是从公网下载的,占用带宽,因此在学校里搭建一个内网yum服务器,但又考虑到学生回家也要使用yum安装软件,如果yum软件的数据库文件repodata不一样,就会有问题。因此我想到的解决方法就是直接使用公网yum源的repodata。镜像同步公网yum源上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。http://mirrors./status/CentOS官方标准源:rsync://mirrors./centos/epel源:rsync://mirrors./epel/同步命令:#&使用rsync同步yum源,为了节省带宽、磁盘和下载时间,我只同步了CentOS6的rpm包,这样所有的rpm包只占用了21G,全部同步需要300G左右。
#&同步base源,小技巧,我们安装系统的光盘镜像含有部分rpm包,大概3G,这些就不用重新下载。
/usr/bin/rsync&-av&rsync://mirrors./centos/6/os/x86_64/&/data/yum_data/centos/6/os/x86_64/
/usr/bin/rsync&-av&rsync://mirrors./centos/6/extras/x86_64/&/data/yum_data/centos/6/extras/x86_64/
/usr/bin/rsync&-av&rsync://mirrors./centos/6/updates/x86_64/&/data/yum_data/centos/6/updates/x86_64/
/usr/bin/rsync&-av&--exclude=debug&rsync://mirrors./epel/6/x86_64/&/data/yum_data/epel/6/x86_64/学生使用内网yum源方法#&可以自建一个内网dns,如果没有,可使用hosts解析。
echo&'192.168.0.200&'&&&/etc/hosts结果展示[root@KVM&data]#&du&-sh&yum_data&&&&
21G&&&&&yum_data
[root@KVM&data]#&tree&-L&3&yum_data/
├──&centos
│&&&├──&6
│&&&│&&&├──&extras
│&&&│&&&├──&os
│&&&│&&&└──&updates
│&&&└──&RPM-GPG-KEY-CentOS-6
├──&epel
│&&&└──&6
│&&&&&&&└──&x86_64=================================================================老男孩Linux运维实战培训中心高级运维: &架构师: & &Python开发:MySQL专业DBA:======公开交流群==========================架构QQ群运维QQ群Python开发QQ群==========================================报名咨询:QQ: 83 电话:
网站地址:http://www.etiantian.orgblog:http://oldboy.本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
11:56:10 12:31:29 17:47:16 17:58:27 18:58:40 23:11:06 02:04:44 17:57:48 22:32:13 19:45:43用户名:Yxnt
文章数:23
访问量:6288
注册日期:
阅读量:1297
阅读量:3317
阅读量:459314
阅读量:1143782
51CTO推荐博文
&&&&&&&&上一篇介绍了YUM的基本安装和卸载等功能的使用,这里就介绍一下如何搭建本地YUM仓库以及系统刚安装完成YUM仓库的配置信息。&&&&&&&&YUM仓库:存储了众多RPM包以及包的相关元数据(repodata)的文件服务器&&&&&&&&可做YUM仓库的类型:http、ftp、nfs、file(本地)先来看下yum客户端的配置文件:&&&&&&&&它的配置文件由两部分组成:主配置文件和其他配置文件&&&&& & 主配置文件:&&&&&&&&这个文中定义了使用yum安装时的缓存文件保存的目录,是否保留安装完成后rpm包,日志文件路径,是否启用插件,是否校验包的完整性等一些内容,我们可以看到最后两行内容,告诉了我们yum仓库的其他配置文件的路径在/etc/yum.repos.d/这个目录下。&以上为centos6系列安装完成后的默认配置文件。注:如果没有连接网络的话是不能直接使用yum安装所需要的软件包的。以上为Centos-Base.repo文件的内容。&&&&&&&&YUM仓库的基本配置:&&&&&&&&&&&&[repo_id]:仓库ID(不可与其他仓库id相同)&&&&&&&&&&&&name=:仓库名字&&&&&&&&&&&&baseurl=:仓库的位置(可使用http、nfs、ftp、file)&&&&&&&&&&&&enable=:是否启用(启用1不启用0,默认为1可不指定)&&&&&&&&&&&&gpgcheck=:是否校验包的完整性&&&&&&&&&&&&gpgkey=:公钥位置(可不指定)&&&&&&&&&&&&cost=:优先级&&&&&&&&这里演示的yum仓库搭建为本地yum仓库并且需要使用createrepo这个程序,默认是没有安装的可以挂载光盘到本地然后使用rpm -ivh createrepo(使用TAB补全一下程序包名)安装createrepo程序。接下来将ISO里面Packages这个目录中的rpm包复制到本地目录中,使用createrepo创建一下然后编辑配置文件即可。(当然默认光盘就存在搭建好的yum仓库环境,我们使用时只需要修改下配置文件即可)&&&&&&&&接下来会一步一步的操作,请耐心看完。谢谢&&&&&&&&0x01&&&&挂载光盘并复制Packages里面的程序包到本地&&&&&&&&这里我将多个命令写到了一起,中间加&&代表前一个命令执行成功后才继续执行下一个命令,否则不执行。在复制的过程中可能会很慢,请耐心等待。&&&&&&&&0x02& & 接下来看看有没有安装createrepo程序,如果没有安装使用 rpm -ivh 安装一下,我这里安装过了就不演示安装了。使用createrepo创建repodata 速度有点慢,耐心等待。&&&&&&&&这里我又将多个命令写到一起了,慢慢解释。&&&&&&&&createrepo这个命令我们只需要在后面加上rpm包所在的目录即可,这里不用任何参数,同样的 && 和上面一样上一个执行成功才会执行下一个,ls -ld /yum/repodata/这个目录就是上一条命令执行成功后的结果如果有这个目录则说明创建成功。这里为了方便观赏我用了“\”来换行(平时如果不加\则是命令执行加上\就会换行并且继续输入内容)&&&&&&&&第二行的内容是创建一个配置文件,我们所有的yum仓库配置文件(除主配置文件外)都在/etc/yum.repos.d/这个目录下并且以repo结尾的,同样后面使用“\”来进行换行&&&&&&&&从第三行开始到最后一行都可以直接使用编辑器来编辑这个文件来写配置我全部用echo 输出内容并且追加到这个文件里面去了&&&&&&&&配置文件的主要内容为:&&&&&&&&仓库ID为:file,仓库名字为:file,仓库地址:file:///yum/,不检查完整性,开销为200,(这个开销默认值为1000,其实就是设置仓库优先级的。。。这个值越低表示优先使用此仓库),这样就创建完成了。然后就是验证是否创建成功。&&&&&&&&随便找个程序来用yum安装一下或者使用yum repolist来列出所有的yum仓库如果有我们创建的仓库即为创建成功&&&&&&&&到这里我们的yum仓库就算是正式搭建完成了,下面来介绍一下配置yum仓库的高级用法&&&&&&&&在yum仓库的配置文件我们可能会看到使用的是mirrorlist然后后面跟的是个路径并且该路径里面使用了一些变量。接下来就解释一下这些内容。&&&&&&&&mirrorlist:可以使用mirrorlist来替换baseurl,通常它会指向一个url,这个url是个文本文件,其中保存了大量的镜像服务器,当我们使用yum仓库时,会获取此列表文件,而后通过fastestmirror插件来判断哪一个镜像为访问最快的服务器,并以之作为本次访问的url(centos默认安装完成后带有的配置文件就是这样的)&&&&&&&&变量:&&&&&&&&&&&&$releaserver:当前OS发行版的主版本号&&&&&&&&&&&&$arch:当前OS的硬件平台&&&&&&&&&&&&$basearch:基础平台,例如i386,x86_64等例如163的yum:&&&&&&&&baseurl=/centos/$releasever/os/$basearch/$releasever:我的主版本号为centos6.6所以会自动跳到/centos/6/os/$basearch: 我使用的平台为x86_64所以最终地址为/centos/6/os/x86_64/下面,而在centos中默认yum仓库则为mirrors来代替本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)4480人阅读
使用yum安装软件
####查看软件包
yum list all
##列出yum源仓库里面的所有可用的安装包
yum list installed
##列出所有已经安装的安装包
yum list available
##列出没有安装的安装包
####安装软件
yum install softwarename
##安装指定的软件
yum reinstall softarename ##重新安装指定的软件
yum localinstall 第三方software
##安装第三方文件并且会解决软件的依赖关系
yum remove
softwarename
##卸装指定的软件
####查找软件的信息
yum info software
##查看软的信息
yum search keywords
##根据关键字查找到相关安装包软件的信息
yum whatprovides filename ##查找包含指定文件的相关安装包
####对于软件组
yum groups list
##列出软件组
yum groups install
##安装一个软件组
yum group remove
##卸载一个软件组
yum groups info
##查看一个软件组的信息
关于yum源:
yum源仓库指向文件指向yum仓库。
yum源的指向文件存在于/etc/yum.repos.d/目录下。
以下是通过修改配置仓库指向文件,制作本地yum源;通过配置http服务和yum仓库指向文件制作共享yum源。
开始之前看一下查看一下当前的配置里面有什么已经安装好的yum源仓库
yum repolist
由上面可以知道现在的yum源配置没有成功可以读取利用的信息,下面将修改yum仓库指向文件制作yum的软件可用安装源。
第一种:利用iso镜像文件进行本地yum源的制作
mkdir /mount
##创建的空的文件夹用于挂载iso镜像文件
mount /iso/ iso的文件的名
##为了让iso镜像文件能够被像文件一样被便利地读取利用,将iso文件挂载在一个空的文件里面
(在这里被挂载的iso镜像文件是一个存在的yum仓库,但是系统并不能读取识别,我们通过修改yum仓库指向文件让系统可以读取到这个仓库,被我们利用)
2.修改yum源指向文件
mkdir /etc/backup
mv /etc/yum.repos.d/* /etc/backup/
/etc/yum.repos.d/myyum.repo
cat & /etc/yum.repos.d/myyum.repo&&end
&name=myyumsource
&baseurl=file:///mount
&gpgcheck=0
3.刷新测试
yum clean all
##清空本地/var/cache/yum容器清单列表旧数据。
yum repolist
##列出所有的可用的yum仓库,执行这个命令,会重读yum源设置志向文件,刷新本地容器清单列表。
现在看一下我们设置好的yum源仓库集合
由上面我们可以看到我们的挂载已被成功读取。
利用已经做好的iso-yum本地源安装http 服务方便制作共享软件源
yum install httpd
安装http服务成功,现在我们启动一下相关服务。
start httpd
##开启http服务
systemctl enable httpd
##设置开机启动http服务
systemctl stop firewalld
##关闭火墙服务方便下面的htpp服务的使用
第二种:利用iso镜像文件进行http共享yum源的制作
umount /mount
##将挂载在/mount下的文件解挂载将要挂载在http服务相关目录下
2.重新挂载,
mkdir /var/www/html/myshare
##在http服务的目录下面创建一个挂载点(http服务可以默认的服务目录)
mount /iso/iso文件名
/var/www/html/myshare
systemctl restart httpd
3.浏览器测试
打开浏览器,输入设置的主机的ip地址后面加上挂载的文件当看到文件出现则成功了。
添加repo仓库指向文件,让系统在寻找yum源的时候可以找到设置的http分享的yum源。
/etc/yum.repo.d/myshare.repo
cat & /etc/yum.repos.d/myshare.repo && end
&name=mysharesource
&baseurl=http://172.25.6.10/myshare
&gpgcheck=0
yum clean all
yum repolist
出现了错误
由于本文里面我们本地yum源制作和http-yum分享源制作使用了同一个iso文件所以我们解挂载了本地源挂载iso,执行yum repolist 命令yum源找不到我们在仓库指向文件里面指定的原本挂载在/mount的内容。现在我们可以修改第一个文件的查找点,让它找/var/www/html/myshare 挂载点。
yum repolist
这下本地的挂载也成功被读取了,没有出现报错。
由于这仅仅是设置的临时的挂载我们还可以设置开机自动挂载
&& /etc/fstab && end
挂载参数 备份
/iso/***.iso
/var/www/html/myshare iso9660
利用rpm安装包文件进行自己的yum仓库的制作
前面两种是利用厂商发布的iso镜像文件作为yum仓库。当我们需要安装一些第三方提供的软件的时候我们需要到网上下载rpm的安装包,但是每次都下载多麻烦,我们可以将较常使用的rpm安装包归到一个文件里面制作成一个可以被系统识别的yum仓库,通过配置yum仓库指向文件可以将它设置成本地的yum源也可以是通过http发布的共享yum源。
1.首先下几个rpm包放在一个文件夹里面。
2.生成符合要求的yum仓库
执行createrepo /software
##将放置rpm安装包的文件夹创造成一个仓库文件,文件夹里面会多出一个repodata仓库数据文件夹。
可以看到多了一个repodata的仓库数据文件,此时创建库成功。
其实在iso的挂载点可以看到它也有一个repodata的文件,这个标志性的文件夹标志着这个文件夹具备成为yum源的可能。
接下来可以修改yum的仓库文件,制作本地yum源以及http发布共享yum源。
一个自动执行脚本
#!/bin/bash
###make a local yum source to install httpd service#####
#before start,copy the **.iso to a file i choose '/iso' #
mkdir /mount
#make a file use to mount the **.iso
mount /iso/rhel-server-7.0-x86_64-dvd.iso /mount #mount the **.iso to the mount file
mkdir /etc/backup
##make a file to bak the *.repo file
mv /etc/yum.repos.d/* /etc/backup/
#move the *.repo file to the backfile
yum clean all
##to refesh
######add the yum.repo file to add the yum source##
cat & /etc/yum.repos.d/yum.repo && end
&name=myyum
&baseurl=file:///mount
&gpgcheck=0
yum clean all
## to refresh
yum repolist
##to see whether the yum-repo-setting is working
### above, the local yum-source is ok! now use the local yum-source we create to down httpd server. setting the httpd server to share the local-iso-source with http###
######install http server###
yum install httpd -y
##install the httpd server
systemctl start httpd
##start the httpd server
systemctl enable httpd
##set start httpd server every time start the sys
systemctl stop firewalld
systemctl disable firewalld
###setting http server let the httpd server can find our iso source
umount /mount
#unmount the **iso file inorder to let it mount under the http sserver
yum clean all
yum repolist
mkdir /var/www/html/myshare
##make a file in http server-file to let it find the iso-source
mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/myshare
##mount the iso-source to the http server
systemctl restart httpd
###now because we unmount the /mount that we set local-source to mount the http server so we can not use localyum###
###to modify the local-yum-source to let it share the source with http server###
cat & /etc/yum.repos.d/yum.repo && end
&name=myyum
&baseurl=http://172.25.6.11/myshare
&gpgcheck=0
yum clean all
yum repolist
#####set automount when start the system######
&& /etc/fstab && end
&/iso/rhel-server-7.0-x86_64-dvd.iso
/var/www/html/myshare
iso9660 ro 0 0
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:27552次
排名:千里之外
原创:36篇
评论:11条
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'}

我要回帖

更多关于 docker本地仓库搭建 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信