搭建自己的YUM源HTTP服务器

createrepo是linux下的创建仓库的软件包。create是创建的意思,repo是repository的缩写,是仓库的意思。
yum(Yellowdog
Updater,Modified)主要的功能是方便添加、删除和更新rpm软件包。可以解决软件包依存问题,更便于管理大量的系统更新问题。
1,通过rpm
-ivh
<package>命令手动安装。
还有一种情况是最麻烦的,就是提示缺少某些函数库(例如XML::Parser),当你不知道这个函数库包含在哪个软件包里的时候,就束手无策了
2,通过注册RHN(Red
Hat
Network)帐号,然后由yum连接到RHNSatellite服务器上去解决更新和软件包依存关系等问题。这种方法需要能连接到internet。
如果我没有RHN帐号怎么办呢?注册一个,或使用本地yum仓库。本地yum仓库就是把系统安装光盘里的内容复制到本地磁盘中,通过配置yum,让其访问这个本地磁盘,解决软件包依存关系,但不能更新软件包。
在制作yum仓库时需要一个软件包:createrepo-0.4.11-3.el5.noarch.rpm
可以用rpm
-qa|grep createrepo命令查看是否安装了这个软件包。

==============================================Yum服务端==================================================================

[[email protected] rhel6]# mount /dev/cdrom /mnt

[[email protected] rhel6]# cp -rv /mnt/* .

[[email protected] repo]# find /var/repo/rhel6/ -name *.rpm |wc -l
3763

[[email protected] rhel6]# rpm -qa | grep createrepo
[[email protected] rhel6]# yum
install createrepo

[[email protected] repo]# pwd
/var/repo
[[email protected] repo]#
ls
rhel6
[[email protected] repo]# createrepo . [create local repo]
Spawning
worker 0 with 3763 pkgs
Worker 0:
Worker 0: iso-8859-1 encoding on Ville
Skytt? <[email protected]> - 2.8.2-2
Worker 0:
Workers
Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other
metadata
Generating sqlite DBs
Sqlite DBs complete

[[email protected] var]# pwd
/var
[[email protected] var]# createrepo --update repo/
[update repo]

Saving Primary metadata
Saving file lists metadata
Saving other
metadata
Generating sqlite DBs
Sqlite DBs complete

[[email protected] repo]# ls -al repodata/
total 16320
drwxr-xr-x 2 root
root 4096 May 26 08:08 .
drwxr-xr-x 4 root root 4096 May 26 08:08
..
-rw-r--r-- 1 root root 3351485 May 26 08:08
02ba3bcea83b70ed3503f6422bde9ad670a46d7362f271bfdd52c62020eee875-primary.sqlite.bz2
-rw-r--r--
1 root root 1810736 May 26 08:08
276ef6038aaa04b71a03fbaef23361cb9d3a776cafd9a2727dc0a9bbc96798b9-primary.xml.gz
-rw-r--r--
1 root root 4077328 May 26 08:08
5bf793cff6ffa05500c6e3b30eda7a9ed83c718acb5f35b8619820fa0f0b81ba-filelists.sqlite.bz2
-rw-r--r--
1 root root 1971688 May 26 08:08
5f0a940829039e76d8f03ed8e6697dbd917739a3990991b4e95c5c0bdb844972-other.xml.gz
-rw-r--r--
1 root root 3683005 May 26 08:08
ae782c5a33530ffeb0606a617c36efba8ded1403edc00d7fec96e95e0c1d4e19-filelists.xml.gz
-rw-r--r--
1 root root 1788710 May 26 08:08
be63e7d58fd72ffea2ef85f81fce5825201decc877b0d5bca47a459552daa39f-other.sqlite.bz2
-rw-r--r--
1 root root 3018 May 26 08:08 repomd.xml

[[email protected] repo]# sudo rpm --import
/var/repo/rhel5/RPM-GPG-KEY-redhat-beta
/var/repo/rhel5/RPM-GPG-KEY-redhat-release [if any GPG error]

[[email protected] repo]# yum install httpd

[[email protected] repo]# vim /etc/httpd/conf.d/repo.conf
Alias /repo/
"/var/repo/"

[[email protected] repo]# /etc/init.d/httpd reload
Reloading httpd:

[[email protected] repo]# yum install lynx

[[email protected] repo]# lynx http://localhost/repo/repodata/repomd.xml [verify
can access]

==============================================Yum客户端==================================================================

[[email protected] yum.repos.d]# cat /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

[main]
cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel:除错级别,0-10,默认是2。
logfile:yum的日志文件,默认是/var/log/yum.log。
pkgpolicy:包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。
retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。

除了上述之外,还有一些可以添加的选项,如

exclude=,排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
gpgchkeck=
有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。

[[email protected] yum.repos.d]# cp rhel-source.repo
yum01.repo
[[email protected] yum.repos.d]# mv rhel-source.repo
/root/
[[email protected] yum.repos.d]# cat yum01.repo

[yum01-source]
name=Red Hat Enterprise Linux $releasever - $basearch -
Source
baseurl=http://10.122.1.101/repo/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[....] 代表这个库的名字,必须是唯一的,不可以重复。
name=
是这个库的说明,没有太大的实际意义,只是一个字段说明。
baseurl=
说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等
enabled=1
说明启用这个更新库,0表示不启用。
gpgcheck=1 表示使用gpg文件来检查软件包的签名
gpgkey=
表示gpg文件所存放的位置,此处也可以有http方式的位置。

[[email protected] yum.repos.d]# yum clean all
Loaded plugins: rhnplugin,
security
Cleaning repos: rhel-x86_64-server-6
Cleaning up
Everything
[[email protected] yum.repos.d]# yum repolist all
Loaded plugins:
rhnplugin, security
repo id
repo name
status
rhel-x86_64-server-6
Red Hat Enterprise Linux Server (v. 6 for
64-bit x86_64) enabled:
12,524
yum01-source
THS RHEL 6Server - x86_64 - Source
enabled: 3,763
repolist: 16,287

[[email protected] yum.repos.d]# yum repolist -v
Loading "rhnplugin"
plugin
Loading "security" plugin
Config time: 0.056
Looking for repo
options for [main]
Looking for repo options for
[rhel-x86_64-server-6]
Repo ‘rhel-x86_64-server-6‘ setting option ‘enabled‘ =
‘1‘
Repo ‘rhel-x86_64-server-6‘ setting option ‘gpgcheck‘ = ‘1‘
Yum
Version: 3.2.29
Setting up Package Sacks
pkgsack time: 0.050
Repo-id
: rhel-x86_64-server-6
Repo-name : Red Hat Enterprise Linux Server (v. 6
for 64-bit x86_64)
Repo-updated : Tue May 20 10:49:24 2014
Repo-pkgs :
12,524
Repo-size : 20 G
Repo-baseurl :
https://xmlrpc.rhn.redhat.com/XMLRPC/GET-REQ/rhel-x86_64-server-6
Repo-expire
: 21,600 second(s) (last: Mon May 26 08:42:31 2014)

Repo-id : yum01-source
Repo-name : THS RHEL 6Server - x86_64 -
Source
Repo-revision: 1401089913
Repo-updated : Mon May 26 08:08:16
2014
Repo-pkgs : 3,763
Repo-size : 3.3 G
Repo-baseurl :
http://10.122.1.101/repo/
Repo-expire : 21,600 second(s) (last: Mon May 26
08:43:14 2014)

搭建自己的YUM源HTTP服务器,布布扣,bubuko.com

时间: 2024-12-06 09:24:54

搭建自己的YUM源HTTP服务器的相关文章

搭建CentOS在线yum源镜像服务器

说明: 操作系统:CentOS 6.7 Nginx版本:1.8.0 rsync版本:3.0.6 IP地址和端口:192.168.3.100:8080 目标:同步CentOS镜像站点的内容到此服务器,通过配置http服务器,提供yum服务 一.准备: 1).安装http服务器 使用Nginx服务器提供http服务 请参照Nginx 安装 2).Nginx配置 #vi/usr/local/nginx/conf/nginx.conf server { listen       8080; server

搭建CentOS在线yum源镜像服务器(上)

说明: 操作系统:CentOS 6.x IP地址:192.168.21.188 实现目的:同步CentOS镜像站点的内容到此服务器,并且通过配置http服务器,能够向外提供yum服务 准备篇: 一.安装http服务器 这里使用Nginx服务器提供http服务 关于Nginx服务器搭建,参考:CentOS安装配置LNMP服务器(Nginx+PHP+MySQL) http://www.osyunwei.com/archives/5910.html 二.系统约定 Nginx站点根目录:/usr/loc

Linux系统中搭建本地光盘yum源

搭建本地光盘yum源 第一步:放入CentOS安装光盘,并挂载光盘到指定位置:命令如下: [[email protected] ~]#mkdir /mnt/cdrom #创建cdrom目录,作为光盘的挂载点 [[email protected] ~]#mount -t iso9660 /dev/cdrom1 /mnt/cdrom/ mount: block device /dev/sr0 is write-protected mounting read-only #挂载光盘到/mnt/cdrom

基于本地iso 搭建的本地yum源 安装部署openldap

1,yum openldap-servers,openldap-clients 基于iso-cd1搭建的本地yum源(具体搭建参看ruige的repo本地快速搭建,在右边 找找看中输入repo key words即可检索到!)

在Centos7上搭建局域网的yum源仓库

1.#输入命令rmp -q -vsftpd,查看是否安装了该包. 2.#创建挂载点,把光盘挂载到该点 3.#使用命令用rpm-ivh 安装vsftpd安装包 4.#启动vsftpd服务,设为下次开机启动. 5.#输入ifconfig,找到自己的局域网地址,看是否连接超时,如果超时就是没关闭防火墙的原因,那么就关闭防火墙.(学习环境中关闭防火墙就行了,不支持实际工作环境中关闭). 6.#用浏览器访问自己的局域网地址 ,会出现以下页面,说明ftp服务配置成功. 7.#创建文件夹,将CentOS7安装

RHEL6.6搭建CentOS6.6 yum源

现需要在RHEL6.6上安装zabbix2.4,通过虚拟机桥接互联网yum方式安装,但yum –y installnet-snmp zabbix zabbix-server的时候报如下错误,导致安装不上: 这个错误是由于没有注册引起的,怎么办呢?网上也查了一些资料,按照网上的资料,现将为自己的环境整理搭建了一下CentOS6.6 yum源! 把原来的yum源卸载掉 # rpm -qa | grep yum | xargs rpm -e –nodeps 添加并安装下载的yum的rpm包 # rpm

基于虚拟机的centos6.5 搭建本地光盘yum源

在线yum安装必须要保持服务器能够连入网络并且他下载的还会比较慢因为地址大部分多是国外的下载站.另外yum在线下载的都是比较新的软件包,可能不是很稳定,那么使用yum的本地资源就是光盘里的RPM包,让本地光盘作为yum源,这种源的版本可能不是最新的但是相对比较稳定,这种方式一般在工作中比常用.下面就来介绍下光盘yum源安装. 第一步: 虚拟机以vmwareworkstations 为例安装centos6.5虚拟机 并设置连接镜像1 第二步:挂载光盘 [[email protected] ~]#m

Yum配置分析详解三:搭建自己的YUM源

当需要安装LINUX系统时,无论是购买还是网上下载镜像的方式获得一张光盘进行安装,这张光盘本身含有我们日常所需要的一些常用软件,如vim,wget之类.对于Linux系统如果无网络也想安装一些软件的话,如果需要安装一些常用软件,以往我们通过RPM方式进行安装这类软件时,RPM包安装有可能还需要依赖其他RPM包,安装完成一个软件非常不方便.因此通过自带的光盘搭建一个YUM本地源这是一个非常不错的选择. 1.首先我们把光盘挂载上: mount -t auto /dev/cdrom /media/sr

Linux 本地yum源搭建和网络yum源搭建

一.本地yum源搭建 首先挂载上光盘 [[email protected] /]# mount /dev/cdrom /media/cdrom/ 系统默认已经安装了可使用yum的软件包,所以可以直接配置: [[email protected] ~]# cd /etc/yum.repos.d/                        yum源配置文件放置目录 [[email protected] yum.repos.d]# mv CentOS-Base.repo CentOS-Base.re