Nowe posty

Autor Wątek: Kompresja obrazu partycji gzip`em - 160% objętości!  (Przeczytany 3403 razy)

palabdul

  • Gość
Witam serdecznie,

Mam dwieście maszyn, na których pracuje Windows XP Pro. Przygotowałem sobie obraz partycji systemowej (50GB) zajętej w ok. 36% - 18GB.
Znajduje się na niej oprogramowanie edukacyjne: środowiska programistyczne, bazy danych, programy graficzne, programy biurowe.

Obraz tworzę w taki sposób:

1. Przede wszystkim niewykorzystane miejsce zapełniam plikiem wypełnionym zerami (zostawiam 500MB wolnego miejsca) :
fsutil file createnew X:\\katalog\\plik wielkość w bajtach
2. Uruchamiam komputer wykorzystując LiveCD

3. Montuje zasób sieciowy, na który wrzucę obraz
mkdir /mnt/image
mount -o username=użytkownik //adres_serwera/udział /mnt/image
4.Kopiuję partycję na udział - kompresując go w locie
dd if=/dev/hda1 | gzip > /mnt/image/obraz.img.gz
Po kilku godzinach otrzymuję gotowy obraz, który zajmuje 27GB !!!

Wiecie dlaczego tak się dzieje ?

Pozdrawiam

micu

  • Gość
Kompresja obrazu partycji gzip`em - 160% objętości!
« Odpowiedź #1 dnia: 2009-09-18, 10:28:13 »
Hej,

Spróbuj na samym początku (jeszcze przed punktem 1) zdefragmentować dysk. Nie wiem na ile to pomoże ale na pewno nie zaszkodzi.

Pozdrawiam
Micu

palabdul

  • Gość
Kompresja obrazu partycji gzip`em - 160% objętości!
« Odpowiedź #2 dnia: 2009-09-18, 10:34:41 »
Dzięki Micu za odpowiedź - też o tym w pewnym momencie pomyślałem ale nie dało to nic niestety..

volt3r

  • Gość
Kompresja obrazu partycji gzip`em - 160% objętości!
« Odpowiedź #3 dnia: 2009-09-18, 10:36:44 »
Pakujesz partcję a nie dane. Nie masz możliwości zagwarantownia że te pozostałe 34gb to same zera które się ładnie spakują. Pakuj dane a nie partycję to będzie normalnie.

chmooreck

  • Gość
Kompresja obrazu partycji gzip`em - 160% objętości!
« Odpowiedź #4 dnia: 2009-09-18, 12:33:25 »
zrób sobie drugą, bliźniaczą partycję, zapisz ją samymi zerami, utwórz świeży system plików, przegraj na nią dane i dopiero tak przygotowana partycję pakuj - powinno być dużo lepiej

arctgx

  • Gość
Kompresja obrazu partycji gzip`em - 160% objętości!
« Odpowiedź #5 dnia: 2009-09-18, 15:42:02 »
Czyżby nie wystarczyło stworzenie obrazu zamontowanego jako loop?
dd if=/dev/zero of=obraz bs=1G count=20
mkfs.ext2 obraz # ew. inny system plików: nie wiem czy księgowanie potrzebne na rzecz archiwum
mount -t ext2 -o loop obraz /punkt/montowania
O odmontowaniu nie zapomnij ;)

Wadą tego jest sztywny rozmiar obrazu. Może lepiej używać tara czy cpio, a potem kompresować?

Przy okazji wzmianka o komprezji LZMA (np. narzędziem lzip, cytat z jego paczki):
Cytuj
Lzip decompresses almost as fast as gzip and compresses better than bzip2,
 which makes it well suited for software distribution and data archiving.
tar cvf plik.tar.lz -I /usr/bin/lzip pliki do archiwum
Nie porównywałem, poprzestaję na cytacie i eksperymentalnym utworzeniu archiwum ;)