RHCE课程-RH131Linux管理笔记一-RPM及其管理,YUM客户端及服务器的配置

简介:
学习一个操作系统,安装软件是最基本的操作了,如果你学LINUX连软件都不会安装,那就实在混的不入流了。今天我们就讲讲LINUX下包的安装。
 
系统管理第一部分: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 包名字
大家先把光盘放入虚拟机的光驱.
image
然后我们到/misc/cd目录:cd /misc/cd
image
进入Server目录
image
大家把vsftpd安装了吧,记住用TAB补全
image
然后大家在选个其他包安装下试试哈~
由于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查询所有
image 
然后找个包,用rpm -ql 查看里面的文件
image
然后用rpm -qf 查看其中一个文件,得到这个文件是哪个包的
image
/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客户端配置:
image
image
配置文件内容简介:
[ ]内的是仓库的名字
name是仓库的描述也可以说是名字
baseurl 仓库的位置
enabled 是否启用这个仓库,1为起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是REDHAT官方的)
GPGKEY 的存放地址我们需要用下面的命令导入这个签名。才能使用这项功能
image
 
2、下面我们开始配置服务器。
(1)挂载CD-ROM并安装VSFTPD。(前提是讲RHEL的带RPM包的安装盘放进虚拟CD-ROM)
image
 
(2)安装成功以后,把光盘里所有的文件拷贝到 /var/ftp/pub 目录里
cp -rv ../* /var/ftp/pub
image
image
image
 
(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
image
 
(4)安装createrepo工具,然后用这个工具生成YUM通用数据库,记住使用TAB补全路径和命令。
[root@rhel5 Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
image
[root@rhel5 Server]# createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/
image
[root@rhel5 Server]# createrepo -g /var/ftp/pub/VT/repodata/comps-rhel5-vt.xml /var/ftp/pub/VT/
image
 
(5)然后从新启动FTP 服务:service vsftpd restart
image
 
到此基本大功告成,下面我们进行测试:
安装 
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 全部更新
image  
yum update package 更新指定程序包package
image  
yum check-update 检查可更新的程序
image
 
查找和显示 
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 显示所有已经安装和可以安装的程序包
image  
yum list <package> 显示指定程序包安装情况
image  
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
image  
yum clean packages  清除下载的rpm包
image  
yum clean all  清除header与rpm包
image
####################################################################
YUM故障排除:
1、检查网卡是否启动,检查是否有IP地址,PING自己的IP是否可以接通,是否可以PING通YUM服务器
2、检查客户端配置文件是否正确
3、检查VSFTPD服务是否开启
##################################################################### 








本文转自redking51CTO博客,原文链接: http://blog.51cto.com/redking/118837 ,如需转载请自行联系原作者
相关文章
|
2月前
|
消息中间件 运维 网络协议
客户端和服务器之间的通信
客户端和服务器之间的通信
32 0
|
2月前
|
监控 关系型数据库 Linux
|
3月前
|
Linux
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
219 0
|
17天前
|
网络协议 Python
pythonTCP客户端编程连接服务器
【4月更文挑战第6天】本教程介绍了TCP客户端如何连接服务器,包括指定服务器IP和端口、发送连接请求、处理异常、进行数据传输及关闭连接。在Python中,使用`socket`模块创建Socket对象,然后通过`connect()`方法尝试连接服务器 `(server_ip, server_port)`。成功连接后,利用`send()`和`recv()`进行数据交互,记得在通信完成后调用`close()`关闭连接,确保资源释放和程序稳定性。
|
2月前
|
网络协议 Java API
【JavaEE初阶】 TCP服务器与客户端的搭建
【JavaEE初阶】 TCP服务器与客户端的搭建
|
2月前
|
自然语言处理 Java 编译器
【JavaEE初阶】 UDP服务器与客户端的搭建
【JavaEE初阶】 UDP服务器与客户端的搭建
|
2月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
131 0
|
3月前
|
数据采集 JavaScript 前端开发
服务器端渲染(SSR)和客户端渲染(CSR)
服务器端渲染(SSR)和客户端渲染(CSR)
|
3月前
|
前端开发 搜索推荐 UED
从性能到用户体验,探索服务器端渲染(SSR)与客户端渲染(CSR)的比较与选择
在现代 Web 开发中,服务器端渲染(SSR)和客户端渲染(CSR)是两种常见的渲染方式。本文将对它们进行比较,从性能、开发体验和用户体验等方面探讨它们的优劣势,以帮助开发者做出合适的选择。
|
3月前
|
数据采集 前端开发 JavaScript
服务器端渲染(SSR)和客户端渲染(CSR)的比较与选择
服务器端渲染(SSR)和客户端渲染(CSR)是现代 Web 开发中广泛使用的两种渲染方式。本文将从性能、SEO、开发成本等角度对两者进行比较,并提供选择建议。