お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2013-10-14 13:19:00

Tomato
新しいメンバ
登録日: 2013-10-14

wakealarmに書き込みができない問題について

サスペンドから自動起動させようと思い、wakealarmに起動時間を書き込もうと思い、以下のようなテストを行いました。そこで以下のようなオペレートを行ったところ、wakealarmに書き込みができないことが分かり、質問させていただいた次第です。

実行した内容

$sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
$sudo sh -c "echo `date '+%s' -d '+ 5 minutes'` > /sys/class/rtc/rtc0/wakealarm"
$cat /sys/class/rtc/rtc0/wakealarm

を実行しましたがwakealarmには何も記載されたいませんでした。

そこで、テストとしてエディターでwakealarmを開き、任意の数字を入れ、保存しようとするとエラーがでて保存できませんでした。具体的には
 viで、"wakealarm" E667: Fsync failed
のエラーでます。

Wakealarmおよびそのディレクトリの書き込み権限はrootであったので、sudo suで上記と同じ手順を実行しましたが同じ結果でした。Rootで
cp ./wakealarm  wakealarm.copy
と実行すると
cp: 通常ファイル `wakealarm.copy' を作成できません: そのようなファイルやディレクトリはありません
とエラーが出ます。実行したディレクトリは755のパーミションがついており、ファイル自体は644,777でも同じ結果でした。


どうもwakealarmがある/sys/devices/pnp0/00:03/rtc/rtc0が書き込み禁止になっているような気がするのですがパーミション自体は問題ないような気がします。
Osは、Ubuntu12.04LSTです。

本件の原因、対策がお分かりの方がいらっしゃいましたらコメントいただければ幸です。

オフライン

 

#2 2013-10-14 13:59:41

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: wakealarmに書き込みができない問題について

/sys/class 以下のファイルは、デバイスへのシンボリック・リンクなので、一般のテキスト・ファイルではありません。
参考: http://www.wdic.org/w/TECH//sys/class

以下のページが、参考になると思います
http://transitive.info/2012/05/25/ubuntu-1204-acpi-wakeup/

オフライン

 

#3 2013-10-14 16:27:28

Tomato
新しいメンバ
登録日: 2013-10-14

Re: wakealarmに書き込みができない問題について

si様、早速のコメントありがとうございます。

シンボリックリンクの件、参考になりました。wakealarmが/sys/devices/pnp0/00:03/rtc/rtc0にあったので、何か特別なファイルかと思い、wakealarmを確認したのですが、これ自体はシンボリックリンクではなく通常ファイルのように見えました。
今後の参考にご存知でしたらお教えいただきたいのですが、このようなファイルは属性的には通常のテキストファイルですが、システム的に特別なファイルだと言う事でしょうか? なにか見極め方があるのでしたらお教えいただければ幸いです。

ご教授、ありがとうございました。

オフライン

 

#4 2013-10-14 18:00:53

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: wakealarmに書き込みができない問題について

Tomato による投稿:

このようなファイルは属性的には通常のテキストファイルですが、システム的に特別なファイルだと言う事でしょうか? なにか見極め方があるのでしたらお教えいただければ幸いです。

私も詳しいわけではありませんので、よく分かりませんが....

/sys 以下のファイルは、/dev 以下のファイルとは違い、通常のファイルとしか見えません。
Linux file hierarchy と、その役割を、知識として、覚えておく以外に無いのかもしれません。
参考: http://oxynotes.com/?p=5987

ただ、個別に見ていけば、ファイルサイズが、0 だったり、4096 だったりと、特別なサイズである事、タイムスタンプが起動した時の時間だったり、奇妙な時間だったりと、普通ではないことは確かなようです。

オフライン

 

#5 2013-10-14 19:50:16

Tomato
新しいメンバ
登録日: 2013-10-14

Re: wakealarmに書き込みができない問題について

si様、解説ありがとうございました。勉強になりました。

オフライン

 

#6 2013-10-15 16:56:13

hito
管理者
登録日: 2007-03-18

Re: wakealarmに書き込みができない問題について

Tomato による投稿:

今後の参考にご存知でしたらお教えいただきたいのですが、このようなファイルは属性的には通常のテキストファイルですが、システム的に特別なファイルだと言う事でしょうか? なにか見極め方があるのでしたらお教えいただければ幸いです。

この手のものは一種のファイルシステムとして実現されているので、mount コマンドでファイルシステムを確認すると判別できます。

典型的には以下のように、「type proc」や「type sysfs」といった名称で見えます。
普通のファイルシステムが「type ext4」などと表示されていることと比較すると分かりやすいと思います。

コード:

$ mount 
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)

オフライン

 

#7 2013-10-16 17:35:49

Tomato
新しいメンバ
登録日: 2013-10-14

Re: wakealarmに書き込みができない問題について

hito様、コメントありがとうございます。
なるほど、mountで見るとそのTypeがわかるのですね。
勉強になりました。ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB