
Ubuntu日本語フォーラム
ログインしていません。
Ubutuを9.10から使いはじめた初心者です。
チェコ製のウイルス駆除ソフトavast!を導入し、ウイルスチェックをしておりました。動作が軽快で重宝しています。
日頃からアップデートマネジャーでUbutuの更新をしておりますが、日本時間3月31日のアップデート後、avast!が「An error occurred in avast! engine: Invalid Argument」というメッセージを出し、動かなくなりました。
再インストールを何度も試み、その後もUbutuのアップデートを同様に行っておりますが、avast!は、そのかいもなく、同じエラーメッセージで動作しません。
どのように対処したら動作するようになるのか、お教えいただけないでしょうか?
宜しくお願い申し上げます。
オフライン
ubuntu9.04でも同じ症状が出ました。
googleで検索した結果、日本語のサイトに答えは見つかりませんでした。
英語のサイトですがここを参照しました。
http://forum.avast.com/index.php?topic=57775.0
見よう見まねで、管理者権限で/etc/init.d内にあるrcSをgeditで編集しました。
デフォルトでは
____________________
#! /bin/sh
#
# rcS
#
# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
#
exec /etc/init.d/rc S
______________________
ですが、これを
______________________
#! /bin/sh
#
# rcS
#
# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
#
echo 128000000 >/proc/sys/kernel/shmmax
exec /etc/init.d/rc S
_____________________
にします。
つまり「echo 128000000 >/proc/sys/kernel/shmmax」を追記します。
ただし、何かあった時のため元のrcSはコピーでバックアップしておきます。
PCを再起動し、Avast!を起動すると一度は警告が出ますが、無事動きました。
ですが・・・
この記述が何を意味しているのか、どのような危険があるのか私にはよく分かりません。
どなたか御教授願います。
オフライン
ttp://forum.avast.com/index.php?topic=57775.0 をみると
「最新のバージョンだと、共有メモリが不足するので、増やしなさい」
ということでしょう
shmmaxは、
http://variable.jp/linux/2007/09/shmmax.html
参照してください(shmmax は、たくさん、ネット検索でヒットします)
オフライン
daxmarkさん、siさん、本当にありがとうございます!
早速、おっしゃる通り、/etc/init.d/rcSにecho以下を書き加えて、再起動し実行したところ、正常に動作するようになりました。
共有メモリが不足していたとは・・・
感謝感激です!Ubutu日本語フォーラムのメンバのみなさん、重ねて厚く御礼申し上げます!!!
オフライン
siさんありがとうこさいます。
shmmaxを調べてみました。
1.実装メモリの半分までが妥当
2.共有メモリを増やすとOSの分のメモリが減少する
と理解しましたが正しいでしょうか?
ua6ta123さんごめんなさい。
#2の記述だとkernelのアップデート後にまた再発するという書き込みもありましたね。
「echo 128000000 >/proc/sys/kernel/shmmax」ではなく
「sysctl -w kernel.shmmax=128000000」
がいいとのこと。
http://forum.avast.com/index.php?topic=57775.0
の2ページ目を見落としていました。
___________________
#! /bin/sh
#
# rcS
#
# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
#
sysctl -w kernel.shmmax=128000000
exec /etc/init.d/rc S
___________________
今更ながら、学生時代もっと真剣に英語やっとけば良かったと反省してます。
オフライン
shmmaxを調べてみました。
1.実装メモリの半分までが妥当
2.共有メモリを増やすとOSの分のメモリが減少する
と理解しましたが正しいでしょうか?
私も詳しい事は分かりません。
(長いこと、PCユーザやっているので、語句とか、調べ方を知っているだけです)
とりあえず
http://d.hatena.ne.jp/shibainu55/20090924/1253774971
が比較的分かりやすいかも?
基本的なことかから調べたいのなら、古いですが
http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel-4.html
オフライン
daxmarkさん、siさん、ありがとうございます。
#でecho以下をコメントアウトしてから、sysctl以下を記述し、再起動後実行し、正常動作を確認いたしました。
懇切丁寧にありがとうございました。
オフライン
siさん、お手数お掛け致しました。
ありがとうございます。
おぼろげながらに理解できた気がします。
もっと勉強しないといけませんね。
私には奥が深すぎます。
これからも頑張ります。
オフライン
こんにちは、私のUbuntuをアップグレードして、ついでにセキュリティソフトをインストールしたらエラーが出て、検索した結果、ここに出ました。ついでですが、コメントいたします。
エラーの原因は共有メモリで、shmmaxの割り当て量が問題なのであれば、まずは下記のコマンドで現在の共有メモリを確認します。
# cat /proc/sys/kernel/shmmax
33554432
上記の単位はバイトなので、32MBです。128MBにするには上記を4倍すればいいかと思います。
# vi /etc/sysctl.conf
下記を追記(128MBにするなら下記を最終行追記でOK)
kernel.shmmax=134217728
保存して、下記のコマンドで反映します。
# sysctl -p
これで再起動してもカーネルパラメータが反映され続けます。ちなみに私の環境ではうまく行きました。(上記の操作は全てrootで行って下さい。)
オフライン
novitaさん、お知らせありがとうございます。
私は、Ubuntuも10.04LTSにアップグレードしましたが、avast!には、同様のエラーが出ました。(単に、/etc/init.d/rcSが初期化されただけですが...)
ところで、daxmarkさんとsiさんは、/etc/init.d/rcSの編集をお勧めされていましたが、
novitaさんは、/etc/sysctl.confに共有メモリの拡張を記述する方法なのですね、
共有メモリを拡張するという点では、同じこととも推測されますが、
両者に、何か根本的な違いとか、novitaさんのお勧めの方が安定性などメリット高い理由などありましたら、
教えていただきたいのですが、お願いできますでしょうか?
オフライン
ua6ta123 による投稿:
ところで、daxmarkさんとsiさんは、/etc/init.d/rcSの編集をお勧めされていましたが、
novitaさんは、/etc/sysctl.confに共有メモリの拡張を記述する方法なのですね、
共有メモリを拡張するという点では、同じこととも推測されますが、
両者に、何か根本的な違いとか、novitaさんのお勧めの方が安定性などメリット高い理由などありましたら、
教えていただきたいのですが、お願いできますでしょうか?
こんにちわ。
基本的には違いはありません。init.d配下のファイルにはinit起動時に読み込むファイルです。よって、init起動時(OS起動時)に設定したkernel.shmmaxがカーネルにセットされます。一方、私が提示した方法はカーネルのパラメーター用のファイルです。どちらにしてもカーネルに共有メモリに設定しています。結果論では同じです。
昔、ORACLEをインストールした際に、このsysctl.confに記載してカーネルにセットする方法がマニュアルに書いてあったので、記載させていただきました。
私は思います。個人で使うクライアント端末であれば、使用者である個人がどこに何を設定しているか理解していれば、やり方はなんでもいいと思います。なので、メリットやデメリットはここでは特にないと思います。(私は通常カーネルパラメータの設定はsysctl.confで行います)
…こんな感じでお答えになれば幸いです。
オフライン
Novitaさん、丁寧にありがとうございます。
/etc/sysctl.confは、カーネルのパラメータ用のファイルなのですね。一方/etc/init.d配下のファイルは、init起動時に例えば、sysctlコマンドでカーネルパラメータをセットすることも出来るということなのですね。結果としては、同じでも、改めてLinuxやUnixの奥の深さを感じています。
Novitaさんが、昔、ORACLEをインストールされたのは、SolarisなどのUnixへなのでしょうか? それともLinuxにORACLEをインストールすることも出来るのでしょうか?
非常に興味深く感じます。
とにかく、本当にありがとうございます。大変勉強になります。
オフライン
追伸です。/etc/init.d/rcSを元に戻して、/etc/sysctl.confにkernel.shmmaxに共有メモリ値を設定する方法でトライして見たところ、私の環境でも問題なく動作しました。
Novitaさん、ありがとうございます。
オフライン
Novitaさん、自分で調べるべきところ、伺ってばかりで申し訳ありませんでした。
ORACLEがLinuxをサポートをしていることは、少し調べればすぐ分かることでした。
お詫び致しますと共に、重ねて御礼申し上げます。
オフライン
こんにちは。
私がやっていたのはRHELへのORACLE構築です。ORACLE10gでLinuxへORACLEのインストール、運用の資格も存在しています。Linuxは新しい。だから楽しいですよね。私の知識の乏しいばかりで、聞いてばかりです。フォーラムだから気にしないでいいと思いますよ。わからないことを聞く場ですから。
なにより、小さなナレッジでも後々誰かの役に立てばそれ以上のフォーラムはありません。
問題なくできて何よりです。私も嬉しいです。
オフライン
Novitaさん、こんにちは。 喜んでくださって、私も嬉しいです。
RHEL、ORACLE10gなど、まだ私にとっては、未知の分野ですが、そういったものの存在を知ることができたことだけでもありがたいです。
Novitaさんが、フォーラム内で他の方々にもナレッジをシェアされていることを知り、励まされています。
私は、まだ到底、シェアできるほどの知識を持ち合わせていませんが、これからの勉強の動機になります。
Linux、本当に楽しいですね。ありがとうございます。
オフライン
達人の皆さん こんにちは
Snufkinと申します。
私も全く同じ現象に悩み、ここへたどり着きました。
お陰様で一瞬で解決しました。
皆さん有難うございました。
私よりもっと初心者がこのページにたどり着いた時のために、
> 管理者権限で/etc/init.d内にあるrcSをgeditで編集
については、
端末を起動し、
cd /etc/init.d
sudo gedit rcS
で、示されている1行を加筆し、保存する、というところを蛇足ながら入れておきます。
繰り返しになりますが、皆さん、有難う御座いました。
オフライン