这里用的不是红帽本身的satellite软件,而用的是Spacewalk ,它是上游的一个社区计划,而 Red Hat Network Satellite 产品是从它衍生出来。如果你登录过红帽的http://rhn.redhat.com网站,你就应该知道它是用来干嘛用的。 Red Hat Network Satellite的管理是RHCA考试RH401中的一个重点,所以需要考rhca的朋友要加油哦!这里有些二进制软件包需要从源代码包进行编译,下载地址是:http://ftp.redhat.com。satellite目前支持两种数据库:oracle和postgresql。由于是测试环境所以oracle使用的是oracle XE,在生产环境中还是使用oralce企业版或者标准版稳定些。
一、Oracle 10g Express Edition Setup:
这里需要用到以下三个软件包:
a.Oracle Database 10g Express Edition for Linux x86
b.oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
c.oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
第一个是数据库核心软件包,最后两个是客户端软件包。
1、创建oracle用户和组:
2、安装Oracle XE:
首先安装下面三个必须的软件包:
接着安装oracle xe:
最后安装客户端:
安装Oracle compatibility library:
这个软件包存在于spacewalk server组,所以在安装之前确保已经配置好了YUM仓库。
如果启用SElinux,则还需要安装以下软件包:
3、Oracle XE Setup:
运行/etc/init.d/oracle-xe configure进行配置,其中会提示指定端口信息,监听信息以及系统用户密码等:
4、创建spacewalk账户:
创建完成后,测试下是否可以用spacewalk账户进行连接:
5、附加配置:
做上述配置以防出现下述错误:
二、安装Spacewalk:
Spacewalk的下载地址:http://spacewalk.redhat.com/yum/,当前版本是1.4。我之前已经把这些软件同步到本地了,在本地建了个Spacewalk Server和Spacewalk Client的YUM仓库。
Spacewalk依赖的其他一些软件包可以从以下两个网址找到:
a、http://pkgs.org
b、jpackage
1、删除冲突软件包:
这里的cobbler-web是和Spacewalk's Taskomatic进程相冲突的,详见bug 593402。
接着在/etc/yum.conf文件中,加入如下语句,代表不再进行cobbler-web软件包的安装:
2、安装Spacewalk:
如果你用的是oracle数据库,则运行以下命令:
这个大概要安装三百个软件包。
如果是PostgreSQL数据库,则运行以下命令:
3、配置Spacewalk:
运行spacewalk-setup --disconnected命令:
[root@server ~]# spacewalk-setup --disconnected
* Setting up Oracle environment.
* Setting up database.
** Database: Setting up database connection for Oracle backend.
Database service name (SID)? XE
Username? spacewalk
Password?
** Database: Testing database connection.
** Database: Populating database.
*** Progress: ####
* Setting up users and groups.
** GPG: Initializing GPG and importing key.
You must enter an email address.
Admin Email Address? root@localhost
* Performing initial configuration.
* Activating Spacewalk.
** Loading Spacewalk Certificate.
** Verifying certificate locally.
** Activating Spacewalk.
* Enabling Monitoring.
* Configuring apache SSL virtual host.
Should setup configure apache's default ssl server for you (saves original ssl.conf) [Y]?
** /etc/httpd/conf.d/ssl.conf has been backed up to ssl.conf-swsave
* Configuring tomcat.
** /etc/tomcat6/tomcat6.conf has been backed up to tomcat6.conf-swsave
** /etc/tomcat6/server.xml has been backed up to server.xml-swsave
** /etc/tomcat6/web.xml has been backed up to web.xml-swsave
* Configuring jabberd.
* Creating SSL certificates.
CA certificate password?
Re-enter CA certificate password?
Organization? XZXJ
Organization Unit [server.example.com]? Spacewalk Unit
Email Address [root@localhost]?
City? HZ
State? CN
Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? CN
** SSL: Generating CA certificate.
** SSL: Deploying CA certificate.
** SSL: Generating server certificate.
** SSL: Storing SSL certificates.
* Deploying configuration files.
* Update configuration in database.
* Setting up Cobbler..
Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y/n]?Y
httpd does not appear to be running and proxying cobbler
* Restarting services.
Installation complete.
Visit https://server.example.com to create the Spacewalk administrator account.
上面红色字体就是要输入的部分。上面的State值正确的应该是zj,由于一时疏忽错输入了CN。在配置的过程中,spacewalk会调用/etc/sysconfig/rhn/oracle/目录下的main.sql脚本,用于创建存放RPM信息的表以及RHN的相关表。完成之后,就可以按照上述给的链接访问管理界面:
首次登录,必须创建一个管理员帐号:
创建完成后,就可以使用这个管理员帐号进行维护管理操作。登录界面跟redhat的界面一样地:
登录进去后,就和RHN一模一样的,就是颜色不是红色而已,嘎嘎!
4、管理Spacewalk:
spacewalk的管理程序是/usr/sbin/spacewalk-service脚本,可以用它进行启动停止,查看状态等操作。
用法如下:
三、软件频道的管理:
1. 以频道管理员的身份登录到 Red Hat Network 网站。
2. 点顶部浏览栏中点击「频道」标签,然后点击左面浏览栏中的「管理软件频道」按钮。
3. 在「软件频道管理」页中点右上角的「创建新软件频道」。RHN Satellite Server 管理员会看到一个「克隆频道」选项。
4. 在「新频道」页中,根据页面中的给出的步骤定义频道详情。多数频道管理动作都使用「频道标签」来确认频道,所以最好使用有意义的标签。
5. 完成后,点该页底部的「创建频道」按钮。
我这里创建了以下几个频道,如图所示:
频道创建完成后,就要上传软件包每个频道对应的软件包,以”rhel6 base x86_64”为例,运行以下命令:
--channel后面跟的是频道的标签,并非频道名称!这个push过程非常慢,如果有多个频道的话需要很多时间的。这些RPM软件包存放在本地的/var/satellite目录下面,建议使用spacewalk-repo-sync命令进行同步,因为这个比rhnpush命令同步的速度要快些。
在同步的过程中,系统会将这些软件包相关信息录入oracle数据库中。这些表信息可以使用spacewalk帐号通过以下方法查询:
目前一共有372张表,而RPM软件包的相关信息存放在rhnPackage表中,这张表的结构如下图所示:
6、创建GPG 密钥:
作为自动安装的一部分,管理员会经常部署那些不是由红帽提供的自定义应用程序,比如备份和监控软件。要做到这一点,这个软件必须以 RPM 格式打包。在运行 Red Hat Enterprise Linux 的系统中可
设置 RPM 构建环境。应该注意的是构建环境必须包含与目标系统所使用的软件包的同一版本。就是说为基于 Red Hat Enterprise Linux 5 系统构建 RPM 必须使用 Red Hat Enterprise Linux 5 系统,构建 Red Hat Enterprise Linux 6 RPM 必须使用 Red Hat Enterprise Linux 6 系统。至少要在构建系统中安装 rpm-build 软件包。您可能还需要其它软件包,比如编译程序和库文件。应使用 GPG 密钥签注可用于产品的 RPM 软件包,这样可让用户确认软件包的来源及其完整性。只有信托管理员组才知道用于签注 RPM 的 GPG 密钥密码短语。
(1)、为生成该密钥创建目录:
这一步可以省略的,因为在使用gpg –gen-key命令时会自动在用户家目录创建的。
(2)、生成密钥对:
完成后,会在用户家目录下的.gnupg目录下生成以下文件:
pubring.gpg文件里的内容就是刚生产的密钥内容。
(3)、列出所有密钥及其指纹:
(4)、导出该密钥:
EXAMPLE-RPM-GPG-KEY文件的内容:
(5)、以root用户在所有目标系统中运行 gpg --import 即可将这个密钥导入到 RPM 数据库,确认其来源和完整性:
(6)、使用 GPG 密钥签注RPM软件包,并上传至相应的频道:
在签注的过程中遇到了一些问题,这个后续解决了再不上来。
(7)、查看RPM的相关信息:
当前有个spacewalk-koan软件包是我从源代码编译过来的,信息如下:
关于这方面的信息请参考红帽网络 Satellite 5.4.1用户指南一书。
7、备份工作:
所有在satellite频道的软件包都存放在/var/satellite目录下,而oracle的数据文件是存放在/usr/lib/oracle/xe/oradata/XE目录下面:
所以同时做好oracle的备份以及/var/satellite目录的备份,以防万一!
四、注册客户端:
要将客户机注册到sattlite服务器中,客户端必须安装Red Hat Network软件包,这些默认都已经安装了,只需注册下即可通过sattlite服务器进行软件包更新。客户端注册有两种方法:使用证书注册和使用KEY进行注册。下述内容会对这两种方法进行详细说明。
1、使用证书进行客户端注册:
这里用到的证书是安装Spacewalk Server时生成的trust证书,位于root家目录下面的ssl-build目录下。
上图中的RHN-ORG-TRUSTED-SSL-CERT就是证书文件。而二进制rpm软件包中就是这个证书文件。
在注册之前,你必须更改客户端的up2date文件,此文件位于/etc/sysconfig/rhn/目录中,将里面的sattlite服务器地址指定为你的sattlite服务器地址,并指定正确的证书文件。未改之前如下所示:
(1)、下载此公共证书文件:
(2)、编辑 /etc/sysconfig/rhn/up2date 文件:
(3)、注册系统:
运行rhn_register进行注册,这个命令默认会使用图形界面进行注册:
上图中已经指定了更新位置为https://server.example.com。下一步会提示输入用户名以及密码:
如果输入无误会出现下面的画面:
发送完毕后,就已经成功注册了cs104客户端。可以在sattlite服务器上进行验证:
(4)、启用客户端的即时执行更新(OSA):
这个在客户端要安装以下软件包:
安装完成后,编辑/etc/sysconfig/rhn/osad.conf文件,更改正确的证书文件:
最后启动osad服务即可。如果在启动的过程中报如下错误:
/usr/lib/python2.6/site-packages/jabber/jabber.py:68: DeprecationWarning: the sha module is deprecated; use the hashlib module instead,则编辑/usr/lib/python2.6/site-packages/jabber/jabber.py文件的第68行,将sha替换为hashlib,然后重新启动osad服务。完了之后,在sattlite网页中就会看到OSA的状态为online。
如果有可以的更新时,satellite会及时在系统状态中通知:
2、使用KEY进行注册:
首先下载并安装 SSL 证书 RPM,这个在https://server.example.com/pub目录下可以找到。
安装上图中的RPM软件包:
接着使用key注册系统:
注册完成后,可以在管理界面查看系统详细信息:
(5)、在客户端上可以使用yum列出已经订阅了哪些软件频道:
如上所示,server订阅了6个软件频道,软件包的数量接近1万个。
这是satellite最简单的应用了,哪位大虾要是看到了,如果有不足之处还请指出,谢谢!后续将补录satellite与cobbler、虚拟化的结合,敬请期待!
参考文献:
Red Hat Network Satellite
本文出自 “candon123” 博客,谢绝转载!