CentOS 6.8の不具合への対応 [CentOS]
・http://dan-project.blog.so-net.ne.jp/2016-05-27-1
1. ノード名を付けて指定したディスプレイをオープンできない件
1-1. 発生事象
ノード名を付けて指定したディスプレイをオープンできない。
・localhost:0、`hostname`:0、`hostname -i`:0 の指定時に発生する。
・Xt error: Can't open display と出力される。
1-2. 対処方法
下記のパッケージを CentOS 6.7 のパッケージにバージョンダウンする。
(1) 該当する CentOS 6.8 のパッケージ
xorg-x11-drv-acecad-1.5.0-8.el6.i686 xorg-x11-drv-aiptek-1.4.1-6.el6.i686 xorg-x11-drv-apm-1.2.5-11.el6.i686 xorg-x11-drv-ast-1.1.5-1.el6.i686 xorg-x11-drv-ati-7.6.1-2.el6.i686 xorg-x11-drv-ati-firmware-7.6.1-2.el6.noarch xorg-x11-drv-cirrus-1.5.3-1.el6.i686 xorg-x11-drv-dummy-0.3.6-16.el6.i686 xorg-x11-drv-elographics-1.4.1-4.el6.i686 xorg-x11-drv-evdev-2.9.2-1.el6.i686 xorg-x11-drv-fbdev-0.4.3-17.el6.i686 xorg-x11-drv-fpit-1.4.0-7.el6.i686 xorg-x11-drv-geode-2.11.17-1.el6.i686 xorg-x11-drv-glint-1.2.8-11.el6.i686 xorg-x11-drv-hyperpen-1.4.1-6.el6.i686 xorg-x11-drv-i128-1.3.6-11.el6.i686 xorg-x11-drv-i740-1.3.4-12.el6.i686 xorg-x11-drv-intel-2.99.917-0.4.20151111.el6.i686 xorg-x11-drv-keyboard-1.8.1-1.el6.i686 xorg-x11-drv-mach64-6.9.4-10.el6.i686 xorg-x11-drv-mga-1.6.3-9.el6.i686 xorg-x11-drv-mouse-1.9.1-1.el6.i686 xorg-x11-drv-mutouch-1.3.0-6.el6.i686 xorg-x11-drv-neomagic-1.2.9-1.el6.i686 xorg-x11-drv-nouveau-1.0.12-1.el6.i686 xorg-x11-drv-nv-2.1.20-6.el6.i686 xorg-x11-drv-openchrome-0.3.3-7.el6.i686 xorg-x11-drv-penmount-1.5.0-6.el6.i686 xorg-x11-drv-qxl-0.1.1-19.el6.i686 xorg-x11-drv-r128-6.10.0-1.el6.i686 xorg-x11-drv-rendition-4.2.6-1.el6.i686 xorg-x11-drv-s3virge-1.10.7-1.el6.i686 xorg-x11-drv-savage-2.3.7-3.el6.i686 xorg-x11-drv-siliconmotion-1.7.8-1.el6.i686 xorg-x11-drv-sis-0.10.8-1.el6.i686 xorg-x11-drv-sisusb-0.9.6-11.el6.i686 xorg-x11-drv-synaptics-1.8.3-1.el6.i686 xorg-x11-drv-tdfx-1.4.6-1.el6.i686 xorg-x11-drv-trident-1.3.6-11.el6.i686 xorg-x11-drv-v4l-0.2.0-37.el6.i686 xorg-x11-drv-vesa-2.3.4-1.el6.i686 xorg-x11-drv-vmmouse-13.1.0-1.el6.i686 xorg-x11-drv-vmware-13.1.0-2.el6.i686 xorg-x11-drv-void-1.4.1-1.el6.i686 xorg-x11-drv-voodoo-1.2.5-11.el6.i686 xorg-x11-drv-wacom-0.32.0-1.el6.i686 xorg-x11-drv-xgi-1.6.1-1.el6.i686 xorg-x11-server-Xorg-1.17.4-9.el6.centos.i686 xorg-x11-server-common-1.17.4-9.el6.centos.i686
(2) 使用した CentOS 6.7 のパッケージ
xorg-x11-drv-acecad-1.5.0-7.el6.i686.rpm xorg-x11-drv-aiptek-1.4.1-5.el6.i686.rpm xorg-x11-drv-apm-1.2.5-10.el6.i686.rpm xorg-x11-drv-ast-0.98.0-1.el6.i686.rpm xorg-x11-drv-ati-7.5.99-3.el6.i686.rpm xorg-x11-drv-ati-firmware-7.5.99-3.el6.noarch.rpm xorg-x11-drv-cirrus-1.5.2-2.el6.i686.rpm xorg-x11-drv-dummy-0.3.6-15.el6.i686.rpm xorg-x11-drv-elographics-1.4.1-3.el6.i686.rpm xorg-x11-drv-evdev-2.8.2-4.el6.i686.rpm xorg-x11-drv-fbdev-0.4.3-16.el6.i686.rpm xorg-x11-drv-fpit-1.4.0-6.el6.i686.rpm xorg-x11-drv-geode-2.11.15-1.el6.i686.rpm xorg-x11-drv-glint-1.2.8-10.el6.i686.rpm xorg-x11-drv-hyperpen-1.4.1-5.el6.i686.rpm xorg-x11-drv-i128-1.3.6-10.el6.i686.rpm xorg-x11-drv-i740-1.3.4-11.el6.i686.rpm xorg-x11-drv-intel-2.99.911-8.el6.i686.rpm xorg-x11-drv-keyboard-1.8.0-1.el6.i686.rpm xorg-x11-drv-mach64-6.9.4-9.el6.i686.rpm xorg-x11-drv-mga-1.6.3-6.el6.i686.rpm xorg-x11-drv-modesetting-0.8.0-14.el6.i686.rpm … (注1) xorg-x11-drv-mouse-1.9.0-1.el6.i686.rpm xorg-x11-drv-mutouch-1.3.0-5.el6.i686.rpm xorg-x11-drv-neomagic-1.2.7-7.el6.i686.rpm xorg-x11-drv-nouveau-1.0.10-1.el6.i686.rpm xorg-x11-drv-nv-2.1.20-5.el6.i686.rpm xorg-x11-drv-openchrome-0.3.3-6.el6.i686.rpm xorg-x11-drv-penmount-1.5.0-5.el6.i686.rpm xorg-x11-drv-qxl-0.1.1-17.el6.i686.rpm xorg-x11-drv-r128-6.9.1-8.el6.i686.rpm xorg-x11-drv-rendition-4.2.5-10.el6.i686.rpm xorg-x11-drv-s3virge-1.10.6-10.el6.i686.rpm xorg-x11-drv-savage-2.3.7-2.el6.i686.rpm xorg-x11-drv-siliconmotion-1.7.7-9.el6.i686.rpm xorg-x11-drv-sis-0.10.7-10.el6.i686.rpm xorg-x11-drv-sisusb-0.9.6-10.el6.i686.rpm xorg-x11-drv-synaptics-1.7.6-1.el6.i686.rpm xorg-x11-drv-tdfx-1.4.5-10.el6.i686.rpm xorg-x11-drv-trident-1.3.6-10.el6.i686.rpm xorg-x11-drv-v4l-0.2.0-36.el6.i686.rpm xorg-x11-drv-vesa-2.3.2-15.el6.i686.rpm xorg-x11-drv-vmmouse-13.0.0-2.el6.i686.rpm xorg-x11-drv-vmware-13.0.1-9.el6.i686.rpm xorg-x11-drv-void-1.4.0-23.el6.i686.rpm xorg-x11-drv-voodoo-1.2.5-10.el6.i686.rpm xorg-x11-drv-wacom-0.23.0-4.el6.i686.rpm xorg-x11-drv-xgi-1.6.0-20.20121114git.el6.i686.rpm xorg-x11-glamor-0.6.0-5.20140506gitf78901e.el6.i686.rpm … (注1) xorg-x11-server-Xorg-1.15.0-36.el6.centos.i686.rpm xorg-x11-server-common-1.15.0-36.el6.centos.i686.rpm (注1) … 依存パッケージ
これにより、リモートノードで下記コマンドが正常に機能するようになる。
・rsh -n centos-68-node xterm -display `hostname`:0 &
2. rsh-server、telnet-server が正常に機能しない件
(1) rsh-server での発生事象についての補足
(a) 初回の実行では、ログイン直後に入力を受け付けなくなる。
しばらく経過した後に、ターミナルの Full Reset で入力可能となる。
ただし、プロンプトが表示されない。
(b) 2 回目以降は、ログインシェルを引数指定しないと、即座にクローズされる。
ログインしても、プロンプトが表示されない。
ただし、コマンドの実行は可能である。
(2) telnet-server での発生事象についての補足
(a) ログイン時のプロンプトが正しく表示されない。
・1 行目の 1 カラム目が表示されない。
・1 行目の改行が正しく実施されない。
(b) ログイン後の出力がおかしい。
・プロンプトが表示されない。
・入力がエコーされない。
・コマンドの実行はできるが、実行結果の 1 行目が正しく表示されない。
(1 カラム目が表示されない、改行が正しく実施されない。)
ファイルの属性のコピー [Linux]
1. ファイルのタイムスタンプのコピー
% touch -r rfile file [...] または % touch --reference=rfile file [...]
rfile: コピー元のファイル
file: コピー先のファイル
2. ファイルのオーナー情報のコピー
% chown --reference=rfile file [...]
rfile: コピー元のファイル
file: コピー先のファイル
3. ファイル・パーミションのコピー
% chmod --reference=rfile file [...]
rfile: コピー元のファイル
file: コピー先のファイル
4. その他
(1) ファイルのタイムスタンプ(最終更新時刻)での秒の表示
% ls -l [-d] --full[-time] file [...] または % stat -c "%n: %y" file [...]
ClamAV (Clam AntiVirus)への移行 [Linux]
これまで Linux 上でのウイルスチェックには、下記のフリー版を使用してきた。
・Avira AntiVir Personal (v2.1)
・BitDefender Antivirus Scanner for Unices
しかし、下記の理由から、もうすぐ使用できなくなる(いつまで使用できるかは不明)。
・Avira AntiVir Personal
2016-06-30 をもって、Linux 版のサポートが終了となる。
・BitDefender Antivirus Scanner for Unices
2016-02-02 付けで、今後はサポートされない旨の告知があった。
また、2016-06-20 時点で、フリー・ライセンスの更新ページがなくなっている。
(年次でのフリー・ライセンスの更新ができず、ウイルス情報を更新できなくなる。)
このため、ClamAV (Clam AntiVirus) への移行を行った。
2. 要件
・ウイルス情報の更新、ウイルスチェックは cron を使用して時刻指定で起動する。
(また、必要な場合には、任意のタイミングで手動で起動する。)
・複数の Linux をマルチブートするため、ウイルス情報を共有する。
(CentOS 6、CentOS 7、Debian 7、Debian 8 で共有する。)
・受信メールのウイルスチェックは、Procmail と ClamAV を組み合わせて実施する。
(詳細は省略。また、ISP が当該機能を無料で提供する場合には、そちらを使用する。)
3. 前処理
ウイルス情報を共有するため、実行ユーザーの UID、GID を統一する。
設定例は、下記の通りである。
(1) CentOS 6 の場合
# grep clam /etc/group clam:x:502: # grep clam /etc/passwd clam:x:131:502::/var/lib/clamav:/bin/false
(2) CentOS 7 の場合
# grep clam /etc/group clamupdate:x:502: # grep clam /etc/passwd clamupdate:x:131:502::/var/lib/clamav:/sbin/nologin
(3) Debian 7、Debian 8 の場合
# grep clam /etc/group clamav:x:502: # grep clam /etc/passwd clamav:x:131:502::/var/lib/clamav:/bin/false
4. インストール
(1) CentOS 6 の場合
EPEL リポジトリから下記のパッケージをインストールする。
clamav-0.99.1-1.el6.i686 clamav-db-0.99.1-1.el6.i686
(2) CentOS 7 の場合
EPEL リポジトリから下記のパッケージをインストールする。
clamav-0.99.1-1.el7.x86_64 clamav-data-0.99.1-1.el7.noarch clamav-filesystem-0.99.1-1.el7.noarch clamav-lib-0.99.1-1.el7.x86_64 clamav-update-0.99.1-1.el7.x86_64
(3) Debian 7、Debian 8 の場合
標準のリポジトリから下記のパッケージをインストールする。
clamav clamav-base clamav-freshclam libclamav7
(補足)
Debian 7 では v0.99、Debian 8 では v0.99.2 がインストールされる。
5. 設定
(1) ウイルス情報の共有のための設定
・/var/lib/clamav/ を 共有ディレクトリに移動する。
・/var/lib/clamav を上記で移動したディレクトリへのシンボリック・リンクにする。
(2) ウイルス情報の更新のための設定
(a) 初期設定の無効化
実施する時刻を独自に設定するため、下記の初期設定を無効にする。
# CentOS 6 の場合
/etc/cron.daily/freshclam
# CentOS 7 の場合
/etc/cron.d/clamav-update
# Debian 7 の場合
/etc/init.d/clamav-freshclam の自動起動
# Debian 8 の場合
clamav-freshclam.service の自動起動
(b) cron への登録
freshclam を実行するためのエントリを追加する。
(3) ウイルスチェックのための設定
(a) cron への登録
clamscan を実行するためのエントリを追加する。
6. 備考
(1) ウイルス情報の取得のために接続するサーバー
下記のファイル内の DatabaseMirror で指定されている。
# CentOS 6、CentOS 7 の場合
/etc/freshclam.conf
# Debian 7、Debian 8 の場合
/etc/clamav/freshclam.conf
(補足)
初期値として指定されているサーバーには複数の IP アドレスが設定されている。
(nslookup の実行結果で確認できる。)
このため、DNS ラウンドロビンによるロードバランシングが行われる。
(2) ウイルス情報の取得時のワーニング
インストールされている ClamAV のバージョンが古い場合に表示される。
(動作上は問題ない。)
(例) WARNING: Your ClamAV installation is OUTDATED! WARNING: Local version: 0.99 Recommended version: 0.99.2
また、--no-warnings の指定により、ワーニングの表示を無効化できる。
MewからFirefoxを起動する設定の変更 [Linux]
しかし、最近、選択する URL によっては、Firefox を起動できないという問題が発生するようになってしまった。そこで、左記問題への対応を行った。
詳細は、以下の通りである。
1. 発生事象
Mew のメール参照において、メッセージ内の URL の選択による Firefox の起動ができないことがある。
・問題を発生する URL とそうでない URL が存在する。
・選択した URL は、指定したスクリプトに正しく引き渡されている。
・上記スクリプトを手動で実行した場合には、問題は発生しない。
・ソフトウェアのバージョン: Mew 6.3/6.4/6.6、Firefox ESR 38.8.0/45.1.1
(1) 関係する設定 (~/.mew.el)
;; browse specified URL (with Firefox) (setq browse-url-browser-function 'browse-url-firefox) (setq browse-url-firefox-program "firefox-mew") (define-key mew-message-mode-map "B" 'browse-url-at-point) (define-key mew-message-mode-map [mouse-2] 'browse-url-at-mouse)
・firefox-mew は、URL($1の値) を指定して Firefox(スクリプト) を実行する。
・Firefox は、バージョン/オプションを指定して firefox コマンドを実行する。
・最終的には、下記のコマンドを実行する。
exec /usr/local/firefox-<ver>/firefox -P www-<ver> -new-tab <url>
2. 対象方法
下記のいずれかの手順を実施する。
2-1. 対処方法-1
browse-url-firefox を browse-url-generic に変更する。
(今回は、こちらでの対応を行った。)
[変更前] (setq browse-url-browser-function 'browse-url-firefox) (setq browse-url-firefox-program "firefox-mew") [変更後] (setq browse-url-browser-function 'browse-url-generic) (setq browse-url-generic-program "firefox-mew")
2-2. 対処方法-2
firefox-mew から直接 firefox コマンドを実行するように変更する。