1、RH131Linux 管理笔记一-RPM 及其管理,YUM 客户端及服务器的配置学习一个操作系统,安装软件是最基本的操作了,如果你学 LINUX 连软件都不会安装,那就实在混的不入流了。今天我们就讲讲 LINUX 下包的安装。系统管理第一部分:RPM 包安装及管理RPM:红帽子包管理器(RedHat Package Manager)今天我们主要就学习这种包管理方式安装与卸除常用参数:-i,-u,-F,-e rpm -i:在该 rpm 包与该包的旧版本未被安装过的情况下,安装该 rpm 包。 rpm -U:无论系统是否有安装过某 rpm 包或其旧版本,安装或更新指定的 rpm包。 rpm -F:
2、仅在系统已安装某 rpm 包的旧版本 rpm 包时,更新 rpm 包。否则不安装。 卸除:rpm e 包名(注:不能以.rpm 或 I386.rmp 结尾)在安装的时候要显示进度,就需要加 vh 参数所以一般安装包就是这样:rpm -ivh 包名字大家先把光盘放入虚拟机的光驱.然后我们到/misc/cd 目录:cd /misc/cd进入 Server 目录大家把 vsftpd 安装了吧,记住用 TAB 补全然后大家在选个其他包安装下试试哈由于 rpm 安装依耐关系太郁闷了,所以我们要学习 RPM 安装.我还是把 RPM 常用的命令给大家介绍下: 可能会用到的补充参数 输出用:-v,-h 预设条
3、件:-nodeps,-force 重定位:-root 参数,允许将一个 RPM 包安装到 mount 在当前系统上的另一个Linux 系统,或者另一个特定的目录上。当升级内核的时候用这个命令:rpm -Uvh -force 内核文件包还有就是 删除已经安装的包:rpm -e 包名记住删除和查看都用包名字,不需要版本号 详细选项: -h (or -hash) 安装时输出 hash 记号 (#) -test 只对安装进行测试,并不实际安装。 -percent 以百分比的形式输出安装的进度。 -excludedocs 不安装软件包中的文档文件 -includedocs 安装文档 -replacepk
4、gs 强制重新安装已经安装的软件包 -replacefiles 替换属于其它软件包的文件 -force 忽略软件包及文件的冲突 -noscripts 不运行预安装和后安装脚本 -prefix 将软件包安装到由 指定的路径下 -ignorearch 不校验软件包的结构 -ignoreos 不检查软件包运行的操作系统 -nodeps 不检查依赖性关系 -ftpproxy 用 作为 FTP 代理 -ftpport 指定 FTP 的端口号为 -oldpackage 给已经安装了最高版本的 RPM 降级 大家看看这些参数,有点印象就好了,要用的时候在查哈RPM 包的查询: rpm -q:查询某一个 RP
5、M 包是否已安装 rpm -qi:查询某一个 RPM 包的详细信息 rpm -ql:列出某 RPM 包中所包含的文件 rpm -qf:查询某文件属于哪一个 RPM 包 rpm -qa:列出当前系统所有已安装的包大家先用 rpm -qa 查询所有然后找个包,用 rpm -ql 查看里面的文件然后用 rpm -qf 查看其中一个文件,得到这个文件是哪个包的/var/log/rpmpkgs 相当于 rpm -qa 输出的结果 对一个将要安装的 RPM 包,我们通常可以用 rpm -qpi 或 rpm -qpl 来查询该包的相关信息与内含文件RPM 包的校验rpm -V:校验某个 RPM 包rpm -
6、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
7、 到/mnt/cdrom 后)YUM 客户端及服务器的配置yum,是 Yellow dog Updater Modified 的简称,起初是由 yellow dog 这一发行版的开发者 Terra Soft 研发,那时还叫做 yup(yellow dog updater),后经杜克大学的 LinuxDuke 开 发团队进行改进,遂有此名。yum 的关键之处是要有可靠的 repository,顾名思义,这是软件的仓库,它可以是 http 或 ftp 站点,也可以是本地 软件池,但必须包含 rpm 的 header,header 包括了 rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等.
8、正是收集了这些 header 并加以分析,才能自动化地完成余下的任务yum 有以下特点: 可以同时配置多个资源库(Repository) 简洁的配置文件(/etc/yum.conf) 自动解决增加或删除 rpm 包时遇到的依赖性问题 使用方便 保持与 RPM 数据库的一致性 1、YUM 客户端配置:配置文件内容简介: 内的是仓库的名字name 是仓库的描述也可以说是名字baseurl 仓库的位置enabled 是否启用这个仓库,1 为起用,0 为禁用gpgcheck 是否检查 GPG 签名(用来验证要安装的包是不是 REDHAT 官方的)GPGKEY 的存放地址我们需要用下面的命令导入这个签名
9、。才能使用这项功能2、下面我们开始配置服务器。(1)挂载 CD-ROM 并安装 VSFTPD。(前提是讲 RHEL 的带 RPM 包的安装盘放进虚拟 CD-ROM)(2)安装成功以后,把光盘里所有的文件拷贝到 /var/ftp/pub 目录里cp -rv /* /var/ftp/pub(3)切换到 /var/ftp/pub 目录删除*.html删除 Server/repodata/TRANS.TBL删除 VT/repodata/TRANS.TBL如果你不删除以上文件也可能成功,但是也有可能出现意想不到的问题。建议删除rm -f *.html rm -f Server/repodata/TRAN
10、S.TBL rm -f VT/repodata/TRANS.TBL(4)安装 createrepo 工具,然后用这个工具生成 YUM 通用数据库,记住使用TAB 补全路径和命令。rootrhel5 Server# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm rootrhel5 Server# createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/rootrhel5 Server# createrepo -g /var/ftp/
11、pub/VT/repodata/comps-rhel5-vt.xml /var/ftp/pub/VT/ (5)然后从新启动 FTP 服务:service vsftpd restart到此基本大功告成,下面我们进行测试:安装 yum install package 安装指定的安装包 package1 rootrhel5 Server# yum install telnet*Loading “security“ pluginLoading “rhnplugin“ pluginLoading “installonlyn“ pluginThis system is not registered wit
12、h RHN.RHN support will be disabled.Setting up Install ProcessSetting up repositoriesrhel-debuginfo 100% |=| 1.1 kB 00:00 Reading repository metadata in from local filesprimary.xml.gz 100% |=| 9.5 kB 00:00 # 31/31Parsing package install argumentsExamining telnet-0.17-38.el5.i386.rpm: telnet - 1:0.17-
13、38.el5.i386telnet-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.i386Marking telnet-server-0.17-38.el5.i386.rpm to be installedResolving Dependencies Populating transaction set with selected packages. Please wait.-
14、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 ResolutionError: Missing Dependency: xinetd is needed by package telnet-serverrootrhel5 Server# yum install xinetdLoading “security“ plugi
15、nLoading “rhnplugin“ pluginLoading “installonlyn“ pluginThis system is not registered with RHN.RHN support will be disabled.Setting up Install ProcessSetting up repositoriesReading repository metadata in from local filesParsing package install argumentsNo Match for argument: xinetdNothing to dorootr
16、hel5 Server# ls |grep xinetdxinetd-2.3.14-10.el5.i386.rpmrootrhel5 Server# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm Preparing. # 100%1:xinetd # 100%rootrhel5 Server# yum install telnet*Loading “security“ pluginLoading “rhnplugin“ pluginLoading “installonlyn“ pluginThis system is not registered with RH
17、N.RHN support will be disabled.Setting up Install ProcessSetting up repositoriesReading repository metadata in from local filesParsing package install argumentsExamining telnet-0.17-38.el5.i386.rpm: telnet - 1:0.17-38.el5.i386telnet-0.17-38.el5.i386.rpm: does not update installed package.Examining t
18、elnet-server-0.17-38.el5.i386.rpm: telnet-server - 1:0.17-38.el5.i386Marking telnet-server-0.17-38.el5.i386.rpm to be installedResolving Dependencies Populating transaction set with selected packages. Please wait.- Package telnet-server.i386 1:0.17-38.el5 set to be updated Running transaction checkD
19、ependencies Resolved=Package Arch Version Repository Size =Installing:telnet-server i386 1:0.17-38.el5 telnet-server-0.17-38.el5.i386.rpm 49 kTransaction Summary=Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 49 kIs this ok y/N: yy,就开始安装了 Downloading Packages:Runni
20、ng Transaction TestFinished Transaction TestTransaction Test SucceededRunning TransactionInstalling: telnet-server # 1/1 Installed: telnet-server.i386 1:0.17-38.el5Complete!rootrhel5 Server# yum localinstall package 本地安装软件包 rootrhel5 # yum localinstall /var/ftp/pub/Server/dhcp* Loading “security“ pl
21、ugin 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.el
22、5.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 S
23、etting 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.el
24、5.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 Runnin
25、g 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/Se
26、rver/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: d
27、hcp # 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 rootrhel5 # 更新和升级 yum update 全部更新 yum update package 更新指定程序包 package yum check-update 检查可更新
28、的程序查找和显示 yum info 显示安装包信息 rootrhel5 # 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
29、 : 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 服
30、务 (或转发代理),并在客户机上运行 DHCP 客户守护进 程。dhcp 软件包提供了 ISC DHCP 服务和转发代理。 rootrhel5 # yum list 显示所有已经安装和可以安装的程序包 yum list 显示指定程序包安装情况 yum search 查找软件包 rootrhel5 # yum search dhc Loading “security“ plugin Loading “rhnplugin“ plugin Loading “installonlyn“ plugin This system is not registered with RHN. RHN support
31、 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 的宗旨是简化对大型网络的管理任务。
32、要在您的网络中使用 DHCP,您应该安装 DHCP 服务 (或转发代理),并在客户机上运行 DHCP 客户守护进 程。dhclient 软件包提供了 ISC DHCP 客户守护进程。 urlhttp:/isc.org/products/DHCP/urldhcpv6_client.i386 0.10-33.el5 installed Matched from: dhcpv6_client DHCPv6 客户 为客户提供 DHCPV6 协议书(RFC 3315)来支持 IPv6 地址和参数的动态分配。 详见/usr/share/dhcpv6_client*中的 dhcp6c(8), dhcp6c.
33、conf(5)及文本手册 urlhttp:/ 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 (动态主机
34、配置协议) 服务器和转发代理。 DHCP(动态主机配置协议)是一个允许 IP 网络上的 个体设备从 DHCP 服务器中获取它们自己的网络配置 信息(IP 地址、子网掩码、广播地址等等)的协议。 DHCP 的宗旨是简化对大型网络的管理任务。 dhcp 软件包包括了 ISC DHCP 服务和转发代理。 要在您的网络中使用 DHCP,您应该安装 DHCP 服务 (或转发代理),并在客户机上运行 DHCP 客户守护进 程。dhcp 软件包提供了 ISC DHCP 服务和转发代理。 urlhttp:/isc.org/products/DHCP/urldhcpv6.i386 0.10-33.el5 ins
35、talled 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)手
36、册和文件。 urlhttp:/ 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
37、 applications can receive notifications of changes in the clients DHCP configuration. urlhttp:/ 12:3.0.5-7.el5 installed Matched from: dhcp-devel 用来与 DHCP 服务器接口的开发库和头文件。 用来与 ISC DHCP 服务器接口的库。 urlhttp:/isc.org/products/DHCP/url rootrhel5 # 删除程序 yum remove | erase package1 删除程序包rootrhel5 # yum remove
38、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.
39、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. Pac
40、kage 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 P
41、ackage(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-dev
42、el.i386 12:3.0.5-7.el5 Complete! rootrhel5 # yum 会把下载的软件包和 header 存储在 cache 中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用 yum clean 指令进行清除. yum clean headers 清除 header yum clean packages 清除下载的 rpm 包 yum clean all 清除 header 与 rpm 包#YUM 故障排除:1、检查网卡是否启动,检查是否有 IP 地址,PING 自己的 IP 是否可以接通,是否可以 PING 通 YUM 服务器2、检查客户端配置文件是否正确3、检查 VSFTPD 服务是否开启#