私のビルドスクリプトが次のようなものを生成するとしましょう。
build
├── [drwxr-xr-x pskocik pskocik ] bin
│ └── [-rwxr-xr-x pskocik pskocik ] FOO_bin
├── [drwxr-xr-x pskocik pskocik ] include
│ ├── [drwxr-xr-x pskocik pskocik ] FOO
│ │ ├── [-rw-r--r-- pskocik pskocik ] FOO_a.h
│ │ └── [-rw-r--r-- pskocik pskocik ] FOO_b.h
│ └── [-rw-r--r-- pskocik pskocik ] FOO.h
├── [drwxr-xr-x pskocik pskocik ] lib
│ ├── [-rw-r--r-- pskocik pskocik ] libFOO.a
│ └── [-rwxr-xr-x pskocik pskocik ] libFOO.so
└── [drwxr-xr-x pskocik pskocik ] share
└── [drwxr-xr-x pskocik pskocik ] man
├── [drwxr-xr-x pskocik pskocik ] man1
│ └── [-rw-r--r-- pskocik pskocik ] FOO.1.gz
└── [drwxr-xr-x pskocik pskocik ] man3
└── [-rw-r--r-- pskocik pskocik ] FOO.3.gz
8 directories, 8 files
これをコピーするか、このように/usr
コピーする最善の方法は何ですか?/usr/local
- ファイルの属性はroot:rootに戻されます。
- ファイルモードは変更されません。
- (オプションで)すでに存在しない限り、ディレクトリノードにも同様に適用されます(この場合、所有権とスキーマは変更されません)。
?
答え1
rsyncを使用してください。
rsync -rltpDvh --chown root:root build/ /usr/
これは次のことを意味します。
r
:再帰l
:リンクコピーt
:タイムスタンプを維持するp
: 権限の維持D
:--devices
v
:詳細h
:人が読める進行状況
まだインストールしていない場合は、まずパッケージ管理を使用してこの素晴らしいツールをインストールしてください:)
関連情報: