助け合いフォーラム
正解
file original
解説
したがって正解は
・file original
です。
以下は実行例です。
※ファイルの詳細情報を表示するstatコマンドでファイルのタイムスタンプを確認できます。
その他の選択肢については以下のとおりです。
・echo "original" > original
「original」という文字列が「original」ファイルにリダイレクトされ、ファイルの最終変更時刻(mtime、ctime)が更新されるので、誤りです。
・ls -l original > original
「ls -l」コマンドの結果が「original」ファイルにリダイレクトされ、ファイルの最終変更時刻(mtime、ctime)が更新されるので、誤りです。
・touch original
「touch」コマンドはファイルの最終アクセス時刻(atime)のみでなくファイルの最終変更時刻(mtime、ctime)も更新するので、誤りです。
fileコマンドでatimeが更新されない
この問題で、fileコマンドで対象のファイルを処理すると
atimeが更新されるとされていますが、私の環境
(RHELクローンのRocky Linux8.8)では、実行例と
同じ操作をしても、atimeが更新されませんでした。
操作は、rootユーザが実行しました。
この原因/理由について、推測は可能でしょうか。
もし、なにか思いつく方がおられましたら、可能性のある
原因/理由を教えて下さい。
(私の環境での実行例と同じ操作のログ)
[root@rocky01 study]# stat 3705.txt
File: 3705.txt
Size: 53 Blocks: 8 IO Block: 4096 通常ファイル
Device: fd00h/64768d Inode: 34304122 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-07-26 22:35:17.077198384 +0900
Modify: 2023-07-24 22:39:14.256882058 +0900
Change: 2023-07-24 22:39:14.256882058 +0900
Birth: 2023-07-24 22:39:14.256882058 +0900
[root@rocky01 study]#
[root@rocky01 study]# date
2023年 7月 27日 木曜日 15:15:05 JST
[root@rocky01 study]#
[root@rocky01 study]# file 3705.txt
3705.txt: ASCII text
[root@rocky01 study]#
[root@rocky01 study]# stat 3705.txt
File: 3705.txt
Size: 53 Blocks: 8 IO Block: 4096 通常ファイル
Device: fd00h/64768d Inode: 34304122 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-07-26 22:35:17.077198384 +0900 <-更新されない!
Modify: 2023-07-24 22:39:14.256882058 +0900
Change: 2023-07-24 22:39:14.256882058 +0900
Birth: 2023-07-24 22:39:14.256882058 +0900
[root@rocky01 study]#
mount 時にrelatime オプションやnoatime オプションが指定されているためではないでしょうか。
mount | grep relatime
コマンドなどで確認してみてください。
コメント
うーん、私のところではちゃんと変わりましたが…
[root@localhost ~]# cat /etc/rocky-release
Rocky Linux release 8.8 (Green Obsidian)
[root@localhost ~]# mkdir study
[root@localhost ~]# cd study/
[root@localhost study]# cat /dev/urandom | base64 | head -c 53 > 3705.txt
[root@localhost study]# stat 3705.txt
File: 3705.txt
Size: 53 Blocks: 8 IO Block: 4096 通常ファイル
Device: fd00h/64768d Inode: 101011101 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-07-27 10:31:17.694303902 -0400
Modify: 2023-07-27 10:31:17.699303852 -0400
Change: 2023-07-27 10:31:17.699303852 -0400
Birth: 2023-07-27 10:31:17.694303902 -0400
[root@localhost study]# file 3705.txt
3705.txt: ASCII text, with no line terminators
[root@localhost study]# stat 3705.txt
File: 3705.txt
Size: 53 Blocks: 8 IO Block: 4096 通常ファイル
Device: fd00h/64768d Inode: 101011101 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-07-27 10:31:53.690778999 -0400 ←変わっている
Modify: 2023-07-27 10:31:17.699303852 -0400
Change: 2023-07-27 10:31:17.699303852 -0400
Birth: 2023-07-27 10:31:17.694303902 -0400
元々の3705.txtをどう作ったかとかも含めて、全体的な実施手順を開示していただくことは可能でしょうか?
コメント
この投稿に対して返信しませんか?
k kz5835
2023/07/27 22:36
tnishita2様 情報のご提供、誠に有難うございます。 質問対象のatimeが更新されないファイルのディレクトリは /root/study です。 mount | grep relatimeでは、以下の様に、多数の行が出力されましたが /root/studyについての行はありませんでした。 [root@rocky01 study]# mount | grep relatime sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) ---- 省略 ---- mount | grep noatime、mount | grep norelatimeは、なにも出力 されませんでした。 [root@rocky01 study]# mount | grep norelatime [root@rocky01 study]# [root@rocky01 study]# mount | grep noatime [root@rocky01 study]# ご紹介頂いたurlに以下の記述がありました。 「デフォルトでは、relatime が有効な状態ですべてのファイルシステムがマウントされるようになります。」 上記から、/root(およびその配下のディレクトリ) に対しては、デフォルト でrelatimeが有効化されているんおで、mount で、/root/xxxについての情報 が出力されないのかと推測しましたが、その様な理解で正しいでしょうか。 ご存じであれば、教えて下さい。 宜しくお願いします。