SSブログ

Debian 8へのアップグレード後の追加設定 [Debian]

先日 Debian 8 へのアップグレードを実施したが、その後、以下の追加設定を行った。

1. getty プロンプトの出力タイミングの補正


getty のプロンプトがブートメッセージの途中で出力される。
・プロンプトの表示後、さらに 1 行のメッセージが出力される。
 (PostgreSQL のワーニングメッセージが表示される。)
・動作上の実害はない。

これを補正するため、/etc/rc.local の最後に下記の設定を追加する。

# delay display of login prompt
sleep 6

2. ブートログ(/var/log/boot) の作成


(1) /etc/init.d/bootlogd の有効化

# cd /lib/systemd/system
# mv bootlogd.service bootlogd.service.org
# mv stop-bootlogd-single.service stop-bootlogd-single.service.org
# mv stop-bootlogd.service stop-bootlogd.service.org


(2) /var/log/boot のローテーション


/usr/sbin/halt.local に下記の設定を追加する。

# rotate /var/log/boot
if [ -f /var/log/boot ] && [ -s /var/log/boot ]; then
    chown :adm /var/log/boot
    savelog -q -p -c 5 /var/log/boot
fi

3. GNOME の edge-tiling 機能の無効化


ウィンドウが画面端でサイズ変更されてしまう機能を無効化する。
(縦方向は画面サイズ、横方向は画面サイズの 1/2 に拡大される。)
設定方法は、下記の通りである。

(1) dconf-editor の起動


[アプリケーション] -> [システムツール] -> [dconf エディター]


(2) 設定画面の選択


org -> gnome -> metacity


(3) edge-tiling の無効化


edge-tiling をチェックを外す。


4. GNOME のタイトルバーへの最大化/最小化ボタンの追加


(1) dconf-editor の起動


[アプリケーション] -> [システムツール] -> [dconf エディター]


(2) 設定画面の選択


org -> gnome -> desktop -> wm -> preferences


(3) button-layout 変更

(変更前)
appmenu:close
(変更後)
appmenu:minimize,maximize,close

5. X のカーソルの色変更(黒地から白地への変更)


X のカーソルが黒地になっており、これを白地に変更する。
下記のいずれかの手順を実施する。

(1) ~/.icons/default/index.theme の作成

% cd
% mkdir .icons/default
% ln -s /usr/share/icons/DMZ-White/cursor.theme index.theme


(2) /etc/alternatives/x-cursor-theme のリンク先の変更

% update-alternatives --display x-cursor-theme
(/usr/share/icons/Adwaita/cursor.theme が選択されている。)

% su
# update-alternatives --config x-cursor-theme
(/usr/share/icons/DMZ-White/cursor.theme を選択する。)

[追記]


Debian 8でPAGERにjlessを指定するとsystemctlがエラーを発生する [Debian]

Debian 8 で 環境変数 PAGER に jless を指定すると、systemctl がエラーを発生する。

1. 発生事象


systemctl コマンドのオプション指定がエラーとなる。

(例)
# systemctl --help
Value is required after -K

2. 原因


systemctl では jless/less のオプションとして "FRSXMK" が使用されるが、Debian の jless の -K オプションとは仕様が異なるためである。

・jless の場合、-K オプションには引数が必要である。
 (less の場合は、必要ない。)


3. 対処方法


・jless を使用する場合
 使用する jless の オプションを環境変数 SYSTEMD_LESS に指定する。

・jless を使用しない場合
 環境変数 SYSTEMD_PAGER に使用するページャーを指定する。
 (環境変数 SYSTEMD_PAGER が未定義の場合には、環境変数 PAGER が使用される。)



Debian 7のgnome-session-fallbackの起動に失敗する [Debian]

1. 発生事象


Debian 7 において、gnome-session-fallback の起動に失敗することがある。

(補足)
・1 回の再実行で改善することもあれば、再実行(5 回程度)では改善しないこともある。
・gnome-session でも同様である。
・fvwm を併用しているが、fvwm は問題なく起動できる。


2. 原因


xscreensaver を使用していたことが原因と思われる。

(補足)
・xscreensaver の使用を止めたところ、上記事象が発生しなくなった。
・gnome-session-fallback 3.4.2.1-4
・xscreensaver 5.15-3


3. 対処方法


xscreensaver の使用を止め、gnome-screensaver に戻す。



Debian 8へのアップグレード [Debian]

今後の Debian 8への完全移行のため、Debian 7 からの移行テストを行った。
以下は、その結果をまとめたものである。

1. アップグレード


アップグレード自体は、標準的な方法で、特に問題なく終了した。
・設定ファイルの更新確認では、現在の設定を使用する方を選択

(標準的なアップグレード手順)
・/etc/apt/sources.list の編集
・apt-get upgrade
・apt-get dist-upgrade


2. アップグレード後の設定変更


(1) gnome-session fallback mode の起動コマンドの変更


GNOME のコマンド体系が変更されたため、~/.xinitrc や ~/.xsession を使用している場合には、起動コマンドの変更を行う。

(変更前)
exec gnome-session-fallback
(変更後)
exec gnome-session --session=gnome-flashback


(2) SCIM から uim への変更 (Fvwm のため)


SCIM を起動すると、Fvwm のルートウィンドウでのマウスクリックが効かなくなる。
このため、SCIM から uim への変更を行う。

手順は、[実施手順] の項に記載。

(補足)
Debian 7 では SCIM を Debin 6.0 のパッケージ(scim_1.4.9-6)にバージョンダウンすることで対応していたが、Debian 8 では左記パッケージのインストールができなかった。


(3) Emacs 24 用の設定の追加


仕様が変更されたため、Emacs 23 と同様に機能するように下記の設定を追加する。
・モードラインの色指定
・マウス選択と C-y でのコピー・ペースト
・改行挿入時の自動インデントの無効化

手順は、[実施手順] の項に記載。


(4) Apache 関連の設定変更


【Apache の設定】
設定項目の仕様変更があり、Apache 2.2 の設定のままでは起動できない。
(LockFile の設定でエラーとなった。)
このため、設定を Apache 2.4 用に変更する。

【PHP の設定】
PHP 5.6.7 にアップデートされたため、文字化けするようになった。
(default_charset の仕様変更のため、Shift_JIS のページが文字化けする。)
このため、default_charset を明示的に指定するように変更する。


(5) カーネルのバージョンアップ


アップグレード前と同じカーネルを使用していると、automount のマウント解除(タイムアウト、USR1 シグナル)ができないことがある。
このため、カーネルのバージョンアップを行う。

(autofs のバージョン)
autofs 5.0.8-2
(変更前のバージョン)
linux-image-3.2.0-4-686-pae 3.2.68-1+deb7u1
(変更後のバージョン)
linux-image-3.16.0-4-686-pae 3.16.7-ckt9-3~deb8u1


(6) systemd 関連の設定


アップグレード前の環境と同等にする(tmpfs の使用は除く)ため、下記の設定を行う。
・Ctrl + Alt + Del の無効化
・gettyのプロントの表示前に画面をクリアしないための設定
・shutdown 時に実行する処理の追加
・tmpfs で使用するメモリサイズの変更

手順は、[実施手順] の項に記載。


3. sysvinit と systemd との共存


現在のところ、共存状態でも特に問題は発生していない。


[実施手順]


anacronの仕様 [Debian]

これまで anacron の設定を変更することがなかったため、cron との違いを含め、仕様を意識することはなかった。
今回、Debian 7 において、anacron の関係する問題が発生し、原因究明のため、anacron の仕様を調べた。得られた情報は、下記の通りである。
なお、基本的な部分は、他のディストリビューションでも同じだと思われる。

1. cron との関係


(1) /etc/crontab との関係


(a) /etc/cron.daily/*


/usr/sbin/anacron が実行できない場合のみ、午前 6:25 に実行される。


(b) /etc/cron.weekly/*


/usr/sbin/anacron が実行できない場合のみ、午前 6:47 に実行される。


(c) /etc/cron.monthly/*


/usr/sbin/anacron が実行できない場合のみ、午前 6:52 に実行される。


(2) /etc/cron.d との関係


/etc/cron.d/anacron で '/etc/init.d/anacron start' が実行される。


2. anacron の特徴


(1) ジョブを実行する条件として、実行間隔(日数)を指定する。


前回の実行から指定日数以上が経過している場合のみ、ジョブを実行する。


(2) ジョブの最小の実行間隔は日次である。


同一のジョブを 1 日に複数回実行することはできない。


(3) 常駐プロセスが存在しない。


ブート時の実行、cron からの定期実行で対応している。


(4) 設定ファイルは /etc/anacrontab である。


3. anacron の設定


/etc/anacrontab に設定を行う。

(1) エントリの第 1 項目に period(日単位での実行間隔) を指定する。


前回の実行からの経過日数の比較に使用する値を指定する。
指定した日数以上経過している場合のみ、指定したコマンドが実行される。


(2) エントリの第 2 項目に delay(分単位で遅延時間) を指定する。


anacron の実行時刻からどれだけ待って実行するかを指定する。


(3) エントリの第 3 項目に job-identifier(ジョブ識別子) を指定する。


anacron でのジョブの識別に使用する識別子を指定する。
この値は、コマンドの実行された日付を保存するファイル名としても使用される。
(/var/spool/anacron/cron 内に当該ファイルが作成される。)

(例) cron{dialy,weekly,monthly}


(4) エントリの第 4 項目に command を指定する。


実行するコマンドを指定する。


4. anacron の実行


(1) ブート時の実行


'/etc/init.d/anacron start' が実行される。


(2) cron(/etc/cron.d/anacron) からの実行


午前 7:30 に '/etc/init.d/anacron start' が実行される。


(補足)
'/etc/init.d/anacron start' では、'/usr/sbin/anacron -s' が実行される。



logrotateでgzip: stdin: file size changed while zippingが発生する [Debian]

[パッケージのバージョン]
・anacron 2.3-19
・logrotate 3.8.1-4
・gzip 1.5-1.1

1. 発生事象


Debian 7 の /etc/cron.daily/logrotate で警告メッセージが出力される。
出力されるメッセージは、下記の通りである。

/etc/cron.daily/logrotate: \
gzip: stdin: file size changed while zipping

2. 対処方法


gzip を Debian 6.0 のもの(gzip 1.3.12-9+squeeze1) に変更する。

・gzip 1.5-1.1 の不具合の場合、これで改善される。
・gzip_1.3.12-9+squeeze1_i386.deb のダウンロードについては、備考を参照。

(1) gzip コマンドのみを置き換える場合


(a) gzip コマンドの取り出し

# dpkg -x gzip_1.3.12-9+squeeze1_i386.deb .


(b) /usr/local/bin/gzip の作成


取り出された ./bin/gzip を /usr/local/bin にコピーする。


(c) PATH の設定変更


PATH の設定で、/bin よりも /usr/local/bin を先にする。


(2) gzip パッケージをバージョンダウンする場合

# dpkg -i gzip_1.3.12-9+squeeze1_i386.deb

3. 備考


(1) gzip 1.3.12-9+squeeze1 のダウンロード


(a) https://packages.debian.org/ja/squeeze/ にアクセスする。

(b) [ユーティリティ] -> [gzip] を選択する。

(c) 該当するアーキテクチャを選択する。 (例: i386)

(d) 使用するサイトを選択する。 (例: ftp.jp.debian.org/debian)

(e) 選択されたファイルを保存する。



Firefoxでメニューバーが機能しないことがある件への対応(2) [Debian]

上記の件について、どうにか状況が改善された。
詳細は、下記の通りである。

1. 発生事象


メニューバーをクリックしても、プルダウンメニューが表示されないことがある。

・何かがトリガとなり発生する。
・Firefox を再起動すると正常な状態に戻る。
・そのまま(10〜15 分程度)使用していると回復することがある。

(補足)
・Debian GNU/Linux 7、および 6.0 上で発生する。
 (CentOS 6 では発生しない。)
・Firefox は、mozilla.org からダウンロードしたものを使用している。
 (Firefox 17.0.x ~ 29.0.x で発生することを確認。)
・日本語入力には、SCIM + Anthy を使用している。


2. 対処方法


下記の手順を実施する。

(1) 環境変数 GTK_IM_MODULE の設定値を変更する。

(変更前) GTK_IM_MODULE=xim
(変更後) GTK_IM_MODULE=scim


Adobe Reader を正常に動作させるために、scim ではなく、xim を設定していた。
(Adobe Reader の起動用スクリプトを作成し、スクリプト内で対応するように変更。)

【Debian GNU/Linux 7 の場合】
この変更により、上記事象が発生しなくなる。

【Debian GNU/Linux 6.0 の場合】
・この変更を行わなくても、上記事象が発生しなくなっていた。
・この変更を行うと、[半角/全角] での日本語入力の開始/終了ができなくなる。
 (Shift + Space では問題ない。)
・上記事象が発生する場合には、GTK_IM_MODULE を未定義にすることを試してみる。
 (例えば、unset GTK_IM_MODULE)


(2) 再起動ボタンを表示するアドオン(再起動ボタン) をインストールする。


上記事象が再発した場合には、このボタンを使用し、Firefox を再起動する。


3. 備考


・関連する記事
 http://dan-project.blog.so-net.ne.jp/2013-01-21
 http://dan-project.blog.so-net.ne.jp/2013-03-10



/etc/init.d/proftpdの実行時にワーニングが出力される [Debian]

1. 発生事象


Debian 7、Debian 6.0 の /etc/init.d/proftpd の実行時にワーニングが出力される。
なお、proftpd は xinetd から起動するように設定しており、正常に動作している。

(1) '/etc/init.d/proftpd start' の実行時 - 起動

ProFTPD warning: cannot start neither in standalone nor in inetd/xinetd \
mode. Check your configuration.


(2) '/etc/init.d/proftpd status' の実行時 - 状態確認

ProFTPd is started in standalone mode, currently not running.

2. 原因


起動時については、xinetd から起動する設定にも関わらず、proftpd の自動起動が有効になっていたためである。
(ランレベル 2-5 で自動起動が有効化されていた。)

さらに、起動時、状態確認時ともに、表示されるメッセーが適切でないのは、xinetd 経由での proftpd の起動について、/etc/init.d/proftpd の想定と /etc/xinetd.d/proftpd の設定が異なるためである。

(1) /etc/init.d/proftpd


xinetd から /usr/sbin/proftpd を起動することが想定されている。

・Debian 7 の場合、proftpd-basic 1.3.4a-5+deb7u1 に含まれる。
・Debian 6.0 の場合、proftpd-basic 1.3.3a-6squeeze7 に含まれる。


(2) /etc/xinetd.d/proftpd


xinetd から /usr/sbin/in.proftpd を起動するように設定されている。

・inetd から xinetd への移行時に、変換ツールで作成されたものを使用している。
 (Debian 6.0 上で、itox コマンドにより /etc/inetd.conf から変換。)


また、上記の想定と実際の設定が一致している場合には、下記の出力となる。

・ProFTPD is started from inetd/xinetd.


3. 対処方法


(1) proftpd の自動起動の無効化

# update-rc.d proftpd disable 2 3 4 5


(2) /etc/xinetd.d/proftpd の変更

# diff proftpd proftpd.sav | expand -4
7c7
<   server          = /usr/sbin/proftpd
---
>   server          = /usr/sbin/in.proftpd


・/usr/sbin/in.proftpd は /usr/sbin/proftpd へのシンボリックリンクである。



GNOME3での日本語入力のキーバインド(wheezy) [Debian]

GNOME 3 (fallback mode) をたまに使用するが、日本語入力の開始/終了を Alt + [半角/全角] にキーバインドできないで不便を感じていた。取り敢えずは、他のキー(Shift + Space) にキーバインドすることで対応してきたが、やはり不便である。

原因は、キーバインドの設定機能の不具合と思われる。
また、キーバインドの無効化はできなくても、他のキーへの変更はできるようである。
詳細は、下記の通りである。

1. 発生事象


キーバインドの設定を無効化しても、実際には無効化できていない場合がある。
・無効化しても、表示が変わるだけであり、実際には無効化されない。

例えば、下記の設定が無効化できず、SCIM での当該キーの設定が有効とならない。
・Alt + [半角/全角] … [ひとつのアプリケーション内のウィンドウを切り替える]


2. 対処方法


無効化できない項目に他のキーをバインドする。

例えば、上記の日本語入力の開始/終了では、下記の手順を実施する。

(1) SCIM で、Alt + [全角/半角] のキーバインドを設定

(2) GNOME のパネルのメニューから [システム設定] を選択

(3) [ハードウェア] の [キーボード] -> [ショートカット] を選択

(4) 左側の [ナビゲーション] を選択

(5) [ひとつのアプリケーション内のウィンドウを切り替える] に別のキーをバインド


(例) Alt + A
・無効化しても、実際には無効化されない。


3. 備考


・参考情報: http://d.hatena.ne.jp/satoru739/20110420/1303391713



Line-inから不要な音声出力が発生する(wheezy) [Debian]

Debian GNU/Linux 7 に更新後、下記の環境において、Line-in から不要な音声出力が数秒間発生するようになってしまった。動作上は特に問題はないため放置して置いたが、少々気になり出したので対応を行った。

【環境】
・ビデオ・キャブチャー・ボードの出力を Line-in に接続。
・ビデオ・キャブチャー・ボードの音声出力には、saa7134 モジュールを使用。

1. 発生事象


下記のタイミングで、Line-in からの不要な音声出力が数秒間発生する。

(1) saa7134 モジュールのロード時

(2) PulseAudio の起動時


GNOME 環境でのみ PulseAudio を使用している。
PulseAudio の起動は、GNOME の開始時に start-pulseaudio-x11 を自動実行することで実現している。


2. 対処方法


(1) saa7134 モジュールのロード時に Line(または Master) をミュートする。


/etc/modprobe.d/ の設定ファイル(video-capture.conf 等)に、下記の設定を追加する。

# suppress noise at load time
install saa7134 \
    /sbin/modprobe --ignore-install saa7134; \
    [ -x /usr/bin/amixer ] && \
        { /usr/bin/amixer -c 0 sset Line off >/dev/null; sleep 2; }; \
    /sbin/modprobe saa7134; \
    [ -x /usr/bin/amixer ] && \
        { sleep 2; /usr/bin/amixer -c 0 sset Line on >/dev/null; }


(2) start-pulseaudio-x11 の実行時に Line(または Master) をミュートする。


下記の内容で、~/bin/start-pulseaudio-x11 を作成する。

# suppress noise at start time
if which amixer >/dev/null; then
    amixer -c 0 sset Line off; sleep 2
    (sleep 10; amixer -c 0 sset Line on) &
fi

exec /usr/bin/start-pulseaudio-x11 "$@"

[追記]


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。