PAXTAR(1) General Commands Manual PAXTAR(1)

paxtar — ابزار آرشیو و بایگانی فایل‌ها

paxtar {crtux}[014578abefHhJjLmOoPpqsvwXZz] [blocking-factor | archive | replstr] [-C directory] [-I file] [file ...]

paxtar {-crtux} [-014578aeHhJjLmOoPpqvwXZz] [-b blocking-factor] [-C directory] [-D format-options] [-f archive] [-I file] [-M flag] [-s replstr] [file ...]

دستور paxtar پرونده‌های بایگانی را در قالب “tar” (دقیق‌تر بگوییم، قالب ustar) ایجاد می‌کند، فایل‌هایی را به آن می‌افزاید، یا فایل‌ها را از آن استخراج می‌نماید. یک بایگانی tar اغلب بر روی یک نوار مغناطیسی ذخیره می‌شود، اما می‌تواند به همان خوبی بر روی فلاپی دیسک، CD-ROM یا در یک پرونده معمولی دیسک نیز ذخیره گردد.

در شکل اول (سنتی یا قدیمی)، تمام گزینه‌ها به جز -C و -I باید درون نخستین آرگومان paxtar قرار گیرند و نباید با خط تیره (‘-’) آغاز شوند. آرگومان‌های گزینه‌ها (در صورت وجود) به عنوان شناسه‌های بعدی به paxtar داده می‌شوند و به همان ترتیبی که گزینه‌های متناظر آن‌ها در خط فرمان قرار گرفته‌اند، پردازش خواهند شد.

در شکل دوم (که ترجیح داده می‌شود)، گزینه‌ها می‌توانند به هر ترتیبی مشخص شوند و مقادیر آرگومان‌های متناظر بلافاصله پس از آن‌ها می‌آیند.

یکی از گزینه‌های زیر باید حتماً مشخص شود:

ایجاد یک بایگانی جدید، یا بازنویسی روی بایگانی موجود، و افزودن فایل‌های مشخص‌شده به آن.
افزودن فایل‌های جدید نام‌برده به انتهای بایگانی موجود. توجه داشته باشید که این عمل تنها بر روی رسانه‌هایی کار می‌کند که بتوان علامت پایان فایل (end-of-file) را در آن‌ها بازنویسی کرد.
فهرست کردن محتویات بایگانی. اگر فایلی در خط فرمان مشخص شده باشد، تنها همان فایل‌ها فهرست خواهند شد. آرگومان‌های file می‌توانند به عنوان الگوهای تطبیق مسیر (glob) مشخص شوند (برای اطلاعات بیشتر به glob(7) مراجعه کنید)؛ در این صورت paxtar تمام اعضای بایگانی را که با هر الگو مطابقت دارند فهرست می‌کند.
نام مستعار برای گزینه -r.
استخراج فایل‌ها از بایگانی. اگر فایلی در خط فرمان مشخص شده باشد، تنها همان فایل‌ها از بایگانی استخراج خواهند شد. آرگومان‌های file می‌توانند به عنوان الگوهای تطبیق مسیر (glob) مشخص شوند (برای اطلاعات بیشتر به glob(7) مراجعه کنید)؛ در این صورت paxtar تمام اعضای بایگانی را که با هر الگو تطابق دارند استخراج خواهد کرد.

اگر بیش از یک رونوشت از یک پرونده در بایگانی وجود داشته باشد، در حین استخراج رونوشت‌های بعدی بر روی رونوشت‌های قبلی بازنویسی می‌شوند. حالت دسترسی (file mode) و زمان آخرین تغییر فایل در صورت امکان حفظ می‌شوند. حالت دسترسی فایل ممکن است توسط umask(2) تغییر یابد.

علاوه بر گزینه‌های ذکرشده در بالا، هر یک از گزینه‌های زیر نیز می‌توانند استفاده شوند:

حدس زدن ابزار فشرده‌سازی بر اساس نام پرونده بایگانی. ناتوانی در حدس زدن منجر به عدم استفاده از هیچ فشرده‌سازی بدون نمایش هشدار خواهد شد. این گزینه صرفاً برای سازگاری نسبی با GNU tar وجود دارد؛ اکیداً توصیه می‌شود به جای آن، خروجی را در stdout بایگانی کرده و از طریق لوله (pipe) به یک ابزار فشرده‌سازی خارجی با آرگومان‌های مناسب ارسال کنید:
tar -cf - foo | xz -2e >foo.txz
blocking-factor
تنظیم ضریب بلوک‌بندی (blocking factor) مورد استفاده برای بایگانی. paxtar از بلوک‌های ۵۱۲ بایتی استفاده می‌کند. مقدار پیش‌فرض ۲۰ و بیشینه آن ۱۲۶ است. بایگانی‌هایی با ضریب بلوک‌بندی بزرگتر از ۶۳ استاندارد POSIX را نقض می‌کنند و در همه سیستم‌ها قابل‌حمل نخواهند بود.
directory
یک آرگومان موضعی است که دایرکتوری کاری را برای فایل‌های پس از خود تعیین می‌کند. هنگام استخراج، فایل‌ها در دایرکتوری مشخص‌شده استخراج خواهند شد؛ هنگام ایجاد، فایل‌های مشخص‌شده از آن دایرکتوری انتخاب می‌شوند.
format-options
مشخص کردن قالب بایگانی و گزینه‌های قالب، که با کاما از هم جدا می‌شوند. paxtar در حال حاضر از قالب‌ها و گزینه‌های زیر پشتیبانی می‌کند:
قالب کتابخانه بایگانی‌کننده یونیکس (Unix Archiver). این قالب با مخازن APT و مشخصات ar(1) در BSD مطابقت دارد، نه با GNU binutils (که البته می‌تواند آن‌ها را بخواند) یا سیستم‌های SYSV. برای اطلاعات بیشتر به ar(5) در برخی سیستم‌های عامل مراجعه کنید.
قالب قدیمی باینری cpio. اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. این قالب قابلیت حمل پایینی دارد و زمانی که قالب‌های دیگر در دسترس هستند نباید استفاده شود. اطلاعات Inode و دستگاه یک فایل (که توسط این قالب برای تشخیص پیوندهای سخت فایل استفاده می‌شود) که ممکن است توسط این قالب کوتاه شود، توسط paxtar تشخیص داده شده و ترمیم می‌گردد.
قالب مبادله گسترش‌یافته cpio که در استاندارد IEEE Std 1003.2 (“POSIX.2”) تعیین شده است. اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. اطلاعات Inode و دستگاه یک فایل (که توسط این قالب برای تشخیص پیوندهای سخت فایل استفاده می‌شود) که ممکن است توسط این قالب کوتاه شود، توسط paxtar تشخیص داده شده و ترمیم می‌گردد.
قالب System V نسخه ۴ cpio. اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. اطلاعات Inode و دستگاه یک فایل (که توسط این قالب برای تشخیص پیوندهای سخت فایل استفاده می‌شود) که ممکن است توسط این قالب کوتاه شود، توسط paxtar تشخیص داده شده و ترمیم می‌گردد.
قالب System V نسخه ۴ cpio به همراه چکسام CRC برای فایل‌ها. اندازه بلوک پیش‌فرض برای این قالب ۵۱۲۰ بایت است. اطلاعات Inode و دستگاه یک فایل (که توسط این قالب برای تشخیص پیوندهای سخت فایل استفاده می‌شود) که ممکن است توسط این قالب کوتاه شود، توسط paxtar تشخیص داده شده و ترمیم می‌گردد.
قالب قدیمی BSD tar همان‌طور که در 4.3BSD موجود بود. اندازه بلوک پیش‌فرض برای این قالب ۱۰۲۴۰ بایت است. طول مسیرهای پرونده ذخیره‌شده در این قالب باید ۱۰۰ کاراکتر یا کمتر باشد. تنها فایل‌های معمولی، پیوندهای سخت، پیوندهای نمادین و دایرکتوری‌ها بایگانی خواهند شد (انواع دیگر فایل‌سیستم پشتیبانی نمی‌شوند).

برای سازگاری با قالب‌های حتی قدیمی‌تر tar، می‌توان هنگام نوشتن بایگانی از گزینه write_opt=nodir برای صرف‌نظر کردن از ذخیره دایرکتوری‌ها استفاده کرد.

قالب مبادله گسترش‌یافته tar مشخص‌شده در استاندارد IEEE Std 1003.2 (“POSIX.2”). اندازه بلوک پیش‌فرض برای این قالب ۱۰۲۴۰ بایت است. نام فایل‌های ذخیره‌شده در این قالب باید ۱۰۰ کاراکتر یا کمتر باشد؛ کل مسیر فایل باید ۲۵۶ کاراکتر یا کمتر باشد.

دستور paxtar هر فایلی را که به دلیل محدودیت‌های خاص قالب بایگانی نتواند ذخیره یا استخراج کند، تشخیص داده و گزارش می‌دهد. قالب‌های مختلف بایگانی ممکن است محدودیت‌های بیشتری در استفاده اعمال کنند. محدودیت‌های رایج قالب بایگانی شامل این موارد است (اما محدود به آن‌ها نیست): طول مسیر فایل، اندازه فایل، طول مسیر پیوند، و نوع فایل.

توقف بلافاصله پس از اولین خطا.
archive
نام پرونده‌ای که بایگانی در آن ذخیره می‌شود. مقدار پیش‌فرض /dev/rst0 است. اگر روی خط تیره (‘-’) تنظیم شود، از خروجی استاندارد استفاده خواهد شد. همچنین به متغیر محیطی TAPE مراجعه کنید.
تنها پیوندهای نمادینی که در خط فرمان داده شده‌اند دنبال شوند.
دنبال کردن پیوندهای نمادین به گونه‌ای که گویی فایل‌ها یا دایرکتوری‌های عادی هستند. در حالت استخراج، این بدان معناست که یک مدخل دایرکتوری در بایگانی، پیوند نمادین موجود را بازنویسی نخواهد کرد، بلکه بر روی هدفی که پیوند در نهایت به آن اشاره می‌کند بازنویسی خواهد شد.
file
یک آرگومان موضعی است که نام فایل‌ها برای بایگانی یا استخراج را از فایل مشخص‌شده می‌خواند، در هر خط یک نام.
استفاده از ابزار xz برای فشرده‌سازی بایگانی.
استفاده از ابزار bzip2 برای فشرده‌سازی بایگانی.
مترادف برای گزینه -h.
flag
پیکربندی نرمال‌ساز (نرمالایزر) بایگانی. flag یا یک مقدار عددی سازگار با strtonum(3) است که مستقیماً در کلمه فلگ‌ها ذخیره می‌شود، یا یکی از مقادیر زیر است که می‌توان پیشوند “no-” را برای خاموش کردن آن‌ها به ابتدایشان افزود:
inodes
0x0001: سریال‌سازی اینودها و صفر کردن اطلاعات دستگاه.
(cpio, sv4cpio, sv4crc)
links
0x0002: ذخیره محتوای پیوندهای سخت فقط برای یک بار.
(cpio, sv4cpio, sv4crc)
mtime
0x0004: صفر کردن زمان تغییر فایل (mtime).
(ar, cpio, sv4cpio, sv4crc, ustar)
uidgid
0x0008: تنظیم مالک به 0:0 (root:wheel).
(ar, cpio, sv4cpio, sv4crc, ustar)
verb
0x0010: اشکال‌زدایی این گزینه.
debug
0x0020: اشکال‌زدایی ذخیره‌سازی هدر فایل.
lncp
0x0040: استخراج پیوندهای سخت با کپی کردن در صورت شکست پیوند.
numid
0x0080: استفاده انحصاری از مقادیر عددی برای uid و gid.
(ustar)
gslash
0x0100: افزودن یک اسلش پس از نام دایرکتوری‌ها.
(ustar)
set
0x0003: دست‌نخورده نگه داشتن مالکیت و mtime.
dist
0x008B: پاک‌سازی همه‌چیز به جز mtime.
norm
0x008F: پاک‌سازی تمام موارد.
root
0x0089: پاک‌سازی اطلاعات مالک و دستگاه.

هنگام ایجاد یک بایگانی و فهرست کردن خروجی با جزئیات (verbose)، این عملیات‌های نرمال‌سازی در خروجی منعکس نمی‌شوند، زیرا تنها پس از نمایش خروجی اعمال می‌گردند.

این گزینه تنها برای روال‌های نوشتن قالب‌های فایلی ar، cpio، sv4cpio، sv4crc و ustar پیاده‌سازی شده است.

زمان تغییر فایل (mtime) حفظ نشود.
هنگام خواندن، استخراج فایل‌ها در خروجی استاندارد انجام شود.
هنگام نوشتن، نوشتن بایگانی‌ها به سبک قدیمی (غیر POSIX).
هنگام نوشتن، نوشتن بایگانی‌ها به سبک قدیمی (غیر POSIX).
اطلاعات دایرکتوری که نسخه قدیمی (V7) ابزار tar قادر به رمزگشایی آن نیست نوشته نشود. همانند -D tar,write_opt=nodir.
به دلایل امنیتی، paxtar به‌طور پیش‌فرض از مسیرهای حاوی اجزای دونقطه (“..”) صرف‌نظر کرده و اسلش‌های ابتدایی (‘/’) را از مسیرها حذف می‌کند؛ این گزینه آن رفتار را غیرفعال می‌سازد.
حفظ شناسه کاربر و گروه و همچنین حالت دسترسی فایل صرف‌نظر از مقدار فعلی umask(2). بیت‌های setuid و setgid تنها در صورتی حفظ می‌شوند که امکان حفظ شناسه کاربر و گروه وجود داشته باشد. تنها در ترکیب با گزینه -x معنا دارد.
انتخاب نخستین عضو بایگانی که با هر عملوند file تطابق دارد. برای هر file بیش از یک عضو بایگانی تطبیق داده نمی‌شود. هنگامی که اعضایی از نوع دایرکتوری مطابقت داده شوند، سلسله‌مراتب فایل‌های ریشه‌گرفته از آن دایرکتوری نیز تطبیق داده می‌شود.
replstr
تغییر نام اعضای بایگانی بر اساس عبارت جایگزینی replstr ، با استفاده از نحو عبارات باقاعده ابزار ed(1). می‌توان آرگومان‌های file را برای محدود کردن فهرست اعضای بایگانی به موارد مشخص‌شده تعیین کرد.

قالب این عبارات باقاعده به صورت زیر است:

/old/new/[gp]

همانند ابزار ed(1) ، مقدار old یک عبارت باقاعده پایه است (به re_format(7) مراجعه کنید) و new می‌تواند شامل کاراکتر امپرسند (‘& ،’) مراجع بازگشتی ‘\n’ (که در آن n یک رقم است)، یا تطبیق زیرعبارت باشد. رشته old همچنین می‌تواند شامل کاراکترهای خط جدید (newline) باشد. از هر کاراکتر غیر تهی می‌توان به عنوان جداکننده استفاده کرد (در اینجا ‘/’ نمایش داده شده است). می‌توان چندین عبارت -s را مشخص نمود. عبارت‌ها به همان ترتیبی که در خط فرمان مشخص شده‌اند اعمال می‌شوند و با اولین جایگزینی موفق پایان می‌یابند.

نویسه اختیاری g در انتها، به اعمال عبارت جایگزینی بر روی زیررشته ادامه می‌دهد، که از نخستین کاراکتر پس از پایان آخرین جایگزینی موفق آغاز می‌شود. اولین جایگزینی ناموفق عملکرد گزینه g را متوقف می‌کند. نویسه اختیاری p در انتها، باعث می‌شود که نتیجه نهایی یک جایگزینی موفق در قالب زیر در خروجی استاندارد خطا نوشته شود:

نام‌های پرونده یا اعضای بایگانی که پس از جایگزینی به یک رشته خالی تبدیل شوند، انتخاب نشده و نادیده گرفته خواهند شد.

حالت عملیات پرجزئیات (Verbose). اگر گزینه -v چندین بار مشخص شود یا گزینه -t نیز همراه آن ذکر گردد، paxtar از یک قالب طولانی برای فهرست کردن فایل‌ها مشابه ls(1) -l استفاده خواهد کرد.
تغییر نام تعاملی فایل‌ها. این گزینه باعث می‌شود که paxtar هنگام ذخیره‌سازی یا استخراج فایل‌ها در بایگانی، نام فایل مورد استفاده را از کاربر بپرسد.
از نقاط پیوند (mount points) در سیستم‌فایل عبور نکند.
استفاده از ابزار compress(1) برای فشرده‌سازی بایگانی.
استفاده از ابزار gzip(1) برای فشرده‌سازی بایگانی.

گزینه‌های [-014578] می‌توانند برای انتخاب یکی از دستگاه‌های پشتیبان کامپایل‌شده داخلی، /dev/rstN استفاده شوند.

مسیر مورد استفاده برای ذخیره‌سازی پرونده‌های موقت.
دستگاه نواری پیش‌فرض برای استفاده به جای /dev/rst0. اگر روی خط تیره (‘-’) تنظیم شود، از خروجی استاندارد استفاده خواهد شد.

/dev/rst0
نام بایگانی پیش‌فرض

ابزار paxtar با یکی از مقادیر زیر به کار خود پایان می‌دهد:

0
تمام فایل‌ها با موفقیت پردازش شدند.
1
خطایی رخ داد.

ایجاد یک بایگانی بر روی درایو نواری پیش‌فرض، شامل فایل‌های با نام bonvole و sekve:

$ paxtar c bonvole sekve

ارسال یک بایگانی فشرده‌شده با gzip(1) شامل فایل‌های bonvole و sekve به فایلی به نام foriru.tar.gz:

$ paxtar zcf foriru.tar.gz bonvole sekve

ایجاد یک بایگانی همراه با گزارش جزئیات، به نام backup.tar.gz ، از تمام فایل‌های منطبق با تابع تطبیق مسیر (glob) پوسته glob(7) به الگوی *.c:

$ paxtar zcvf backup.tar.gz *.c

فهرست کردن تمام فایل‌های منتهی به .jpeg از یک بایگانی فشرده به نام backup.tar.gz همراه با جزئیات، بدون استخراج آن‌ها. توجه داشته باشید که الگوی glob برای جلوگیری از بسط داده شدن توسط پوسته در گیومه قرار گرفته است:

$ paxtar tvzf backup.tar.gz *.jpeg

برای مثال‌های دقیق‌تر، به pax(1) مراجعه کنید.

هرگاه paxtar هنگام استخراج یک بایگانی نتواند یک پرونده یا پیوند را ایجاد کند، یا هنگام نوشتن یک بایگانی نتواند فایلی را بیابد، یا در صورت مشخص بودن گزینه -p نتواند شناسه کاربر، شناسه گروه، حالت فایل یا زمان‌های دسترسی و تغییر را حفظ نماید، یک پیام تشخیصی در خروجی استاندارد خطا نوشته شده و یک مقدار خروج غیر صفر برگردانده می‌شود، اما پردازش ادامه خواهد یافت. در حالتی که paxtar نتواند پیوندی به یک فایل ایجاد کند، مگر اینکه گزینه -M lncp داده شده باشد، paxtar رونوشت دومی از آن فایل ایجاد نخواهد کرد.

اگر استخراج یک فایل از بایگانی پیش از موعد توسط یک سیگنال یا خطا متوقف شود، ممکن است paxtar تنها بخشی از فایل مورد نظر کاربر را استخراج کرده باشد. علاوه بر این، حالت‌های فایل برای فایل‌ها و دایرکتوری‌های استخراج‌شده ممکن است دارای بیت‌های نادرست باشند، و زمان‌های تغییر و دسترسی نیز ممکن است اشتباه باشند.

اگر ایجاد یک بایگانی پیش از موعد توسط یک سیگنال یا خطا متوقف شود، ممکن است paxtar تنها بخشی از بایگانی را ایجاد کرده باشد که این امر می‌تواند مشخصات استاندارد قالب بایگانی مربوطه را نقض کند.

ar(1), cpio(1), pax(1), paxcpio(1), tar(1), deb(5)

دستور tar نخستین بار در Version 7 AT&T UNIX ظاهر شد.

Keith Muller در University of California, San Diego. افزونه‌های MirBSD توسط mirabilos ⟨m@mirbsd.org⟩.

گزینه‌های -aDJjLMo در پیاده‌سازی‌های دیگر tar قابل‌حمل نیستند و ممکن است در آن‌ها معنای متفاوتی داشته باشند یا اصلاً وجود نداشته باشند.

این پیاده‌سازی ممکن است از گزینه‌های غیر استاندارد دیگری نیز پشتیبانی کند که به دلیل اعمال منسوخ‌سازیِ منتهی به حذف، مستند نشده‌اند.

قالب پرونده pax هنوز پشتیبانی نمی‌شود.

$Mdocdate: January 5 MirBSD