2013年6月23日日曜日

yum インストールねた

yumのインストールで、自分が多用するものを2つピックアップしてみます。


パスでインストールするものを指定する


インストールしたいコマンド名、またはライブラリ名そのものは分かってはいるが、パッケージ名が分からないような場合に利用します。
以下は、partprobeコマンドをインストールする例です。
(partprobeコマンドはCentOS5では、partedパッケージに含まれます)

# yum install /sbin/partprobe
Loaded plugins: fastestmirror, protectbase
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package parted.i386 0:1.8.1-30.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================
 Package       Arch     Version           Repository     Size
===============================================================
Installing:
 parted       i386     1.8.1-30.el5       base           542 k
Transaction Summary
===============================================================
Install       1 Package(s)
Upgrade       0 Package(s)
Total download size: 542 k
Is this ok [y/N]:



ダウンロードしてきたRPMを依存関係を解消しつつインストールする


標準のリポジトリ以外のRPMパッケージなどをダウンロードし、rpmコマンドでインストールしようとしたら依存関係が原因でインストールに失敗するような場合に利用します。

以下は、AWS関連のRPMをダウンロードしてインストールする例です。
依存関係でrubyとruby-libsがインストールされます。


# yum localinstall ec2-ami-tools.noarch.rpm
Loaded plugins: fastestmirror, presto
Setting up Local Package Process
Examining ec2-ami-tools.noarch.rpm: ec2-ami-tools-1.4-0.9.noarch
Marking ec2-ami-tools.noarch.rpm to be installed
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
Resolving Dependencies
--> Running transaction check
---> Package ec2-ami-tools.noarch 0:1.4-0.9 will be installed
--> Processing Dependency: ruby for package: ec2-ami-tools-1.4-0.9.noarch
--> Running transaction check
---> Package ruby.x86_64 0:1.8.7.352-10.el6_4 will be installed
--> Processing Dependency: ruby-libs = 1.8.7.352-10.el6_4 for package: ruby-1.8.7.352-10.el6_4.x86_64
--> Processing Dependency: libruby.so.1.8()(64bit) for package: ruby-1.8.7.352-10.el6_4.x86_64
--> Running transaction check
---> Package ruby-libs.x86_64 0:1.8.7.352-10.el6_4 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================
 Package                Arch          Version             Repository        Size
=========================================================================
Installing:
 ec2-ami-tools        noarch        1.4-0.9             /ec2-ami-tools.noarch   680 k
Installing for dependencies:
 ruby                    x86_64      1.8.7.352-10.el6_4   updates             533 k
 ruby-libs               x86_64      1.8.7.352-10.el6_4   updates             1.6 M
Transaction Summary
==========================================================================
Install       3 Package(s)
Total size: 2.8 M
Total download size: 2.2 M
Installed size: 8.1 M
Is this ok [y/N]:



2013年6月11日火曜日

CentOS6.4で最新DovecotをRPMで導入する

2018/01/08追記: 元記事のサイトは全く更新されておらず、最新のdovecotを導入する事はできないので、「Dovecot community repositoriesが公開されました」を参照してください


2016/05/04追記: 「CentOS6.x 最新のpostfixとdovecotをRPMで導入する」も参照ください


最近知ったのですが、http://repos.fedorapeople.org/なるサイトがあって、
ここにdovecotやpostfixの最新版のRPMが転がってます。

RPMそのものを落として利用しても良いでしょうし、リポジトリ用ファイルも
用意されているので、そちらを利用しても良いでしょう。

例えば、CentOS6.4の環境で、リポジトリ用ファイルを用意してインストールするには以下のようにします。
 ※既にdovocotがインストールされている環境では、yum updateするだけで最新になります
 ※別途、依存関係でepelリポジトリも必要になるので先にセットアップしておいてください
    # rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm


# cd /etc/yum.repos.d/
# wget http://repos.fedorapeople.org/repos/mstevens/dovecot/epel-dovecot.repo
# yum install dovecot

2013年6月9日日曜日

rsyslog $AllowedSenderについて

今回は、”$AllowedSender"ディレクティブについてです。

このディレクティブは、ログサーバとしてrsyslogを稼動させた場合に、シスログを受け取るべき
ホストやネットワークを制限する為に使います。
※なんでもかんでも送られてきたシスログを受け取ってはまずいので


まずは正しい記述からです。
TCPとUDPの両方に制限が必要な場合、以下のようにそれぞれを分けて記述する必要があります。

$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 127.0.0.1, *.example.jp, 192.168.0.0/24

$ModLoad imtcp
$InputTCPServerRun 514
$AllowedSender TCP, 127.0.0.1, *.example.jp, 192.168.0.0/24



次に、結構良く見かける間違った記述についてです。

※TCPとUDPを一行で設定できると考えたのだと思うのですが、以下のように
  記述してるケースです。
$AllowedSender TCP, UDP,127.0.0.1, *.example.jp, 192.168.0.0/24

この場合の”UDP”部分はホスト名として扱われてしまい、ログにもその旨が表示されます。

rsyslogd: DNS error: Can't resolve "UDP"
ryslogd: Hostname "UDP" WON'T be added to ACL.

で、厄介なことに$AllowedSenderのデフォルトは、"all allowed"なので、この場合は
UDPに全く制限がかかっていない事にご注意ください。。