.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "stow 8" .TH stow 8 2024-09-08 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" stow \- مدیریت مزارع پیوندهای نمادین .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" stow [ گزینه\char32ها ] بسته ... .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این صفحه راهنما GNU Stow نسخه 2.4.1 را شرح می‌دهد\&. این مستندات قطعی برای Stow نیست؛ برای آن، راهنمای info همراه را برای مثال با تایپ \f(CW\*(C`info stow\*(C'\fR مشاهده فرمایید\&. .PP نرم‌افزار Stow یک مدیر مزرعه پیوندهای نمادین (symlink farm) است که مجموعه‌های متمایزی از نرم‌افزار و/یا داده‌های واقع در دایرکتوری‌های مجزا در فایل‌سیستم را دریافت کرده و کاری می‌کند که همگی آن‌ها در یک درخت دایرکتوری واحد نصب‌شده به نظر برسند\&. .PP در اصل Stow برای پاسخ به نیاز مدیریت، ارتقا، نصب و حذف پرونده‌ها در بسته‌های نرم‌افزاری مستقل بدون اشتباه گرفتن آن‌ها با سایر پرونده‌های مشترک در همان فضای فایل‌سیستم متولد شد\&. به عنوان مثال، سال‌ها پیش کامپایل کردن برنامه‌هایی مانند Perl و Emacs از منبع امری متداول بود\&. با استفاده از Stow، پوشه \fI/usr/local/bin\fR می‌توانست حاوی پیوندهای نمادین به پرونده‌های موجود در \fI/usr/local/stow/emacs/bin\fR، \fI/usr/local/stow/perl/bin\fR و غیره باشد، و به همین ترتیب به صورت بازگشتی برای هر زیردایرکتوری دیگر مانند \fI.../share\fR، \fI.../man\fR و غیره\&. .PP اگرچه این روش برای پیگیری نصب‌های سرتاسری سیستم و نصب‌های خاص هر کاربر از نرم‌افزارهای ساخته‌شده از کد منبع مفید است، اما در زمان‌های اخیر بسته‌های نرم‌افزاری اغلب توسط نرم‌افزارهای مدیریت بسته پیچیده‌تری مانند rpm، dpkg و Nix / GNU Guix، یا مدیران بسته بومی زبان‌های برنامه‌نویسی مانند gem در Ruby، pip در Python، npm در Javascript و غیره مدیریت می‌شوند\&. .PP با این حال Stow هنوز نه تنها برای مدیریت بسته‌های نرم‌افزاری، بلکه برای اهداف دیگری مانند تسهیل رویکرد کنترل‌شده‌تر در مدیریت پرونده‌های پیکربندی در دایرکتوری خانگی کاربر، به‌ویژه در ترکیب با سیستم‌های کنترل نسخه استفاده می‌شود\&. .PP نرم‌افزار Stow از برنامه Depot در دانشگاه کارنگی ملون الهام گرفته شده است، اما اساساً بسیار ساده‌تر و ایمن‌تر است\&. در حالی که Depot برای همگام نگه داشتن موارد نیاز به فایل‌های پایگاه‌داده داشت، Stow هیچ وضعیت اضافی بین اجراها ذخیره نمی‌کند، بنابراین هیچ خطری (همانند آنچه در Depot بود) مبنی بر به هم ریختن دایرکتوری‌ها هنگام عدم تطابق سلسله‌مراتب پرونده‌ها با پایگاه‌داده وجود ندارد\&. همچنین بر خلاف Depot، نرم‌افزار Stow هرگز پرونده‌ها، دایرکتوری‌ها یا پیوندهایی را که در یک دایرکتوری Stow (مثلاً \fI/usr/local/stow/emacs\fR) ظاهر می‌شوند حذف نخواهد کرد، بنابراین بازسازی درخت مقصد (مثلاً \fI/usr/local\fR) همیشه امکان‌پذیر است\&. .PP نرم‌افزار Stow به عنوان ترکیبی از یک اسکریپت Perl که یک رابط خط فرمان (CLI) ارائه می‌دهد و یک ماژول بک‌اند Perl که بیشتر کارها را انجام می‌دهد، پیاده‌سازی شده است\&. .SH "اصطلاحات (TERMINOLOGY)" .IX Header "TERMINOLOGY" یک "بسته" (package) مجموعه‌ای مرتبط از پرونده‌ها و دایرکتوری‌ها است که مایلید به عنوان یک واحد مدیریت کنید -- مانند Perl یا Emacs -- و باید در یک ساختار دایرکتوری خاص نصب شود -- مثلاً با زیردایرکتوری‌های \fIbin\fR، \fIlib\fR و \fIman\fR\&. .PP یک "دایرکتوری مقصد" (target directory) ریشه درختی است که یک یا چند بسته مایلند در آن نصب‌شده \fBبه نظر برسند\fR\&. یک مکان رایج، اما نه تنها مکان ممکن، \fI/usr/local\fR است\&. مثال‌های این صفحه راهنما از \fI/usr/local\fR به عنوان دایرکتوری مقصد استفاده خواهند کرد\&. .PP یک "دایرکتوری stow" ریشه درختی است که شامل بسته‌های مجزا در زیردرخت‌های اختصاصی است\&. هنگامی که Stow اجرا می‌شود، از دایرکتوری جاری به عنوان دایرکتوری پیش‌فرض stow استفاده می‌کند\&. مثال‌های این صفحه راهنما از \fI/usr/local/stow\fR به عنوان دایرکتوری stow استفاده می‌کنند، به طوری که بسته‌های مجزا برای مثال \fI/usr/local/stow/perl\fR و \fI/usr/local/stow/emacs\fR خواهند بود\&. .PP یک "تصویر نصب" (installation image) چیدمان پرونده‌ها و دایرکتوری‌های مورد نیاز یک بسته نسبت به دایرکتوری مقصد است\&. بنابراین، تصویر نصب برای Perl شامل موارد زیر است: دایرکتوری \fIbin\fR حاوی \fIperl\fR و \fIa2p\fR (در میان سایرین)؛ دایرکتوری \fIinfo\fR حاوی مستندات Texinfo؛ دایرکتوری \fIlib/perl\fR حاوی کتابخانه‌های Perl؛ و دایرکتوری \fIman/man1\fR حاوی صفحات راهنما\&. .PP یک "دایرکتوری بسته" (package directory) ریشه درختی است که تصویر نصب یک بسته خاص را در بر دارد\&. هر دایرکتوری بسته باید در یک دایرکتوری stow قرار گیرد -- برای مثال، دایرکتوری بسته \fI/usr/local/stow/perl\fR باید در دایرکتوری stow به نشانی \fI/usr/local/stow\fR قرار داشته باشد\&. "نام" یک بسته، نام دایرکتوری آن در دایرکتوری stow است -- مثلاً \fIperl\fR\&. .PP بنابراین، فایل اجرایی Perl ممکن است در \fI/usr/local/stow/perl/bin/perl\fR قرار گیرد، جایی که \fI/usr/local\fR دایرکتوری مقصد، \fI/usr/local/stow\fR دایرکتوری stow، \fI/usr/local/stow/perl\fR دایرکتوری بسته، و \fIbin/perl\fR در داخل آن بخشی از تصویر نصب است\&. .PP یک "پیوند نمادین" یا symlink یک ارجاع نمادین است\&. پیوند نمادین می‌تواند "نسبی" یا "مطلق" باشد\&. پیوند نمادین مطلق یک مسیر کامل را نام می‌برد؛ یعنی مسیری که از \fI/\fR شروع می‌شود\&. پیوند نمادین نسبی یک مسیر نسبی را مشخص می‌کند؛ یعنی مسیری که از \fI/\fR شروع نمی‌شود\&. مقصد یک پیوند نمادین نسبی با شروع از دایرکتوری خود پیوند نمادین محاسبه می‌شود\&. نرم‌افزار Stow تنها پیوندهای نمادین نسبی ایجاد می‌کند\&. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" فرض می‌شود که دایرکتوری stow مقدار متغیر محیطی \f(CW\*(C`STOW_DIR\*(C'\fR باشد یا در صورت عدم تنظیم، دایرکتوری جاری در نظر گرفته می‌شود، و فرض می‌شود دایرکتوری مقصد والد دایرکتوری جاری باشد (بنابراین اجرای معمول \fIstow\fR از دایرکتوری \fI/usr/local/stow\fR است)\&. هر \fIبسته\fR داده‌شده در خط فرمان، نام بسته‌ای در دایرکتوری stow است (مثلاً \fIperl\fR)\&. به طور پیش‌فرض، آن‌ها در دایرکتوری مقصد نصب می‌شوند (اما با استفاده از \f(CW\*(C`\-D\*(C'\fR می‌توان آن‌ها را حذف کرد)\&. .IP \-n 4 .IX Item "-n" .PD 0 .IP \-\-no 4 .IX Item "--no" .IP \-\-simulate 4 .IX Item "--simulate" .PD هیچ عملیاتی که فایل‌سیستم را تغییر دهد انجام نده؛ صرفاً نشان بده که چه اتفاقی خواهد افتاد\&. .IP "\-d DIR" 4 .IX Item "-d DIR" .PD 0 .IP \-\-dir=DIR 4 .IX Item "--dir=DIR" .PD دایرکتوری stow را به جای دایرکتوری جاری، روی \f(CW\*(C`DIR\*(C'\fR تنظیم کن\&. این کار همچنین باعث می‌شود دایرکتوری مقصد پیش‌فرض والد \f(CW\*(C`DIR\*(C'\fR شود\&. .IP "\-t DIR" 4 .IX Item "-t DIR" .PD 0 .IP \-\-target=DIR 4 .IX Item "--target=DIR" .PD دایرکتوری مقصد را به جای والد دایرکتوری stow، روی \f(CW\*(C`DIR\*(C'\fR تنظیم کن\&. .IP \-v 4 .IX Item "-v" .PD 0 .IP \-\-verbose[=N] 4 .IX Item "--verbose[=N]" .PD خروجی مشروح توصیف‌کننده کارهایی که Stow انجام می‌دهد را به خروجی خطای استاندارد ارسال کن\&. سطوح پرگویی از 0 تا 5 است؛ 0 پیش‌فرض است\&. استفاده از \f(CW\*(C`\-v\*(C'\fR یا \f(CW\*(C`\-\-verbose\*(C'\fR پرگویی را یک واحد افزایش می‌دهد؛ استفاده از \-\-verbose=N آن را روی N تنظیم می‌کند\&. .IP \-S 4 .IX Item "-S" .PD 0 .IP \-\-stow 4 .IX Item "--stow" .PD بسته‌های پس از این گزینه را در دایرکتوری مقصد مستقر (stow) کن\&. این عمل پیش‌فرض است و بنابراین اگر فقط در حال استقرار بسته‌ها هستید و ترکیبی از اقدامات stow/delete/restow را انجام نمی‌دهید، می‌توانید آن را نادیده بگیرید\&. .IP \-D 4 .IX Item "-D" .PD 0 .IP \-\-delete 4 .IX Item "--delete" .PD بسته‌های پس از این گزینه را به جای نصب کردن، از دایرکتوری مقصد حذف (unstow) کن\&. .IP \-R 4 .IX Item "-R" .PD 0 .IP \-\-restow 4 .IX Item "--restow" .PD استقرار مجدد بسته‌ها (ابتدا حذف پیوندها، سپس استقرار دوباره)\&. این گزینه برای هرس کردن پیوندهای نمادین منسوخ از درخت مقصد پس از به‌روزرسانی نرم‌افزار در یک بسته مفید است\&. .IP \-\-adopt 4 .IX Item "--adopt" \&\fBهشدار!\fR این رفتار به طور ویژه برای تغییر محتویات دایرکتوری stow شما در نظر گرفته شده است\&. اگر چنین چیزی نمی‌خواهید، این گزینه برای شما مناسب نیست\&. .Sp هنگام استقرار، اگر مقصدی مشاهده شود که از قبل وجود دارد اما یک فایل معمولی است (و بنابراین متعلق به هیچ بسته stow موجودی نیست)، معمولاً Stow این را به عنوان یک تداخل ثبت کرده و از ادامه کار خودداری می‌کند\&. این گزینه این رفتار را تغییر می‌دهد به طوری که فایل به همان مکان نسبی در تصویر نصب بسته در دایرکتوری stow منتقل می‌شود، و سپس استقرار طبق روال قبل ادامه می‌یابد\&. بنابراین عملاً، فایل بدون اینکه محتوایش تغییر کند توسط بسته stow به فرزندی پذیرفته (adopt) می‌شود\&. .IP \-\-no\-folding 4 .IX Item "--no-folding" غیرفعال کردن تا کردن (folding) دایرکتوری‌های جدیداً مستقرشده هنگام stow، و تا کردن مجدد دایرکتوری‌های جدیداً قابل تا شدن هنگام unstow\&. .IP \-\-ignore=REGEX 4 .IX Item "--ignore=REGEX" نادیده گرفتن پرونده‌هایی که به این عبارت باقاعده Perl ختم می‌شوند\&. .IP \-\-defer=REGEX 4 .IX Item "--defer=REGEX" عدم استقرار پرونده‌هایی که با این عبارت باقاعده Perl شروع می‌شوند در صورتی که فایل از قبل در بسته دیگری مستقر شده باشد\&. .IP \-\-override=REGEX 4 .IX Item "--override=REGEX" اجبار به استقرار پرونده‌هایی که با این عبارت باقاعده Perl شروع می‌شوند حتی اگر فایل از قبل در بسته دیگری مستقر شده باشد\&. .IP \-\-dotfiles 4 .IX Item "--dotfiles" فعال کردن مدیریت ویژه برای "dotfileها" (پرونده‌ها یا پوشه‌هایی که نامشان با نقطه شروع می‌شود) در دایرکتوری بسته\&. اگر این گزینه فعال باشد، Stow یک مرحله پیش‌پردازش برای هر پرونده یا پوشه‌ای که نامش با "dot\-" شروع می‌شود اضافه می‌کند و پیشوند "dot\-" در نام را با یک نقطه (.) جایگزین می‌نماید\&. این گزینه زمانی مفید است که Stow برای مدیریت مجموعه‌هایی از dotfileها استفاده می‌شود، تا از پر شدن دایرکتوری بسته از پرونده‌های مخفی جلوگیری شود\&. .Sp به عنوان مثال، فرض کنید بسته‌ای شامل دو پرونده داریم: \fIstow/dot\-bashrc\fR و \fIstow/dot\-emacs.d/init.el\fR\&. با این گزینه، Stow پیوندهای نمادینی از \fI.bashrc\fR به \fIstow/dot\-bashrc\fR و از \fI.emacs.d/init.el\fR به \fIstow/dot\-emacs.d/init.el\fR ایجاد می‌کند\&. هر پرونده دیگری که نامش با "dot\-" شروع نشود طبق روال معمول پردازش خواهد شد\&. .IP \-V 4 .IX Item "-V" .PD 0 .IP \-\-version 4 .IX Item "--version" .PD نمایش شماره نسخه Stow و خروج\&. .IP \-h 4 .IX Item "-h" .PD 0 .IP \-\-help 4 .IX Item "--help" .PD نمایش نحو دستور Stow و خروج\&. .SH "نصب بسته‌ها (INSTALLING PACKAGES)" .IX Header "INSTALLING PACKAGES" عمل پیش‌فرض Stow نصب یک بسته است\&. این به معنای ایجاد پیوندهای نمادین در درخت مقصد است که به درخت بسته اشاره می‌کنند\&. نرم‌افزار Stow تلاش می‌کند این کار را با کمترین تعداد پیوند نمادین ممکن انجام دهد؛ به عبارت دیگر، اگر Stow بتواند یک پیوند نمادین واحد ایجاد کند که به کل یک زیردرخت در داخل درخت بسته اشاره کند، آن کار را به جای ایجاد یک دایرکتوری در درخت مقصد و پر کردن آن با پیوندهای نمادین انتخاب خواهد کرد\&. .PP به عنوان مثال، فرض کنید هنوز هیچ بسته‌ای در \fI/usr/local\fR نصب نشده است؛ کاملاً خالی است (البته به جز زیردایرکتوری \fIstow\fR)\&. اکنون فرض کنید بسته Perl نصب شده است\&. یادآوری می‌شود که این بسته شامل دایرکتوری‌های زیر در تصویر نصب خود است: \fIbin\fR؛ \fIinfo\fR؛ \fIlib/perl\fR؛ \fIman/man1\fR\&. به جای ایجاد دایرکتوری \fI/usr/local/bin\fR و پر کردن آن با پیوندهای نمادین به \fI../stow/perl/bin/perl\fR و \fI../stow/perl/bin/a2p\fR (و غیره)، Stow یک پیوند نمادین منفرد \fI/usr/local/bin\fR ایجاد می‌کند که به \fIstow/perl/bin\fR اشاره دارد\&. به این ترتیب، ارجاع به \fI/usr/local/bin/perl\fR و \fI/usr/local/bin/a2p\fR همچنان کار می‌کند و پیوندهای نمادین کمتری ایجاد شده است\&. این فرآیند "تا کردن درخت" (tree folding) نامیده می‌شود، زیرا کل یک زیردرخت درون یک پیوند نمادین واحد "تا" شده است\&. .PP برای تکمیل این مثال، Stow همچنین پیوند نمادین \fI/usr/local/info\fR با اشاره به \fIstow/perl/info\fR؛ پیوند نمادین \fI/usr/local/lib\fR با اشاره به \fIstow/perl/lib\fR؛ و پیوند نمادین \fI/usr/local/man\fR با اشاره به \fIstow/perl/man\fR را ایجاد خواهد کرد\&. .PP اکنون فرض کنید به جای نصب بسته Perl در یک درخت مقصد خالی، درخت مقصد از ابتدا خالی نیست\&. در عوض، شامل چندین پرونده و دایرکتوری است که تحت یک فلسفه مدیریت سیستم دیگر نصب شده‌اند\&. به طور خاص، \fI/usr/local/bin\fR از قبل وجود دارد و یک دایرکتوری است، همانند \fI/usr/local/lib\fR و \fI/usr/local/man/man1\fR\&. در این حالت، Stow به داخل \fI/usr/local/bin\fR رفته و پیوندهای نمادین به \fI../stow/perl/bin/perl\fR و \fI../stow/perl/bin/a2p\fR (غیره) ایجاد می‌کند، و وارد \fI/usr/local/lib\fR شده و پیوند نمادین تا کردن درخت \fIperl\fR را با اشاره به \fI../stow/perl/lib/perl\fR ایجاد می‌نماید، و الی آخر\&. به عنوان یک قاعده، زمانی که Stow بتواند یک پیوند نمادین تا کردن درخت ایجاد کند، فقط تا جایی که لازم است در درخت مقصد پایین می‌رود\&. .PP اغلب زمانی فرا می‌رسد که یک پیوند نمادین تا کردن درخت باید باز شود (شکافته شود)، زیرا بسته دیگری از یک یا چند زیردایرکتوری تاشده در تصویر نصب خود استفاده می‌کند\&. این عملیات "شکافتن" (splitting open) یک درخت تاشده نامیده می‌شود\&. این کار شامل حذف پیوند نمادین اصلی از درخت مقصد، ایجاد یک دایرکتوری واقعی به جای آن، و سپس پر کردن دایرکتوری جدید با پیوندهای نمادین به بسته جدیداً نصب‌شده \fBو\fR به بسته قدیمی که از پیوند نمادین قدیمی استفاده می‌کرد، می‌باشد\&. به عنوان مثال، فرض کنید پس از نصب Perl در یک \fI/usr/local\fR خالی، می‌خواهیم Emacs را نصب کنیم\&. تصویر نصب Emacs شامل یک دایرکتوری \fIbin\fR حاوی فایل‌های اجرایی \fIemacs\fR و \fIetags\fR و موارد دیگر است\&. نرم‌افزار Stow باید کاری کند که این پرونده‌ها در \fI/usr/local/bin\fR نصب‌شده به نظر برسند، اما در حال حاضر \fI/usr/local/bin\fR یک پیوند نمادین به \fIstow/perl/bin\fR است\&. بنابراین Stow مراحل زیر را انجام می‌دهد: پیوند نمادین \fI/usr/local/bin\fR حذف می‌شود؛ دایرکتوری \fI/usr/local/bin\fR ایجاد می‌شود؛ پیوندهایی از \fI/usr/local/bin\fR به \fI../stow/emacs/bin/emacs\fR و \fI../stow/emacs/bin/etags\fR برقرار می‌شود؛ و پیوندهایی از \fI/usr/local/bin\fR به \fI../stow/perl/bin/perl\fR و \fI../stow/perl/bin/a2p\fR ایجاد می‌گردد\&. .PP هنگام شکافتن یک درخت تاشده، Stow مطمئن می‌شود پیوند نمادینی که در شرف حذف آن است، به داخل یک بسته معتبر در دایرکتوری stow جاری اشاره می‌کند\&. .SS "نرم‌افزار Stow هرگز چیزی را که مالکش نیست حذف نمی‌کند" .IX Subsection "Stow will never delete anything that it doesn't own." نرم‌افزار Stow "مالک" هر چیزی در درخت مقصد است که به بسته‌ای در دایرکتوری stow اشاره کند\&. هر چیزی که Stow مالکش باشد را در صورت گم شدن می‌تواند دوباره محاسبه کند\&. توجه داشته باشید طبق این تعریف، Stow مالک هیچ چیزی \fBدرون\fR دایرکتوری stow یا در هیچ یک از بسته‌ها نیست\&. .PP اگر Stow نیاز به ایجاد یک دایرکتوری یا پیوند نمادین در درخت مقصد داشته باشد و نتواند این کار را انجام دهد چون آن نام در حال حاضر در حال استفاده است و در مالکیت Stow نیست، یک تداخل رخ داده است\&. بخش "Conflicts" را در راهنمای info ببینید\&. .SH "حذف بسته‌ها (DELETING PACKAGES)" .IX Header "DELETING PACKAGES" هنگامی که گزینه \f(CW\*(C`\-D\*(C'\fR داده می‌شود، اقدام Stow حذف یک بسته از درخت مقصد است\&. توجه داشته باشید که Stow چیزی را که "مالک" آن نیست حذف نخواهد کرد\&. حذف یک بسته به معنای حذف آن از دایرکتوری stow یا کنار گذاشتن درخت بسته \fBنیست\fR\&. .PP برای حذف یک بسته، Stow به صورت بازگشتی درخت مقصد را اسکن می‌کند، از دایرکتوری stow (از آنجا که معمولاً یک زیردایرکتوری از درخت مقصد است) و هر دایرکتوری stow دیگری که با آن روبرو می‌شود صرف‌نظر می‌کند (به "Multiple stow directories" در راهنمای info مراجعه فرمایید)\&. هر پیوند نمادینی که بیابد و به بسته در حال حذف اشاره کند برداشته می‌شود\&. هر دایرکتوری که تنها شامل پیوندهای نمادین به بسته در حال حذف باشد برداشته می‌شود\&. هر دایرکتوری که پس از حذف پیوندهای نمادین و زیردایرکتوری‌های خالی، تنها شامل پیوندهای نمادین به یک بسته منفرد دیگر باشد، درختی در نظر گرفته می‌شود که قبلاً "تاشده" بوده و سپس "شکافته" شده است\&. نرم‌افزار Stow با حذف پیوندهای نمادین به بسته باقی‌مانده، حذف دایرکتوری، و سپس پیوند دادن مجدد دایرکتوری به بسته باقی‌مانده، درخت را مجدداً تا می‌کند\&. .SH "پرونده‌های منابع (RESOURCE FILES)" .IX Header "RESOURCE FILES" نرم‌افزار \fIStow\fR گزینه‌های پیش‌فرض خط فرمان را به ترتیب در \fI.stowrc\fR (دایرکتوری جاری) و \fI~/.stowrc\fR (دایرکتوری خانگی) جستجو می‌کند\&. اگر هر دو مکان وجود داشته باشند، پرونده‌ها عملاً به یکدیگر الحاق می‌شوند\&. .PP اثر گزینه‌ها در پرونده منابع شبیه به افزودن ساده گزینه‌ها به ابتدای خط فرمان است\&. برای گزینه‌هایی که یک مقدار واحد ارائه می‌دهند، مانند \fI\-\-target\fR یا \fI\-\-dir\fR، گزینه خط فرمان هر گزینه‌ای در پرونده منابع را بازنویسی می‌کند\&. برای گزینه‌هایی که می‌توانند بیش از یک بار داده شوند، برای مثال \fI\-\-ignore\fR، گزینه‌های خط فرمان و گزینه‌های منابع به یکدیگر الحاق می‌شوند\&. .PP متغیرهای محیطی و نویسه مدک (\fI~\fR) برای گزینه‌هایی که مسیر فایل را می‌گیرند بسط داده می‌شوند\&. .PP گزینه‌های \fI\-D\fR، \fI\-R\fR، \fI\-S\fR، و هر بسته‌ای که در پرونده منابع فهرست شده باشد نادیده گرفته می‌شوند\&. .PP برای اطلاعات بیشتر در مورد نحوه مدیریت پرونده منابع توسط stow، راهنمای info را ببینید\&. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" مستندات کامل \fIstow\fR به صورت یک راهنمای Texinfo نگهداری می‌شود\&. اگر برنامه‌های \fIinfo\fR و \fIstow\fR به درستی در سیستم شما نصب شده باشند، دستور .PP .Vb 1 \& info stow .Ve .PP باید دسترسی به راهنمای کامل را برای شما فراهم کند\&. .SH "اشکالات (BUGS)" .IX Header "BUGS" لطفاً اشکالات موجود در Stow را با استفاده از سیستم ردیابی باگ دبیان گزارش دهید\&. .PP اشکالات شناخته‌شده در حال حاضر عبارتند از: .IP \(bu 4 مشکل دایرکتوری خالی\&. .Sp اگر بسته \fIfoo\fR شامل یک دایرکتوری خالی باشد -- مثلاً \fIfoo/bar\fR -- در این صورت اگر هیچ بسته دیگری زیردایرکتوری \fIbar\fR نداشته باشد، همه چیز به خوبی کار می‌کند\&. اگر بسته دیگری به نام \fIquux\fR دارای زیردایرکتوری \fIbar\fR باشد، هنگام استقرار، \fItargetdir/bar\fR شکافته می‌شود و محتویات \fIquux/bar\fR به صورت جداگانه مستقر می‌شوند\&. تا اینجا مشکلی نیست\&. اما هنگام حذف استقرار (unstowing) بسته \fIquux\fR، پوشه \fItargetdir/bar\fR حذف می‌شود، هرچند \fIfoo/bar\fR نیاز دارد که باقی بماند\&. یک راهکار موقت برای این مشکل، ایجاد یک پرونده به عنوان نگه‌دارنده مکان (placeholder) در \fIfoo/bar\fR است\&. اگر نام آن پرونده را \fI.placeholder\fR بگذارید، پس از رفع این اشکال، یافتن و حذف چنین پرونده‌هایی آسان خواهد بود\&. .IP \(bu 4 هنگام استفاده از چندین دایرکتوری stow (به "Multiple stow directories" در راهنمای info مراجعه فرمایید)، Stow در شکافتن پیوندهای نمادین تا کردن درخت (به "Installing packages" در راهنمای info مراجعه فرمایید) که به یک دایرکتوری stow اشاره دارند که توسط دستور فعلی Stow استفاده نمی‌شود، با شکست مواجه می‌شود\&. قبل از شکست، باید مقصد پیوند را جستجو کند تا ببیند آیا عنصری از مسیر شامل پرونده \fI.stow\fR است یا خیر\&. اگر یکی را بیابد، می‌تواند درباره دایرکتوری همکار stow اطلاعات کسب کند تا دفعه بعد که با یک پیوند نمادین تا کردن درخت روبرو شد، جستجوی \fI.stow\fR را کوتاه کند\&. .SH "نویسنده (AUTHOR)" .IX Header "AUTHOR" این صفحه راهنما در اصل توسط Charles Briscoe-Smith از بخش‌هایی از راهنمای info برنامه Stow ساخته شد و سپس توسط Adam Spiers به قالب POD تبدیل گردید\&. راهنمای info شامل اطلاعیه زیر است که همان‌طور که می‌گوید، برای این صفحه راهنما نیز صدق می‌کند\&. متن بخشی با عنوان "GNU General Public License" را می‌توان در پرونده \fI/usr/share/common\-licenses/GPL\fR در هر سیستم دبیان یا گنو/لینوکس یافت\&. اگر به یک سیستم دبیان دسترسی ندارید، یا GPL در آنجا نیست، به بنیاد نرم‌افزار آزاد بنویسید: Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA, 02111\-1307, USA\&. .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر (C) 1993, 1994, 1995, 1996 متعلق به Bob Glickstein ؛ 2000, 2001 متعلق به Guillaume Morin؛ 2007 متعلق به Kahlil Hodgson؛ 2011 متعلق به Adam Spiers؛ و دیگران\&. .PP مجوز تکثیر و توزیع نسخه‌های عین اصل این راهنما داده شده است به شرطی که اعلامیه حق نشر و این اعلامیه مجوز در تمامی نسخه‌ها حفظ شوند\&. .PP مجوز کپی و توزیع نسخه‌های تغییریافته این راهنما تحت شرایط تکثیر عین اصل داده شده است، به این شرط که بخش با عنوان "GNU General Public License" نیز همراه با راهنمای اصلاح‌شده گنجانده شود، و به شرطی که کل اثر مشتق‌شده حاصل تحت شرایط اعلامیه مجوزی دقیقاً مشابه با این منتشر شود\&. .PP مجوز کپی و توزیع ترجمه‌های این راهنما به زبانی دیگر، تحت شرایط فوق برای نسخه‌های تغییریافته داده شده است، با این استثنا که این اعلامیه مجوز ممکن است در ترجمه‌ای که توسط بنیاد نرم‌افزار آزاد تایید شده است بیان شود\&.