首页 Yum服务器

Yum服务器

举报
开通vip

Yum服务器6月13日 伪技术人员的成长之4-自给自足的Yum Yum的研究之二   Yum这个东东实在太人性化,想当初在Linux_AS4上装一个服务,还必须要知道这个服务要几个包来支持(RPM包)装了一个提示缺一大群包或者库文件,有时弄的挺皱眉。因为相互之间还有依赖性关系,所以必须要对系统有了解,对包之间依赖关系了解。所以大多数会用源码编译安抓装。   话说,自从我第一次见到某神使用Yum install 之后,一句命令搞定,当时自己真的有过于火星的感觉。(竟然这样就搞定了.....=  =|||)更痤的是,有次自己在服务...

Yum服务器
6月13日 伪技术人员的成长之4-自给自足的Yum Yum的研究之二   Yum这个东东实在太人性化,想当初在Linux_AS4上装一个服务,还必须要知道这个服务要几个包来支持(RPM包)装了一个提示缺一大群包或者库文件,有时弄的挺皱眉。因为相互之间还有依赖性关系,所以必须要对系统有了解,对包之间依赖关系了解。所以大多数会用源码编译安抓装。   话说,自从我第一次见到某神使用Yum install 之后,一句命令搞定,当时自己真的有过于火星的感觉。(竟然这样就搞定了.....=  =|||)更痤的是,有次自己在服务器上安装服务的时候,又被某人看到我用rpm命令,丢下一句“这年头,你还用这样安装么?”(很好,当场石化- -)   言规正传,明显的,一句Yum install命令就能搞定从包的搜索-完成包之间的依赖关系 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 -到下载安装。要完成这种功能,必须是要依据些什么的,恩,一定是要依据一些提示,然后系统会根据这个提示到指定的地方去下载,然后一定会再到哪里读另外一些信息(很可能是在下载服务器上)读出要下载的包会产生依赖关系的其他包。然后凡是有关系的,统统下载到本地,然后自动安装。恩...一定是这样的。我一定会自己解开Yum的秘密的。(一板砖飞来,滚,这技术早就公开了,是你个火星人自己不去研究罢了- -)   首先,我自己开了一个Vmware,内建CentOS5的一台虚拟主机。基本磁盘为8G-HDA。使用的是最简安装(要知道,如果我安装图形界面被某知道之后一定又要鄙视到死。不过话说回来,我倒还从来没用过图形界面,或者说什么应用必须要用到图形界面呢)   说到CentOS5,安装好之后会自带Yum。这里我称他为Yum的“客户端”(高手别抽我,这里只是为了做明显的意义上的区别而已啦,恩,教学目的来的- -),我称它为Yum客户端的原因在于,会使用Yum命令去下载和享受Yum服务,相对的,如果有一台服务器,能够提供别人这样的服务,别人的请求提过来,就会主动帮人家分析依赖关系,并且给与下载的,这种的,我称它为Yum“服务端”吧。暂时,我这里先这里胡乱地分出Yum “客户端”和“服务端”的区别吧。   所以,我就想了,如果内网里自己能够架设一台Yum服务器的话,那么当需要安装什么程序的时候,从内网直接高速访问它和下载需要的东西,那一定会很方便。   一般的情况下,系统自带的Yum程序,是由于自带安装了下面2个包,可以用rpm -qa | grep yum* 来查看: yum-3.0.5-1.el5.centos.2 yum-updatesd-3.0.5-1.el5.centos.2 (这2个包提供了系统的“伸手”功能)   但是若要系统提供Yum服务端功能的话,还需要以下两个包: yum-utils-1.0.4-2.el5.centos createrepo-0.4.4-2.fc6 好,将他们都安装好。(第一个是让系统拥有提供“被伸手党索取”的功能,第二个是让系统拥有“分析包依赖性”的功能。之后我会详细说下这2个包的作用)   首先,要提供下载,系统必须提供传输文件的服务,比如FTP、HTTP之类。这里我虚拟机里使用了Vsftpd作为FTP服务。调试好FTP之后,还是使用默认FTP的公用主路径/var/ftp/pub 。但是不能直接将Vmware的虚拟光驱中的CentOS5镜像直接挂载到这里,因为需要使用Createrepo 路径命令将存放包的目录里的所有包进行一次“包依赖性关系生成”,并且会把生成关系的xml文件保存到和安装包文件夹同级目录的一个叫repodata的文件夹里。这里我粘贴下目录,大家都明白了: --------------------------------------- CentOS                 RELEASE-NOTES-en.html  RELEASE-NOTES-pt EULA                   RELEASE-NOTES-es       RELEASE-NOTES-pt_BR GPL                    RELEASE-NOTES-es.html  RELEASE-NOTES-pt_BR.html images                 RELEASE-NOTES-fr       RELEASE-NOTES-pt.html isolinux               RELEASE-NOTES-fr.html  RELEASE-NOTES-ru NOTES                  RELEASE-NOTES-it       RELEASE-NOTES-ru.html RELEASE-NOTES-cz       RELEASE-NOTES-it.html  repodata RELEASE-NOTES-cz.html  RELEASE-NOTES-ja       RPM-GPG-KEY-beta RELEASE-NOTES-de       RELEASE-NOTES-ja.html  RPM-GPG-KEY-CentOS-5 RELEASE-NOTES-de.html  RELEASE-NOTES-nl       TRANS.TBL RELEASE-NOTES-en       RELEASE-NOTES-nl.html ------------------------------- 直接挂载的话,是Read-Only权限的,所以即使被生成了依赖关系文件之后,也是不能写出来的。所以,提供下载的目录里,必须是可以写的,安装包全在CentOS这个路径下,如果以后里面的包发生了变化,比如添加进去了新包什么的。那么就必须再用Createrepo /var/ftp/pub/CentOS 这个命令把依赖关系重新生成一遍然后写入repodata这个目录里。因此,它必须是可以写的。   我想了一个比较笨的办法做的,由于事件比较急哈。 我关闭系统,添加了一块新磁盘HDB-8G(第二块磁盘为hdb)。 启动并进入系统,查找新硬件:ls -al /dev/hdb,好,果然有。 然后建立挂载点:mkdir /hdb 格式化新磁盘:mkfs.ext3 /dev/hdb 将新硬盘挂载入系统:mount -t ext3 /dev/hdb /hdb 改写分区表: vi /etc/fstab  并添加如下条目: /dev/hdb      /hdb      ext3  defaults      1  1 接下来将光驱镜像就挂载在这里了:mount /dev/cdrom /hdb 使这里变成只读挂载区(做到这里才发现,挂载光驱点不需要重新加入一块硬盘的-  -,算了,权当是熟悉系统了)   接下来将镜像里的文件全部复制到FTP主目录上去,让提供FTP服务的目录是可写的: cp -r /hdb/* /var/ftp/pub 接下来进入ftp目录: cd /var/ftp/pub 使用生成包依赖关系命令: createrepo /var/ftp/pub/CentOS 接下来屏幕就会开始刷了起来,我这里的共2千多个包,所以要等它一段时间。完成后,其实你的依赖性报告已经写在了repodata这个目录里了。呵呵   然后在另外一台CentOS测试“伸手”功能了~ 先要改它的.repo文件,来指明,以后凡是伸手,就朝刚才做好的那台Yum服务器伸手(指定被伸手服务器- -),刚才那台做好的服务器地址为192.168.0.153。 repo文件路径为/etc/yum.repos.d/这个目录下,将其他文件全删除,留一个repo文件进行更改就可以了(我这里的是KC.repo): -------------------------- [base]    (Base小节:当客户端提出Yum install的需求时,该如果指引去下载) name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os baseurl=ftp://192.168.0.153/pub/                                    (这里指定了提供下载的URL) gpgcheck=1                                                                 (必须检查数字签名) gpgkey=ftp://192.168.0.153/pub/RPM-GPG-KEY-CentOS-5   (数字签名验证文件的URL) #released updates [updates]  (Update小节:当客户端提出Yum update的需求时,该如何指引其去升级) name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates baseurl=ftp://192.168.0.153/pub/                                      (这里指定了提供升级的URL) gpgcheck=0                                                                   (不需要检查数字签名) enabled=0                                                                     (不启用这个功能,也就是说,不提供Update功能了) gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5     (这个是没有修改的数字签证文件的URL) ----------------------------------------------- 好了,这个文件现在客户机上的/etc/yum.repos.d/KC.repo这里   客户机上做测试了。我要在客户机上做数据库,使用的是MySQL来做。所以我就输入了以下命令: Yum install mysql* 接下来看看屏幕中的情况: ------------------------------------------- [root@Kane_Cruise pub]# yum install mysql Loading "installonlyn" plugin Setting up Install Process Setting up repositories Reading repository metadata in from local files Parsing package install arguments Nothing to do [root@Kane_Cruise pub]# yum install mysql* Loading "installonlyn" plugin Setting up Install Process Setting up repositories Reading repository metadata in from local files Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for mysql-server to pack into transaction set. mysql-server-5.0.22-2.1.i 100% |=========================|  32 kB    00:00     ---> Package mysql-server.i386 0:5.0.22-2.1 set to be updated ---> Downloading header for mysql-connector-odbc to pack into transaction set. mysql-connector-odbc-3.51 100% |=========================| 4.1 kB    00:00     ---> Package mysql-connector-odbc.i386 0:3.51.12-2.2 set to be updated ---> Downloading header for mysql-bench to pack into transaction set. mysql-bench-5.0.22-2.1.i3 100% |=========================|  32 kB    00:00     ---> Package mysql-bench.i386 0:5.0.22-2.1 set to be updated ---> Downloading header for mysql-test to pack into transaction set. mysql-test-5.0.22-2.1.i38 100% |=========================| 156 kB    00:00     ---> Package mysql-test.i386 0:5.0.22-2.1 set to be updated ---> Downloading header for mysql-devel to pack into transaction set. mysql-devel-5.0.22-2.1.i3 100% |=========================|  27 kB    00:00     ---> Package mysql-devel.i386 0:5.0.22-2.1 set to be updated --> Running transaction check --> Processing Dependency: libltdl.so.3 for package: mysql-connector-odbc --> Processing Dependency: perl-DBD-MySQL for package: mysql-server --> Processing Dependency: unixODBC for package: mysql-connector-odbc --> Processing Dependency: libodbcinst.so.1 for package: mysql-connector-odbc --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for unixODBC to pack into transaction set. unixODBC-2.2.11-7.1.i386. 100% |=========================|  28 kB    00:00     ---> Package unixODBC.i386 0:2.2.11-7.1 set to be updated ---> Downloading header for libtool-ltdl to pack into transaction set. libtool-ltdl-1.5.22-6.1.i 100% |=========================|  15 kB    00:00     ---> Package libtool-ltdl.i386 0:1.5.22-6.1 set to be updated ---> Downloading header for perl-DBD-MySQL to pack into transaction set. perl-DBD-MySQL-3.0007-1.f 100% |=========================| 8.3 kB    00:00     ---> Package perl-DBD-MySQL.i386 0:3.0007-1.fc6 set to be updated --> Running transaction check Dependencies Resolved =============================================================================  Package                 Arch       Version          Repository        Size ============================================================================= Installing:  mysql-bench             i386       5.0.22-2.1       base              513 k  mysql-connector-odbc    i386       3.51.12-2.2      base              142 k  mysql-devel             i386       5.0.22-2.1       base              2.4 M  mysql-server            i386       5.0.22-2.1       base               10 M  mysql-test              i386       5.0.22-2.1       base              2.0 M Installing for dependencies:  libtool-ltdl            i386       1.5.22-6.1       base               37 k  perl-DBD-MySQL          i386       3.0007-1.fc6     base              147 k  unixODBC                i386       2.2.11-7.1       base              832 k Transaction Summary ============================================================================= Install      8 Package(s)         Update       0 Package(s)         Remove       0 Package(s)         Total download size: 16 M Is this ok [y/N]: y Downloading Packages: (1/5): mysql-connector-od 100% |=========================| 142 kB    00:00     (2/5): mysql-test-5.0.22- 100% |=========================| 2.0 MB    00:00     (3/5): mysql-server-5.0.2 100% |=========================|  10 MB    00:01     (4/5): mysql-bench-5.0.22 100% |=========================| 513 kB    00:00     (5/5): mysql-devel-5.0.22 100% |=========================| 2.4 MB    00:00     warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) " from ftp://192.168.0.153/pub/RPM-GPG-KEY-CentOS-5 Is this ok [y/N]: y Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction   Installing: perl-DBD-MySQL               ######################### [1/8]   Installing: mysql-server                 ######################### [2/8]   Installing: libtool-ltdl                 ######################### [3/8]   Installing: unixODBC                     ######################### [4/8]   Installing: mysql-connector-odbc         ######################### [5/8]   Installing: mysql-test                   ######################### [6/8]   Installing: mysql-bench                  ######################### [7/8]   Installing: mysql-devel                  ######################### [8/8] Installed: mysql-bench.i386 0:5.0.22-2.1 mysql-connector-odbc.i386 0:3.51.12-2.2 mysql-devel.i386 0:5.0.22-2.1 mysql-server.i386 0:5.0.22-2.1 mysql-test.i386 0:5.0.22-2.1 Dependency Installed: libtool-ltdl.i386 0:1.5.22-6.1 perl-DBD-MySQL.i386 0:3.0007-1.fc6 unixODBC.i386 0:2.2.11-7.1 Complete! ------------------------------------------ 完成了~~瓦咔咔~~ 果然很人性化啊~~不是吗? 。。。。。。。。 写的我也很累啊,我把空间权限开成所有人都能看和评论,把自己肤浅的心得和大家共享,帮助和我一样菜鸟还有对系统有兴趣的入门的朋友。另外,也希望高手不吝指点吧
本文档为【Yum服务器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_484116
暂无简介~
格式:doc
大小:48KB
软件:Word
页数:6
分类:互联网
上传时间:2011-04-13
浏览量:21