| TARSNAP(1) | General Commands Manual | TARSNAP(1) |
نام (NAME)
tarsnap —
مدیریت
نسخههای
پشتیبان
رمزشدهٔ
راه دور
خلاصه دستور (SYNOPSIS)
tarsnap {-c}
--keyfile key-file
--cachedir cache-dir
-f archive-name
[options] [files |
directories] tarsnap
{-d} --keyfile
key-file --cachedir
cache-dir -f
archive-name [options]
tarsnap {-t |
-x} --keyfile
key-file -f
archive-name [options]
[patterns] tarsnap
{-r} --keyfile
key-file -f
archive-name tarsnap
{--list-archives} --keyfile
key-file tarsnap
{--print-stats} --keyfile
key-file --cachedir
cache-dir [-f
archive-name] tarsnap
{--recover} --keyfile
key-file --cachedir
cache-dir tarsnap
{--fsck} --keyfile
key-file --cachedir
cache-dir tarsnap
{--fsck-prune} --keyfile
key-file --cachedir
cache-dir tarsnap
{--initialize-cachedir}
--keyfile key-file
--cachedir cache-dir
tarsnap {--nuke}
--keyfile key-file
tarsnap --verify-config
tarsnap --version
توضیحات (DESCRIPTION)
برنامهٔ
tarsnap
نسخههای
پشتیبان
برخط را
ایجاد،
بازخوانی،
حذف و
مدیریت
میکند.
نخستین
گزینه برای
tarsnap
نشانگر
حالت (mode) از
فهرست زیر
است:
-c- ایجاد یک بایگانی شامل موارد و نام مشخصشده.
-d- حذف بایگانی مشخصشده.
-t- فهرست کردن محتویات بایگانی در stdout.
-x- استخراج از بایگانی بر روی دیسک.
-r- خواندن بایگانی مشخصشده، تبدیل آن به یک جریان tar، و نوشتن آن در stdout.
--list-archives- چاپ نام
بایگانیهای
ذخیرهشده.
اگر پرچم
-vیک یا چند بار مشخص شود، زمان ایجاد هر بایگانی نیز چاپ میشود؛ اگر پرچم-vدو یا چند بار مشخص شود، خط فرمانی کهtarsnapبا آن برای ایجاد هر بایگانی فراخوانی شده بود نیز چاپ میشود. --print-stats- چاپ آمارهای سراسری دربارهٔ بایگانیهای ذخیرهشده، و در صورت تمایل اطلاعاتی دربارهٔ بایگانی(های) مشخص. برای اطلاعات دربارهٔ قالب خروجی، بخش «چاپ آمار بایگانی (PRINTING ARCHIVE STATISTICS)» را در زیر ببینید.
--recover- بازیابی یک بایگانی ناقص از یک نقطهٔ بازبینی (checkpoint) در صورتی که چنین بایگانیای وجود داشته باشد. این کار دفعهٔ بعدی که بایگانیای ایجاد یا حذف شود نیز بهطور خودکار انجام میپذیرد.
--fsck- انجام برخی
بررسیهای
یکپارچگی
روی
بایگانیهای
ذخیرهشده،
و بازسازی
دایرکتوری
حافظهٔ
پنهان cache-dir.
در صورت
نامحتمل
وجود
بایگانیهای
خراب،
tarsnapخارج شده و درخواست میکند که با گزینهٔ--fsck-pruneاجرا شود. --fsck-prune- اجرا مانند
--fsck-،اما در صورت شناسایی بایگانیهای خراب، دادههای آسیبدیده هرس (prune) میشوند. --initialize-cachedir- ایجاد و مقداردهی اولیهٔ cachedir. این گزینه برای رابط کاربری گرافیکی (GUI) در نظر گرفته شده و برای استفاده در خط فرمان نیازی به آن نیست.
--nuke- حذف تمامی
بایگانیهای
ذخیرهشده.
برای
محافظت در
برابر از
دست رفتن
تصادفی
دادهها،
هنگام
استفاده از
دستور
--nuke-،برنامهٔtarsnapاز شما میخواهد عبارت "No Tomorrow" را تایپ کنید. --verify-config- بررسی خطاهای ساختاری در فایل(های) پیکربندی.
--version- چاپ شماره
نسخهٔ
tarsnapو خروج.
در حالت
-c -،
هر فایل یا
دایرکتوری
مشخصشده،
به ترتیبی
که در خط
فرمان
تعیین شده
است به
بایگانی
افزوده
میشود.
بهطور
پیشفرض،
محتویات هر
دایرکتوری
نیز
بایگانی
میشوند.
در حالت
-t یا -x
-، کل خط
فرمان پیش
از باز شدن
بایگانی
خوانده و
تجزیه
میشود. نام
مسیرها یا
الگوهای
موجود در خط
فرمان مشخص
میکنند
کدام موارد
در بایگانی
باید
پردازش
شوند.
الگوها
همان
الگوهای globbing
به سبک شل
هستند که در
tcsh(1)
مستند
شدهاند.
توجه داشته
باشید که
اینها از
قواعد POSIX
برای تطبیق
الگو پیروی
میکنند؛
به عنوان
مثال، ‘[]’
نویسههای
خاصی هستند
که میتوان
با یک
بکاسلش از
آنها گریز
(escape) کرد.
دو عملیات ایجاد یا حذف همروند را نمیتوان با یک کلید یکسان انجام داد. استخراج یا فهرست کردن بایگانیها را میتوان بهصورت موازی با هر عملیات دیگری اجرا کرد.
گزینهها (OPTIONS)
@archive-file- (تنها در
حالت c) فایل
بایگانی
مشخصشده
خوانده
میشود و
مدخلهای
درون آن به
بایگانی
فعلی پیوست
خواهند شد.
اگر archive-file
برابر “-”
باشد،
بایگانی از
ورودی
استاندارد
خوانده
خواهد شد.
به عنوان
مثال،
فایل بایگانی backup.tar را از روی دیسک میخواند و آن را با استفاده از
tarsnap-c--keyfilekey-file--cachedircache-dir-fmybackup@backup.tartarsnapذخیره میکند. @@archive-name- (تنها در
حالت c)
بایگانی
مشخصشدهٔ
tarsnapخوانده میشود و مدخلهای درون آن به بایگانی فعلی پیوست خواهند شد. --aggressive-networking- (تنها در
حالت c)
استفاده از
چندین
اتصال TCP
برای ارسال
دادهها به
کارساز
tarsnap. اگر نرخ بارگذاری به دلیل ازدحام شبکه محدود شده باشد تا اینکه توسط گلوگاه(های) منفرد محدود شود، این گزینه ممکن است به tarsnap امکان دهد بخش قابل توجهی بیشتری از پهنای باند موجود را مصرف کند، به قیمت کاهش سرعت سایر ترافیکهای شبکه. --archive-namesfilename- خواندن فهرستی از نامهای بایگانی از filename.
-Cdirectory- (تنها در حالتهای c و x) در حالت c، پیش از افزودن فایلهای بعدی، دایرکتوری را تغییر میدهد. در حالت x، پس از باز کردن بایگانی اما پیش از استخراج مدخلها از بایگانی، دایرکتوری را تغییر میدهد.
--cachedircache-dir- (تنها در
حالتهای c،
d، print-stats و fsck)
اطلاعات
مربوط به
بایگانیهای
ذخیرهشده
توسط
tarsnapرا در دایرکتوری cache-dir پنهانسازی (cache) میکند. از محتویات این دایرکتوری توسطtarsnapپشتیبانگیری نخواهد شد، بنابراین نباید برای هیچ هدف دیگری استفاده شود. اگر دایرکتوری cache-dir از بین برود، میتوان آن را با اجرایtarsnap--fsckبازسازی کرد. --check-links- (تنها در حالت c) صدور پیام هشدار در صورتی که همهٔ پیوندهای مربوط به هر فایل بایگانی نشده باشند.
--checkpoint-bytesbytespercheckpoint- (تنها در حالت c) ایجاد یک نقطهٔ بازبینی (checkpoint) پس از هر bytespercheckpoint بایت از دادههای بارگذاریشده. مقدار bytespercheckpoint باید حداقل ۱۰۰۰۰۰۰ باشد، و مقدار بالاتری پیشنهاد میشود زیرا ایجاد یک نقطهٔ بازبینی در یک بایگانی میتواند چند ثانیه طول کشیده و چند صد کیلوبایت پهنای باند مصرف کند.
--chroot- (تنها در
حالت x)
اجرای
chroot() به دایرکتوری جاری پس از پردازش هرگونه گزینهٔ-Cو پیش از استخراج هر فایلی. --configfilefilename- افزودن filename به فهرست فایلهای پیکربندی که باید خوانده شوند؛ گزینههای تنظیمشده از این طریق بر فایلهای پیکربندی پیشفرض اولویت دارند. این گزینه میتواند چندین بار مشخص شود، که در این صورت تمامی فایلها خوانده خواهند شد؛ در مواردی که تنظیمات با یکدیگر تداخل داشته باشند، فایل پیکربندیِ پیشین اولویت خواهد داشت.
--creationtimeX- (تنها در حالت c) مشخص کردن دستی زمان ایجاد (یک برچسب زمانی یونیکس یا unix timestamp) برای بایگانی. بعید است این گزینه هنگام فراخوانی مستقیم tarsnap از خط فرمان کاربردی باشد.
--csv-filefilename- (استفاده به
همراه
--print-stats) نوشتن آمارها در قالب CSV در یک فایل. --disk-pauseX- (تنها در
حالت c) مکث
به مدت X
میلیثانیه
بین ذخیره
کردن
مدخلهای
بایگانی و
پس از هر ۶۴
کیلوبایت
از
دادههای
فایل. این
کار سرعت
tarsnapرا کاهش داده و در نتیجه تأثیر آن بر سایر برنامهها را کم میکند. برای بایگانی کردن فایلهایی که روی دیسک ATA ذخیره شدهاند و در حافظهٔ پنهان دیسک سیستمعامل قرار ندارند، مقدار--disk-pause10 زمان صرفشده را تقریباً دو برابر خواهد کرد. --dry-run- (تنها در
حالت c)
بایگانی را
واقعاً
ایجاد
نمیکند؛
تنها انجام
این کار را
شبیهسازی
میکند.
فهرست
مسیرهای
افزودهشده
به یک
بایگانی (در
صورت
استفاده از
گزینهٔ
-v)-،پیامهای پیشرفت (در صورت استفاده از گزینهٔ--progress-bytes) و آمارهای نهایی چاپشده (در صورت استفاده از گزینهٔ--print-stats) تقریباً با حالتی کهtarsnapبدون گزینهٔ--dry-runاجرا شود یکسان خواهند بود (معمولاً در حد چند کیلوبایت یا کسری از درصد تفاوت).توجه داشته باشید که گزینهٔ
--maxbwدر ترکیب با--dry-runکار نمیکند، زیرا در عمل هیچ پهنای باندی مصرف نمیشود، و از آنجا کهtarsnapهنگام اجرای آزمایشی (dry run) با کارسازtarsnapتماس برقرار نمیکند، تلاشی را برای ایجاد بایگانی با نامی مشابه بایگانی موجود شناسایی نخواهد کرد. اگر بایگانی موجودی از طریق@@archive-name رونوشت شود، مقداری پهنای باند شبکه در حین خواندن فرادادههای archive-name توسطtarsnapاز کارساز tarsnap مصرف خواهد شد.علاوه بر این،
--dry-runبررسی نخواهد کرد که آیا دایرکتوری حافظهٔ پنهان ناهمگام شده است یا خیر. --dry-run-metadata- (تنها در
حالت c)
بایگانی را
واقعاً
ایجاد
نمیکند؛
تنها انجام
این کار را
شبیهسازی
میکند. این
گزینه
مشابه
--dry-runاست، با این تفاوت که هیچ فایلی را نمیخواند و تنها فرادادههای سیستمفایل را پردازش میکند.این روش به مراتب سریعتر از یک
--dry-runعادی است، اما همچنان برای بررسی اینکه کدام مدخلهای سیستمفایل بایگانی خواهند شد (با-v)-،یا به دست آوردن اندازهٔ کل فشردهنشدهٔ بایگانی (از طریق--totalsیا--progress-bytes) مناسب است.این گزینه نمیتواند همراه با
--print-statsاستفاده شود. --dump-config- چاپ خط فرمان و تمامی خطوط غیرخالی خواندهشده از فایلهای پیکربندی.
--excludepattern- (تنها در حالتهای c، x و t) عدم پردازش فایلها یا دایرکتوریهایی که با الگوی مشخصشده مطابقت دارند. توجه داشته باشید که استثناها بر الگوها یا نام فایلهای مشخصشده در خط فرمان اولویت دارند.
-farchive-name- (تنها در
حالتهای c،
d، x، t، r، list-archives و
print-stats) عملیات
بر روی
بایگانی
archive-name. در
حالت c، اگر
ایجاد
بایگانی با
^Q، سیگنال
SIGQUIT، یا رسیدن
به محدودیت
پهنای باند
مشخصشده
از طریق
گزینهٔ
--maxbwمتوقف شود، بایگانی با افزودن ".part" به نام آن ذخیره خواهد شد. در حالت print-stats، اگر archive-name برابر * باشد، آمار برای هر بایگانی چاپ خواهد شد. در حالتهای print-stats و d،-farchive-name میتواند چندین بار مشخص شود، که در این صورت عملیات (چاپ آمارها یا حذف) برای هر یک از بایگانیهای مشخصشده انجام خواهد گرفت.توجه داشته باشید که هر بایگانی ایجادشده باید نام متفاوتی داشته باشد؛ در نتیجه بسیاری از کاربران هنگام ایجاد مکرر بایگانیها از همان فایلها/دایرکتوریها (مانند پشتیبانگیریهای روزانه)، گنجاندن برچسبهای زمانی در نام بایگانی را مفید میدانند.
به عنوان یک مورد خاص، اگر با
--list-archives--hashesاستفاده شود، آنگاه-fبه جای archive-name نشاندهندهٔ یک tapehash خواهد بود، و فرادادههای مربوط به بایگانی(های) مشخصشده را چاپ میکند. این ترکیب از گزینهها برای رابط کاربری گرافیکی در نظر گرفته شده و برای استفاده در خط فرمان نیازی به آن نیست. (گزینهٔ-fنمیتواند همراه با--list-archivesاستفاده شود مگر آنکه شامل--hashesنیز باشد.) --force-resources- اجبار رمزگشایی فایل کلید رمزشده با عبارت عبور (passphrase)، حتی اگر پیشبینی شود که به مقدار زیادی حافظه یا زمان پردازنده (CPU) نیاز دارد.
-H- (تنها در حالت c) پیوندهای نمادین نامبردهشده در خط فرمان دنبال خواهند شد؛ هدف پیوند بایگانی میشود، نه خودِ پیوند.
-h- (تنها در
حالت c)
مترادفی
برای
-L. --hashes- (تنها در
حالت list-archives) چاپ
هشهای
نامهای
بایگانی.
اگر پرچم
-vیک یا چند بار مشخص شود، نام بایگانی نیز چاپ میشود.این گزینه برای رابط کاربری گرافیکی در نظر گرفته شده و برای استفاده در خط فرمان نیازی به آن نیست.
--humanize-numbers- استفاده از
پیشوندهای
SI برای
خواناتر
کردن اعداد
چاپشده
توسط
--print-statsو SIGINFO. -I- مترادفی
برای
-T. --includepattern- (تنها در
حالتهای c،
x و t) تنها
پردازش
فایلها یا
دایرکتوریهایی
که با الگوی
مشخصشده
مطابقت
دارند. توجه
داشته
باشید که
استثناهای
مشخصشده
با
--excludeبر موارد شمول اولویت دارند. اگر هیچ شمولاتی بهطور صریح مشخص نشده باشد، تمام مدخلها بهطور پیشفرض پردازش میشوند. گزینهٔ--includeبه ویژه هنگام پالایش بایگانیها مفید است. برای مثال، دستوریک بایگانی جدید foo-backup ایجاد میکند که تنها شامل مدخلهایی از all-backup است که رشتهٔ ‘foo’ را در بر دارند.tarsnap-c-ffoo-backup--include='*foo*'@@all-backup --insane-filesystems- (تنها در حالت c) اجازهٔ ورود به سیستمفایلهای ساختگی مانند procfs. بهطور معمول بایگانی کردن چنین سیستمفایلهایی کار بیهودهای است، به همین دلیل این نام برای گزینه انتخاب شده است.
--iso-dates- (تنها در
حالت t) چاپ
تاریخ
فایلها و
دایرکتوریها
به صورت yyyy-mm-dd hh:mm:ss.
حالت پیشفرض استفاده از همان قالب “ls -l” است: اگر فایلها در طول شش ماه گذشته تغییر یافته باشند، ماه، روز، ساعت و دقیقه چاپ میشود؛ در غیر این صورت، ماه، روز و سال چاپ میگردد.
-k- (تنها در حالت x) عدم بازنویسی فایلهای موجود. به ویژه، اگر یک فایل بیش از یک بار در یک بایگانی ظاهر شود، نسخههای بعدی روی نسخههای پیشین بازنویسی نخواهند شد.
--keep-going- (تنها در حالتهای d و print-stats) ادامه دادن حذف یا چاپ آمارها پس از پی بردن به اینکه یکی از بایگانیهای مشخصشده وجود ندارد.
--keep-newer-files- (تنها در حالت x) عدم بازنویسی فایلهای موجودی که از نسخههای موجود در بایگانی در حال استخراج، تازهتر هستند.
--keyfilekey-file- (همهٔ حالتها) دریافت کلیدهای رمزنگاری، اصالتسنجی و دسترسی از key-file. این فایل باید توسط tarsnap-keygen(1) ایجاد شده باشد.
-L- (تنها در حالت c) تمامی پیوندهای نمادین دنبال خواهند شد. بهطور معمول، پیوندهای نمادین همانگونه که هستند بایگانی میشوند. با این گزینه، هدف پیوند به جای آن بایگانی خواهد شد.
-l- این گزینه
مترادفی
برای
--check-linksاست. --lowmem- (تنها در حالت c) کاهش مصرف حافظه با عدم پنهانسازی فایلهای کوچک. این گزینه ممکن است هنگام پشتیبانگیری از فایلهایی با میانگین اندازهٔ کمتر از ۱ مگابایت، در صورتی که رم در دسترس به کیلوبایت کمتر از تعداد فایلهای در حال پشتیبانگیری باشد، مفید باشد.
-m- (تنها در حالت x) زمان تغییر (modification time) را استخراج نمیکند. بهطور پیشفرض، زمان تغییر بر روی زمان ذخیرهشده در بایگانی تنظیم میشود.
--maxbwnumbytes- (تنها در حالت c) در صورتی که بیش از numbytes بایت از پهنای باند بارگذاری (upstream) استفاده شود، فرآیند بایگانیسازی را متوقف میکند (برای جزئیات بیشتر بخش «قطع فرآیند بایگانیسازی (INTERRUPTING ARCHIVAL)» را در زیر ببینید).
--maxbw-ratebytespersecond- محدود کردن پهنای باند مصرفی بارگیری و بارگذاری به bytespersecond بایت بر ثانیه.
--maxbw-rate-downbytespersecond- محدود کردن پهنای باند مصرفی بارگیری به bytespersecond بایت بر ثانیه.
--maxbw-rate-upbytespersecond- محدود کردن پهنای باند مصرفی بارگذاری به bytespersecond بایت بر ثانیه.
-n- (تنها در حالت c) محتویات دایرکتوریها را بهصورت بازگشتی بایگانی نمیکند.
--newerdate- (تنها در حالتهای c، x و t) تنها شامل فایلها و دایرکتوریهای تازهتر از تاریخ مشخصشده. این گزینه مدخلهای ctime را مقایسه میکند.
--newer-mtimedate- (تنها در
حالت c)
مشابه
--newer-،با این تفاوت که به جای مدخلهای ctime، مدخلهای mtime را مقایسه میکند. --newer-thanfilename- (تنها در حالت c) تنها شامل فایلها و دایرکتوریهای تازهتر از فایل مشخصشده. این گزینه مدخلهای ctime را مقایسه میکند.
--newer-mtime-thanfilename- (تنها در
حالت c)
مشابه
--newer-than-،با این تفاوت که به جای مدخلهای ctime، مدخلهای mtime را مقایسه میکند. --no-aggressive-networking- نادیده
گرفتن
هرگونه
گزینهٔ
aggressive-networkingمشخصشده در یک فایل پیکربندی. --no-config-exclude- نادیده
گرفتن
هرگونه
گزینهٔ
excludeمشخصشده در یک فایل پیکربندی. بهطور معمول، گزینههایexcludeمشخصشده از طریق فایلهای پیکربندی و خط فرمان همگی اعمال میشوند. --no-config-include- نادیده
گرفتن
هرگونه
گزینهٔ
includeمشخصشده در یک فایل پیکربندی. بهطور معمول، گزینههایincludeمشخصشده از طریق فایلهای پیکربندی و خط فرمان همگی اعمال میشوند. --no-default-config- عدم خواندن فایلهای پیکربندی پیشفرض /etc/tarsnap/tarsnap.conf ، $XDG_CONFIG_HOME/tarsnap/tarsnap.conf و ~/.tarsnaprc.
--no-disk-pause- نادیده
گرفتن
هرگونه
گزینهٔ
disk-pauseمشخصشده در یک فایل پیکربندی. --no-force-resources- نادیده
گرفتن
هرگونه
گزینهٔ
force-resourcesمشخصشده در یک فایل پیکربندی. --no-humanize-numbers- نادیده
گرفتن
هرگونه
گزینهٔ
humanize-numbersمشخصشده در یک فایل پیکربندی. --no-insane-filesystems- نادیده
گرفتن
هرگونه
گزینهٔ
insane-filesystemsمشخصشده در یک فایل پیکربندی. --no-iso-dates- نادیده
گرفتن
هرگونه
گزینهٔ
iso-datesمشخصشده در یک فایل پیکربندی. --no-maxbw- نادیده
گرفتن
هرگونه
گزینهٔ
maxbwمشخصشده در یک فایل پیکربندی. --no-maxbw-rate-down- نادیده
گرفتن
هرگونه
گزینهٔ
maxbw-rate-downمشخصشده در یک فایل پیکربندی. اگر گزینهٔmaxbw-rateدر یک فایل پیکربندی مشخص شده باشد، بر پهنای باند بارگیری مصرفی تأثیری نخواهد گذاشت، اما ممکن است بر پهنای باند بارگذاری تأثیر بگذارد (مگر اینکه--no-maxbw-rate-upنیز مشخص شده باشد). --no-maxbw-rate-up- نادیده
گرفتن
هرگونه
گزینهٔ
maxbw-rate-upمشخصشده در یک فایل پیکربندی. اگر گزینهٔmaxbw-rateدر یک فایل پیکربندی مشخص شده باشد، بر پهنای باند بارگذاری مصرفی تأثیری نخواهد گذاشت، اما ممکن است بر پهنای باند بارگیری تأثیر بگذارد (مگر اینکه--no-maxbw-rate-downنیز مشخص شده باشد). --no-noatime- نادیده
گرفتن
هرگونه
گزینهٔ
noatimeمشخصشده در یک فایل پیکربندی. --no-nodump- نادیده
گرفتن
هرگونه
گزینهٔ
nodumpمشخصشده در یک فایل پیکربندی. --no-print-stats- نادیده
گرفتن
هرگونه
گزینهٔ
print-statsمشخصشده در یک فایل پیکربندی. --no-progress-bytes- نادیده
گرفتن
هرگونه
گزینهٔ
progress-bytesمشخصشده در یک فایل پیکربندی. --no-quiet- نادیده
گرفتن
هرگونه
گزینهٔ
quietمشخصشده در یک فایل پیکربندی. --no-retry-forever- نادیده
گرفتن
هرگونه
گزینهٔ
retry-foreverمشخصشده در یک فایل پیکربندی. --no-snaptime- نادیده
گرفتن
هرگونه
گزینهٔ
snaptimeمشخصشده در یک فایل پیکربندی. --no-store-atime- نادیده
گرفتن
هرگونه
گزینهٔ
store-atimeمشخصشده در یک فایل پیکربندی. --no-totals- نادیده
گرفتن
هرگونه
گزینهٔ
totalsمشخصشده در یک فایل پیکربندی. --noatime- (تنها در حالت c) درخواست از سیستمعامل برای بهروزرسانی نکردن atime هنگام خواندن فایلها یا دایرکتوریها. توسط همهٔ سیستمعاملها و سیستمفایلها پشتیبانی نمیشود.
--nodump- (تنها در حالت c) احترام به پرچم فایلی nodump با صرفنظر کردن از این فایل یا دایرکتوری.
--noisy-warnings- پُرگویی هنگام هشدار دربارهٔ اختلالات شبکه. این گزینه احتمالاً تنها برای مقاصد اشکالزدایی مفید است.
--normalmem- نادیده
گرفتن
هرگونه
گزینهٔ
lowmemیاverylowmemمشخصشده در یک فایل پیکربندی. --null- (استفاده به
همراه
-I-،-Tیا-X) مترادفی برای--null-input. به دلایل تاریخی و سازگاری با سایر ابزارهای tar حفظ شده است. --null-input- (استفاده به
همراه
-I-،-Tیا-X) نام فایلها، نامهای بایگانی و الگوها با نویسههای null جدا میشوند، نه با خطوط جدید. این گزینه اغلب برای خواندن نام فایلهای تولیدشده توسط گزینهٔ-print0در find(1) استفاده میشود. --null-output- (تنها در
حالتهای x،
t، list-archives و print-stats)
نامهای
بایگانی،
نام
فایلها و
خطوط در
خروجی با
نویسههای
null جدا
میشوند،
نه با خطوط
جدید.
اگر چندین فیلد در یک خط وجود داشته باشد، با دو نویسهٔ null از یکدیگر جدا خواهند شد. اگر یک خط فرمان در یکی از این فیلدها چاپ شود، هر آرگومان با سه نویسهٔ null جدا خواهد شد.
--numeric-owner- (تنها در حالت x) نادیده گرفتن نامهای نمادین کاربر و گروه هنگام بازیابی بایگانیها بر روی دیسک؛ تنها مقادیر عددی uid و gid رعایت خواهند شد.
-O- (تنها در حالتهای x و t) در حالت استخراج (x-)، فایلها به جای استخراج روی دیسک، در خروجی استاندارد نوشته میشوند. در حالت فهرستگیری (t-)، فهرست فایلها به جای خروجی استاندارد معمول، در stderr نوشته خواهد شد.
-o- (تنها در
حالت x)
استفاده از
کاربر و
گروهِ
کاربری که
برنامه را
اجرا
میکند، به
جای موارد
مشخصشده
در بایگانی.
توجه داشته
باشید که
این گزینه
هیچ تأثیری
ندارد مگر
آنکه
-pمشخص شده باشد و برنامه توسط کاربر ریشه (root) اجرا شود. در این حالت، حالتها و پرچمهای فایل از بایگانی بازیابی خواهند شد، اما ACLها یا اطلاعات مالک در بایگانی نادیده گرفته میشوند. --one-file-system- (تنها در حالت c) از نقاط اتصال (mount points) عبور نمیکند.
-P- (تنها در
حالتهای c،
x و t) حفظ نام
مسیرها.
بهطور
پیشفرض،
نام
مسیرهای
مطلق
(آنهایی که
با نویسهٔ /
آغاز
میشوند) هم
هنگام
ایجاد
بایگانی و
هم هنگام
استخراج از
آن، اسلش
ابتداییشان
حذف میشود.
همچنین،
tarsnapاز استخراج مدخلهای بایگانی که نام مسیر آنها شامل .. باشد یا دایرکتوری مقصد آنها توسط یک پیوند نمادین دستخوش تغییر شود، خودداری میکند. این گزینه این رفتارها را لغو میکند. -p- (تنها در
حالت x) حفظ
مجوزهای
فایل. تلاش
برای
بازیابی
کامل
مجوزها از
جمله مالک،
حالتهای
فایل،
پرچمهای
فایل و ACLها
(در صورت
موجود بودن)
برای هر
مورد
استخراجشده
از بایگانی.
بهطور
پیشفرض،
مالک
فایلهای
تازهساختهشده
کاربری است
که
tarsnapرا اجرا میکند، حالت فایل برای فایلهای عادیِ تازهساختهشده بازیابی میشود، و سایر انواع مدخلها مجوزهای پیشفرض را دریافت میکنند. اگرtarsnapتوسط ریشه (root) اجرا شود، حالت پیشفرض بازیابی مالک است، مگر اینکه گزینهٔ-oنیز مشخص شده باشد. --passphrasemethod:arg- خواندن
عبارت عبور
(passphrase) با
استفاده از
روش
مشخصشده.
- dev:tty-stdin
- تلاش برای خواندن عبارت عبور از dev/tty/؛ در صورت شکست، خواندن آن از stdin. این رفتار پیشفرض است.
- dev:stdin-once
- تلاش برای خواندن عبارت عبور از stdin، و انجام آن تنها برای یک بار حتی هنگام رمزنگاری. اگر infile نیز stdin باشد (یا همان '-')، این گزینه قابل استفاده نیست.
- dev:tty-once
- تلاش برای خواندن عبارت عبور از dev/tty/، و انجام آن تنها برای یک بار حتی هنگام رمزنگاری.
- env:VAR
- خواندن
عبارت
عبور از
متغیر
محیطی
مشخصشده
توسط VAR.
ذخیرهٔ عبارت عبور در یک متغیر محیطی ممکن است یک خطر امنیتی باشد.تنها در صورتی از این گزینه استفاده کنید که مطمئن باشید میدانید چه کاری انجام میدهید.
- file:FILENAME
- خواندن
عبارت
عبور از
فایل
مشخصشده
توسط FILENAME.
ذخیرهٔ عبارت عبور در یک فایل ممکن است یک خطر امنیتی باشد.تنها در صورتی از این گزینه استفاده کنید که مطمئن باشید میدانید چه کاری انجام میدهید.
--print-stats- (تنها در حالتهای c و d) چاپ آمار برای بایگانی در حال ایجاد (حالت c) یا حذف (حالت d). برای اطلاعات دربارهٔ قالب خروجی، بخش «چاپ آمار بایگانی (PRINTING ARCHIVE STATISTICS)» را در زیر ببینید.
--progress-bytesX- نمایش یک پیام پیشرفت (مشابه آنچه از SIGUSR1 یا SIGINFO تولید میشود) پس از پردازش هر X بایت. حداکثر یک بار برای هر فایل رخ میدهد.
-q(--fast-read)- (تنها در حالتهای x و t) تنها استخراج یا فهرستگیری از نخستین مدخل بایگانی که با هر الگو یا عملوندِ نام فایل مطابقت دارد. به محض اینکه هر الگو یا نام فایل مشخصشده مطابقت یافت، خارج میشود. بهطور پیشفرض، بایگانی همیشه تا انتها خوانده میشود، چرا که ممکن است چندین مدخل با نام یکسان وجود داشته باشند و بر حسب قرارداد، مدخلهای بعدی بر روی مدخلهای قبلی بازنویسی میشوند. این گزینه به عنوان یک بهینهسازی کارایی ارائه شده است.
--quiet- اجتناب از
چاپ برخی
هشدارها. در
حال حاضر
هشدارهایی
که توسط این
گزینه
بیصدا
میشوند
عبارتند از:
"Removing leading '/' ..."، "Not adding cache
directory to archive"، "... file may have grown while
being archived" و "Skipping entry on filesystem of type
..."؛ اما این
احتمال
وجود دارد
که
هشدارهای
دیگری نیز
در
نسخههای
آیندهٔ
tarsnapتوسط این گزینه بیصدا شوند. --resume-extract- (تنها در
حالت x) عدم
استخراج
فایلهایی
که اندازهٔ
فایل و mtime
آنها با
فایلهای
موجود روی
دیسک
مطابقت
دارد. در
درجهٔ اول
برای از سر
گرفتن
فرآیند
استخراج
بایگانی که
متوقف شده
بود
استفاده
میشود.
مقایسهٔ mtime
از دقت
زمانی زیر
ثانیه
چشمپوشی
میکند،
زیرا این
مورد در
همهٔ
سیستمفایلها
پشتیبانی
نمیشود.
این گزینه
با
-kتفاوت دارد، زیرا--resume-extractدر صورتی که اندازه یا زمان تغییر مطابقت نداشته باشد، فایل را بازنویسی خواهد کرد؛ همانطور که اگر tarsnap در حین استخراج یک فایل متوقف شود رخ میدهد. --retry-forever- این گزینه باعث میشود tarsnap به جای تسلیم شدن پس از ۵ تا ۱۰ دقیقه، به تلاش بیپایان برای اتصال مجدد به کارساز tarsnap ادامه دهد. این گزینه ممکن است برای کاربرانی با شبکههای به شدت ناپایدار، یا روی دستگاههای تلفن همراه که بهطور منظم اتصال اینترنت خود را برای مدتهای طولانی از دست میدهند مفید باشد. این گزینه بهطور پیشفرض فعال نیست، زیرا شکستهای مداوم عموماً نشاندهندهٔ مشکلی هستند که باید توسط کاربر بررسی شود.
-S- (تنها در حالت x) استخراج فایلها بهصورت فایلهای تنک (sparse files). به ازای هر بلوک روی دیسک، ابتدا بررسی میکند که آیا شامل بایتهای غیر تهی (non-NULL) است یا خیر، و در غیر این صورت از روی آن میپرد (seek over). عملکرد این گزینه مشابه گزینهٔ conv=sparse در dd است.
-spattern- تغییر نام فایل یا اعضای بایگانی بر اساس pattern. این الگو دارای ساختار /old/new/[gps] است. عبارت old یک عبارت باقاعدهٔ پایه (basic regular expression) است. اگر اعمال نشود، از الگو صرفنظر میشود. عبارت new رشتهٔ جایگزین برای بخش تطبیقیافته است. نویسهٔ ~ با بخش تطبیقیافته، و \1 تا \9 با محتویات گروه ثبتشدهٔ متناظر جایگزین میشوند. نویسهٔ اختیاری انتهایی g مشخص میکند که تطبیق باید پس از بخش منطبق ادامه یابد و با نخستین الگوی منطبقنشده متوقف شود. نویسهٔ اختیاری انتهایی s مشخص میکند که الگو بر روی مقدار پیوندهای نمادین اعمال شود. نویسهٔ اختیاری انتهایی p مشخص میکند که پس از یک جایگزینی موفق، نام مسیر اصلی و نام مسیر جدید در خطای استاندارد (stderr) چاپ شوند.
--snaptimefilename- (تنها در
حالت c) این
گزینه
هنگام
ایجاد
پشتیبان از
یک تصویر
لحظهای
سیستمفایل
(filesystem snapshot) الزامی
است، و filename
باید دارای
زمان
تغییری قبل
از زمان
ایجاد
تصویر
لحظهای
سیستمفایل
باشد. (این
کار برای
جلوگیری از
شرایط
رقابتی
میان تغییر
فایل و
ایجاد
تصویر
لحظهای
ضروری است
که
میتواند
منجر به عدم
تشخیص
تغییر فایل
توسط
tarsnapشود.) --store-atime- (تنها در
حالت c)
فعالسازی
ذخیرهٔ
زمانهای
دسترسی
فایل (atime).
رفتار
پیشفرض
tarsnapاین است که زمانهای دسترسی فایل را ذخیره نکند، زیرا وقتی یک مجموعه فایل چندین بار بایگانی میشوند (مثلاً در صورت ایجاد بایگانیهای پشتیبان روزانه)، به دلیل اینکه خودِtarsnapبه فایلها دسترسی پیدا کرده و موجب تغییر زمان دسترسی آنها میشود، میتواند منجر به هدررفت بخش قابل توجهی از پهنای باند و فضای ذخیرهسازی گردد. --strip-componentscount- (تنها در حالت x) حذف تعداد مشخصشده از اجزای ابتدایی مسیر. نام مسیرهایی با اجزای کمتر بدون هیچ هشداری نادیده گرفته میشوند. توجه داشته باشید که نام مسیر پس از بررسی الگوهای شمول/استثنا اما پیش از بررسیهای امنیتی ویرایش میشود.
-Tfilename- (تنها در
حالتهای c،
x و t) در حالت x
یا t،
برنامهٔ
tarsnapفهرست نامهای قابل استخراج را از filename میخواند. در حالت c، برنامهٔtarsnapنامهای قابل بایگانی را از filename میخواند. نام خاص “-C” در یک خط مستقل موجب میشود دایرکتوری جاری به دایرکتوری مشخصشده در خط بعدی تغییر یابد. نامها با خطوط جدید خاتمه مییابند مگر آنکه--null-inputمشخص شده باشد. توجه داشته باشید که--null-inputهمچنین پردازش ویژهٔ خطوط حاوی “-C” را غیرفعال میکند. اگر filename برابر “-” باشد، فهرست نامها از ورودی استاندارد خوانده خواهد شد. نکته: اگر فهرست فایلها را با استفاده از find(1) تولید میکنید، احتمالاً مایل خواهید بود از-nنیز استفاده کنید. --totals- (تنها در
حالت c) چاپ
اندازهٔ
بایگانی پس
از ایجاد
آن. این
گزینه
عمدتاً
برای
سازگاری با
GNU tar ارائه شده
است؛ در
بیشتر
شرایط
گزینهٔ
--print-statsبسیار مفیدتر خواهد بود. -U- (تنها در
حالت x) قطع
پیوند
فایلها (unlink)
پیش از
ایجاد
آنها. بدون
این گزینه،
tarsnapفایلهای موجود را بازنویسی میکند که این کار پیوندهای سخت (hardlinks) موجود را حفظ میکند. با این گزینه، پیوندهای سخت موجود، و همچنین هر پیوند نمادینی که بر مکان یک فایل استخراجشده تأثیر بگذارد، شکسته خواهند شد. -v- (تنها در
حالتهای c،
d، t، x و list-archives)
تولید
خروجی پرگو
(verbose). در
حالتهای
ایجاد و
استخراج،
tarsnapنام هر فایل را هنگام خوانده شدن از بایگانی یا نوشته شدن در آن فهرست میکند. در حالت حذف،tarsnapنام هر بایگانی را هنگام حذف شدن فهرست میکند. در حالت فهرستگیری،tarsnapخروجی مشابهی با ls(1) تولید خواهد کرد. گزینههای-vبیشتر جزئیات بیشتری ارائه خواهند داد. --verify-config- بررسی خطاهای ساختاری در فایل(های) پیکربندی.
--version- چاپ شماره
نسخهٔ
tarsnapو خروج. --verylowmem- (تنها در
حالت c) کاهش
مصرف
حافظه،
تقریباً به
میزان دو
برابر
بیشتر از
کاهش مصرف
حافظه
هنگام مشخص
شدن
--lowmem-،با پنهانسازی نکردن هیچچیز. -w- (تنها در حالتهای c و x) درخواست تایید برای هر اقدام.
-Xfilename- (تنها در
حالتهای c،
x و t) خواندن
فهرستی از
الگوهای
استثنا از
فایل
مشخصشده.
برای
اطلاعات
بیشتر
دربارهٔ
نحوهٔ
مدیریت
استثناها،
--excludeرا ببینید.
سیگنالها (SIGNALS)
برنامهٔ
tarsnap
سیگنالهای
زیر را
مدیریت
میکند:
- SIGUSR1 و SIGINFO
- با دریافت
سیگنال SIGUSR1 یا
(در
بسترهایی
که وجود
دارد)
سیگنال SIGINFO،
برنامهٔ
tarsnapفایل یا دایرکتوری در حال پردازش و (برای فایلها) میزان پیشرفت درون آن فایل را چاپ میکند. همچنین تعداد فایلها و تعداد بایتهای فشردهنشدهٔ پردازششده را چاپ میکند. توجه داشته باشید که به دلیل میانگیرسازی (buffering) شبکه، موقعیت فایل ممکن است دقیقاً با میزان دادههای ارسالشده یا دریافتشده از کارسازtarsnapهمتراز نباشد. - SIGSTOP و SIGTSTP
- با دریافت
سیگنال SIGSTOP یا
SIGTSTP، هسته
پردازش
tarsnapرا معلق میکند. با دریافت سیگنال SIGCONT، برنامهٔtarsnapمجدداً به کارساز متصل شده (در صورت نیاز) و وظیفهٔ مشخصشده را ادامه میدهد. - SIGUSR2
- با دریافت
سیگنال SIGUSR2،
اگر
tarsnapدر حال ایجاد یک بایگانی باشد (حالت c)، یک نقطهٔ بازبینی (checkpoint) در موقعیت فعلی ایجاد میکند. - SIGQUIT
- با دریافت
سیگنال SIGQUIT،
اگر
tarsnapدر حال ایجاد یک بایگانی باشد (حالت c)، بایگانی را در موقعیت فعلی کوتاه کرده (truncate) و خارج میشود (بخش «قطع فرآیند بایگانیسازی (INTERRUPTING ARCHIVAL)» را در زیر ببینید).
چاپ آمار بایگانی (PRINTING ARCHIVE STATISTICS)
چهار دستور وجود دارند که آمارهای مربوط به بایگانیها را چاپ میکنند:
- آمارهای
سراسری:
tarsnap--print-stats - آمارهای
سراسری و
اطلاعات
دربارهٔ
بایگانی(های)
خاص:
tarsnap--print-stats-farchive-name1 [-f...] - آمارهای
سراسری و
اطلاعات
دربارهٔ
تمامی
بایگانیها:
tarsnap--print-stats-f'*' - آمارهای
سراسری و
اطلاعات
دربارهٔ
بایگانی(هایی)
که تازه
ایجاد یا
حذف
شدهاند:
tarsnap-c--print-stats-farchive-name DIRtarsnap-d--print-stats-farchive-name1 [-f...]
برنامهٔ
tarsnap جدولی
به قالب زیر
را چاپ
خواهد کرد:
Total size Compressed size All archives 104491640436 51510524844 (unique data) 14830618089 7733620463 This archive 808723344 289077325 New data 17858641 5658308
در این
مثال،
مجموع
اندازهٔ
تمامی
بایگانیهای
ذخیرهشده
توسط tarsnap
با استفاده
از کلیدهای
یکسان
برابر ۱۰۴
گیگابایت
است، و
مجموع
اندازه پس
از
فشردهسازی
۵۱
گیگابایت
خواهد بود؛
اما پس از
حذف
بلوکهای
تکراری،
تنها ۱۴٫۸
گیگابایت
باقی
میماند که
با
فشردهسازی
به ۷٫۷
گیگابایت
میرسد.
(همین ۷٫۷
گیگابایت
است که از
طریق سرویس
Tarsnap ذخیره شده
و در نتیجه
باید بابت
آن هزینه
پرداخت شود.)
بایگانی
تازهساختهشده
۸۰۸
مگابایت
اندازه
دارد (قابل
فشردهسازی
به ۲۸۹
مگابایت)،
اما تنها
۱۷٫۸
مگابایت از
دادهها
جدید است، و
پس از
فشردهسازی
تنها ۵٫۶
مگابایت در
کارساز Tarsnap
بارگذاری
میشود.
هنگامی که
tarsnap --print-stats
به عنوان یک
دستور اجرا
میشود،
جدول در
خروجی
استاندارد
چاپ
میشود؛
هنگامی که
گزینهٔ
--print-stats در
زمان ایجاد
یا حذف
بایگانیها
استفاده
شود، جدول
در دستگاه
خطای
استاندارد
(stderr) چاپ
میشود.
آمارهای سراسری بر اساس دایرکتوری حافظهٔ پنهان جاری محاسبه میشوند، بدون استفاده از keyfile یا پرسوجو از کارسازهای Tarsnap.
قطع فرآیند بایگانیسازی (INTERRUPTING ARCHIVAL)
با دریافت
سیگنال
SIGQUIT یا ^Q، یا
در صورت
رسیدن به
محدودیت
پهنای باند
مشخصشده
از طریق
گزینهٔ
--maxbw -،
برنامهٔ
tarsnap ایجاد
بایگانی را
متوقف کرده
و آن را در
موقعیت
فعلی کوتاه
(truncate) میکند.
هنگامی که
یک بایگانی
کوتاه
میشود، بر
اساس نام
مشخصشده
توسط کاربر
به اضافهٔ
".part"
نامگذاری
خواهد شد تا
نشاندهندهٔ
ناقص بودن
آن باشد.
چنین
بایگانی
کوتاهشدهای
ممکن است به
خودی خود
مفید باشد،
اما این
مزیت را نیز
به همراه
دارد که
تلاشهای
آینده برای
بایگانی
کردن همان
دادهها
سریعتر
بوده و
پهنای باند
کمتری مصرف
خواهند
کرد.
دیوارههای آتش (FIREWALLS)
برنامهٔ
tarsnap از
طریق یک
اتصال TCP به
درگاه ۹۲۷۹
با کارساز
tarsnap
ارتباط
برقرار
میکند؛ در
برخی
محیطها
ممکن است
افزودن یک
قاعدهٔ
دیوارهٔ
آتش برای
مجاز کردن
اتصالات
خروجی TCP به
این درگاه
لازم باشد.
در حال حاضر
(ژوئیه ۲۰۰۹)
تنها یک
نشانی IP برای
کارساز
tarsnap
استفاده
میشود،
بنابراین
مدیران
شبکه ممکن
است
بخواهند آن
نشانی IP را
بهطور
ثابت تنظیم
کنند؛ با
این حال،
محتمل است
که در مقطعی
از آینده آن
نشانی IP
تغییر کرده
و/یا
نشانیهای IP
دیگری
اضافه
شوند.
محیط (ENVIRONMENT)
متغیرهای
محیطی زیر
بر اجرای
tarsnap تأثیر
میگذارند:
LANG- محلیسازی (locale) مورد استفاده. برای اطلاعات بیشتر environ(7) را ببینید.
TZ- منطقهٔ زمانی مورد استفاده هنگام نمایش تاریخها. برای اطلاعات بیشتر environ(7) را ببینید.
فایلها (FILES)
- /etc/tarsnap/tarsnap.conf
- فایل
پیکربندی
سراسری
سیستم برای
tarsnap. پارامترهای مشخصشده در اینجا تنها زمانی اعمال میشوند که از طریق فایل پیکربندی محلی کاربر جاری یا خط فرمان مشخص نشده باشند. - $XDG_CONFIG_HOME/tarsnap/tarsnap.conf
- یک فایل
پیکربندی
tarsnapبرای کاربر جاری. اگر متغیر محیطیXDG_CONFIG_HOMEخالی باشد، مقدار پیشفرض ~/.config/tarsnap/tarsnap.conf استفاده خواهد شد. پارامترهای مشخصشده در اینجا اعمال میشوند مگر اینکه از طریق ~/.tarsnaprc یا خط فرمان مشخص شده باشند. - ~/.tarsnaprc
- مکانی دیگر
برای فایل
پیکربندی
tarsnapبرای کاربر جاری. پارامترهای مشخصشده در اینجا اعمال میشوند مگر اینکه از طریق خط فرمان مشخص شده باشند.
وضعیت خروج (EXIT STATUS)
The tarsnap utility exits 0 on
success, and >0 if an error occurs.
کد خروج ۲ نشاندهندهٔ این است که خطایی رخ داده و وضعیت سمت کارساز تغییر یافته است.
مثالها (EXAMPLES)
ثبتنام در کارساز و تولید کلیدها:
tarsnap-keygen
--keyfile /usr/tarsnap.key
--user me@example.com
--machine myserverتهیهٔ پشتیبان از /usr/home و /other/stuff/to/backup:
tarsnap
--keyfile /usr/tarsnap.key
--cachedir /usr/tarsnap-cache
-c -f
backup-2008-04-24 /usr/home
/other/stuff/to/backupتهیهٔ یک پشتیبان دیگر، یک روز بعد؛ این کار بسیار سریعتر است زیرا tarsnap از ذخیرهٔ مجدد دادههایی که قبلاً ذخیره شدهاند خودداری میکند:
tarsnap
--keyfile /usr/tarsnap.key
--cachedir /usr/tarsnap-cache
-c -f
backup-2008-04-25 /usr/home
/other/stuff/to/backupفهرست کردن بایگانیها:
tarsnap
--keyfile /usr/tarsnap.key
--list-archivesحذف نخستین پشتیبان و دستنخورده باقی گذاشتن دومین پشتیبان:
tarsnap
--keyfile /usr/tarsnap.key
--cachedir /usr/tarsnap-cache
-d -f
backup-2008-04-24فهرست کردن فایلهای درون پشتیبان باقیمانده:
tarsnap
--keyfile /usr/tarsnap.key
-tv -f
backup-2008-04-25بازیابی دایرکتوری خانگی دو کاربر از پشتیبان:
tarsnap
--keyfile /usr/tarsnap.key
-x -f
backup-2008-04-25 usr/home/auser
usr/home/anotheruserدر /etc/crontab برای ایجاد یک نسخهٔ پشتیبان از کل سیستم در ساعت ۱۰:۳۲ هر روز:
32 10 * * * root
tarsnap --keyfile
/usr/tarsnap.key --cachedir
/usr/tarsnap-cache -c
-f backup-`date +\%Y\%m\%d`
/توجه
داشته
باشید که
گزینههای
--keyfile و
--cachedir
میتوانند
از طریق
فایل
پیکربندی
tarsnap.conf(5)
مشخص شوند
که در این
صورت
میتوان
آنها را از
خط فرمان
حذف کرد.
امنیت (SECURITY)
برخی
مسائل
امنیتی در
بسیاری از
برنامههای
بایگانیسازی،
از جمله
tarsnap مشترک
هستند.
بهویژه،
بایگانیهایی
که با دقت
دستکاری
شدهاند
میتوانند
درخواست
کنند که
tarsnap
فایلها را
در
مکانهایی
خارج از
دایرکتوری
مقصد
استخراج
کند. این
مورد
میتواند
بهطور
بالقوه
برای وادار
کردن
کاربران
ناآگاه به
بازنویسی
فایلهایی
که قصد
بازنویسی
آنها را
نداشتهاند
استفاده
شود. اگر
بایگانی
توسط مدیر
سیستم (superuser)
استخراج
شود، هر
فایلی در
سیستم ممکن
است
بازنویسی
شود. این
اتفاق به سه
روش
میتواند
رخ دهد.
اگرچه tarsnap
سازوکارهایی
برای
محافظت در
برابر هر یک
از آنها
دارد،
کاربران
آگاه باید
از
پیامدهای
آن مطلع
باشند:
- مدخلهای
بایگانی
میتوانند
نام
مسیرهای
مطلق داشته
باشند.
بهطور
پیشفرض،
tarsnapبرای محافظت در برابر این مشکل، نویسهٔ / ابتدایی را پیش از بازیابی فایلها از نام آنها حذف میکند. - مدخلهای
بایگانی
میتوانند
نام
مسیرهایی
شامل اجزای
.. داشته
باشند.
بهطور
پیشفرض،
tarsnapفایلهایی را که نام مسیر آنها شامل اجزای .. باشد استخراج نخواهد کرد. - مدخلهای
بایگانی
میتوانند
از
پیوندهای
نمادین
برای
بازیابی
فایلها در
دایرکتوریهای
دیگر
سوءاستفاده
کنند. یک
بایگانی
میتواند
یک پیوند
نمادین به
دایرکتوری
دیگری را
بازیابی
کند، سپس از
آن پیوند
برای
بازیابی یک
فایل درون
آن
دایرکتوری
استفاده
نماید. برای
محافظت در
برابر این
موضوع،
tarsnapهر مسیر استخراجشده را برای پیوندهای نمادین بررسی میکند. اگر جزء نهایی مسیر یک پیوند نمادین باشد، حذف شده و با مدخل بایگانی جایگزین خواهد شد. اگر-Uمشخص شده باشد، هر پیوند نمادین میانی نیز بدون قید و شرط حذف خواهد شد. اگر نه-Uو نه-Pمشخص نشده باشند،tarsnapاز استخراج آن مدخل خودداری خواهد کرد.
اگرچه
tarsnap
بایگانیها
را از نظر
رمزنگاری
به گونهای
امضا
میکند که
باور بر این
است جعل یک
بایگانی
برای مهاجم
بدون داشتن
key-file
امکانپذیر
نیست، اما
ممکن است
بخواهید
پیش از
استخراج،
محتویات
بایگانی(ها)
را با
دستور
tarsnap
-t --keyfile
key-file -f
archive-name-P
در tarsnap
بررسیهای
امنیتی فوق
را غیرفعال
کرده و به
شما امکان
میدهد یک
بایگانی را
با حفظ
هرگونه نام
مسیر مطلق،
اجزای .. ،
یا
پیوندهای
نمادین به
سایر
دایرکتوریها
استخراج
کنید.
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
دستور
tar در
نگارش هفتم
یونیکس (Seventh Edition Unix)
پدیدار شد
که در
ژانویه
۱۹۷۹ منتشر
گردید.
پیادهسازیهای
متعدد
دیگری نیز
وجود
داشتهاند
که بسیاری
از آنها
قالب فایل
را گسترش
دادند.
پیادهسازی
مالکیت
عمومی pdtar
توسط John Gilmore
(حدود
نوامبر
۱۹۸۷) بسیار
تأثیرگذار
بود و اساس GNU tar
را تشکیل
داد. دستور GNU tar
از زمان FreeBSD
1.0 به عنوان tar
استاندارد
سیستم در
FreeBSD
گنجانده
شد، اما در
FreeBSD 5.3 با
ابزار bsdtar
و
کتابخانهٔ
libarchive(3)
توسط Tim Kientzle
جایگزین
گردید.
برنامهٔ
tarsnap بر
پایهٔ bsdtar
و libarchive(3)
ساخته شده
است.
گزارش باگها (BUGS)
این
برنامه
برای تعریف
گزینهٔ -l
در tar(5)
از
استاندارد
ISO/IEC 9945-1:1996 (“POSIX.1”)
پیروی
میکند.
توجه داشته
باشید که GNU tar
قبل از
نسخهٔ ۱٫۱۵
گزینهٔ -l
را به عنوان
مترادفی
برای
گزینهٔ
--one-file-system در
نظر
میگرفت.
برای بایگانی کردن فایلی به نام @foo ، @@foo یا -foo باید آن را به ترتیب به صورت ./@foo ، ./@@foo یا ./-foo مشخص کنید.
در حالت
ایجاد،
پیشوند ./
همیشه حذف
میشود.
پیشوند /
نیز حذف
میشود مگر
اینکه
گزینهٔ -P
مشخص شده
باشد.
اگر فایل
بایگانی
اضافهشده
از طریق
گزینهٔ
@archive-file
در قالبی
غیر از “tar”
باشد، ممکن
است
اطلاعات
پیوند سخت
از بین برود.
(این امر
پیامد
روشهای
ناسازگاری
است که
قالبهای
مختلف
بایگانی
اطلاعات
پیوند سخت
را ذخیره
میکنند.)
برای بسیاری از گزینههای کوتاه، گزینههای بلند جایگزینی وجود دارند که عمداً مستند نشدهاند.
محدودیت
مشخصشده
توسط
گزینهٔ
--maxbw
بهطور
سختگیرانه
اعمال
نمیشود؛
بهویژه،
به دلیل
نیاز به
پایان دادن
پاکیزه به
یک
بایگانی،
میزان
پهنای باند
مصرفی ممکن
است اندکی
از حد مجاز
فراتر رود.
اگر tarsnap
با ورودی
استاندارد،
خروجی
استاندارد
و خطای
استاندارد
بازهدایتشده
و درون یک chroot
که در آن
دستگاههای
پایانه (terminal devices)
در دسترس
نیستند
اجرا شود،
ترکیب ^Q به SIGQUIT
نگاشت
نخواهد شد و
در نتیجه
باعث برش و
کوتاه شدن
بایگانی
جاری
نخواهد شد.
| March 20, 2025 | Linux 6.12.107+deb13-amd64 |