archlinux のバックアップをpuppyが器用にする

自己紹介とか、なんでもいいです。
にぎやかに世間話のできる場所

モデレータ: 暇人, YoN, nyu

返信する
hatahata
記事: 212
登録日時: 14/06/11(水) 11:49

archlinux のバックアップをpuppyが器用にする

投稿記事 by hatahata »

まず

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 26871807 26869760 12.8G 83 Linux
/dev/sda2 * 26871808 53555199 26683392 12.7G 83 Linux
/dev/sda3 53555200 55830527 2275328 1.1G 82 Linux swap / Solaris

/dev/sda2に archlinuxがあります。

しかし ここには puppyのフォルダもあります。
そのために arch だけを /dev/sda1 にバックアップをしたいので、


sda2の / に次のスクリプトをおきます。
sda1は /mnt/sda1としてマウントしておきます。
puppy でバックアップします。

cat /arch-tar.bat

x=`date +%m%d%y`
n='/mnt/sda1/ARCH32-tar-'$x
mkdir -p $n
rm -rf $n/*
( tar cvpf - bin )|(cd $n ; tar xpf -)
( tar cvpf - boot )|(cd $n ; tar xpf -)
( tar cvpf - dev )|(cd $n ; tar xpf -)
( tar cvpf - etc )|(cd $n ; tar xpf -)
( tar cvpf - home )|(cd $n ; tar xpf -)

( tar cvpf - lib )|(cd $n ; tar xpf -)
( tar cvpf - mnt )|(cd $n ; tar xpf -)
( tar cvpf - opt )|(cd $n ; tar xpf -)
( tar cvpf - proc )|(cd $n ; tar xpf -)
( tar cvpf - root )|(cd $n ; tar xpf -)

( tar cvpf - run )|(cd $n ; tar xpf -)
( tar cvpf - sbin )|(cd $n ; tar xpf -)
( tar cvpf - srv )|(cd $n ; tar xpf -)
( tar cvpf - sys )|(cd $n ; tar xpf -)
( tar cvpf - tmp )|(cd $n ; tar xpf -)

( tar cvpf - usr )|(cd $n ; tar xpf -)
( tar cvpf - var )|(cd $n ; tar xpf -)

すると
sda1に ARCH32-tar-031515なフォルダができてそのなかに arch がbckupされます。

ーーーーーーーーーーーーーーーーーーーーーー
レストアは ずっとらくで 
まず sda2の /で

rm -rf bin
rm -rf boot
rm -rf dev
rm -rf etc
rm -rf home

rm -rf lib
rm -rf mnt
rm -rf opt
rm -rf proc
rm -rf root

rm -rf run
rm -rf sbin
rm -rf srv
rm -rf sys
rm -rf tmp

rm -rf usr
rm -rf var
と綺麗さっぱりにけしてから

このARCH32-tar-031515フォルダに入って
sda2 が /mnt/sda2 でマウントされているとして
( tar cvpf - . )|(cd /mnt/sda2 ; tar xpf -)
です。


archはいれるのが結構手間なのでこわれると面倒です。
かといって cp -r では 所有者がroot に変わります。
それでこうしました。 

でもtar では ながったrしいスクリプトになります。
なにかcpでうまい方法はないでしょうか?

archは braseroなどが最新のアプリになりますが、 cupsをいれるのも相当面倒で あんまり面倒なのでcupsをのけようとすると ひきづられているものまでなくなりarchが起動もできなくなりました。こういうことがあるので バックアップが必須とおもいます。

なおこの方法は 汎用性があり ubuntu でも BSD系でもつかえます。
( tar cvpf - . )|(cd /mnt/sda2 ; tar xpf -) はBSD系でHDDをより小さいハードディスクにクローンするときによく使ってました。
ーーー
http://hatahata50.blogspot.jp/2014/11/arch-linux.html
by hatahata
最後に編集したユーザー hatahata [ 15/03/16(月) 13:28 ], 累計 4 回
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: archlinux のバックアップをpuppyが器用にする

投稿記事 by シノバー »

hatahata さんが書きました:cp -r では 所有者がroot に変わります。
cp -a だとOKのはず。
man cp
The bar master, Shino's Bar
http://shinobar.net/
hatahata
記事: 212
登録日時: 14/06/11(水) 11:49

Re: archlinux のバックアップをpuppyが器用にする

投稿記事 by hatahata »

おかげさまで puppy で cp -ar したフォルダをDVDに焼くと

# ls -l /mnt/sr0/ARCHno1/home/tuyosi/
total 11
drwxr-xr-x 2 ftp disk 2048 12月 1 10:52 Desktop
drwx------ 2 ftp disk 2048 11月 27 08:38 Downloads
-rw-r--r-- 1 ftp disk 1170 11月 27 08:39 cgoban.jnlp
-rwxr-xr-x 1 ftp disk 52 11月 28 11:41 http://www.bat
と root以外のものが出現しました。
これを別のPCにコピーして 流用するつもりでしたが
cp: will not create hard link ‘/mnt/sda2/etc/xdg/systemd/user’ to directory ‘/mnt/sda2/etc/systemd/user’
cp: will not create hard link ‘/mnt/sda2/lib/icu/current’ to directory ‘/mnt/sda2/lib/icu/54.1’
などでだめです。
HDDへのバックアップでは大丈夫です。

bsdでは 調べると  -aではなく
-p Preserve in the copy as many of the modification time, access
time, file flags, file mode, user ID, and group ID as allowed by
permissions.
のようです。
hatahata
記事: 212
登録日時: 14/06/11(水) 11:49

Re: archlinux のバックアップをpuppyが器用にする

投稿記事 by hatahata »

DVDへのバックアップができたような感じです。

puppyをつかって
archの入ってる/に行って
cat arch-cpa.bat
--------------------------
echo ' input name DATE '
read x
n='ARCH32-'$x
rm -rf ./$n
mkdir -p ./$n

cp -ar bin ./$n
cp -ar boot ./$n
cp -ar dev ./$n
cp -ar etc ./$n
cp -ar home ./$n
cp -ar lib ./$n
cp -ar mnt ./$n
cp -ar opt ./$n
cp -ar proc ./$n
cp -ar root ./$n
cp -ar run ./$n
cp -ar sbin ./$n
cp -ar srv ./$n
cp -ar sys ./$n
cp -ar tmp ./$n
cp -ar usr ./$n
cp -ar var ./$n


-----------------------------
そして 今度はarch で
cd /ARCH32-1206
とフォルダにはいって
tar -czvf /ARCH32-1206.tar.gz .
とファイルにします。

そのファイルを
growisofs -Z /dev/sr1 /ARCH32-1206.tar.gz
と焼きます。

それから
cd 「archをいれるところ」
にいってここで
/dev/sr1 on /run/media/tuyosi/CDROM ゆえtar -xvzf /run/media/tuyosi/CDROM/arch32_1.tgzです。

冗長ですが、 archをDVDの形で持ち運べるようになり、インストールは解凍になります。
cpしてtarしてgrowisofsしてと冗長です。dd gzipで一気にいけそうな気がします。
ともかくもDVDあるいはblurayにバックアップできたようです。(bin以下を消してからやってみましたが、できました)
すると slackoをつかうと archだけではなく ubuntuも同じ手法でできそうですが、 いかんせんubuntuは巨大なので
dvdでは無理でblurayの登場か あるいは http://www.nikep.net/new-backup-method. ... なるのではと思います。 
puppyは器用で便利です。(puppyがarchのフォルダの中にファイルという形でいても puppyが起動した時点で archは固定されている。だからarchのバックアップができたわけで こんなのが bsdにもあったらいいと思う。 自分が知らないだけかも)
ーーー
http://hatahata50.blogspot.jp/2014/11/arch-linux.html
by hatahata
hatahata
記事: 212
登録日時: 14/06/11(水) 11:49

Re: archlinux のバックアップをpuppyが器用にする

投稿記事 by hatahata »

partclone を使えばラクと思いました。

p571にあります。

/dev/sda1 にp571があり、
/dev/sda1 にarchがあるとして、


cat /initrd/mnt/dev_save/backup-arch---partclone.bat
#To backup without compression
partclone.ext4 -c -s /dev/sda2 -o /initrd/mnt/dev_save/image_sda2.pcl

#To restore it:
#partclone.ext4 -r -s /initrd/mnt/dev_save/image_sda2.pcl -o /dev/sda2

が  ラクですが、問題はパーティション全体のバックアップで、フォルダを選べません。

ーーー
以下の感じで進行します。
# partclone.ext4 -c -s /dev/sda2 -o /initrd/mnt/dev_save/image_sda2.pcl
Partclone v0.2.43 http://partclone.org
Starting to clone device (/dev/sda2) to image (/initrd/mnt/dev_save/image_sda2.pcl)
Reading Super Block
Elapsed: 00:00:04, Remaining: 00:00:00, Completed: 100.00%
Total Time: 00:00:04, 100.00% completed!
done!
File system: EXTFS
Device size: 13.7 GB
Space in use: 11.0 GB
Free Space: 2.7 GB
Block size: 4096 Byte
Used block : 2688385
Elapsed: 00:21:24, Remaining: 00:07:48, Completed: 73.28%, 377.08MB/min,
...
最後に
Syncing... OK!
Partclone successfully cloned the device (/dev/sda2) to the image (/initrd/mnt/dev_save/image_sda2.pcl)
Cloned successfully.
返信する