<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF134%3Apar2</id>
		<title>LXF134:par2 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF134%3Apar2"/>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF134:par2&amp;action=history"/>
		<updated>2026-05-13T22:27:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.11.1</generator>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF134:par2&amp;diff=12530&amp;oldid=prev</id>
		<title>Crazy Rebel в 08:20, 1 сентября 2011</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF134:par2&amp;diff=12530&amp;oldid=prev"/>
				<updated>2011-09-01T08:20:22Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 08:20, 1 сентября 2011&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: ''''par2'''' Ус­та­но­ви­те сте­пень по­вре­ж­де­ния – и вос­кре­шай­те дан­ные&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;'&lt;/ins&gt;''''par2&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;'&lt;/ins&gt;'''' Ус­та­но­ви­те сте­пень по­вре­ж­де­ния – и вос­кре­шай­те дан­ные&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==''par2'': Про­верь и по­чи­ни фай­лы==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==''par2'': Про­верь и по­чи­ни фай­лы==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF134:par2&amp;diff=12529&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF134:par2&amp;diff=12529&amp;oldid=prev"/>
				<updated>2011-09-01T08:19:51Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: ''''par2'''' Ус­та­но­ви­те сте­пень по­вре­ж­де­ния – и вос­кре­шай­те дан­ные&lt;br /&gt;
&lt;br /&gt;
==''par2'': Про­верь и по­чи­ни фай­лы==&lt;br /&gt;
&lt;br /&gt;
: '''Бен Мар­тин''' рас­ска­жет, как с по­мо­щью ''par2'' со­брать ма­лень­кую ар­мию вос­ста­но­ви­тель­ных фай­лов, ко­то­рая не даст про­пасть ва­шим дан­ным. &lt;br /&gt;
&lt;br /&gt;
Мно­гим из­вест­но, что кон­троль­ные сум­мы CRC32, SHA-1 и MD5 по­зво­ля­ют с вы­со­кой сте­пе­нью ве­ро­ят­но­сти су­дить о со­хран­но­сти круп­ных фай­лов. С по­мо­щью ''par2'' мож­но оп­ре­де­лить ко­ли­че­ство ко­да для кор­рек­ции оши­бок, а при необ­хо­ди­мо­сти пой­ти даль­ше и реаними­ро­вать слег­ка под­пор­чен­ные фай­лы. Кто зна­ет: мо­жет быть, ви­зит ''par2'' на ста­рый флэш-на­ко­пи­тель или вто­рой DVD с ре­зерв­ной ко­пи­ей дис­сер­та­ции од­на­ж­ды спа­сёт ва­ши тру­ды за 10 лет!&lt;br /&gt;
&lt;br /&gt;
Эле­гант­ность про­грам­мы в том, что мож­но за­ранее соз­дать для ар­хи­ва «де­ре­во» кор­рек­ти­рую­щих фай­лов, и в слу­чае пор­чи ар­хи­ва доста­точ­но бу­дет толь­ко за­гру­зить та­кое ко­ли­че­ство «ре­монт­ных» дан­ных, ко­то­рое со­от­вет­ству­ет уров­ню по­вре­ж­дения, что­бы ар­хив был по­чинен. То есть, ес­ли в 5‑ги­га­байт­ный Live-DVD за­те­са­лась па­роч­ка оши­бок, мож­но за­гру­зить все­го один, очень ма­лень­кий файл для восста­нов­ления ис­прав­ной вер­сии.&lt;br /&gt;
&lt;br /&gt;
Су­ще­ству­ет три основ­ных ре­жи­ма ра­бо­ты ''par2'': соз­дание, про­вер­ка и восста­нов­ление. Па­кет ''par2'' на ма­шине Fedora Linux на­зы­ва­ет­ся '''par2cmdline''' и со­сто­ит из коман­ды ''par2'' и трёх команд-псев­донимов: ''par2create, par2verify'' и ''par2repair''. Вы­зов лю­бой коман­ды оформ­ля­ет­ся оди­на­ко­во, тут не за­пу­та­ешь­ся: ''par2create par2‑file file1 file2'' и т. д., где '''file1 file2''' и им по­доб­ные – име­на фай­лов для соз­дания, про­вер­ки или восста­нов­ления.&lt;br /&gt;
&lt;br /&gt;
===За де­ло...===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF134_62_1.jpg|300px]] На­жав кноп­ку '''Go''', вы уви­ди­те ок­но с ото­бра­же­ни­ем про­цес­са не­по­сред­ст­вен­но из ''par2cmdline''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Од­ной коман­дой ''par2create'' мож­но сгенери­ро­вать восста­но­ви­тель­ные фай­лы аж для 32 000 фай­лов. Про­грам­ма стро­ит пи­ра­ми­ду сво­их фай­лов, при­сваи­вая им име­на с пре­фик­сом '''par2‑file'''. Фай­лы в со­ста­ве пи­ра­ми­ды про­грес­сив­но уве­ли­чи­ва­ют­ся в объ­ё­ме. Ес­ли по­вре­ж­дение незна­чи­тель­но, то неболь­шо­го фай­ла ока­жет­ся доста­точ­но, что­бы спа­сти по­ло­жение. Ка­та­ст­ро­фи­че­скую по­те­рю дан­ных мо­жет за­ле­чить толь­ко круп­ный восста­но­ви­тель­ный файл.&lt;br /&gt;
&lt;br /&gt;
Для де­мон­ст­ра­ции я взял файл '''Fedora-12‑x86_64 DVD.iso'''. Его объ­ём око­ло 3,3 ГБ, а кон­троль­ная сум­ма md5sum вы­гля­дит как '''6dd31e292cc2eb1140544e9b1ba61c56'''. Тести­ро­вание вы­пол­ня­лось на ма­шине с про­цес­со­ром 2,4 ГГц Intel Q6600 и мас­си­вом RAID. Что­бы соз­дать MD5, по­на­до­би­лось 39 се­кунд, а ''par2'' со стан­дарт­ны­ми па­ра­мет­ра­ми ра­бо­та­ла око­ло вось­ми ми­нут. Для соз­дания восста­но­ви­тель­ных фай­лов ISO-об­раза я ис­поль­зо­вал коман­ду ''par2create'' в сле­дую­щей фор­ме:&lt;br /&gt;
&lt;br /&gt;
 par2create Fedora12Par2 Fedora-12-x86_64-DVD.iso&lt;br /&gt;
&lt;br /&gt;
Основ­ной па­ра­метр команд­ной стро­ки, ин­те­ре­сую­щий нас при соз­дании фай­лов ''par2'' – это '''-r'''. По умол­чанию вы­став­ля­ет­ся '''-r5''', для соз­дания из­бы­точ­но­сти в 5 %. Этот па­ра­метр оп­ре­де­ля­ет раз­мер восста­но­ви­тель­ных фай­лов и ко­ли­че­ство оши­бок, ко­то­рые с их по­мо­щью мож­но ис­пра­вить.&lt;br /&gt;
&lt;br /&gt;
Вре­мя, за­тра­чи­вае­мое на соз­дание фай­лов, за­ви­сит от ко­ли­че­ства генери­руе­мых дан­ных. На­при­мер, ес­ли вы хо­ти­те по­лу­чить из­бы­точ­ность 10 %, то вре­мени на это уй­дёт вдвое боль­ше, чем на фай­лы с 5 %‑й до­бав­кой.&lt;br /&gt;
&lt;br /&gt;
Восста­но­ви­тель­ные фай­лы занима­ют ме­сто и тре­бу­ют вре­мени для генера­ции, по­это­му непло­хо бы вы­яснить оп­ти­маль­ный объ­ём из­бы­точ­но­сти. Весь­ма по­лез­ная функ­ция ''par2'' – вы­ра­ба­ты­вать до­полнитель­ный код для восста­нов­ления, ко­то­рый мож­но ис­поль­зо­вать в со­че­тании с го­то­вы­ми фай­ла­ми ''par2''. &lt;br /&gt;
&lt;br /&gt;
На­при­мер, из­на­чаль­но вы сгенери­ро­ва­ли фай­лы ''par2'' с из­бы­точ­но­стью 5 %, но вам со­об­щи­ли о 7 %‑м по­вре­ж­дении. В этом слу­чае с па­ра­мет­ром '''-r5 -fNNN''' мож­но сгенери­ро­вать 5 %‑ю до­бав­ку, на­чи­ная с бло­ка '''NNN'''. Блок '''NNN''' дол­жен быть сле­дую­щим за имею­щи­ми­ся бло­ка­ми. Что­бы най­ти '''NNN''', най­ди­те наи­боль­ший файл ''par2'' – ска­жем, '''F12.vol063+37.par2'''. В нем со­дер­жит­ся 37 бло­ков, на­чи­ная с бло­ка 63. То есть из­на­чаль­но бы­ло соз­да­но 100 бло­ков, и мож­но соз­дать до­полнитель­ный 5 %‑й код для вос-ста­нов­ления, на­чи­ная со сле­дую­ще­го бло­ка с па­ра­мет­ра­ми '''-r5 -f101''' при за­пуске ''par2create''.&lt;br /&gt;
&lt;br /&gt;
===Най­ти и по­чинить===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF134_63_1.jpg|300px]] Что­бы за­щи­тить фай­лы, щелч­ком пра­вой кноп­ки до­бавь­те их в по­ле '''Files To Protect'''. Для про­вер­ки и вос­ста­нов­ле­ния про­сто вы­де­ли­те фай­лы ''par2'' и на­жми­те кноп­ку '''Go'''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Что­бы уз­нать, не из­менил­ся ли DVD-об­раз со вре­мени генера­ции фай­лов ''par2'', скоман­дуй­те:&lt;br /&gt;
&lt;br /&gt;
 par2verify Fedora12Par2.par2 Fedora-12-x86_64-DVD.iso&lt;br /&gt;
&lt;br /&gt;
Ес­ли всё в по­ряд­ке, вы­ве­дет­ся стро­ка ‘All files are correct, repair is not required [Фай­лы в по­ряд­ке, ис­прав­лений не тре­бу­ет­ся]’. За­да­ча ''par2'' – восста­нов­ление по­вре­ж­дён­ных файлов, по­это­му я наме­рен­но на­ру­шил часть ISO-об­раза и восста­но­вил ори­ги­нал. Для встав­ки пря­мо в файл слу­чай­но­го на­бо­ра бай­тов, с за­дан­ным сме­щением от на­ча­ла фай­ла, мож­но ис­поль­зо­вать коман­ду ''dd''. А что­бы ''dd'' не об­ре­за­ла файл до ну­ля байт, необ­хо­ди­мо до­ба­вить клю­чи '''seek''' и '''conv=notrunc'''. Коман­ды '''bs''' (раз­мер бло­ка) и '''count''' уста­нав­ли­ва­ют на­чаль­ную по­зи­цию и объ­ём ко­пи­ро­вания. Сле­дую­щим на­бо­ром команд мы вве­дем 4 КБ слу­чай­ных дан­ных в ISO-об­раз, на­чи­ная со сме­щения 16 КБ от на­ча­ла фай­ла.&lt;br /&gt;
&lt;br /&gt;
 dd \&lt;br /&gt;
 if=/dev/urandom \&lt;br /&gt;
 of=Fedora-12-x86_64-DVD.iso \&lt;br /&gt;
 bs=1 count=4096 seek=16384 \&lt;br /&gt;
 conv=notrunc&lt;br /&gt;
&lt;br /&gt;
По­сле раз­ру­ше­ния 4 КБ дан­ных ко­ман­да ''par2verify'' долж­на со­об­щить о по­вре­ж­де­нии и ко­ли­че­ст­ве бло­ков, не­об­хо­ди­мом для его уст­ра­не­ния.&lt;br /&gt;
&lt;br /&gt;
 par2repair Fedora12Par2.par2 Fedora-12-x86_64-DVD.iso&lt;br /&gt;
 ...&lt;br /&gt;
 Repair is required.[Не­об­хо­ди­мо ис­прав­ле­ние]&lt;br /&gt;
 1 file(s) exist but are damaged. [1 файл(ы) су­ще­ст­ву­ет, но по­вре­ж­ден]&lt;br /&gt;
 You have 1999 out of 2000 data blocks available.[Вам дос­туп­но 1999 из 2000 бло­ков]&lt;br /&gt;
 You have 100 recovery blocks available.[У вас есть 100 вос­ста­но­ви­тель­ных бло­ков]&lt;br /&gt;
 Repair is possible.[Вос­ста­нов­ле­ние воз­мож­но]&lt;br /&gt;
 You have an excess of 99 recovery blocks.[У вас 99 из­бы­точ­ных вос­ста­но­ви­тель­ных бло­ков]&lt;br /&gt;
 1 recovery blocks will be used to repair.[1 вос­ста­но­ви­тель­ный блок бу­дет ис­поль­зо­ван для ис­прав­ле­ния]&lt;br /&gt;
&lt;br /&gt;
Итак, для восста­нов­ления по­на­до­бит­ся все­го один блок. &lt;br /&gt;
&lt;br /&gt;
Как мы уже зна­ем, наи­боль­ший восста­но­ви­тель­ный файл мо­жет иметь на­звание '''F12.vol063+37.par2'''; он со­дер­жит 37 бло­ков, на­чи­ная с 63‑го. Нет ну­ж­ды стар­то­вать все бло­ки с пер­во­го – в слу­чае ка­та­ст­ро­фи­че­ско­го по­вре­ж­дения, тре­бую­ще­го 30 бло­ков для восста­нов­ления, доста­точ­но за­гру­зить толь­ко этот, са­мый боль­шой файл '''F12.vol063+37.par2'''. Ес­ли уда­лось по крайней ме­ре вы­яснить ко­ли­че­ство восста­но­ви­тель­ных бло­ков, ис­пра­вить по­вре­ж­дение ско­рее все­го уда­ст­ся.&lt;br /&gt;
&lt;br /&gt;
Коман­да на ис­прав­ление поч­ти не от­ли­ча­ет­ся от про­ве­роч­но­го ва­ри­ан­та: доста­точ­но вме­сто ''par2verify'' на­брать ''par2repair''. Про­вер­ка дли­лась ми­ну­ту, а на восста­нов­ление по­на­до­би­лось око­ло че­ты­рёх ми­нут. По за­вер­шении ра­бо­ты вы об­на­ру­жи­те ста­рый файл, пе­ре­име­но­ван­ный в '''Fedora-12‑x86_64‑DVD.iso.1''', и восста­нов­лен­ный '''Fedora-12‑x86_64‑DVD.iso'''. Это немно­го сби­ва­ет с тол­ку: ло­гич­но пред­по­ло­жить, что до­бав­ку «'''1'''» по­лу­чит но­вый, восста­нов­лен­ный файл. В ито­ге кон­троль­ная сум­ма MD5 спа­сён­но­го фай­ла со­от­вет­ству­ет ис­ход­ной, а это здо­ро­во.&lt;br /&gt;
&lt;br /&gt;
Недаль­но­вид­но­му поль­зо­ва­те­лю ''par2'', конеч­но, не по­мо­жет. Од­на­ко неболь­шие за­тра­ты сил и вре­мени на по­строй­ку пи­ра­ми­ды вос­ста­но­ви­тель­ных фай­лов мно­го­крат­но оку­пят­ся, ко­гда на­ста­нет час спа­сать свои тру­ды.&lt;br /&gt;
&lt;br /&gt;
===Ин­тер­нет-стра­те­гия===&lt;br /&gt;
&lt;br /&gt;
Вос­ста­нав­ли­вая файл, по­лу­чен­ный из Ин­тер­не­та, луч­ше на­чать с за­груз­ки фай­ла ''par2'' и наи­мень­ше­го по объ­ё­му '''volXX.YY.par2'''. Ес­ли оши­бок не­мно­го, то ''par2repair'' тут же ис­пра­вит их; в про­тив­ном слу­чае вы уз­нае­те, сколь­ко до­пол­ни­тель­ных бло­ков не­об­хо­ди­мо для вос­ста­нов­ле­ния. Воо­ру­жив­шись этим зна­ни­ем, за­гру­жай­те столь­ко до­пол­ни­тель­ных фай­лов '''vol.par2''', сколь­ко нуж­но для вос­ста­нов­ле­ния дан­ных.&lt;br /&gt;
&lt;br /&gt;
===Как по­вы­сить ско­рость===&lt;br /&gt;
&lt;br /&gt;
Ко­ли­че­ст­во ис­поль­зуе­мой па­мя­ти оп­ре­де­ля­ет­ся па­ра­мет­ром '''-m'''. Стан­дарт­ное зна­че­ние '''-m16''' по­зво­ля­ет ис­поль­зо­вать толь­ко 16 МБ ОЗУ, что для со­вре­мен­ных ма­шин не­ак­ту­аль­но. На­при­мер, имея 8 ГБ ОЗУ, я ис­поль­зую зна­че­ние '''-m512''', и вме­сто вось­ми ми­нут нуж­ное ко­ли­че­ст­во вос­ста­но­ви­тель­ных фай­лов ге­не­ри­ру­ет­ся за семь.&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>