0

次のようなrpm消去の問題があります

rpm -e <package>

ソフトリンクされたディレクトリが削除されます。一方、ディレクトリがリンクではなく単なるディレクトリである場合は、正常に機能します。

これを調査するために、私は余分な冗長出力-vvを試してみましたが、多くの情報が表示されます。そのうちのいくつかは、操作されるディレクトリとファイルに関するものです。しかし、出力の読み方がわからず、詳細を説明するリソースをグーグルで検索することもできませんでした。

問題の出力の例は次のとおりです。

D:     erase: waitpid(4409) rc 4409 status 0 secs 1.107
D: fini      100755  1 (65534,65533)       105 /usr/foobar/tomcat/logs/om_be/dummy.log 
D: fini      040755  2 (65534,65533)      4096 /usr/foobar/tomcat/logs/om_be 
D: fini      100755  1 (65534,65533)       105 /usr/foobar/tomcat/logs/mc_be/dummy.log 
D: fini      040755  2 (65534,65533)      4096 /usr/foobar/tomcat/logs/mc_be 
D: fini      100755  1 (65534,65533)       105 /usr/foobar/tomcat/logs/dummy.log 
D: fini      120755  1 (65534,65533)        24 /usr/foobar/tomcat/logs 
D: fini      040755  2 (65534,65533)      4096 /usr/foobar/tomcat 
D: fini      100755  1 (   0,   1)      4293 /usr/foobar/share/mrtg2/icons/mrtg-ti.png 
[1]          [2]    [3]     [4]         [5]     [6]

[1]D:デバッグ出力を示しているのではないかと思います。しかし、どうfiniですか?何か意味はありますか?

[2]この数字のグループ(そのうちの6つ)はどうですか。許可モードの設定のようですが、数が多すぎます。少なくとも最後の3桁は8進数モードの値のように見えますが、最初の3桁がどうなるかわかりません。

[3]この列が何を表しているのかわかりません

(##,##)[4]この部分は、このための期待値と一致するため、所有者とグループのアクセス許可であると推測しています。

[5]この数字が何を表しているのかわかりません。多分サイズ?

[6]ディレクトリ名とファイル名を認識しています。:)

4

1 に答える 1

1

デバッグ出力はlib/fsm.c(関数fsmStage) から取得されます。関連するコード スニペット:

rpmlog(RPMLOG_DEBUG, " %8s %06o%3d (%4d,%4d)%10d %s %s\n",
            cur,
            (unsigned)st->st_mode, (int)st->st_nlink,
            (int)st->st_uid, (int)st->st_gid, (int)st->st_size,
            (fsm->path ? fsm->path : ""),
            _fafilter(fsm->action));

実行中のアクションの現在の状態の文字列表現はどこcurにありますか (あなたの場合、アクションは消去であり、後続のタスクの現在の状態は * fini *shed successfully でした)。stが標準なstruct statので、、 、、のmode数があります。hardlinksuidgidfile/dir sizepath

デバッグ項目のほとんどを正しく推測しました。モードは単純な 4 桁の 8 進数ではなく、もう少し複雑です。stat2 マンページより: 次のフラグが st_mode フィールドに定義されています。

       S_IFMT     0170000   bit mask for the file type bit fields
       S_IFSOCK   0140000   socket
       S_IFLNK    0120000   symbolic link
       S_IFREG    0100000   regular file
       S_IFBLK    0060000   block device
       S_IFDIR    0040000   directory
       S_IFCHR    0020000   character device
       S_IFIFO    0010000   FIFO
       S_ISUID    0004000   set UID bit
       S_ISGID    0002000   set-group-ID bit (see below)
       S_ISVTX    0001000   sticky bit (see below)
       S_IRWXU    00700     mask for file owner permissions
       S_IRUSR    00400     owner has read permission
       S_IWUSR    00200     owner has write permission
       S_IXUSR    00100     owner has execute permission
       S_IRWXG    00070     mask for group permissions
       S_IRGRP    00040     group has read permission
       S_IWGRP    00020     group has write permission
       S_IXGRP    00010     group has execute permission
       S_IRWXO    00007     mask for permissions for others (not in group)
       S_IROTH    00004     others have read permission
       S_IWOTH    00002     others have write permission
       S_IXOTH    00001     others have execute permission
于 2013-09-01T09:00:15.760 に答える