[FreeBSD-users-jp 96811] chflags uarch(アーカイブフラグ)について

Masachika ISHIZUKA ish @ amail.plala.or.jp
2021年 6月 22日 (火) 02:36:44 UTC


  石塚@杉並です。

  今までufsで運用していたマシンにSSDを増設したのでzfs化したのですが、
このマシンで14-Currentを'make -j4 buildworld'した所、

(snip)
--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------
(snip)
--- host-symlinks ---
Linking host tools into /usr/obj/usr/src/amd64.amd64/tmp/legacy/bin
cp: chflags: /usr/obj/usr/src/amd64.amd64/tmp/legacy/bin/bzip2: Operation not supported
*** [host-symlinks] Error code 1

と表示されて死んでしまいました。makeworldはNFS上で行っているため
rootではなく一般ユーザでmakeしています。原因を調べた所、

% ls -lo /usr/bin/bzip2
-r-xr-xr-x  3 root  wheel  uarch 34504 Jun 12 22:39 /usr/bin/bzip2*

とuarchive flagがセットされているためにcp -pfでNFS上にuarchive flag
がコピーできないのが原因だと判りました。
  別のufsのマシンを調べた所、uarchive flagはセットされておらず、
今まで無事にmakeできていたのはufsだったからかと思っています。
  ところでこのarchive flagって何の役に立つのでしょうか?
  man 2 chflags を見ると将来は廃止するかもと書かれていますし、
単純にclearしてしまえば良いのでしょうか?

# とりあえず、/bin,/usr/bin,/sbin,/usr/sbinにある全てのファイル
  をchflags nouarchしたらmake buildworldできるようになりました。
-- 
Masachika ISHIZUKA


freebsd-users-jp メーリングリストの案内