LoginSignup
21
17

More than 5 years have passed since last update.

SpaceWalkをCentOS6.5にインストールしてパッケージ管理

Posted at

Spacewalkとは

kobito.1402653569.857408.png

本家URL: http://spacewalk.redhat.com/

要するにOpenSource版のRedHat Satellite。
クライアントにインストールされているパッケージの管理、Errataの購読などが可能になります。

意外とRHELを使うユーザって、隔離されたネットワークだったりして結局RedHatNetwork1(以下RHN)使っていなかったりしますよね?
そうでなくとも、商用でRHELディストリビューションを使っている場合、
可能であれば管理網を分けていたりする理由でRedHatNetworkを使えない、もしくは(察し)な理由で使えない。
そして(察し)な理由でRedHatSatellite2をローカルで建てられない。
そんな場合に力を発揮するのがSpacewalkです。

このソフト、Chefなんかで構成管理をしている場合にはそんなに役に立たないのですが、

  • 異なるデプロイ方法を使っているシステム郡を統括的にモニタリングしておきたい
  • どんなバージョンのどんなソフトが使われているのかをみたい

そんな場合に使えます。

また、積極推奨ではないようですが、実はdebianパッケージの管理にも対応しています。4
#あとはカスタムErrataを購読したい、とか。CentOS/Ubuntuなどのものを購読することも可能。Errata自分で作る、、、とか?
#本当はチームまたぎとかでもデプロイメント手法などが統一されていることが理想なんですけどね。そうもうまくいかないと思うので。
#むしろ「うちではデプロイメント手法などは統一できていないけど、こんな管理しているよー」とか、あれば教えて下さい!
#そもそもそんなケースあんまりないですかね。。。。

案外このソフト、日本語の記事を見かけなかったので、シェアします。
このメモでは、

  • Spacewalkのセットアップ
  • Spacewalk clientの登録

までを書いてみます。

Installing

本家3は当然ながらFedraゴリ押しなのですが、
それなりに需要があると思われるCentOSベースで構築する方法をいかに説明します。

まずはspacewalkのreposを持ってくる。

rpm -Uvh http://yum.spacewalkproject.org/2.1/RHEL/6/x86_64/spacewalk-repo-2.1-2.el6.noarch.rpm

同様にJpackageも追加してやる

cat > /etc/yum.repos.d/jpackage-generic.repo << EOF
[jpackage-generic]
name=JPackage generic
#baseurl=http://mirrors.dotsrc.org/pub/jpackage/5.0/generic/free/
mirrorlist=http://www.jpackage.org/mirrorlist.php?dist=generic&type=free&release=5.0
enabled=1
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
EOF

EPELも必要とな。

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

ここまできたら後は簡単。
DBを入れるのですが、選択肢はOracleかPostgre。
今回はPostgreで話をすすめます。

yumでほいっとインストール。

yum install spacewalk-setup-postgresql

依存してるものをいれて、

yum install -y rpm-build rpm-python

Postgreを入れます。

yum install spacewalk-postgresql 

config

ここからは設定。基本的にはよきにはからえしてくれるのですが、FQDNを設定しておく必要があります。
FQDNを引けるようにして登録をする。

vim /etc/sysconfig/network

ここからはSpacewalkのセットアップにおまかせをして自動configをします。
/var/lib/pgsqlが15G以上必要です。

spacewalk-setup --disconnected

出力はこんな感じ

[XXXX@spacewalk ~]# spacewalk-setup --disconnected
* Setting up Selinux..
** Database: Setting up database connection for PostgreSQL backend.
** Database: Installing the database:
** Database: This is a long process that is logged in:
** Database:   /var/log/rhn/install_db.log
*** Progress: #
** Database: Installation complete.
** Database: Populating database.
*** Progress: ####################################
* Setting up users and groups.
** GPG: Initializing GPG and importing key.
** GPG: Creating /root/.gnupg directory
You must enter an email address.
Admin Email Address? メールアドレス
* 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 editarea.
** /etc/httpd/conf.d/editarea.conf has been backed up to editarea.conf-swsave
* Configuring tomcat.
* Configuring jabberd.
* Creating SSL certificates.
CA certificate password? 
Re-enter CA certificate password? 
Organization? Organization
Organization Unit [OU]? 
Email Address [メールアドレス]? 
City? XXXXXXX
State? XXXXXXXXX
Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? JP
** 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..
Processing /etc/cobbler/modules.conf
`/etc/cobbler/modules.conf' -> `/etc/cobbler/modules.conf-swsave'
Processing /etc/cobbler/settings
`/etc/cobbler/settings' -> `/etc/cobbler/settings-swsave'
Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y]? Y
* Restarting services.
Installation complete.
Visit https://ホスト名 to create the Spacewalk administrator account.

これで完了です。
起動します。

/usr/sbin/spacewalk-service start

この状態でhttp://FQDNもしくは、httpsでアクセスするとSpacewalkが動いています。
簡単!

spacewalk001.png

どうみてもRedhat Satelliteです。本当にありがとうございました。

clientのセットアップ

ここからはSpacewalkにより管理されるclientを登録していきます。
今回はclientもCentOSを想定。

またrepoを入れて、

rpm -Uvh http://yum.spacewalkproject.org/2.1/RHEL/6/x86_64/spacewalk-client-repo-2.1-2.el6.noarch.rpm

BASEARCH=$(uname -i)
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/$BASEARCH/epel-release-6-8.noarch.rpm

client用ツールを入れます。

yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin

インストールしたら、"/usr/share/rhn"配下に、Spacewalkホストの証明書を落としてきます。

cd /usr/share/rhn/
wget http://SPACEWALKHOSTNAME/pub/RHN-ORG-TRUSTED-SSL-CERT

完了したらup2date設定をサーバのものにしてあげます。

/etc/sysconfig/rhn/up2date
serverURL=https://spacewalk.yutah.org/XMLRPC
noSSLServerURL=http://spacewalk.yutah.org/XMLRPC
sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT

最後に登録。これは対話式ですが、rhnreg_ksでの登録も可能です。

rhn_register

ここまで来ると、clientがサーバから見えます。

systems.png

packages.png

デフォルトで登録するとBase Managementに”Monitoring”が含まれるとおもいます。
こいつが含まれていると、パッケージのアップデート・インストール・削除などがSpacewalkからできるので、気に入らないひとは外して下さい。
#構成管理やデプロイを別手法でやっている場合はまず外すでしょうね。

使い方などは、本家ドキュメントやRedhatでも言及されているので割愛します。

参考

1. RedHatによりホスト/管理されているRedHatSatellite
2. RedHatSatelliteは有償版。
3. 本家URL: http://spacewalk.redhat.com/
4. https://fedorahosted.org/spacewalk/wiki/RegisteringClients#Debian

21
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
17