YUM仓库的配置
先讲一下思路:
1.YUM仓库配置首先需要一个YUM源,也就是需要提供一个存放PRM包以及YUM对这些RPM分析文件的位置,这个存放位置可以是一个本地目录、FTP服务器、HTTP服务器或者是光盘。。
2.在此我们用FTP服务器来做为YUM的源进行配置。
3.查看是否安装vsftpd服务器。(默认没有安装)
4.确认系统中是否安装YUM服务器工具。(5.0以上默认已安装)
5.将光盘中你所使用的内容复制到/var/ftp/pub目录下。
6.用PRM方式安装createrepo,该软件包用于生成PRM依赖关系及分组信息。
7.生成PRM包依赖关系,下面会讲到。。
一、挂载光盘
二、安装vsftpd服务器
三、查看是否安装YUM工具。
四、进入光盘挂载点,把Server目录下内容拷到ftp公共目录下。
--r参数是递归进行拷贝。
--v显示拷贝的内容。
五、拷贝进行中************
六、安装生成RPM包依赖关系及分组信息的工具。
七、生成RPM依赖关系。
---g参数主要是生成依赖关系和更新分组文件信息。
八、生成已经完成。。。
九、服务端已经配置完成,现在进行配置客户端。进行yum配置文件,记得首先要把配置文件备份,如果用原文件直接进行配置,万一出错,会找不到原因。如果另一份配置文件错了,还可以对比一个原配置文件找出错误,备份的文件后辍一定是filename.repo结尾的。
十、配置文件内容配置如下:
第一行:yum源的标签
第二行:yum源的名称
第三行:指定yum源的具体位置及路径
第四行:这个就好像是电源开关,也就是yum的开关,1为可用,等于0时不可用
第五行:数字签名检查,没有数字签名不允许安装,等于0时不进行数字签名检查。
第六行:指定Red Hat发行版数字签名公钥文件
十1、重启ftp服务。
十2、进行测试安装。。。
十3、安装进行中**********
 
PS:
1、如果第一次安装成功后,再进行安装不成功,要注意一下yum缓存,yum clean all
2、注意yum配置文件中的IP地址是否与本机的IP一致
3.是否重启ftp服务等
系统管理第一部分:RPM包安装及管理
RPM:红帽子包管理器(RedHat Package Manager)
今天我们主要就学习这种包管理方式
 
安装与卸除常用参数:-i,-u,-F,-e
rpm -i:在该rpm包与该包的旧版本未被安装过的情况下,安装该rpm包。
rpm -U:无论系统是否有安装过某rpm包或其旧版本,安装或更新指定的rpm包。
rpm -F:仅在系统已安装某rpm包的旧版本rpm包时,更新rpm包。否则不安装。
卸除:rpm –e 包名(注:不能以.rpm或I386.rmp结尾)
在安装的时候要显示进度,就需要加vh参数
所以一般安装包就是这样:rpm -ivh 包名字
大家先把光盘放入虚拟机的光驱.
p_w_picpath
然后我们到/misc/cd目录:cd /misc/cd
p_w_picpath
进入Server目录
p_w_picpath
大家把vsftpd安装了吧,记住用TAB补全
p_w_picpath
然后大家在选个其他包安装下试试哈~
由于rpm安装依耐关系太郁闷了,所以我们要学习RPM安装.
 
我还是把RPM常用的命令给大家介绍下:
可能会用到的补充参数
输出用:-v,-h
预设条件:--nodeps,--force
重定位:--root参数,允许将一个RPM包安装到mount在当前系统上的另一个Linux系统,或者另一个特定的目录上。
当升级内核的时候用这个命令:rpm -Uvh --force  内核文件包
还有就是 删除已经安装的包:rpm -e 包名
记住删除和查看都用包名字,不需要版本号 
 
详细选项: 
-h (or --hash) 安装时输出hash记号 (``#'') 
--test 只对安装进行测试,并不实际安装。 
--percent 以百分比的形式输出安装的进度。 
--excludedocs 不安装软件包中的文档文件 
--includedocs 安装文档 
--replacepkgs 强制重新安装已经安装的软件包 
--replacefiles 替换属于其它软件包的文件 
--force 忽略软件包及文件的冲突 
--noscripts 不运行预安装和后安装脚本 
--prefix <path> 将软件包安装到由 <path> 指定的路径下 
--ignorearch 不校验软件包的结构 
--ignoreos 不检查软件包运行的操作系统 
--nodeps 不检查依赖性关系 
--ftpproxy <host> 用 <host> 作为 FTP代理 
--ftpport <port> 指定FTP的端口号为 <port> 
--oldpackage给已经安装了最高版本的RPM降级
大家看看这些参数,有点印象就好了,要用的时候在查哈~~~
 
RPM包的查询:
rpm -q:查询某一个RPM包是否已安装
rpm -qi:查询某一个RPM包的详细信息
rpm -ql:列出某RPM包中所包含的文件
rpm -qf:查询某文件属于哪一个RPM包
rpm -qa:列出当前系统所有已安装的包
 
大家先用rpm -qa查询所有
p_w_picpath 
然后找个包,用rpm -ql 查看里面的文件
p_w_picpath
然后用rpm -qf 查看其中一个文件,得到这个文件是哪个包的
p_w_picpath
/var/log/rpmpkgs 相当于 rpm -qa 输出的结果
对一个将要安装的 RPM 包,我们通常可以用 rpm -qpi rpm -qpl 来查询该包的相关信息与内含文件
 
RPM包的校验
rpm -V:校验某个RPM包
rpm -Va:校验所有已安装的RPM包
RPM包的检查
rpm -K:检查RPM包的GPG签名
 
rpm -V可以让用户很方便地检查,与安装的时候相比,某RPM包中的文件是否发生了什么变化。
在使用 rpm -V 时,出错提示符号分别表示某部分未通过校验
S 文件大小
M 文件权限与类型
5 MD5 求和
D 设备文件的主、从号码
L 符号连接文件找不到连接对象
U 文件的所属用户
G 文件的所属组
T 更改时间
在使用 rpm -K 前,需要先从光盘中导入 gpg key
rpm - -import RPM-GPG-KEY-redhat-release (当将光盘放入光驱中,然后 mount /mnt/cdrom 后)
 
YUM客户端及服务器的配置
yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,那时还叫做yup(yellow dog updater),后经杜克大学的 Linux@Duke 开发团队进行改进,遂有此名。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务
 
yum有以下特点:
可以同时配置多个资源库(Repository)
简洁的配置文件(/etc/yum.conf)
自动解决增加或删除rpm包时遇到的依赖性问题
使用方便
保持与RPM数据库的一致性
 
1、YUM客户端配置:
p_w_picpath
p_w_picpath
配置文件内容简介:
[ ]内的是仓库的名字
name是仓库的描述也可以说是名字
baseurl 仓库的位置
enabled 是否启用这个仓库,1为起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是REDHAT官方的)
GPGKEY 的存放地址我们需要用下面的命令导入这个签名。才能使用这项功能
p_w_picpath
 
2、下面我们开始配置服务器。
(1)挂载CD-ROM并安装VSFTPD。(前提是讲RHEL的带RPM包的安装盘放进虚拟CD-ROM)
p_w_picpath
 
(2)安装成功以后,把光盘里所有的文件拷贝到 /var/ftp/pub 目录里
cp -rv ../* /var/ftp/pub
p_w_picpath
p_w_picpath
p_w_picpath
 
(3)切换到 /var/ftp/pub目录
删除*.html
删除Server/repodata/TRANS.TBL
删除VT/repodata/TRANS.TBL
如果你不删除以上文件也可能成功,但是也有可能出现意想不到的问题。建议删除
rm -f *.html
rm -f Server/repodata/TRANS.TBL
rm -f VT/repodata/TRANS.TBL
p_w_picpath
 
(4)安装createrepo工具,然后用这个工具生成YUM通用数据库,记住使用TAB补全路径和命令。
[root@rhel5 Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
p_w_picpath
[root@rhel5 Server]# createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/
p_w_picpath
[root@rhel5 Server]# createrepo -g /var/ftp/pub/VT/repodata/comps-rhel5-vt.xml /var/ftp/pub/VT/
p_w_picpath
 
(5)然后从新启动FTP 服务:service vsftpd restart
p_w_picpath
 
到此基本大功告成,下面我们进行测试:
安装
yum install package 安装指定的安装包package1
[root@rhel5 Server]# yum install telnet*
Loading "security" plugin
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
rhel-debuginfo            100% |=========================| 1.1 kB    00:00    
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 9.5 kB    00:00    
################################################## 31/31
Parsing package install arguments
Examining telnet-0.17-38.el5.i386.rpm: telnet - 1:0.17-38.el5.i386
telnet-0.17-38.el5.i386.rpm: does not update installed package.
Examining telnet-server-0.17-38.el5.i386.rpm: telnet-server - 1:0.17-38.el5.i386
Marking telnet-server-0.17-38.el5.i386.rpm to be installed
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package telnet-server.i386 1:0.17-38.el5 set to be updated
--> Running transaction check
--> Processing Dependency: xinetd for package: telnet-server
--> Finished Dependency Resolution
Error: Missing Dependency: xinetd is needed by package telnet-server
[root@rhel5 Server]# yum install xinetd
Loading "security" plugin
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
No Match for argument: xinetd
Nothing to do
[root@rhel5 Server]# ls |grep xinetd
xinetd-2.3.14-10.el5.i386.rpm
[root@rhel5 Server]# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
Preparing...                ########################################### [100%]
   1:xinetd                 ########################################### [100%]
[root@rhel5 Server]# yum install telnet*
Loading "security" plugin
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Examining telnet-0.17-38.el5.i386.rpm: telnet - 1:0.17-38.el5.i386
telnet-0.17-38.el5.i386.rpm: does not update installed package.
Examining telnet-server-0.17-38.el5.i386.rpm: telnet-server - 1:0.17-38.el5.i386
Marking telnet-server-0.17-38.el5.i386.rpm to be installed
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package telnet-server.i386 1:0.17-38.el5 set to be updated
--> Running transaction check
Dependencies Resolved
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 telnet-server           i386       1:0.17-38.el5    telnet-server-0.17-38.el5.i386.rpm   49 k
Transaction Summary
=============================================================================
Install      1 Package(s)        
Update       0 Package(s)        
Remove       0 Package(s)        
Total download size: 49 k
Is this ok [y/N]:
y
y,就开始安装了
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: telnet-server                ######################### [1/1]
Installed: telnet-server.i386 1:0.17-38.el5
Complete!
[root@rhel5 Server]#

yum localinstall package 本地安装软件包
[root@rhel5 ~]# yum localinstall /var/ftp/pub/Server/dhcp*
Loading "security" plugin
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Local Package Process
Examining /var/ftp/pub/Server/dhcp-3.0.5-7.el5.i386.rpm: dhcp - 12:3.0.5-7.el5.i386
Examining /var/ftp/pub/Server/dhcp-devel-3.0.5-7.el5.i386.rpm: dhcp-devel - 12:3.0.5-7.el5.i386
Examining /var/ftp/pub/Server/dhcpv6-0.10-33.el5.i386.rpm: dhcpv6 - 0.10-33.el5.i386
Examining /var/ftp/pub/Server/dhcpv6_client-0.10-33.el5.i386.rpm: dhcpv6_client - 0.10-33.el5.i386
Marking /var/ftp/pub/Server/dhcp-3.0.5-7.el5.i386.rpm to be installed
Setting up repositories
rhel-debuginfo            100% |=========================| 1.1 kB    00:00    
Reading repository metadata in from local files
Marking /var/ftp/pub/Server/dhcp-devel-3.0.5-7.el5.i386.rpm to be installed
Marking /var/ftp/pub/Server/dhcpv6-0.10-33.el5.i386.rpm to be installed
/var/ftp/pub/Server/dhcpv6_client-0.10-33.el5.i386.rpm: does not update installed package.
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
--> Package dhcpv6.i386 0:0.10-33.el5 set to be updated
--> Package dhcp-devel.i386 12:3.0.5-7.el5 set to be updated
--> Package dhcp.i386 12:3.0.5-7.el5 set to be updated
--> Running transaction check
Dependencies Resolved
=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
dhcp                    i386       12:3.0.5-7.el5   /var/ftp/pub/Server/dhcp-3.0.5-7.el5.i386.rpm  2.1 M
dhcp-devel              i386       12:3.0.5-7.el5   /var/ftp/pub/Server/dhcp-devel-3.0.5-7.el5.i386.rpm  1.4 M
dhcpv6                  i386       0.10-33.el5      /var/ftp/pub/Server/dhcpv6-0.10-33.el5.i386.rpm  759 k
Transaction Summary
=============================================================================
Install      3 Package(s)        
Update       0 Package(s)        
Remove       0 Package(s)        
Total download size: 4.2 M
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: dhcp                         ######################### [1/3]
  Installing: dhcpv6                       ######################### [2/3]
  Installing: dhcp-devel                   ######################### [3/3]
Installed: dhcp.i386 12:3.0.5-7.el5 dhcp-devel.i386 12:3.0.5-7.el5 dhcpv6.i386 0:0.10-33.el5
Complete!
You have new mail in /var/spool/mail/root
[root@rhel5 ~]#
 
更新和升级
yum update 全部更新
p_w_picpath
yum update package 更新指定程序包package
p_w_picpath
yum check-update 检查可更新的程序
p_w_picpath
 
查找和显示
yum info <package> 显示安装包信息
[root@rhel5 ~]# yum info dhcp
Loading "security" plugin
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up repositories
Reading repository metadata in from local files
Installed Packages
Name   : dhcp
Arch   : i386
Epoch  : 12
Version: 3.0.5
Release: 7.el5
Size   : 2.1 M
Repo   : installed
Summary: DHCP (动态主机配置协议) 服务器和转发代理。
Description:
DHCP(动态主机配置协议)是一个允许 IP 网络上的
个体设备从 DHCP 服务器中获取它们自己的网络配置
信息(IP 地址、子网掩码、广播地址等等)的协议。
DHCP 的宗旨是简化对大型网络的管理任务。
dhcp 软件包包括了 ISC DHCP 服务和转发代理。
要在您的网络中使用 DHCP,您应该安装 DHCP 服务
(或转发代理),并在客户机上运行 DHCP 客户守护进
程。dhcp 软件包提供了 ISC DHCP 服务和转发代理。
[root@rhel5 ~]#
yum list 显示所有已经安装和可以安装的程序包
p_w_picpath
yum list <package> 显示指定程序包安装情况
p_w_picpath
yum search <keyword>查找软件包
[root@rhel5 ~]# yum search dhc
Loading "security" plugin
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up repositories
Reading repository metadata in from local files
dhclient.i386                            12:3.0.5-7.el5         installed      
Matched from:
dhclient
提供 dhclient ISC DHCP 客户端守护进程和 dhclient 脚本。
DHCP(动态主机配置协议)是一个允许 IP 网络上的
个体设备从 DHCP 服务器中获取它们自己的网络配置
信息(IP 地址、子网掩码、广播地址等等)的协议。
DHCP 的宗旨是简化对大型网络的管理任务。
要在您的网络中使用 DHCP,您应该安装 DHCP 服务
(或转发代理),并在客户机上运行 DHCP 客户守护进
程。dhclient 软件包提供了 ISC DHCP 客户守护进程。
dhcpv6_client.i386                       0.10-33.el5            installed      
Matched from:
dhcpv6_client
DHCPv6 客户
为客户提供DHCPV6协议书(RFC 3315)来支持
IPv6地址和参数的动态分配。
详见/usr/share/dhcpv6_client*中的
dhcp6c(8), dhcp6c.conf(5)及文本手册
NetworkManager.i386                      1:0.6.4-6.el5          installed      
Matched from:
NetworkManager 试图保持一个随时可用的活动的网络联接。
但这是为台式机设计的,
而不是为服务器设计的。   NetworkManager 的目的在于使网络配置
和设置尽可能简单、方便。  如果使用 DHCP,
意味着 NetworkManager 将改变默认路径,
从 DHCP 获得一个 IP 地址,随时更换配合的 nameserver。
dhcp.i386                                12:3.0.5-7.el5         installed      
Matched from:
dhcp
DHCP (动态主机配置协议) 服务器和转发代理。
DHCP(动态主机配置协议)是一个允许 IP 网络上的
个体设备从 DHCP 服务器中获取它们自己的网络配置
信息(IP 地址、子网掩码、广播地址等等)的协议。
DHCP 的宗旨是简化对大型网络的管理任务。
dhcp 软件包包括了 ISC DHCP 服务和转发代理。
要在您的网络中使用 DHCP,您应该安装 DHCP 服务
(或转发代理),并在客户机上运行 DHCP 客户守护进
程。dhcp 软件包提供了 ISC DHCP 服务和转发代理。
dhcpv6.i386                              0.10-33.el5            installed      
Matched from:
dhcpv6
DHCPv6 - 使用 IPv6 的 DHCP 服务器和客户。
根据RFC 3315执行Internet Protocol第六版(IPv6)
的动态主机配置协议(DHCP):
IPv6的DHCP(DHCPv6)
由dhcp6s(8)—服务器DHCP后台程序和
dhcp6r(8)—DHCPv6中间代理程序组成。
如果你希望你的IPv6网络支持IPv6地址和
参数的动态配置,
请安装此程序。详见 /usr/share/doc/dhcpv6* 下的
dhcp6s(8), dhcp6r(8),dhcp6s.conf(5)手册和文件。
dhcdbd.i386                              2.2-1.el5              installed      
Matched from:
dhcdbd
DHCP D-BUS deamon (dhcdbd) 使用 D-BUS 控制 dhclient 客户端程序,保存并显示 DHCP 选项。
dhcdbd provides a D-BUS interface to the ISC dhclient software.  The
daemon provides access to DHCP configuration operations and stores those
options persistently.  Other D-BUS applications can receive notifications
of changes in the client's DHCP configuration.
dhcp-devel.i386                          12:3.0.5-7.el5         installed      
Matched from:
dhcp-devel
用来与 DHCP 服务器接口的开发库和头文件。
用来与 ISC DHCP 服务器接口的库。
 
删除程序
yum remove | erase package1 删除程序包
[root@rhel5 ~]# yum remove dhcp
Loading "security" plugin
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Remove Process
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
--> Package dhcp.i386 12:3.0.5-7.el5 set to be erased
--> Running transaction check
Setting up repositories
Reading repository metadata in from local files
--> Processing Dependency: dhcp = 12:3.0.5 for package: dhcp-devel
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
--> Package dhcp-devel.i386 12:3.0.5-7.el5 set to be erased
--> Running transaction check
Dependencies Resolved
=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
dhcp                    i386       12:3.0.5-7.el5   installed         2.1 M
Removing for dependencies:
dhcp-devel              i386       12:3.0.5-7.el5   installed         1.4 M
Transaction Summary
=============================================================================
Install      0 Package(s)        
Update       0 Package(s)        
Remove       2 Package(s)        
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Removing  : dhcp-devel                   ######################### [1/2]
  Removing  : dhcp                         ######################### [2/2]
Removed: dhcp.i386 12:3.0.5-7.el5
Dependency Removed: dhcp-devel.i386 12:3.0.5-7.el5
Complete!
[root@rhel5 ~]#
 
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除.
yum clean headers  清除header
p_w_picpath
yum clean packages  清除下载的rpm包
p_w_picpath
yum clean all  清除header与rpm包
p_w_picpath
####################################################################
YUM故障排除:
1、检查网卡是否启动,检查是否有IP地址,PING自己的IP是否可以接通,是否可以PING通YUM服务器
2、检查客户端配置文件是否正确
3、检查VSFTPD服务是否开启
#####################################################################