首页 > 代码库 > Centos 6.5本地Yum和网络Yum

Centos 6.5本地Yum和网络Yum

yum仓库中的元数据文件

primary.xml.gz

 所有RPM包的列表

 依赖关系

 每个RPM安装生成的文件列表

filelists.xml.gz

 当仓库中所有RPM包的所有可以生成的文件列表。

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为后缀名的文件,而后把要增添的路径直接写至此文件中;

     #ldconfig通知系统重新搜索库文件

          -v:显示重新搜索库文件的过程

3、头文件:输出给系统

     默认:/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, key ID c105b9de: NOKEY

error: Failed dependencies:

         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, key ID c105b9de: NOKEY

Preparing...               ########################################### [100%]

  1:deltarpm               ###########################################[100%]

 

注:deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm这个包安装成功了,继续安装上一个包。

 

[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, key ID c105b9de: NOKEY

Preparing...               ########################################### [100%]

   1:python-deltarpm       ########################################### [100%]

 

注:解决依赖关系后尝试安装createrepo这个包。

 

[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

Preparing...               ########################################### [100%]

   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 root    4096 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                        建立新缓存

Loaded plugins: fastestmirror, refresh-packagekit, security

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测试

Loaded plugins: fastestmirror, refresh-packagekit, security

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_64                      1/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源:

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

3,更新完yum源后,执行下边命令更新yum配置,使操作立即生效

yum makecache

4,除了网易之外,国内还有其他不错的yum源,比如中科大和搜狐的,大家可以根据自己需求下载

中科大的yum源:

wget http://centos.ustc.edu.cn/CentOS-Base.repo

sohu的yum源

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo


点击查看网络Yum原文

    


本文出自 “linux” 博客,请务必保留此出处http://bella41981.blog.51cto.com/10603572/1876998

Centos 6.5本地Yum和网络Yum