最初は数GバイトのハードディスクにインストールしたLinux。しかし使い込んでいくうちに,「/home/」や「/usr/」などのディレクトリ下の容量が増えてしまい,ほかのパーティションやドライブに移したり構成を変えたいといった考えもでてくるだろう。そんな時に注意しなければならないのは,次の点だ。
1の方法を実現するには,cpあるいはtarコマンドを使うのがよい。
tarコマンドを使う方法
$ tar cf - ./home/ | (cd /hdb; tar xpvf -) |
tarは,複数のファイルを1つにまとめる(アーカイブ)コマンドだ。本来は,テープメディアなどへのバックアップが主な用途である。
「cf」オプションは,「c」がcreate(作成),「f」は続けてファイル名を指定する意味だ。ここではファイル名を省略し,「-」と指定することで標準出力への書き込みとしている。次の「./home/」は,アーカイブを行う移動元のファイル(ディレクトリ)だ。
「|」はパイプ指定で,これまでの指定をそのまま通すことを示す。次の指定を行った上でカッコで囲む部分は,cd /hdbがディレクトリの移動,さらに「;」(続けて次の指定)に続き,/hdbのディレクトリ下でtarを使いアーカイブを展開する。
「x」はアーカイブされているファイルを展開する指定だ。「p」はパーミッション保存したまま,「v」は経過を表示する指定である。「f」は前述したようにファイル名指定となる。最後の「-」は,前述の標準出力されたファイルを扱うという意味だ。
cpコマンドを使う場合
最近のLinux(ディストリビューション)であれば,次のようなcpコマンドでもよいだろう。tarに比べ,簡単な構文でパーミッションを保持したままコピーすることができる。
$ cp -av /home /hdb |
Copyright © ITmedia, Inc. All Rights Reserved.