yum仓库中的元数据文件
primary.xml.gz
所有RPM包的列表
依赖关系
filelists.xml.gz
other.xml.gz
额外信息
RPM包的修改日志
repomd.xml
记录上面三个文件的时间戳和校验和
配置一个简单的yum源:
[Base]
name=Centos6.5 Server
baseurl=容器地址
enable=1
gpgcheck=1
list:列表
all
available:可用的,仓库中有但未安装的
installed:已经安装的
update:可用的升级
clean:清理缓存
repolist:显示repo列表极其简要信息
all
enabled:默认
disabled:
installl:安装
yum install PACKAGE_NAME
update
update_to:升级为指定版本
remove | erase:卸载
info:
Provides | whatprovides
yum grouplist:
编译安装:
RPM安装:
二进制格式:
源程序→编译→二进制格式
1、有些特性是编译选定的,如果编译时未选定此特性,我们将无法使用;
2、RPM包的版本会落后于源码包的版本,甚至有时候会落后很多;
编译需要具备的条件:
编译环境:开发环境
开发库:开发工具
make:项目管理工具;
makefile : 定义了make(gcc、g++)按何种次序去编译这些源程序文件中的源程序
automake:可以生成一个名为makefile.in的半成品文件
autoconfig:生成一个名为configure的文件。
编译安装三步骤:(一下步骤需要在安装包目录下进行)
1、./configure
--prefix=文件安装路径
--sysconfdir=指定配置文件路径
--help:获取脚本使用格式
2、make
3、make install
1、修改PATH环境变量,以能够识别此程序的位二进制文件路径;
2、在默认情况下,系统所有库文件的路径/lib,/usr/lib;要增添额外搜索路径;
在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中;
默认:/usr/include
本地yum配置:
1.创建目录、挂载光盘以及安装createrepo
[root@centos6 ~]# mkdir/mnt/cdrom←用于挂载光盘
[root@centos6 ~]# mkdir-vp /yum/localrepo←用于存放光盘中的rpm包
mkdir:已创建目录"/yum"
mkdir:已创建目录"/yum/localrepo"
[root@centos6 ~]# mount/dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected,mounting read-only
[root@centos6 ~]# cp/mnt/cdrom/Packages/* /yum/localrepo/←将光盘中所有rpm包复制到/yum/localrepo下
[root@centos6 Packages]#rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm
warning: createrepo-0.9.9-18.el6.noarch.rpm: Header V3 RSA/SHA1Signature,key ID c105b9de: NOKEY
error: Failed dependencies:
python-deltarpm is needed by createrepo-0.9.9-18.el6.noarch
注:从上面我们可以看出存在依赖关系,我们需要先安装python-deltarpm包,那接下来我们就把它装上!
[root@centos6 Packages]#rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
warning: python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm: HeaderV3 RSA/SHA256 Signature,255);">deltarpm = 3.5-0.5.20090913git.el6 is needed bypython-deltarpm-3.5-0.5.20090913git.el6.x86_64
注:我们发现这个包也有依赖包,继续装!
[root@centos6 Packages]#rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
warning: deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm: Header V3RSA/SHA256 Signature,255);">Preparing...########################################### [100%]
1:deltarpm ###########################################[100%]
注:deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm这个包安装成功了,继续安装上一个包。
1:python-deltarpm########################################### [100%]
注:解决依赖关系后尝试安装createrepo这个包。
1:createrepo########################################### [100%]
注:createrepo安装成功。(由于每个操作系统安装的环境、系统版本的不同,依赖关系可能也不相同,大家按照我的方法安装就好了)
2.创建以.repo结尾的文件
[root@centos6 Packages]# cd /etc/yum.repos.d/
[root@centos6 yum.repos.d]# ls
CentOS-Base.repo CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
[root@centos6 yum.repos.d]# rm ./*←删除所有系统自带的repo文件
rm:是否删除普通文件"./CentOS-Base.repo"?y
rm:是否删除普通文件"./CentOS-Debuginfo.repo"?y
rm:是否删除普通文件"./CentOS-Media.repo"?y
rm:是否删除普通文件"./CentOS-Vault.repo"?y
[root@centos6 yum.repos.d]# vim local.repo←创建一个名为local.repo的文件并编辑
[Base]
name=localrepo
baseurl=file:///yum/localrepo
enable=1
gpgcheck=0
注:
[Base]:代表容器的名字。中括号一定要存在,里面的名字可以随意修改,但是不能有两个相同的容器名称,否则yum会不知道该到哪里去找容器相关软件列表文件。
name:只是说明一下这个容器的意义而已,重要性不高!
baseurl:这个非常重要,应为后面接的是容器的实际地址。
示例:
ftp://ftp容器地址
http://web容器地址
file:///本地容器地址(前两个/是协议分隔符最后一个/代表本地的根)
enable=1:就是让这个容器被启动,如果不想启动可以使用enable=0
gpgcheck=0:指定是否要查阅rpm文件内的数字证书我们这里不查阅!
其他内容请自行查阅!!!!!!.
[root@centos6 localrepo]#ls -l | grep repodata←查看是否存在yum的索引文件
注:不存在yum的索引文件
[root@centos6yum.repos.d]# createrepo /yum/localrepo/←创建分组信息
Spawning worker 0 with 3995 pkgs
Workers Finished
Gathering worker results
Saving Primary Metadata
Saving file lists Metadata
Saving other Metadata
Generating sqlite DBs
sqlite DBs complete
[root@centos6 yum.repos.d]# cd /yum/localrepo/
[root@centos6 localrepo]# ls -l | grep repodata
drwxr-xr-x 2 root root4096 7月 23 01:04 repodata
注:我们可以发现通过createrepo创建出了yum的索引文件
[root@centos6 yum.repos.d]#yum clean all←清空缓存
Loaded plugins: fastestmirror,refresh-packagekit,security
Cleaning repos: Base
Cleaning up Everything
[root@centos6 localrepo]#yum makecache ←建立新缓存
Determining fastest mirrors
Base | 2.9kB 00:00 ...
Base/filelists_db | 4.1 MB 00:00 ...
Base/primary_db | 3.3 MB 00:00 ...
Base/other_db | 1.8 MB 00:00 ...
Metadata Cache Created
[root@centos6 localrepo]#yum -y install MysqL←安装MysqL测试
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package MysqL.x86_64 0:5.1.71-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================
Package Arch Version Repository Size
Installing:
MysqL x86_64 5.1.71-1.el6 Base 893 k
Transaction Summary
Install 1 Package(s)
Total download size: 893 k
Installed size: 2.4 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing :MysqL-5.1.71-1.el6.x86_641/1
Verifying : MysqL-5.1.71-1.el6.x86_64 1/1
Installed:
MysqL.x86_640:5.1.71-1.el6
Complete!
注:MysqL安装成功,本地yum制作成功!
Centos配置国内yum源:
网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错,将yum源设置为163yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。具体设置方法如下:
1,进入yum源配置目录
cd /etc/yum.repos.d
2,备份系统自带的yum源
mv CentOS-Base.repo CentOS-Base.repo.bk
下载163网易的yum源:
wgethttp://mirrors.163.com/.help/CentOS6-Base-163.repo
3,更新完yum源后,执行下边命令更新yum配置,使操作立即生效
yum makecache
4,除了网易之外,国内还有其他不错的yum源,比如中科大和搜狐的,大家可以根据自己需求下载
中科大的yum源:
wgethttp://centos.ustc.edu.cn/CentOS-Base.repo
sohu的yum源
wgethttp://mirrors.sohu.com/help/CentOS-Base-sohu.repo