| TLMGR(1) | User Contributed Perl Documentation | TLMGR(1) |
نام (NAME)
tlmgr - ابزار بومی مدیریت TeX Live
خلاصه دستور (SYNOPSIS)
tlmgr [option...] action [option...] [operand...]
توضیحات (DESCRIPTION)
دستور tlmgr یک نصب موجود از TeX Live را مدیریت میکند؛ هم بستهها و هم گزینههای پیکربندی را. برای کسب اطلاعات دربارهٔ بارگیری اولیه و نصب TeX Live، به https://tug.org/texlive/acquire.html مراجعه کنید.
بهروزترین نسخهٔ این مستندات (که بهصورت شبانه از مخازن توسعه بهروز میشود) در نشانی https://tug.org/texlive/tlmgr.html به همراه دستورالعملهای بهروزرسانی خود "tlmgr" و اطلاعات دربارهٔ نسخههای آزمایشی در دسترس است.
سامانهٔ TeX Live در چندین scheme (طرح) سطحبالا سازماندهی شده است که هر کدام بهصورت مجموعهای متفاوت از collectionها و packageها مشخص شدهاند؛ به این صورت که هر مجموعه (collection) دستهای از بستهها است و بسته چیزی است که فایلهای واقعی را در بر دارد. طرحها معمولاً شامل ترکیبی از مجموعهها و بستهها هستند، اما هر بسته دقیقاً و تنها در یک مجموعه گنجانده شده است، نه بیشتر و نه کمتر. یک نصب TeX Live را میتوان در هر سطحی سفارشیسازی و مدیریت کرد.
برای مشاهدهٔ تمامی مستندات در دسترس TeX Live، به https://tug.org/texlive/doc مراجعه کنید.
مثالها (EXAMPLES)
پس از نصب موفقیتآمیز TeX Live، در اینجا چند عملیات متداول با "tlmgr" آورده شده است:
- "tlmgr option repository ctan"
- "tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet"
- به "tlmgr"
اعلام
میکند که
برای
بهروزرسانیهای
آتی از یک
آینهٔ (mirror)
نزدیک CTAN
استفاده
کند؛ این
کار زمانی
مفید است که
TeX Live را از
تصویر DVD نصب
کردهاید و
میخواهید
بهروزرسانیهای
مداوم
داشته
باشید. این
دو دستور
معادل
یکدیگرند؛
"ctan"
صرفاً یک
نام مستعار
برای نشانی
اینترنتی
ارائهشده
است.
هشدار: "mirror.ctan.org" به میزبانهای متعددی نگاشت میشود و این میزبانها کاملاً با یکدیگر همگام نیستند؛ توصیه میکنیم بهروزرسانی را حداکثر بهصورت روزانه انجام دهید و نه بیشتر از آن. در صورت بروز مشکل میتوانید یک آینهٔ خاص را انتخاب کنید؛ فهرست تمام آینههای CTAN به همراه وضعیت هر یک در https://ctan.org/mirrors/mirmon در دسترس است.
- "tlmgr update --list"
- بدون اعمال هیچگونه تغییر واقعی، گزارش میدهد که چه مواردی بهروزرسانی خواهند شد.
- "tlmgr update --all"
- نصب محلی TeX شما را با آنچه در مخزن بستهها موجود است هماهنگ و منطبق میسازد (معمولاً هنگام بهروزرسانی از CTAN کاربرد دارد).
- "tlmgr info" what
- اطلاعات تفصیلی دربارهٔ یک بسته با نام what نظیر وضعیت نصب و شرح آن را نمایش میدهد، یا به جستجوی what در میان تمامی بستهها میپردازد.
- "tlmgr bug" what
- اطلاعات موجود برای گزارش اشکال (bug) مربوط به what (که نام یک بسته یا فایل است) را نمایش میدهد.
برای آگاهی از تمام قابلیتها و جزئیات دقیق "tlmgr"، لطفاً توضیحات تفصیلی زیر را مطالعه فرمایید..SH "گزینهها (OPTIONS)" گزینههای زیر برای "tlmgr" گزینههای سراسری هستند و به هیچ عملیات خاصی اختصاص ندارند. تمام گزینهها، چه سراسری و چه مختص به یک عملیات، میتوانند در هر کجای خط فرمان و به هر ترتیبی مشخص شوند. نخستین آرگومان غیرگزینهای، عملیات اصلی خواهد بود. در تمام موارد، "--"option و "-"option معادل یکدیگرند و قرار دادن "=" میان نام گزینه و مقدار آن اختیاری است.
- --repository url|path
- مخزن
بستهای را
مشخص
میکند که
بستهها
باید از آن
نصب یا
بهروزرسانی
شوند؛ این
مخزن
میتواند
مانند
موارد زیر،
یک
دایرکتوری
محلی یا
مکانی در
شبکه باشد.
این گزینه
بر مخزن
بسته
پیشفرض که
در
پایگاهداده
بسته TeX Live نصب
قرار دارد
(که با نام TLPDB
نیز شناخته
میشود و
بهطور
کامل در
فایل
"tlpkg/texlive.tlpdb"
ارائه شده
است) اولویت
دارد.
این گزینه "--repository" مکان را فقط برای اجرای فعلی تغییر میدهد؛ برای اعمال یک تغییر دائمی، از "option repository" استفاده کنید (عملیات «option» را ببینید).
به عنوان مثال، میتوانید یک آینه خاص CTAN را با دستوری شبیه به این انتخاب کنید:
-repository http://ctan.example.org/its/ctan/dir/systems/texlive/tlnet
البته باید یک نام میزبان واقعی و دایرکتوری سطح بالای خاص CTAN آن مشخص شود. فهرست آینههای CTAN در https://ctan.org/mirrors/mirmon در دسترس است.
این هم نمونهای از استفاده از یک دایرکتوری محلی:
-repository /local/TL/repository
برای سازگاری با نسخههای پیشین و راحتی کار، "--location" و "--repo" نیز به عنوان نامهای مستعار این گزینه پذیرفته میشوند.
مکانها را میتوان به صورت هر یک از موارد زیر مشخص کرد:
- "/some/local/dir"
- "file:/some/local/dir"
- روشهای معادل برای تعیین یک دایرکتوری محلی.
- "ctan"
- "https://mirror.ctan.org/systems/texlive/tlnet"
- انتخاب خودکار یک آینه CTAN، با تلاش برای برگزیدن موردی که هم نزدیکتر و هم بهروز باشد. آینه انتخابشده برای کل بارگیری استفاده میشود. عبارت سادهی "ctan" صرفاً یک نام مستعار برای URL کامل است. (برای اطلاعات بیشتر درباره CTAN و آینههای آن، https://ctan.org را ببینید.)
- "http://server/path/to/tlnet"
- پروتکل استاندارد HTTP. اگر از روش (پیشفرض) LWP استفاده شود، اتصالات پایدار پشتیبانی میشوند. TL همچنین میتواند برای انجام بارگیریها از "curl" یا "wget"، یا هر برنامه دلخواه دیگری که توسط کاربر تعیین شده استفاده کند، همانطور که در مستندات "tlmgr" در (https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES) شرح داده شده است.
- "https://server/path/to/tlnet"
- مجدداً، اگر از روش (پیشفرض) LWP استفاده شود، از اتصالات پایدار پشتیبانی میکند. متأسفانه برخی نسخههای "wget" و "curl" از https پشتیبانی نمیکنند، و حتی زمانی که "wget" از https پشتیبانی میکند، ممکن است به دلیل نبود گواهیهای ریشه محلی، گواهیها رد شوند حتی اگر گواهی کاملاً معتبر باشد. سادهترین راهحل برای این مشکل، استفاده از http یا ftp است.
- "ftp://server/path/to/tlnet"
- اگر از روش (پیشفرض) LWP استفاده شود، اتصالات پایدار پشتیبانی میشوند.
- "user@machine:/path/to/tlnet"
- "scp://user@machine/path/to/tlnet"
- "ssh://user@machine/path/to/tlnet"
- این قالبها معادل یکدیگر هستند؛ همگی برای انتقال فایلها از "scp" استفاده میکنند. استفاده از "ssh-agent" توصیه میشود. (اطلاعات بیشتر: https://en.wikipedia.org/wiki/OpenSSH، https://en.wikipedia.org/wiki/Ssh-agent.)
اگر مخزن روی شبکه باشد، نویسههای پایانی "/" و/یا بخشهای پایانی "/tlpkg" و/یا "/archive" نادیده گرفته میشوند.
- --gui [action]
- دو رابط
گرافیکی
برجسته
برای
"tlmgr"،
یعنی
"tlshell" و
"tlcockpit"، به
عنوان
برنامههایی
جداگانه
راهاندازی
میشوند؛
مستندات
اختصاصی
آنها را
ببینید.
خود "tlmgr" نیز علاوه بر رابط خط فرمان، دارای یک رابط گرافیکی است. شما میتوانید گزینه فراخوانی آن، "--gui" را به همراه یک عملیات مشخص کنید تا مستقیماً به صفحه مربوط به همان عملیات در رابط گرافیکی هدایت شوید. به عنوان مثال، اجرای:
tlmgr --gui update
شما را مستقیماً وارد صفحه بهروزرسانی میکند. اگر هیچ عملیاتی مشخص نشود، رابط گرافیکی در صفحه اصلی باز خواهد شد. بخش «GUI FOR TLMGR» را ببینید.
با این حال، رابط گرافیکی بومی نیازمند Perl/TK است که دیگر در توزیع پرل TeX Live برای ویندوز گنجانده نشده است. ممکن است کار با "tlshell" یا "tlcockpit" برایتان آسانتر باشد.
- --gui-lang llcode
- بهطور
پیشفرض،
رابط
گرافیکی
تلاش
میکند
زبان شما را
از محیط
استنباط
کند (در
ویندوز از
طریق
رجیستری و
در یونیکس
از طریق
"LC_MESSAGES"). در
صورت عدم
موفقیت،
میتوانید
با مشخص
کردن این
گزینه به
همراه یک کد
زبان (بر
اساس ISO 639-1)،
زبان
متفاوتی را
انتخاب
کنید.
زبانهایی
که در حال
حاضر
پشتیبانی
میشوند
(اما لزوماً
ترجمه کامل
ندارند)
عبارتند از:
انگلیسی (en، پیشفرض)،
چکی (cs)،
آلمانی (de)،
فرانسوی (fr)،
ایتالیایی (it)،
ژاپنی (ja)،
هلندی (nl)،
لهستانی (pl)،
پرتغالی برزیلی (pt_BR)،
روسی (ru)،
اسلواکی (sk)،
اسلوونیایی (sl)،
صربی (sr)،
اوکراینی (uk)،
ویتنامی (vi)،
چینی سادهشده (zh_CN)
و
چینی سنتی (zh_TW).
برنامه tlshell کاتالوگ پیامهای خود را با tlmgr به اشتراک میگذارد.
- --command-logfile file
- برنامه "tlmgr" خروجی تمام برنامههای فراخوانیشده (mktexlr، mtxrun، fmtutil، updmap) را در یک فایل لاگ جداگانه ثبت میکند که بهطور پیشفرض "TEXMFSYSVAR/web2c/tlmgr-commands.log" است. این گزینه به شما امکان میدهد فایل متفاوتی را برای ثبت وقایع مشخص کنید.
- --debug-translation
- در حالت گرافیکی، این سوئیچ به "tlmgr" اعلام میکند که هر پیام ترجمهنشده (یا مفقود) را به خروجی خطای استاندارد گزارش دهد. این کار میتواند به مترجمان کمک کند تا ببینند چه مواردی هنوز باقی مانده است.
- --machine-readable
- به جای خروجی معمول که برای استفاده انسان است، قالبی ثابت و مناسبتر برای تجزیه توسط ماشین (در خروجی استاندارد) مینویسد. بخش «MACHINE-READABLE OUTPUT» را در ادامه ببینید.
- --no-execute-actions
- مانع اجرای عملیاتهای اجرایی مشخصشده در فایلهای tlpsrc میشود. مگر اینکه قصد داشته باشید پسپردازش را خودتان انجام دهید (همانند کاری که برای مثال "install-tl" انجام میدهد)، این گزینه نباید مشخص شود. در غیر این صورت، در کنار مشکلات دیگر، فایلهای فرمت و پایگاهداده نام فایلها کهنه و نامعتبر خواهند شد.
- --package-logfile file
- برنامه "tlmgr" تمام عملیات بستهها (نصب، حذف، بهروزرسانی، بهروزرسانیهای ناموفق، بازگردانیهای ناموفق) را در یک فایل لاگ جداگانه ثبت میکند که بهطور پیشفرض "TEXMFSYSVAR/web2c/tlmgr.log" است. این گزینه به شما اجازه میدهد فایل متفاوتی را برای ثبت این وقایع تعیین کنید.
- --pause
- این گزینه باعث میشود "tlmgr" پیش از خروج، منتظر ورودی کاربر بماند. این ویژگی در ویندوز برای جلوگیری از بسته شدن ناگهانی پنجره اعلان فرمان مفید است.
- --persistent-downloads
- --no-persistent-downloads
- برای
نصبهای
مبتنی بر
شبکه، این
گزینه (که
بهطور
پیشفرض
فعال است)
باعث
میشود
"tlmgr" تلاش
کند یک
اتصال
پایدار (با
استفاده از
ماژول پرل
"LWP")
برقرار کند.
ایده اصلی
این است که
در هر نشست
تنها یک
اتصال بین
رایانه شما
و سرور باز
شده و
مجدداً
استفاده
شود، به جای
اینکه برای
هر بسته یک
بارگیری
جدید آغاز
گردد.
اگر این کار مقدور نباشد، "tlmgr" به عنوان راهکار جایگزین به استفاده از "wget" روی میآورد. برای غیرفعال کردن این اتصالات پایدار، از "--no-persistent-downloads" استفاده کنید.
- --pin-file
- مکان فایل پینکردن را از "TEXMFLOCAL/tlpkg/pinning.txt" تغییر میدهد (بخش «Pinning» را در ادامه ببینید). این مورد تنها برای کامل بودن مستندات ذکر شده است، چرا که فقط در عیبیابی کاربرد دارد.
- --usermode
- حالت کاربر را برای این اجرای "tlmgr" فعال میکند؛ بخش «USER MODE» را در ادامه ببینید.
- --usertree dir
- در حالت کاربر، از dir برای درخت استفاده میکند؛ بخش «USER MODE» را در ادامه ببینید.
- --verify-repo=[none|main|all]
- سطح اعتبارسنجی انجامشده را مشخص میکند: اگر "none" تعیین شود، هیچگونه اعتبارسنجی صورت نمیگیرد. اگر "main" داده شود و فایل دودویی فعال GnuPG ("gpg") در دسترس باشد، تمام مخازن بررسی میشوند، اما فقط مخزن اصلی باید امضا شده باشد. اگر "all" تعیین شود، آنگاه تمام مخازن باید دارای امضا باشند. برای جزئیات، بخش «CRYPTOGRAPHIC VERIFICATION» را در ادامه ببینید..PP گزینههای استاندارد برنامههای TeX Live نیز پذیرفته میشوند: "--help/-h/-?"، "--version"، "-q" (بدون پیامهای اطلاعاتی)، "-v" (پیامهای اشکالزدایی، میتواند تکرار شود). برای جزئیات در مورد این موارد، به مستندات "TeXLive::TLUtils" مراجعه کنید.
گزینهٔ "--version" اطلاعات نسخهٔ انتشار TeX Live و خود اسکریپت "tlmgr" را نشان میدهد. اگر "-v" نیز داده شود، شمارهٔ بازبینی ماژولهای پرل بارگذاریشدهٔ TeX Live نیز نمایش داده میشود.
عملیاتها (ACTIONS)
help
نمایش این اطلاعات راهنما و خروج (مشابه "--help"، و روی وب در https://tug.org/texlive/doc/tlmgr.html). گاهی اوقات برنامههای "perldoc" یا "PAGER" روی سیستم دچار مشکل میشوند که منجر به چاپ مستقیم نویسههای کنترلی در خروجی میگردد. این وضعیت همیشه قابل تشخیص نیست، اما میتوانید متغیر محیطی "NOPERLDOC" را تنظیم کنید تا از "perldoc" استفاده نشود.
version
اطلاعات نسخه را ارائه میدهد (مشابه "--version").
اگر "-v" داده شده باشد، بازبینیهای ماژولهای استفادهشده نیز گزارش میشوند.
backup
- backup [option...] --all
- backup [option...] pkg...
- اگر گزینهٔ
"--clean"
مشخص نشده
باشد، این
عملیات از
بستههای
مشخصشده،
یا با دادن
"--all" از
تمامی
بستهها
نسخهٔ
پشتیبان
تهیه
میکند. این
نسخههای
پشتیبان در
مقدار
گزینهٔ
"--backupdir"، در
صورتی که
دایرکتوری
موجود و
قابلنوشتن
باشد،
ذخیره
میشوند.
اگر "--backupdir"
داده نشود،
تنظیم
گزینهٔ
"backupdir" در TLPDB
در صورت
وجود
استفاده
میشود. اگر
هر دو غایب
باشند، هیچ
پشتیبانی
گرفته
نمیشود.
(نصبکننده
"backupdir" را
روی
".../tlpkg/backups" در
زیر
دایرکتوری
ریشهٔ نصب TL
تنظیم
میکند،
بنابراین
معمولاً
تعریف شده
است؛ برای
اطلاعات
بیشتر
توضیحات
«option» را
ببینید.)
اگر گزینهٔ "--clean" مشخص شود، پشتیبانها به جای ذخیره شدن، پاکسازی (حذف) میشوند. مقدار عدد صحیح اختیاری N میتواند برای تعیین تعداد پشتیبانهایی که هنگام پاکسازی نگه داشته میشوند مشخص شود. اگر "N" داده نشود، مقدار گزینهٔ "autobackup" استفاده میشود. اگر هر دو غایب باشند، خطایی صادر میشود. برای جزئیات بیشتر دربارهٔ پاکسازی پشتیبانها، عملیات "option" را ببینید.
گزینهها:
- --backupdir directory
- تنظیم گزینهٔ "backupdir" در TLPDB را بازنویسی میکند. آرگومان directory الزامی است و باید یک دایرکتوری موجود و قابلنوشتن را که پشتیبانها در آن قرار میگیرند مشخص کند.
- --all
- اگر "--clean" مشخص نشده باشد، از تمامی بستهها در نصب TeX Live پشتیبان تهیه میکند؛ این کار زمان و فضای زیادی خواهد برد. اگر "--clean" مشخص شده باشد، تمامی بستهها پاکسازی میشوند.
- --clean[=N]
- به جای پشتیبانگیری، همانطور که در بالا توضیح داده شد، دایرکتوری پشتیبان را از پشتیبانهای قدیمی پاکسازی میکند. آرگومان اختیاری عدد صحیح N گزینهٔ "autobackup" تنظیمشده در TLPDB را بازنویسی میکند. بنا به نیاز، باید از "--all" یا فهرستی از بستهها همراه با این گزینه استفاده کنید.
- --dry-run
- در عمل چیزی پشتیبانگیری یا حذف نمیشود؛ در عوض، عملیاتی که باید انجام شوند در پایانه نوشته میشوند.
bug [search-string]
عبارت search-string را (در صورت عدم ارائه، پرسیده میشود) به عنوان نام بسته و در توضیحات بسته به صورت کلمات کامل، و در نامفایلها به عنوان هر زیررشتهای جستجو میکند، و گزارش اشکال و سایر اطلاعات مربوط به بستهٔ انتخابشده از میان نتایج را خروجی میدهد.
این جستجو معادل "tlmgr search --word --file" search-string است. بنابراین، search-string به عنوان یک عبارت باقاعده (Perl) تفسیر میشود.
candidates pkg
مخازن کاندیدای موجود برای بستهٔ pkg را نشان میدهد. بخش «MULTIPLE REPOSITORIES» را در زیر ببینید.
check [option...] [depends|executes|files|runfiles|texmfdbs|all]
یک (یا تمام) بررسیهای مربوط به یکپارچگی نصب را اجرا میکند. اگر مشکلی یافت نشود، هیچ خروجی وجود نخواهد داشت. (برای دیدن آنچه در حال انجام است، "tlmgr -v check" را اجرا کنید.)
- depends
- بستههایی
را که به
عنوان
وابستگی در
یک مجموعهٔ
نصبشده
آمدهاند
اما خودشان
نصب
نشدهاند،
و
بستههایی
را که در
هیچ
مجموعهای
قرار
ندارند
فهرست
میکند.
اگر دستور "tlmgr check collections" را اجرا کنید، به جای آن این آزمون انجام میشود، زیرا نسخههای پیشین "tlmgr" آن را به این نام فراخوانی میکردند.
- executes
- بررسی میکند که فایلهای ارجاع داده شده توسط دستورالعملهای "execute" در پایگاه دادهٔ TeX Live وجود داشته باشند.
- files
- بررسی میکند که آیا تمامی فایلهای فهرستشده در TLPDB محلی ("texlive.tlpdb") واقعاً وجود دارند، و فایلهای ناموجود را فهرست میکند.
- runfiles
- نامفایلهایی را که بیش از یک بار در بخشهای runfiles تکرار شدهاند، به جز موارد تکراری شناختهشده، فهرست میکند.
- texmfdbs
- بررسیهای مربوط به فایلهای "ls-R". اگر درختهای جدیدی تعریف کردهاید، یا متغیرهای "TEXMF" یا "TEXMFDBS" را تغییر دادهاید، اجرای این بررسی زیانی ندارد. این دستور موارد زیر را بررسی میکند:
- - تمام موارد در "TEXMFDBS" دارای پیشوند "!!" باشند.
- - تمام موارد در "TEXMFBDS" دارای یک فایل "ls-R" باشند (در صورتی که اصلاً وجود داشته باشند).
- - تمام موارد در "TEXMF" با "!!" در "TEXMFDBS" فهرست شده باشند.
- - تمام موارد در "TEXMF" با یک فایل "ls-R" در "TEXMFDBS" فهرست شده باشند.
گزینهها:
- --use-svn
- استفاده از خروجی "svn status" به جای فهرست کردن فایلها؛ برای بررسی مخزن توسعهٔ TL. (این مورد به صورت شبانه اجرا میشود.).SS conf
- conf [texmf|tlmgr|updmap [--conffile file] [--delete] [key [value]]]
- conf auxtrees [--conffile file] [show|add|remove] [value]
- تنها با
"conf"،
اطلاعات
پیکربندی
عمومی TeX Live، از
جمله
فایلهای
پیکربندی
فعال،
تنظیمات
مسیر (path) و
موارد دیگر
نمایش داده
میشود. این
دستور
مشابه
اجرای "texconfig
conf" است،
اما بر روی
تمامی
پلتفرمهای
پشتیبانیشده
کار میکند.
با یکی از دستورهای "conf texmf"، "conf tlmgr"، یا "conf updmap"، تمام جفتهای کلید/مقدار (یعنی تمامی تنظیمات) که به ترتیب در "ROOT/texmf.cnf"، فایل پیکربندی مختص کاربرِ "tlmgr" (زیر را ببینید)، یا اولین فایل "updmap.cfg" یافتشده (از طریق "kpsewhich") ذخیره شدهاند، نمایش داده میشوند.
اگر افزون بر این key داده شود، تنها مقدار همان key در فایل مربوطه نمایش داده میشود. اگر گزینهٔ --delete نیز مشخص شده باشد، مقدار موجود در فایل پیکربندی دادهشده بهطور کامل حذف میشود (نه اینکه صرفاً کامنت شود).
اگر علاوه بر این value نیز داده شود، مقدار key در فایل مربوطه برابر با value تنظیم میشود. هیچگونه بررسی خطایی انجام نمیشود!
مقدار "PATH" نشاندادهشده توسط "conf" همان مقداری است که توسط "tlmgr" استفاده میشود. دایرکتوریای که فایل اجرایی "tlmgr" در آن قرار دارد، بهطور خودکار به ابتدای مقدار PATH به ارث رسیده از محیط افزوده میشود.
در اینجا یک مثال کاربردی از تغییر مقادیر پیکربندی آورده شده است. چنانچه اجرای (برخی یا تمام) دستورات سیستمی از طریق "\write18" در هنگام نصب فعال باقی مانده باشد، میتوانید بعداً آن را غیرفعال کنید:
tlmgr conf texmf shell_escape 0
زیردستور "auxtrees" امکان افزودن و حذف درختهای texmf اضافی دلخواه را، کاملاً تحت کنترل کاربر فراهم میکند. "auxtrees show" فهرست درختهای اضافی را نشان میدهد، "auxtrees add" tree درختی را به فهرست میافزاید، و "auxtrees remove" tree درختی را از فهرست (در صورت وجود) حذف میکند. این درختها نباید حاوی فایل "ls-R" باشند (وگرنه در صورتی که "ls-R" کهنه و نامعتبر شود، فایلها یافت نخواهند شد). این سازوکار با دستکاری متغیر Kpathsea به نام "TEXMFAUXTREES"، در (بهطور پیشفرض) "ROOT/texmf.cnf" عمل میکند. مثال:
tlmgr conf auxtrees add /quick/test/tree tlmgr conf auxtrees remove /quick/test/tree
در تمام موارد، فایل پیکربندی را میتوان با استفاده از گزینهٔ "--conffile" file بهطور صریح مشخص کرد؛ مثلاً اگر نمیخواهید پیکربندی سراسری سیستم را تغییر دهید.
هشدار: امکان کلی برای تغییر مقادیر پیکربندی در اینجا وجود دارد، اما دستکاری تنظیمات به این شیوه اکیداً منع میشود. مجدداً یادآوری میشود، هیچ بررسی خطایی روی کلیدها یا مقادیر انجام نمیگیرد، بنابراین هرگونه خرابی محتمل خواهد بود.
dump-tlpdb [option...] [--json]
تخلیه کامل TLPDB محلی یا دوردست به خروجی استاندارد، به همان شکل موجود. خروجی شبیه به خروجی "--machine-readable" است؛ بخش «MACHINE-READABLE OUTPUT» را ببینید.
گزینهها:
- --local
- تخلیه TLPDB محلی.
- --remote
- تخلیه TLPDB دوردست.
- --json
- به جای تخلیه محتوای واقعی، پایگاهداده به صورت JSON تخلیه میشود. برای آگاهی از قالب خروجی JSON فایل "tlpkg/doc/json-formats.txt"، تعریف قالب "TLPDB" را ببینید.
دقیقاً باید یکی از گزینههای "--local" یا "--remote" مشخص شود.
در هر دو حالت، سطر اول خروجی مکان مخزن را با این قالب مشخص میکند:
"location-url" "\t" location
که در آن "location-url" نام لغوی فیلد است که به دنبال آن یک تب میآید، و location فایل یا نشانی وب (URL) مخزن است.
پایان خطوط ممکن است بسته به پلتفرم جاری LF یا CRLF باشد.
generate
- generate [option...] language
- generate [option...] language.dat
- generate [option...] language.def
- generate [option...] language.dat.lua
عملیات "generate" هرگونه تغییر دستی اعمالشده در فایلهای مربوطه را بازنویسی میکند: این عملیات آنها را از ابتدا بر پایهٔ اطلاعات بستههای نصبشده، به اضافه انطباقهای محلی، بازسازی میکند. نصاب TeX Live و "tlmgr" بهطور معمول "generate" را برای تمامی این فایلها فراخوانی میکنند.
برای مدیریت قلمهای اختصاصی خود، لطفاً اطلاعات "updmap --help" و/یا https://tug.org/fonts/fontinstall.html را بخوانید.
برای مدیریت فرمتهای اختصاصی خود، لطفاً اطلاعات "fmtutil --help" را بخوانید.
با جزئیات بیشتر: "generate" هر یک از فایلهای پیکربندی "language.dat"، "language.def"، و "language.dat.lua" را از روی اطلاعات موجود در TLPDB محلی، به همراه فایلهای نگهداریشده به صورت محلی بازسازی میکند.
فایلهای نگهداریشده به صورت محلی عبارتند از "language-local.dat"، "language-local.def"، یا "language-local.dat.lua"، که در "TEXMFLOCAL" در دایرکتوریهای مربوطه جستجو میشوند. در صورت وجود افزودههای محلی، فایل نهایی با شروع از فایل اصلی، حذف مدخلهایی که فایل محلی غیرفعال شدن آنها را تعیین کرده است، و در نهایت افزودن فایل محلی به انتهای آن ساخته میشود.
(نکتهٔ تاریخی: فایلهای "updmap-local.cfg" و "fmtutil-local.cnf" که سابقاً پشتیبانی میشدند دیگر خوانده نمیشوند، زیرا "updmap" و "fmtutil" اکنون از چندین فایل پیکربندی پشتیبانی کرده و آنها را میخوانند. بنابراین، افزودههای محلی میتوانند و باید در یک فایل "updmap.cfg" یا "fmtutil.cnf" در "TEXMFLOCAL" قرار گیرند. عملیاتهای "generate updmap" و "generate fmtutil" دیگر وجود ندارند.)
فایلهای محلی مدخلهایی را که باید غیرفعال شوند با یک سطر توضیح (کامنت)، یعنی یکی از این خطوط مشخص میکنند:
%!NAME --!NAME
که در آن "language.dat" و "language.def" از "%"، و "language.dat.lua" از "--" استفاده میکنند. در تمامی موارد، name نام فرمت مربوطه یا شناسه الگوی خط پیوند (hyphenation) است. مثالها:
%!german --!usenglishmax
(البته، بعید است که واقعاً بخواهید این موارد خاص را غیرفعال کنید. آنها صرفاً مثال هستند.)
پس از چنین سطر غیرفعالسازی، اگر تعریف متفاوتی مد نظر باشد، فایل محلی میتواند شامل مدخل دیگری برای همان مورد باشد. بهطور کلی، به جز خطوط غیرفعالسازی ویژه، فایلهای محلی از همان قواعد نحوی فایلهای اصلی پیروی میکنند.
شکل "generate language" هر سه فایل "language.dat"، "language.def"، و "language.dat.lua" را بازسازی میکند، در حالی که شکلهای همراه با پسوند تنها همان فایل زبانِ دادهشده را بازسازی میکنند.
گزینهها:
- --dest output_file
- فایل خروجی را تعیین میکند (پیشفرض آن مکان مربوطه در "TEXMFSYSVAR" است). اگر "--dest" به "generate language" داده شود، به عنوان یک نام پایه (basename) عمل میکند که ".dat" برای نام فایل خروجی "language.dat" به آن اضافه میشود، ".def" به مقدار دادهشده برای نام فایل خروجی "language.def"، و ".dat.lua" برای نام فایل "language.dat.lua" الحاق خواهد شد. (این کار صرفاً برای جلوگیری از بازنویسی است؛ چنانچه نام مشخصی برای هر فایل خروجی میخواهید، توصیه میکنیم "tlmgr" را دو بار فراخوانی کنید.)
- --localcfg local_conf_file
- افزودههای محلی (اختیاری) را مشخص میکند (پیشفرض آن مکان مربوطه در "TEXMFLOCAL" است).
- --rebuild-sys
- به "tlmgr"
اعلام
میکند که
برنامههای
لازم را پس
از
بازتولید
فایلهای
پیکربندی
اجرا کند.
این
برنامهها
عبارتند از:
"fmtutil-sys --all" پس
از "generate
fmtutil"، "fmtutil-sys --byhyphen
.../language.dat" پس از
"generate language.dat"، و
"fmtutil-sys --byhyphen
.../language.def" پس از
"generate language.def".
این فراخوانیهای بعدی باعث میشوند که فایلهای تازه تولیدشده واقعاً به مرحلهٔ اجرا درآیند. این کار بهطور پیشفرض انجام نمیشود، چرا که آن فراخوانیها فرایندهایی زمانبر هستند و ممکن است فرد بخواهد چندین تغییر مرتبط را قبل از اجرای این برنامهها بهصورت متوالی انجام دهد.
مکانهای مربوطه به صورت زیر هستند:
tex/generic/config/language.dat (and language-local.dat) tex/generic/config/language.def (and language-local.def) tex/generic/config/language.dat.lua (and language-local.dat.lua) رابط کاربری گرافیکی را راهاندازی میکند. بخش GUI در زیر را ببینید.
info
- info [option...] pkg...
- info [option...] collections
- info [option...] schemes
- بدون هیچ
آرگومانی،
تمامی
بستههای
موجود در
مخزن
بستهها را
فهرست
میکند و
پیش از
بستههای
نصبشده،
عبارت
"i" را
قرار
میدهد.
با کلمهٔ منفرد "collections" یا "schemes" بهعنوان آرگومان، نوع درخواستی را به جای تمامی بستهها فهرست میکند.
با هر آرگومان دیگری، اطلاعات مربوط به pkg را نمایش میدهد: نام، دستهبندی، توضیحات کوتاه و کامل، اندازهها، وضعیت نصب، و شمارهٔ بازنگری TeX Live. اگر pkg بهصورت محلی نصب نشده باشد، در منبع نصب دوردست جستجو میکند.
برای بستههای عادی (نه collections یا schemes)، اندازهٔ چهار گروه از فایلها (فایلهای run/src/doc/bin) بهطور جداگانه نمایش داده میشود. برای collections، اندازهٔ تجمعی نشان داده میشود که شامل تمامی بستههای با وابستگی مستقیم است (اما شامل مجموعههای وابسته نمیشود). برای schemes نیز اندازهٔ تجمعی نمایش داده میشود که شامل تمامی مجموعهها و بستههای با وابستگی مستقیم است.
اگر pkg بهصورت محلی یا دوردست یافت نشود، از عمل جستجو (search) استفاده شده و بستهها و فایلهای منطبق فهرست میشوند.
همچنین اطلاعات برگرفته از TeX Catalogue را نمایش میدهد، یعنی نسخه، تاریخ و پروانهٔ بسته. به دلیل ناهماهنگی زمانی در بهروزرسانی بخشهای مختلف، این موارد (بهویژه نسخهٔ بسته) را تنها تقریبی در نظر بگیرید. در مقابل، مقدار "revision" مستقیماً از TL میآید و قابل اعتماد است.
عملهای پیشین "show" و "list" در این عمل ادغام شدهاند، اما برای سازگاری عقبروی همچنان پشتیبانی میشوند.
گزینهها:
- --list
- اگر گزینهٔ "--list" همراه با یک بسته مشخص شود، فهرست فایلهای درون آن، شامل فایلهای وابستگیهای وابسته به بستر نیز نمایش داده میشود. هنگام استفاده با schemes و collections، گزینهٔ "--list" وابستگیهای آنها را به شیوهای مشابه در خروجی میآورد.
- --only-files
- اگر این گزینه مشخص شود، تنها فایلهای مربوط به یک بستهٔ مشخص فهرست میشوند و هیچ اطلاعات دیگری نمایش داده نمیشود. اگر بیش از یک نام بسته مشخص شود، پیش از فهرست فایلهای هر کدام، نام آن بسته درج میگردد.
- --only-installed
- اگر این گزینه مشخص شود، از منبع نصب استفاده نخواهد شد؛ تنها بستهها، collections یا schemes نصبشدهٔ محلی فهرست میشوند.
- --only-remote
- تنها بستههای موجود در مخزن دوردست را فهرست میکند. برای بررسی موارد موجود در یک مخزن دوردست با استفاده از "tlmgr --repo ... --only-remote info" سودمند است. توجه داشته باشید که نمیتوان هر دوی "--only-installed" و "--only-remote" را با هم مشخص کرد.
- --data "item1,item2,..."
- اگر گزینهٔ
"--data"
مشخص شود،
آرگومان آن
باید
فهرستی
جداشده با
کاما یا
دونقطه از
نام
فیلدهای
زیر باشد:
"name"،
"category"،
"localrev"،
"remoterev"،
"shortdesc"،
"longdesc"،
"installed"،
"size"،
"relocatable"،
"depends"،
"cat-version"،
"cat-date"،
"cat-license"،
بههمراه
فیلدهای
گوناگون
"cat-contact-*"
(زیر را
ببینید).
فیلدهای "cat-*" همگی از TeX Catalogue (https://ctan.org/pkg/catalogue) میآیند. برای هر یک، دو گونهٔ دیگر با پیشوند "l" و "r" وجود دارد، مانند "lcat-version" و "rcat-version"، که بهترتیب بیانگر اطلاعات محلی و دوردست هستند. گونههای بدون "l" و "r" بهروزترین مقدار را نشان میدهند، که معمولاً همان مقدار دوردست است.
اطلاعات بستههای درخواستی در قالب CSV، هر بسته در یک خط، فهرست میشود و اطلاعات ستونها با "itemN" مشخص میشود. ستون "depends" شامل نام تمامی وابستگیها است که با نویسهٔ ":" از یکدیگر جدا شدهاند.
در زمان نگارش این متن، فیلدهای "cat-contact-*" شامل این موارد هستند: "home"، "repository"، "support"، "bugs"، "announce"، "development". هر یک ممکن است خالی یا حاوی یک نشانی اینترنتی (url) باشد. توضیح کوتاهی در برگهٔ بارگذاری بستههای جدید CTAN وجود دارد: https://ctan.org/upload.
- --json
- اگر "--json" مشخص شود، خروجی یک آرایه با کدگذاری JSON خواهد بود که هر عنصر آن بازنمایی JSON از یک "TLPOBJ" منفرد است ولی اطلاعات بیشتری دارد. برای جزئیات به "tlpkg/doc/json-formats.txt"، تعریف قالب: "TLPOBJINFO" مراجعه کنید. اگر هر دوی "--json" و "--data" مشخص شوند، "--json" اولویت دارد.
init-usertree
یک درخت texmf را برای آنچه مدیریت حالت کاربر (user mode) نامیده میشود برپا میکند؛ چه درخت پیشفرض کاربر ("TEXMFHOME") و چه درختی که در خط فرمان با "--usertree" مشخص شده باشد. بخش «حالت کاربر (USER MODE)» در زیر را ببینید.
install [option...] pkg...
هر pkg مشخصشده در خط فرمان را، در صورتی که پیشتر نصب نشده باشد، نصب میکند. این دستور به بستههای موجود دست نمیزند؛ برای چگونگی دریافت آخرین نسخهٔ یک بسته، عمل "update" را ببینید.
بهطور پیشفرض، تمامی بستههایی که pkgهای دادهشده به آنها وابستهاند نیز نصب میشوند. گزینهها:
- --dry-run
- در عمل چیزی نصب نمیشود؛ در عوض، اقداماتی که باید انجام گیرند در پایانه نوشته میشوند.
- --file
- به جای دریافت بسته از مخزن نصب، از فایلهای بستهای که در خط فرمان داده شدهاند استفاده میکند. این فایلها باید فایلهای استاندارد بستهٔ TeX Live (شامل فایل tlpobj درون آن) باشند.
- --force
- اگر بهروزرسانیهایی برای خودِ "tlmgr" (یا بخشهای دیگری از زیرساخت پایه) موجود باشد، "tlmgr" متوقف شده و عملیات نصب را انجام نخواهد داد مگر اینکه این گزینه داده شود. توصیه نمیشود.
- --no-depends
- وابستگیها را نصب نمیکند. (بهطور پیشفرض، نصب یک بسته تضمین میکند که تمامی وابستگیهای آن بسته برآورده شوند.)
- --no-depends-at-all
- بهطور معمول، هنگامی که بستهای را نصب میکنید که فایلهای باینری را ارائه میدهد، بستهٔ باینری متناظر نیز نصب خواهد شد. یعنی برای بستهٔ "foo"، بستهٔ "foo.i386-linux" نیز روی یک سیستم "i386-linux" نصب میشود. این گزینه این رفتار را بازمیدارد و همچنین مستلزم "--no-depends" است. از آن استفاده نکنید مگر اینکه دقیقاً بدانید چه کار میکنید.
- --reinstall
- بسته را
مجدداً نصب
میکند
(شامل
وابستگیها
برای collections)،
حتی اگر به
نظر برسد
پیشتر نصب
شده است
(یعنی در TLPDB
موجود
باشد). این
گزینه برای
بازیابی
فایلها پس
از حذف
اتفاقی
آنها در
سلسلهمراتب
فایلها
سودمند است.
هنگام نصب مجدد، تنها وابستگیهای بستههای عادی دنبال میشوند (یعنی نه وابستگیهای دستهبندی Scheme یا Collection).
- --with-doc
- --with-src
- اگرچه
توصیه
نمیشود،
اما
برنامهٔ
"install-tl"
گزینهای
برای
صرفنظر
کردن از نصب
تمامی
مستندات
و/یا
فایلهای
منبع فراهم
میکند.
(بهطور
پیشفرض،
همهچیز
نصب
میشود.) پس
از چنین
نصبی، ممکن
است در
نهایت
متوجه شوید
که مستندات
یا
فایلهای
منبع را
برای
بستهای
خاص
میخواهید.
میتوانید
با استفاده
از این
گزینهها
همراه با
"--reinstall"
آنها را به
دست آورید،
مانند
نمونهٔ زیر
(با استفاده
از بستهٔ
"fontspec"
بهعنوان
مثال):
tlmgr install --reinstall --with-doc --with-src fontspec
این عمل بهطور خودکار پیوندهای نمادین جدید را در دایرکتوریهای سیستمی ایجاد نمیکند؛ در صورتی که از این ویژگی استفاده میکنید و مایلید پیوندهای نمادین جدید افزوده شوند، باید خودتان "tlmgr path add" (بخش «path») را اجرا کنید..SS key
- key list
- key add file
- key remove keyid
- عملیات
"key"
امکان
فهرستکردن،
افزودن و
حذف
کلیدهای GPG
اضافی به
مجموعه
کلیدهای
مورد
اعتماد را
فراهم
میکند؛
یعنی
کلیدهایی
که برای
اعتبارسنجی
پایگاههای
داده TeX Live
استفاده
میشوند.
با آرگومان "list"، دستور "key" تمام کلیدها را فهرست میکند.
آرگومان "add" به یک آرگومان دیگر نیاز دارد؛ یا یک نام فایل یا "-" برای stdin که کلید از آن اضافه میشود. کلید به دستهکلید محلی "GNUPGHOME/repository-keys.gpg" افزوده میشود که معمولاً "tlpkg/gpg/repository-keys.gpg" است.
آرگومان "remove" به یک شناسه کلید نیاز دارد و شناسه درخواستی را از دستهکلید محلی حذف میکند.
list
مترادفی برای "info".
option
- option [--json] [show]
- option [--json] showall|help
- option key [value]
فرم نخست، "show"، تنظیمات سراسری TeX Live را که در حال حاضر در TLPDB ذخیره شدهاند همراه با شرحی کوتاه و "key" مورد استفاده برای تغییر آن در پرانتز نمایش میدهد.
فرم دوم، "showall"، مشابه است، اما گزینههایی را نیز نمایش میدهد که قابل تعریف هستند اما در حال حاضر روی هیچ مقداری تنظیم نشدهاند ("help" مترادف آن است).
هر دو فرم "show..." گزینه "--json" را میپذیرند که اطلاعات گزینهها را در قالب JSON استخراج میکند. در این حالت، هر دو فرم دادههای یکسانی را خروجی میدهند. برای آگاهی از ساختار خروجی JSON، به "tlpkg/doc/json-formats.txt"، تعریف قالب "TLOPTION" مراجعه کنید.
در فرم سوم، همراه با key، اگر value داده نشود، مقدار تنظیمشده برای key نمایش داده میشود. اگر value ارائه شده باشد، key روی value تنظیم میشود.
مقادیر ممکن برای key عبارتند از (برای مشاهده فهرست قطعی، دستور "tlmgr option showall" را اجرا کنید):
repository (مخزن پیشفرض بستهها)، formats (تولید فرمتها در زمان نصب یا بهروزرسانی)، postcode (اجرای قطعهکدهای postinst) docfiles (نصب فایلهای مستندات)، srcfiles (نصب فایلهای سورس)، backupdir (دایرکتوری پیشفرض برای پشتیبانها)، autobackup (تعداد نسخههای پشتیبان برای نگهداری). sys_bin (دایرکتوریای که فایلهای اجرایی توسط عملیات path به آن پیوند میخورند) sys_man (دایرکتوریای که صفحات man توسط عملیات path به آن پیوند میخورند) sys_info (دایرکتوریای که فایلهای Info توسط عملیات path به آن پیوند میخورند) desktop_integration (فقط ویندوز: ایجاد میانبرهای منوی Start) fileassocs (فقط ویندوز: تغییر ارتباط فایلها) multiuser (فقط ویندوز: نصب برای همه کاربران)
یکی از کاربردهای معمول "option" تغییر دائمی نصب برای دریافت بهروزرسانیهای بعدی از اینترنت، پس از نصب اولیه از روی DVD است. برای انجام این کار، میتوانید دستور زیر را اجرا کنید:
tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet
مستندات "install-tl" اطلاعات بیشتری درباره مقادیر ممکن برای "repository" دارد. (برای سازگاری با نسخههای پیشین، میتوان از "location" به عنوان مترادفی برای "repository" استفاده کرد.)
اگر "formats" تنظیم شده باشد (حالت پیشفرض)، هنگامی که موتور یا فایلهای فرمت تغییر کنند، فرمتها دوباره تولید میشوند. این گزینه را تنها زمانی غیرفعال کنید که از نحوه بازتولید آن آگاهی دارید و میخواهید هر زمان که نیاز شد (که در عمل بسیار رخ میدهد) فرمتها را خودتان دوباره بسازید.
گزینه "postcode" اجرای کدهای عملیات پس از نصب مربوط به هر بسته را کنترل میکند. این گزینه بهطور پیشفرض فعال است و باز هم غیرفعال کردن آن برای کسی جز توسعهدهندگانی که در حال عیبیابی هستند جالب نخواهد بود.
گزینههای "docfiles" و "srcfiles" نصب گروههای فایلی مربوط به خود (مستندات، سورسها؛ این گروهبندی تقریبی است) را به ازای هر بسته کنترل میکنند. بهطور پیشفرض هر دو فعال هستند (1). در صورت محدود بودن فضای دیسک یا برای نصبهای آزمایشی کمینه و غیره، میتوان یکی از آنها یا هر دو را غیرفعال کرد (تنظیم روی 0). در صورت غیرفعال بودن، فایلهای مربوطه به هیچ وجه دانلود نمیشوند.
گزینههای "autobackup" و "backupdir" مقادیر پیشفرض را برای عملیاتهای "update"، "backup" و "restore" تعیین میکنند. این سه عملیات نیازمند دایرکتوریای هستند که پشتیبانها را در آن بخوانند یا بنویسند. اگر "--backupdir" در خط فرمان مشخص نشده باشد، مقدار گزینه "backupdir" استفاده میشود (در صورت تنظیم بودن). نصبکننده TL مقدار "backupdir" را روی ".../tlpkg/backups" در زیر دایرکتوری ریشه نصب TL قرار میدهد.
گزینه "autobackup" تولید خودکار نسخههای پشتیبان را فعال/غیرفعال میکند. مقدار آن یک عدد صحیح است. اگر مقدار "autobackup" برابر با -1 باشد، هیچ نسخه پشتیبانی حذف نخواهد شد. اگر مقدار "autobackup" برابر با 0 یا بیشتر باشد، تعداد پشتیبانهایی را که باید نگهداری شوند مشخص میکند. بنابراین، اگر مقدار 0 باشد، پشتیبانگیری غیرفعال میشود. در حالت "--clean" از عملیات "backup" نیز این گزینه تعداد نسخههای نگهداشتهشده را مشخص میکند. مقدار پیشفرض 1 است، به این معنی که پشتیبانگیری انجام میشود، اما تنها یک نسخه پشتیبان نگهداری خواهد شد.
برای تنظیم "autobackup" روی -1 در خط فرمان، دستور زیر را به کار ببرید:
tlmgr option -- autobackup -1
علامت "--" مانع از آن میشود که -1 به عنوان یک گزینه تفسیر شود. (علامت "--" پردازش گزینهها را در نقطهای که ظاهر میشود متوقف میکند؛ این یک ویژگی عمومی در بیشتر برنامههای Unix است.)
گزینههای "sys_bin"، "sys_man" و "sys_info" در سیستمهای Unix برای کنترل ساخت پیوندها برای فایلهای اجرایی، فایلهای Info و صفحات man استفاده میشوند. برای جزئیات به عملیات "path" مراجعه کنید.
سه گزینه پایانی بر رفتار در نصبهای Windows تأثیر میگذارند. اگر "desktop_integration" تنظیم شده باشد، برخی بستهها مواردی را در یک پوشه فرعی از منوی Start برای "tlmgr gui"، مستندات و غیره نصب میکنند. اگر "fileassocs" تنظیم شده باشد، انتساب فایلهای ویندوز برقرار میشود (همچنین به عملیات "postaction" مراجعه کنید). در نهایت، اگر "multiuser" تنظیم شده باشد، تغییرات در رجیستری و منوها به جای فقط کاربر فعلی، برای همه کاربران سیستم اعمال میشود. هر سه گزینه بهطور پیشفرض فعال هستند..SS paper
- paper [a4|letter]
- <[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [papersize|--list]>
- paper --json
بدون آرگومان ("tlmgr paper")، تنظیم اندازه کاغذ پیشفرض را برای تمام برنامههای شناختهشده نشان میدهد.
با یک آرگومان (مانند "tlmgr paper a4")، پیشفرض تمام برنامههای شناختهشده را روی آن اندازه کاغذ تنظیم میکند.
اگر یک برنامه به عنوان اولین آرگومان داده شده و هیچ اندازه کاغذی مشخص نشده باشد (مانند "tlmgr dvips paper")، اندازه کاغذ پیشفرض را برای آن برنامه نشان میدهد.
اگر یک برنامه به عنوان اولین آرگومان و یک اندازه کاغذ به عنوان آخرین آرگومان مشخص شده باشد (مانند "tlmgr dvips paper a4")، پیشفرض را برای آن برنامه روی آن اندازه کاغذ تنظیم میکند.
اگر "pdftex" یا "context" یکی از آرگومانها باشد، چه به صورت ضمنی و چه صریح، قالبهای موجود بازسازی میشوند (یعنی "fmtutil --refresh" فراخوانی میشود)، مگر اینکه "--no-execute-actions" مشخص شده باشد.
اگر یک برنامه به عنوان اولین آرگومان و "--list" به عنوان آخرین آرگومان داده شود (مانند "tlmgr dvips paper --list")، تمام اندازههای معتبر کاغذ برای آن برنامه را نشان میدهد. اولین اندازه نشاندادهشده، پیشفرض است.
اگر "--json" بدون گزینههای دیگر مشخص شود، پیکربندی کاغذ در قالب JSON خروجی داده میشود. برای اطلاع از قالب خروجی JSON، به "tlpkg/doc/json-formats.txt"، تعریف قالب "TLPAPER" مراجعه کنید.
اتفاقاً، این نحو که نام برنامه خاصی پیش از کلمه کلیدی "paper" قرار گیرد، نامعمول است. این شیوه از اسکریپت قدیمی "texconfig" به ارث رسیده است که از سایر تنظیمات پیکربندی برای برخی برنامهها، بهویژه "dvips" پشتیبانی میکند. ابزار "tlmgr" از آن تنظیمات اضافی پشتیبانی نمیکند.
path
- path [--windowsmode=user|admin] add
- path [--windowsmode=user|admin] remove
- در Unix،
پیوندهای
نمادین را
برای
فایلهای
اجرایی،
صفحات man و
صفحات info در
دایرکتوریهای
سیستمی
تعیینشده
توسط
گزینههای
مربوطه
اضافه یا
حذف میکند
(توضیحات
«option» در بالا
را ببینید).
هیچکدام
از
فایلهای
راهاندازی،
چه سیستمی
یا شخصی را
تغییر
نمیدهد.
علاوه بر
این،
فایلهای
اجرایی
اضافهشده
یا حذفشده
توسط
بهروزرسانیهای
آینده به
طور خودکار
مدیریت
نمیشوند؛
این دستور
در صورت
نیاز باید
مجدداً
اجرا شود.
در Windows، بخشی از رجیستری که دایرکتوری باینری در آن اضافه یا حذف میشود، به روش زیر تعیین میگردد:
اگر کاربر دسترسی مدیر سیستم (admin) داشته باشد و گزینه "--windowsmode" داده نشده باشد، تنظیم w32_multi_user مکان را تعیین میکند (یعنی اگر روشن باشد مسیر سیستم و در غیر این صورت مسیر کاربر تغییر میکند).
اگر کاربر دسترسی مدیر سیستم داشته باشد و گزینه "--windowsmode" داده شده باشد، این گزینه مسیری را که باید تنظیم شود تعیین میکند.
اگر کاربر دسترسی مدیر سیستم نداشته باشد، گزینه "--windowsmode" داده نشده باشد و تنظیم w32_multi_user خاموش باشد، مسیر کاربر تغییر میکند؛ در حالی که اگر تنظیم w32_multi_user روشن باشد، هشداری صادر میشود مبنی بر اینکه فراخواننده امتیازات کافی را ندارد.
اگر کاربر دسترسی مدیر سیستم نداشته باشد و گزینه "--windowsmode" داده شده باشد، این مقدار باید "user" باشد و مسیر کاربر تنظیم خواهد شد. اگر کاربری بدون دسترسی مدیر سیستم از گزینه "--windowsmode admin" استفاده کند، هشداری صادر میشود مبنی بر اینکه فراخواننده امتیازات کافی را ندارد.
pinning
عمل "pinning" فایل تثبیت (pinning) را مدیریت میکند؛ بخش «Pinning» را در زیر ببینید.
- "pinning show"
- دادههای تثبیت فعلی را نمایش میدهد.
- "pinning add" repo pkgglob...
- بستههای منطبق با pkgglob(ها) را به مخزن repo پین (تثبیت) میکند.
- "pinning remove" repo pkgglob...
- هر بستهای که در فایل تثبیت ثبت شده و با <pkgglob>ها برای مخزن دادهشده repo مطابقت داشته باشد، حذف میشود.
- "pinning remove repo --all"
- تمام دادههای تثبیت را برای مخزن repo حذف میکند.
platform
- platform list|add|remove platform...
- platform set platform
- platform set auto
- "platform list"
نامهای TeX Live
تمام
پلتفرمها
(معماریها)،
("i386-linux"، ...)
موجود در
مخزن
بستهها را
فهرست
میکند.
"platform add" platform... فایلهای اجرایی را برای هر پلتفرم دادهشده platform از مخزن به سیستم نصبشده اضافه میکند.
"platform remove" platform... فایلهای اجرایی هر پلتفرم دادهشده platform را از سیستم نصبشده حذف میکند، اما در هر حال پلتفرمِ در حال اجرای فعلی را نگه میدارد.
"platform set" platform سیستم TeX Live را تغییر میدهد تا همیشه به جای تشخیص خودکار، از پلتفرم دادهشده استفاده کند.
"platform set auto" سیستم TeX Live را برای پلتفرم به حالت تشخیص خودکار تغییر میدهد.
تشخیص پلتفرم برای انتخاب باینریهای مناسب "xz" و "wget" که به همراه TeX Live ارائه میشوند لازم است.
"arch" مترادفی برای "platform" است.
گزینهها:
- --dry-run
- در عمل چیزی نصب نمیشود؛ در عوض، اقداماتی که باید انجام گیرند در ترمینال نوشته میشوند.
- postaction [option...] install [shortcut|fileassoc|script] [pkg...]
- postaction [option...] remove [shortcut|fileassoc|script] [pkg...]
- عملیات پس
از اجرای (postaction)
"shortcut"،
"fileassoc" یا
"script" را
که
بهعنوان
دومین
آرگومان
الزامی
مشخص شده
است، در
حالت install یا remove
(که اولین
آرگومان
الزامی
است)، برای
بستههای
ارائهشده
در خط
فرمان، یا
در صورت
ارائهٔ
"--all" برای
همهٔ
بستهها
اجرا
میکند.
گزینهها:
- --windowsmode=[user|admin]
- اگر به گزینهٔ "--windowsmode" مقدار "user" داده شود، تمام اقدامات فقط در بخشهای قابلدسترس کاربر در رجیستری/سیستمفایل انجام میشوند، در حالی که مقدار "admin" بخشهای سراسری سیستم در رجیستری را برای پیوند فایلها (file associations) انتخاب میکند. اگر دسترسی لازم را نداشته باشید، استفاده از "--windowsmode=admin" موفقیتآمیز نخواهد بود.
- --fileassocmode=[1|2]
- "--fileassocmode" نحوهٔ عملکرد پیوند فایلها را مشخص میکند. اگر روی 1 (پیشفرض) تنظیم شود، تنها پیوندهای جدید اضافه میشوند؛ اگر روی 2 تنظیم شود، تمام پیوندها روی برنامههای TeX Live تنظیم میگردند. (همچنین نگاه کنید به "option fileassocs".)
- --all
- اجرای postactionها برای تمام بستهها.
print-platform
شناسهٔ TeX Live مربوط به بستر شناساییشده (ترکیب سختافزار/سیستمعامل) را در خروجی استاندارد چاپ کرده و خارج میشود. "--print-arch" مترادف آن است.
print-platform-info
شناسهٔ بستر TeX Live، نام کامل بستر TL و خروجی اصلی دستور guess را چاپ میکند.
remove [option...] pkg...
هر یک از pkgهای مشخصشده را حذف میکند. حذف یک مجموعه (collection) تمام وابستگیهای بستهایِ آن را حذف میکند (مگر اینکه "--no-depends" مشخص شده باشد)، اما هیچیک از وابستگیهای مجموعهایِ آن مجموعه را حذف نمیکند. با این حال، هنگام حذف یک بسته، وابستگیها هرگز حذف نمیشوند. گزینهها:
- --all
- کل TeX Live را لغو نصب میکند و در صورت عدم تعیین "--force"، تأییدیه میخواهد.
- --backup
- --backupdir directory
- این
گزینهها
رفتاری
مشابه با
اقدام update (به
آن رجوع
شود) دارند،
با این
تفاوت که
پیش از حذف
بستهها،
برای تهیهٔ
نسخهٔ
پشتیبان از
آنها
اعمال
میشوند.
حالت
پیشفرض،
تهیهٔ چنین
نسخهای
است؛ یعنی
ذخیرهٔ یک
رونوشت از
بستهها
پیش از حذف.
اقدام «restore» نحوهٔ بازیابی از یک نسخهٔ پشتیبان را توضیح میدهد.
- --no-depends
- بستههای وابسته را حذف نمیکند.
- --no-depends-at-all
- به توضیحات بالا ذیل بخش install مراجعه کنید (و هوشیار باشید).
- --force
- بهطور
پیشفرض،
حذف یک بسته
یا مجموعه
که
وابستگیِ
مجموعه یا
طرح (scheme) دیگری
است مجاز
نیست. با
استفاده از
این گزینه،
بسته بدون
قید و شرط
حذف خواهد
شد. با
احتیاط
استفاده
کنید.
بستهای که با استفاده از گزینهٔ "--force" حذف شده باشد، از آنجا که هنوز در یک مجموعه یا طرح نصبشده فهرست شده است، بهروزرسانی نخواهد شد و در خروجی "tlmgr update --list" با عبارت "forcibly removed" (بهاجبار حذفشده) ذکر میشود.
- --dry-run
- در عمل چیزی حذف نمیشود؛ در عوض، اقداماتی که باید انجام گیرند در ترمینال چاپ میشوند.
بهجز هنگام استفاده از "--all"، این اقدام "remove" بهطور خودکار پیوندهای نمادین (symlinks) به فایلهای اجرایی را از دایرکتوریهای سیستم حذف نمیکند؛ اگر بستهٔ مجزایی را که دارای پیوند نمادین در دایرکتوریهای سیستمی است حذف کنید، باید خودتان دستور "tlmgr path remove" («path») را اجرا نمایید.
repository
- repository list
- repository list path|url|tag
- repository add path [tag]
- repository remove path|tag
- repository set path[#tag] [path[#tag] ...]
- repository status
- این اقدام،
فهرست
مخازن را
مدیریت
میکند.
برای
توضیحات
دقیقتر،
بخش MULTIPLE REPOSITORIES در
ادامه را
ببینید.
حالت نخست، "repository list"، تمام مخازن پیکربندیشده و برچسبهای متناظر را در صورت تنظیم فهرست میکند. اگر یک مسیر (path)، نشانی (url) یا برچسب (tag) بعد از کلیدواژهٔ "list" داده شود، بهعنوان منبعی برای راهاندازی اولیهٔ پایگاهدادهٔ TL تفسیر شده و بستههای موجود در آن را فهرست میکند. این منبع میتواند مخزنی باشد که در غیر این صورت استفاده نشده است، خواه محلی باشد یا از راه دور. اگر علاوه بر این، گزینهٔ "--with-platforms" مشخص شود، برای هر بسته، بسترهای در دسترس (در صورت وجود) نیز فهرست میشوند.
حالت "repository add" یک مخزن را (اختیاراً همراه با یک برچسب) به فهرست مخازن اضافه میکند، در حالی که "repository remove" یک مخزن را، خواه بر اساس مسیر/نشانی کامل یا بر اساس برچسب، حذف میکند.
حالت "repository set" فهرست مخازن موجود را روی مواردی که در خط فرمان مشخص شده تنظیم میکند و تنظیمات قبلی را بازنویسی مینماید.
حالت "repository status" وضعیت اعتبارسنجی مخازن بارگذاریشده را با قالب یک مخزن در هر سطر و فیلدهایی که با یک فاصله از هم جدا شدهاند گزارش میدهد:
- برچسب (که میتواند همان url باشد)؛
- = نشانی
اینترنتی
(url)؛
= اگر و تنها اگر خروجی ماشینخوان مشخص شده باشد، کد اعتبارسنجی (یک عدد)؛
= شرح متنی وضعیت اعتبارسنجی، بهعنوان آخرین فیلد که تا انتهای سطر امتداد دارد.
بدین معنی که در خروجی عادی (غیر ماشینخوان)، فیلد سوم (وضعیت عددیِ اعتبارسنجی) وجود ندارد.
در همهٔ حالات، یکی از مخازن باید با برچسب "main" مشخص شده باشد؛ در غیر این صورت، تمام عملیات با شکست مواجه خواهند شد!
- restore [option...] pkg [rev]
- restore [option...] --all
- بازیابی یک
بسته از یک
نسخهٔ
پشتیبان
تهیهشدهٔ
قبلی.
در صورت مشخص شدن "--all"، برای بازیابی جدیدترین ویرایش تمام نسخههای پشتیبان بستههای موجود در دایرکتوری پشتیبان تلاش میشود.
در غیر این صورت، چنانچه نه pkg و نه rev مشخص نشده باشند، ویرایشهای پشتیبانِ موجود برای همهٔ بستهها فهرست میشوند. با مشخص شدن pkg اما بدون rev، تمام ویرایشهای پشتیبانِ موجود از pkg فهرست میشوند.
هنگام فهرست کردن بستههای موجود، "tlmgr" شمارهٔ ویرایش و در صورت موجود بودن، زمان ایجاد را داخل پرانتز (در قالب yyyy-mm-dd hh:mm) نمایش میدهد.
اگر (و فقط اگر) هم pkg و هم یک شماره ویرایش معتبر rev مشخص شده باشند، برای بازیابی بسته از پشتیبانِ تعیینشده تلاش میشود.
گزینهها:
- --all
- تلاش برای بازیابی آخرین ویرایش تمام پشتیبانهای بستههای موجود در دایرکتوری پشتیبان. آرگومانهای اضافی غیرگزینهای (مانند pkg) مجاز نیستند.
- --backupdir directory
- مشخص کردن دایرکتوری که پشتیبانها در آن قرار دارند. در صورت مشخص نشدن، از تنظیمات پیکربندی در TLPDB استفاده خواهد شد.
- --dry-run
- در عمل چیزی بازیابی نمیشود؛ در عوض، عملیاتی که قرار است انجام شوند روی ترمینال نوشته میشوند.
- --force
- هیچ سؤالی نپرسد (بدون درخواست تأیید از کاربر).
- --json
- هنگام فهرست کردن پشتیبانها، گزینهٔ "--json" خروجی را در قالب JSON مینویسد. این قالب آرایهای از شیءهای JSON شامل ("name"، "rev"، "date") است. برای جزئیات به "tlpkg/doc/json-formats.txt"، تعریف قالب: "TLBACKUPS" مراجعه کنید. اگر هر دو گزینهٔ "--json" و "--data" مشخص شوند، "--json" اولویت دارد.
search
- search [option...] what
- search [option...] --file what
- search [option...] --all what
- بهطور
پیشفرض،
نامها،
توضیحات
کوتاه و
توضیحات
بلند همهٔ
بستههای
نصبشدهٔ
محلی را
برای
آرگومان what
(که
بهعنوان
یک عبارت
باقاعدهٔ Perl
تفسیر
میشود)
جستجو
میکند.
گزینهها:
- --file
- فهرست کردن تمام نامهای فایلی که شامل what هستند.
- --all
- جستجوی همهچیز: نام بستهها، توضیحات و نام فایلها.
- --global
- جستجو در پایگاه دادهٔ TeX Live مربوط به رسانهٔ نصب، بهجای نصب محلی.
- --word
- محدود کردن جستجوی نام بستهها و توضیحات (نه نام فایلها) تنها به تطبیق کامل کلمات. برای مثال، جستجوی "table" با این گزینه، بستههای حاوی کلمهٔ "tables" را در خروجی نمیآورد (مگر اینکه کلمهٔ "table" را نیز بهتنهایی داشته باشند).
- --json
- نمایش نتایج جستجو بهصورت یک هش JSON با دو کلید: files و packages. برای ساختار خروجی JSON به "tlpkg/doc/json-formats.txt"، تعریف قالب "TLSEARCH" مراجعه کنید.
shell
یک حالت تعاملی را آغاز میکند که در آن tlmgr برای دریافت دستورها اعلان (prompt) میدهد. این حالت میتواند بهطور مستقیم یا برای اسکریپتنویسی استفاده شود. نخستین خط خروجی عبارت است از "protocol" n، که در آن n یک عدد بدون علامت است که نسخهٔ پروتکل را مشخص میکند (در حال حاضر 1).
بهطور کلی، عملیاتهای tlmgr که میتوان در خط فرمان مشخص کرد، به دستورهایی در این حالت شل تبدیل میشوند. برای مثال، میتوانید عبارت "update --list" را وارد کنید تا ببینید چه مواردی بهروزرسانی خواهند شد. TLPDB در نخستین باری که به آن نیاز باشد بارگیری میشود (نه در آغاز کار)، و در ادامهٔ نشست استفاده خواهد شد.
علاوه بر این عملیاتها، چند دستور مختص به حالت شل هستند:
- protocol
- چاپ "protocol n"، نسخهٔ فعلی پروتکل.
- help
- چاپ راهنما و ارجاعاتی به این مستندات.
- version
- چاپ اطلاعات نسخهٔ tlmgr.
- quit, end, bye, byebye, EOF
- خروج.
- restart
- راهاندازی مجدد "tlmgr shell" با همان خط فرمان اولیه؛ بسیار کاربردی هنگام توسعهٔ "tlmgr".
- load [local|remote]
- بارگیری صریح TLPDB، بهترتیب بهصورت محلی (local) یا دوردست (remote).
- save
- ذخیرهٔ TLPDB محلی، احتمالاً پس از آنکه عملیاتهای دیگر آن را تغییر داده باشند.
- get [var] =item set [var [val]]
- دریافت
مقدار var،
یا تنظیم آن
بر روی val.
نامهای
ممکن برای
var: "debug-translation"،
"machine-readable"،
"no-execute-actions"،
"require-verification"،
"verify-downloads"،
"repository"، و
"prompt".
همگی بهجز
"repository" و
"prompt"
مقادیر
بولی هستند
که مقادیر 0
و 1 را
میپذیرند
و رفتاری
مانند
گزینهٔ خط
فرمان
متناظر خود
دارند.
متغیر
"repository" یک
رشته
دریافت
میکند و
مکان مخزن
دوردست را
تنظیم
مینماید.
متغیر
"prompt" یک
رشته
دریافت
کرده و
اعلان
پیشفرض
کنونی را
تعیین
میکند.
اگر var یا سپس val مشخص نشوند، برای مقدار آنها اعلان داده میشود (از کاربر سؤال میشود)..SS show مترادفی برای «info».
uninstall
مترادفی برای remove.
update [option...] [pkg...]
بستههای دادهشده به عنوان آرگومان را به آخرین نسخهٔ موجود در منبع نصب بهروزرسانی میکند. باید یا "--all" یا دستکم نام یک pkg مشخص شود. گزینهها:
- --all
- تمام
بستههای
نصبشده به
جز خود
"tlmgr" را
بهروزرسانی
میکند. اگر
بهروزرسانیهایی
برای خود
"tlmgr"
موجود
باشد،
خطایی داده
میشود،
مگر اینکه
گزینهٔ
"--force" یا
"--self" نیز
مشخص شده
باشد.
(پایین را
ببینید.)
علاوه بر بهروزرسانی بستههای نصبشده، در حین بهروزرسانی یک مجموعه (collection)، نصب محلی (بهطور پیشفرض) با وضعیت مجموعه روی سرور، هم برای افزودنها و هم برای حذفها همگامسازی میشود.
این بدان معناست که اگر بستهای روی سرور حذف شده باشد (و بنابراین از مجموعهٔ مربوطه نیز حذف شده باشد)، "tlmgr" بسته را در نصب محلی حذف خواهد کرد. این عمل «auto-remove» نامیده میشود و هنگام استفاده از گزینهٔ "--list" با همین عنوان اعلان میگردد. این حذف خودکار میتواند با استفاده از گزینهٔ "--no-auto-remove" لغو شود (توصیه نمیشود، توضیحات گزینه را ببینید).
بهطور مشابه، اگر بستهای به مجموعهای روی سرور اضافه شده باشد که روی سیستم محلی نیز نصب است، به نصب محلی افزوده خواهد شد. این عمل «auto-install» نامیده میشود و هنگام استفاده از گزینهٔ "--list" با همین عنوان اعلان میگردد. این نصب خودکار میتواند با استفاده از گزینهٔ "--no-auto-install" لغو شود (این نیز توصیه نمیشود).
استثنای بررسی وابستگیهای مجموعه (از جمله نصب خودکار بستهها که پیشتر اشاره شد)، بستههایی هستند که توسط شما «اجباراً حذف شدهاند»؛ یعنی شما "tlmgr remove --force" را روی آنها فراخوانی کردهاید. (مستندات عمل "remove" را ببینید.) برای نصب مجدد چنین بستههایی که اجباراً حذف شدهاند، از "--reinstall-forcibly-removed" استفاده کنید.
برای تأکید مجدد: حذفها و افزودنهای خودکار کاملاً با مقایسهٔ مجموعهها تعیین میشوند. بنابراین، اگر بهصورت دستی بستهٔ تکی "foo" را نصب کنید که بعداً از روی سرور حذف شود، "tlmgr" متوجه آن نخواهد شد و آن را در نصب محلی حذف نخواهد کرد. (بدون بازطراحی عمدهٔ معماری، سیستم باید به همین شکل باشد، زیرا tlpdb مخزنی را که بستهها از آن آمدهاند ثبت نمیکند.)
اگر میخواهید برخی از بستهها را از اجرای بهروزرسانی جاری مستثنی کنید (مثلاً به دلیل ارتباط اینترنتی کند)، گزینهٔ "--exclude" در زیر را ببینید.
- --self
- اگر
بهروزرسانیهایی
برای خود
"tlmgr"
موجود
باشد، آن را
(یعنی
بستههای
زیرساختی
را)
بهروزرسانی
میکند. در Windows
این مورد
شامل
بهروزرسانی
مفسر
اختصاصی Perl
که درون TeX Live
عرضه
میشود نیز
میگردد.
اگر این گزینه همراه با "--all" یا فهرستی از بستهها مشخص شود، ابتدا "tlmgr" بهروزرسانی خواهد شد و در صورت موفقیتآمیز بودن این بهروزرسانی، نسخهٔ جدید مجدداً راهاندازی میشود تا بقیهٔ بهروزرسانیها را به پایان برساند.
بهطور خلاصه:
tlmgr update --self # فقط بهروزرسانی زیرساخت tlmgr update --self --all # بهروزرسانی زیرساخت و همهٔ بستهها tlmgr update --force --all # بهروزرسانی همهٔ بستهها اما *نه* زیرساخت # ... مورد آخر با مسئولیت خودتان است و توصیه نمیشود! - --dry-run
- در عمل هیچ چیزی نصب نمیشود؛ در عوض، اقداماتی که قرار است انجام شوند روی ترمینال نوشته میشوند. این گزارش دقیقتر و با جزئیات بیشتری نسبت به "--list" است.
- --list [pkg]
- بستههایی را که بهروزرسانی، تازه نصب یا حذف خواهند شد، بهطور مختصر و بدون اعمال تغییر واقعی فهرست میکند. اگر "--all" نیز داده شود، تمام بهروزرسانیهای موجود فهرست میشوند. اگر "--self" داده شود اما "--all" داده نشود، تنها بهروزرسانیهای مربوط به بستههای حیاتی (tlmgr، زیرساخت texlive، perl در Windows، و غیره) فهرست میشوند. اگر نه "--all" و نه "--self" داده شوند و علاوه بر این هیچ pkg مشخص نشده باشد، آنگاه "--all" فرض میشود (بنابراین، "tlmgr update --list" همانند "tlmgr update --list --all" است). اگر نه "--all" و نه "--self" داده شوند، اما نامهای مشخصی از بستهها داده شده باشد، وجود بهروزرسانی برای آن بستهها بررسی میشود.
- --exclude pkg
- بستهٔ pkg را
از فرآیند
بهروزرسانی
مستثنی
میکند. اگر
این گزینه
بیش از یک
بار داده
شود،
آرگومانهای
آن انباشته
میشوند.
یک آرگومان pkg هم خود بستهٔ pkg و هم تمام بستههای وابسته به بستر مربوط به آن یعنی pkg.ARCH را مستثنی میکند. برای مثال،
tlmgr update --all --exclude a2ping
بستههای "a2ping"، "a2ping.i386-linux" یا هر بستهٔ دیگر "a2ping."ARCH را بهروزرسانی نخواهد کرد.
اگر این گزینه بستهای را مشخص کند که در غیر این صورت نامزدی برای نصب خودکار، حذف خودکار یا نصب مجدد یک بستهٔ اجباراً حذفشده میبود، "tlmgr" با یک پیام خطا خارج میشود. مستثنیکردن در این شرایط پشتیبانی نمیشود.
این گزینه همچنین میتواند بهصورت دائمی در فایل پیکربندی tlmgr با کلید "update-exclude" تنظیم شود.
- --no-auto-remove [pkg...]
- بهطور پیشفرض، "tlmgr" تلاش میکند بستههایی از یک مجموعهٔ موجود را که روی سرور حذف شدهاند، همانطور که در بالا ذیل "--all" توضیح داده شد، حذف کند. این گزینه جلوی چنین حذفهایی را میگیرد؛ چه برای تمام بستهها (با "--all")، یا صرفاً برای نامهای دادهشدهٔ pkg. این امر میتواند منجر به یک نصب ناهماهنگ از TeX شود، چرا که کم پیش نمیآید بستهها توسط نویسندگانشان تغییر نام یافته یا جایگزین شوند. بنابراین استفاده از این گزینه توصیه نمیشود.
- --no-auto-install [pkg...]
- در شرایط
عادی،
"tlmgr"
بستههایی
را که روی
سرور جدید
هستند نصب
خواهد کرد،
همانطور
که در بالا
ذیل "--all"
توضیح داده
شد. این
گزینه جلوی
هرگونه نصب
خودکاری را
میگیرد؛
چه برای
تمام
بستهها (با
"--all")، یا
نامهای
دادهشدهٔ
pkg.
علاوه بر این، پس از اتمام اجرای "tlmgr" با استفاده از این گزینه، بستههایی که قرار بود بهطور خودکار نصب شوند، به عنوان اجباراً حذفشده در نظر گرفته خواهند شد. بنابراین، اگر "foobar" تنها بستهٔ جدید روی سرور باشد، آنگاه
tlmgr update --all --no-auto-install
معادل است با
tlmgr update --all tlmgr remove --force foobar
مجدداً، از آنجا که بستهها گاهی تغییر نام مییابند یا جایگزین میشوند، استفاده از این گزینه توصیه نمیشود.
- --reinstall-forcibly-removed
- در شرایط
عادی،
"tlmgr"
بستههایی
را که
بهصورت
اجباری
توسط کاربر
حذف
شدهاند
نصب نخواهد
کرد؛ یعنی
بستههایی
که با "remove
--force" حذف
شدهاند،
یا نصب
آنها در
طول
بهروزرسانی
قبلی توسط
"--no-auto-install"
منع شده
است.
این گزینه باعث میشود "tlmgr" حذفهای اجباری را نادیده گرفته و همهٔ چنین بستههایی را مجدداً نصب کند. این امر میتواند برای همگامسازی کامل یک نصب با آنچه از نظر سرور موجود است، استفاده شود:
tlmgr update --reinstall-forcibly-removed --all
- --backup
- --backupdir directory
- این دو
گزینه
ایجاد
نسخههای
پشتیبان از
بستهها را
قبل از
بهروزرسانی
کنترل
میکنند؛
یعنی
پشتیبانگیری
از بستهها
به همان
صورتی که در
حال حاضر
نصب
شدهاند.
اگر هیچیک
از
گزینهها
داده نشود،
هیچ
پشتیبانی
گرفته
نخواهد شد.
اگر "--backupdir"
داده شود و
یک
دایرکتوری
قابل نوشتن
را مشخص
کند،
پشتیبان در
آن مکان
ایجاد
خواهد شد.
اگر تنها
"--backup"
داده شود،
پشتیبان در
دایرکتوریای
که قبلاً از
طریق عمل
«option» تنظیم
شده است
ایجاد
میشود
(پایین را
ببینید).
اگر هر دو
داده شوند،
پشتیبان در
directory
مشخصشده
ایجاد
خواهد شد.
همچنین میتوانید گزینههایی را از طریق عمل «option» تنظیم کنید تا بهطور خودکار برای همهٔ بستهها پشتیبان تهیه شود، و/یا فقط تعداد معینی نسخهٔ پشتیبان نگهداری شود.
برنامهٔ "tlmgr" همیشه هنگام بهروزرسانی بستهها یک نسخهٔ پشتیبان موقت تهیه میکند، تا در صورت بروز خطا در بارگیری یا سایر موارد در حین بهروزرسانی استفاده شود. در مقابل، هدف از گزینهٔ "--backup" این است که یک نسخهٔ پشتیبان ماندگار ذخیره شود تا اگر محتوای واقعی بهروزرسانی مشکلاتی ایجاد کرد (مثلاً یک ناسازگاری در TeX به وجود آورد)، بتوان از آن استفاده نمود.
عمل «restore» چگونگی بازیابی از یک نسخهٔ پشتیبان را توضیح میدهد.
- --no-depends
- اگر درخواست بهروزرسانی یک بسته را بدهید، معمولاً همهٔ بستههای وابسته نیز برای بهروزرسانی بررسی میشوند و در صورت لزوم بهروزرسانی خواهند شد. این سوییچ این رفتار را غیرفعال میکند.
- --no-depends-at-all
- بخش بالا ذیل install را ببینید (و مراقب باشید).
- --force
- بهروزرسانی
اجباری
بستههای
عادی، بدون
بهروزرسانی
خود "tlmgr"
(مگر اینکه
گزینهٔ
"--self" نیز
داده شده
باشد).
توصیه
نمیشود.
همچنین، "update --list" صرفنظر از این گزینه همچنان انجام میشود.
اگر بستهٔ روی سرور قدیمیتر از بستهٔ نصبشده فعلی باشد (مثلاً اگر آینهٔ انتخابشده قدیمی باشد)، "tlmgr" آن را به نسخهٔ قبل برنمیگرداند (downgrade نمیکند). همچنین، بستههای مربوط به بسترهای نصبنشده، نصب نمیشوند.
برنامهٔ "tlmgr" یک رونوشت از فایل اصلی "texlive.tlpdb" استفادهشده برای یک بهروزرسانی را با پسوندی که نمایانگر نشانی اینترنتی (url) مخزن است ذخیره میکند، مانند "tlpkg/texlive.tlpdb.main."long-hash-string. بدین ترتیب، حتی هنگامی که از آینههای متعددی استفاده میشود، تنها یک پشتیبان اصلی از "tlpdb" نگه داشته میشود. برای مخازن غیراصلی که عموماً آینهای ندارند (یا تعداد کمی دارند)، هیچ هرس و حذفی روی نسخههای پشتیبان انجام نمیشود..PP این اقدام به طور خودکار پیوندهای نمادین جدید را در دایرکتوریهای سیستم اضافه یا حذف نمیکند؛ اگر از این ویژگی استفاده میکنید و میخواهید پیوندهای نمادین جدید اضافه شوند، باید خودتان دستور "tlmgr" "path" را اجرا کنید.
فایل پیکربندی برای TLMGR (CONFIGURATION FILE FOR TLMGR)
دستور "tlmgr" دو فایل پیکربندی را میخواند: یکی در سطح کل سیستم در "TEXMFSYSCONFIG/tlmgr/config"، و دیگری مختص کاربر در "TEXMFCONFIG/tlmgr/config". فایل مختص کاربر، پیشفرض برای اقدام "conf tlmgr" است. (دستور "kpsewhich -var-value=TEXMFSYSCONFIG" یا "... TEXMFCONFIG ..." را برای دیدن نامهای واقعی دایرکتوریها اجرا کنید.)
چند مقدار پیشفرض متناظر با گزینههای خط فرمان را میتوان در این فایلهای پیکربندی تنظیم کرد. علاوه بر این، فایل سراسری سیستم میتواند شامل دستورالعملی برای محدود کردن اقدامهای مجاز باشد.
در این فایلهای پیکربندی، خطوط خالی و خطوطی که با # شروع میشوند نادیده گرفته میشوند. تمام خطوط دیگر باید به این صورت باشند:
key = value
که در آن فاصلهها اختیاری هستند اما وجود "=" الزامی است.
کلیدهای مجاز عبارتند از:
- "auto-remove =" 0 یا 1 (پیشفرض 1)، مشابه گزینه خط فرمان.
- "gui-expertmode =" 0 یا 1 (پیشفرض 1). این گزینه بین رابط کاربری گرافیکی (GUI) کامل و یک GUI سادهشده که فقط رایجترین تنظیمات را دارد جابجا میشود.
- "gui-lang =" llcode، با مقدار کد زبان، مشابه گزینه خط فرمان.
- "no-checksums =" 0 یا 1 (پیشفرض 0، به زیر مراجعه کنید).
- "persistent-downloads =" 0 یا 1 (پیشفرض 1)، مشابه گزینه خط فرمان.
- "require-verification =" 0 یا 1 (پیشفرض 0)، مشابه گزینه خط فرمان.
- "tkfontscale =" floating-point number (پیشفرض 1.0)؛ ضریب مقیاس قلمها در رابطهای کاربری مبتنی بر Tk.
- "update-exclude =" فهرست بستهها با جداکننده کاما (فاصله مجاز نیست). مشابه گزینه خط فرمان "--exclude" برای اقدام "update".
- "verify-downloads =" 0 یا 1 (پیشفرض 1)، مشابه گزینه خط فرمان.
فایل پیکربندی سراسری سیستم میتواند شامل یک کلید اضافه باشد:
- "allowed-actions =" action1[,action2,...] مقدار، فهرستی از اقدامهای "tlmgr" است که با کاما جدا شدهاند (بدون فاصله) و هنگامی که "tlmgr" در حالت سیستمی (یعنی بدون "--usermode") فراخوانی میشود، اجازه اجرا دارند. این قابلیت به توزیعکنندگان امکان میدهد "tlmgr" را در بستههای خود قرار دهند، اما تنها به مجموعه محدودی از اقدامها که با مدیر بسته توزیع تداخل ندارند اجازه اجرا دهند. برای نصبهای بومی TeX Live، نیازی به تنظیم این مورد نیست.
در نهایت، کلید "no-checksums" نیازمند توضیحات بیشتری است. به طور پیشفرض، چکسامهای بسته که بر روی سرور (در TLPDB) محاسبه و ذخیره شدهاند، با چکسامهایی که پس از دانلود به صورت محلی محاسبه میشوند، مقایسه میگردند. "no-checksums" این فرآیند را غیرفعال میکند. الگوریتم چکسام SHA-512 است. سیستم شما باید یکی از موارد زیر را داشته باشد (که به همین ترتیب جستجو میشوند): ماژول "Digest::SHA" در Perl، برنامه "openssl" (https://openssl.org)، برنامه "sha512sum" (از GNU Coreutils، https://www.gnu.org/software/coreutils)، یا در نهایت برنامه "shasum" (صرفاً برای پشتیبانی از مکهای قدیمی). اگر هیچیک از اینها در دسترس نباشند، هشداری صادر میشود و "tlmgr" بدون بررسی چکسامها به کار خود ادامه میدهد. "no-checksums" مانع از نمایش این هشدار میشود. (ضمناً سایر پیادهسازیهای SHA، مانند ماژولهای خالص Perl و خالص Lua، بسیار کندتر از آن هستند که در این زمینه قابل استفاده باشند.)
اعتبارسنجی رمزنگاری (CRYPTOGRAPHIC VERIFICATION)
دستورهای "tlmgr" و "install-tl" در صورت امکان اعتبارسنجی رمزنگاری را انجام میدهند. اگر اعتبارسنجی انجام شود و موفقیتآمیز باشد، برنامهها پس از بارگذاری TLPDB مقدار "(verified)" را گزارش میکنند؛ در غیر این صورت، "(not verified)" را گزارش میدهند. با این حال در هر دو حالت، به طور پیشفرض نصب و/یا بهروزرسانیها به شکل عادی پیش میروند.
اگر برنامهای به نام "gpg" در دسترس باشد (یعنی در "PATH" یافت شود)، امضاهای رمزنگاری به طور پیشفرض بررسی خواهند شد: لازم است که مخزن اصلی امضا شده باشد، اما نیازی به امضای مخازن اضافی نیست. اگر "gpg" در دسترس نباشد، به طور پیشفرض امضاها بررسی نمیشوند و هیچ اعتبارسنجی انجام نمیگیرد، اما "tlmgr" همچنان به صورت عادی به کار خود ادامه میدهد.
رفتار اعتبارسنجی را میتوان با گزینه خط فرمان و فایل پیکربندی "verify-repo" کنترل کرد که یکی از مقادیر زیر را میپذیرد: "none"، "main"، یا "all". با مقدار "none"، مطلقاً هیچ اعتبارسنجی انجام نمیشود. با مقدار "main" (پیشفرض)، اعتبارسنجی فقط برای مخزن اصلی و تنها در صورتی که "gpg" در دسترس باشد الزامی است؛ هرچند برای همه مخازن تلاش میشود، اما نبود امضای مخازن فرعی منجر به خطا نخواهد شد. در نهایت، در مورد "all"، برنامه "gpg" باید در دسترس باشد و تمام مخازن باید دارای امضا باشند.
در تمام موارد، اگر امضایی بررسی شده و اعتبارسنجی آن با شکست مواجه گردد، یک خطا رخ میدهد.
اعتبارسنجی رمزنگاری مستلزم موفقیتآمیز بودن بررسی چکسام (که در بالا توضیح داده شد) و یک برنامه GnuPG ("gpg") کارآمد است (برای روش جستجو، بخش زیر را ببینید). سپس، مگر در صورتی که اعتبارسنجی رمزنگاری غیرفعال شده باشد، فایل امضای ("texlive.tlpdb.*.asc") مربوط به فایل چکسام دانلود شده و صحت امضا اعتبارسنجی میشود. این امضا توسط کلید GPG توزیع TeX Live به شناسه 0x0D5E5D9106BAB6BC ایجاد شده است، که به نوبه خود با کلید Karl Berry به شناسه 0x0716748A30D155AD و کلید Norbert Preining به شناسه 0x6CACA448860CDC13 امضا شده است. تمام این کلیدها از سرورهای کلید استاندارد قابل دریافت هستند.
کلیدهای معتمد اضافی را میتوان با استفاده از اقدام "key" اضافه کرد.
پیکربندی فراخوانی GnuPG (Configuration of GnuPG invocation)
فایل اجرایی مورد استفاده برای GnuPG به این ترتیب جستجو میشود: اگر متغیر محیطی "TL_GNUPG" تنظیم شده باشد، بررسی شده و استفاده میشود؛ در غیر این صورت "gpg" بررسی میشود؛ و در نهایت "gpg2" بررسی خواهد شد.
تنظیمات و سفارشیسازی بیشتر فراخوانی "gpg" را میتوان با استفاده از دو متغیر محیطی انجام داد: "TL_GNUPGHOME" که به عنوان مقدار برای "--homedir" به "gpg" ارسال میشود، و "TL_GNUPGARGS" که جایگزین گزینههای پیشفرض "--no-secmem-warning --no-permission-warning" میشود..SH "حالت کاربر (USER MODE)" دستور "tlmgr" روشی محدودشده موسوم به «حالت کاربر» (``user mode'') ارائه میدهد تا بتوان درختهای texmf دلخواه را به همان شیوه نصب اصلی مدیریت کرد. برای نمونه، این قابلیت به افرادی که مجوز نوشتن در مسیر نصب را ندارند اجازه میدهد بستهها را در درختی متعلق به خودشان بهروزرسانی یا نصب کنند.
دستور "tlmgr" با گزینه خط فرمان "--usermode" به حالت کاربر جابهجا میشود. این جابهجایی بهصورت خودکار صورت نمیگیرد و هیچ تنظیمی هم برای آن در فایلهای پیکربندی وجود ندارد. بنابراین، هر بار که نیاز به فعالسازی حالت کاربر باشد، این گزینه باید صراحتاً در خط فرمان مشخص شود.
این حالت از "tlmgr" روی یک درخت کاربر کار میکند که بهطور پیشفرض مقدار متغیر "TEXMFHOME" است. این مقدار را میتوان با گزینه خط فرمان "--usertree" بازنویسی کرد. در ادامه هر جا که از درخت کاربر سخن میگوییم، منظور یا "TEXMFHOME" است یا مقداری که در خط فرمان تعیین شده است.
همه عملیاتها در حالت کاربر مجاز نیستند؛ "tlmgr" به شما هشدار خواهد داد و هیچ اقدام مسئلهسازی را اجرا نخواهد کرد. در حال حاضر عملیات "platform" پشتیبانی نمیشود (و احتمالاً هرگز نخواهد شد). عملیات "gui" نیز فعلاً پشتیبانی نمیشود، اما ممکن است در انتشارهای آینده در دسترس قرار گیرد.
برخی از عملیاتهای "tlmgr" به مجوز نوشتن نیازی ندارند و از این رو در هر دو حالت کاربر و حالت عادی یکسان عمل میکنند. در حال حاضر این عملیاتها عبارتند از: "check"، "help"، "list"، "print-platform"، "print-platform-info"، "search"، "show"، "version".
از سوی دیگر، بیشتر عملیاتهای مربوط به مدیریت بستهها نیازمند مجوز نوشتن هستند و در نتیجه، همانگونه که در زیر آمده است، در حالت کاربر رفتار متفاوتی دارند: "install"، "update"، "remove"، "option"، "paper"، "generate"، "backup"، "restore"، "uninstall"، "symlinks".
پیش از استفاده از "tlmgr" در حالت کاربر، باید درخت کاربر را با عملیات "init-usertree" برپا کنید. این دستور مسیرهای usertree"/web2c" و usertree"/tlpkg/tlpobj" و یک فایل کمینه usertree"/tlpkg/texlive.tlpdb" ایجاد میکند. پس از آن، میتوانید با افزودن گزینه خط فرمان "--usermode" به "tlmgr" بگویید که عملیاتهای (پشتیبانیشده) را اجرا کند.
در حالت کاربر، فایل usertree"/tlpkg/texlive.tlpdb" تنها شامل بستههایی است که با استفاده از "tlmgr" در درخت کاربر نصب شدهاند، به همراه گزینههای اضافی برگرفته از بسته «مجازی» "00texlive.installation" (مشابه با "texlive.tlpdb" در نصب اصلی).
تمام عملیاتهای مرتبط با بستهها در حالت کاربر تنها بر روی بستههایی قابل انجام است که تحت عنوان "relocatable" (قابل جابهجایی) شناخته میشوند. این امر بستههای حاوی فایلهای اجرایی و چند بسته پایه دیگر را مستثنی میکند. از میان حدود ۲۵۰۰ بسته موجود در TeX Live، اکثریت قریب به اتفاق قابل جابهجایی هستند و میتوان آنها را در یک درخت کاربر نصب کرد.
شرح تغییرات رفتار عملیاتها در حالت کاربر:
نصب در حالت کاربر (User mode install)
در حالت کاربر، عملیات "install" بررسی میکند که بسته و تمام وابستگیهای آن یا قابل جابهجایی باشند و یا از پیش در سطح سیستم نصب شده باشند. اگر چنین باشد، تمام بستههای فشرده (containers) مورد نیاز برای نصب را در درخت کاربر استخراج میکند (مجدداً، یا "TEXMFHOME" یا مقدار مشخصشده با "--usertree") و بستههای مربوطه را به "texlive.tlpdb" متعلق به درخت کاربر اضافه میکند (و در صورت لزوم آن را ایجاد مینماید).
در حال حاضر نصب یک مجموعه (collection) در حالت کاربر، تمامی بستههای وابسته را نصب میکند، اما بر خلاف حالت عادی، مجموعههای وابسته را نصب نمیکند. به عنوان مثال، در حالت عادی دستور "tlmgr install collection-context" بستههای "collection-basic" و سایر مجموعهها را نصب میکند، در حالی که در حالت کاربر، فقط بستههای قید شده در "collection-context" نصب خواهند شد.
اگر بستهای شامل فایلهای نگاشت (map files) در حالت کاربر نصب شود، یک نسخه پشتیبان از فایل "updmap.cfg" کاربر در مسیر "USERTREE/web2c/" تهیه شده و سپس این فایل بر پایه فهرست بستههای نصبشده دوباره تولید میشود.
پشتیبانگیری، بازیابی، حذف و بهروزرسانی در حالت کاربر (User mode backup, restore, remove, update)
در حالت کاربر، این عملیاتها پیش از ادامه کار بررسی میکنند که تمام بستههای مورد نظر در درخت کاربر نصب شده باشند؛ در غیر این صورت، رفتاری کاملاً مشابه با حالت عادی خواهند داشت.
عملیاتهای generate، option و paper در حالت کاربر (User mode generate, option, paper)
در حالت کاربر، این عملیاتها تنها بر روی فایلهای پیکربندی درخت کاربر و/یا "texlive.tlpdb" اعمال میشوند.
گزارشهای حالت کاربر (User mode logs)
در حالت کاربر، فایلهای "tlmgr.log" و <tlmgr-commands.log> بهجای دایرکتوری "TEXMFSYSVAR/web2c/" در دایرکتوری "TEXMFVAR/web2c/" نوشته میشوند.
مخازن چندگانه (MULTIPLE REPOSITORIES)
مخزن اصلی TeX Live دربردارنده گستره عظیمی از بستهها است. با این حال، مخازن محلی دیگر میتوانند برای تأمین منابعی که بهصورت محلی نصب میشوند (مانند قلمهای تجاری یا شیوهنامههای اختصاصی سازمانها) سودمند باشند. افزون بر این، مخازن جایگزین، بستههایی را توزیع میکنند که به هر دلیلی امکان گنجاندن آنها در TeX Live وجود ندارد.
سادهترین و مطمئنترین شیوه این است که موقتاً منبع نصب را به مخزن دلخواه تغییر دهید (با استفاده از گزینههای خط فرمان "-repository" یا "option repository") و سپس عملیاتهای خود را به انجام برسانید.
با این وجود، اگر در یک بازه زمانی پیوسته از چندین مخزن استفاده میکنید، جابهجایی دستی و صریح میان آنها دشوار خواهد بود. از این رو، امکان معرفی مخازن اضافی به "tlmgr" فراهم شده است. دستور اصلی برای این کار "tlmgr repository add" است. ادامه این بخش توضیحات بیشتری در این باره ارائه میدهد.
هنگام استفاده از چندین مخزن، یکی از آنها باید بهعنوان مخزن اصلی تعیین شود که عمده بستههای نصبشده از آن توزیع میگردد. هنگامی که از نصب تکمخزنی به نصب چندمخزنی تغییر وضعیت میدهید، همان مخزن منفرد پیشین بهعنوان مخزن اصلی در نظر گرفته خواهد شد.
بهطور پیشفرض، حتی در صورت پیکربندی چند مخزن، بستهها همچنان تنها از مخزن اصلی نصب میشوند. بنابراین، صرفاً افزودن یک مخزن دوم سبب فعالسازی نصب بستهها از آنجا نمیشود. شما باید از طریق تعیین قواعدی که با نام «پین کردن» (``pinning'') شناخته میشوند، معین کنید کدام بستهها باید از مخزن جدید دریافت گردند؛ این موضوع در ادامه شرح داده شده است.
پین کردن (Pinning)
هنگامی که یک بسته مانند "foo" به مخزنی پین میشود، بسته "foo" در هر مخزن دیگری، حتی اگر شماره بازبینی (revision) بالاتری داشته باشد، بهعنوان گزینه قابل نصب مد نظر قرار نخواهد گرفت.
همانگونه که در بالا ذکر شد، بهطور پیشفرض همهچیز به مخزن اصلی پین شده است. اکنون بیایید نمونهای از برپایی یک مخزن دوم و فعالسازی بهروزرسانیهای یک بسته از آن را بررسی کنیم.
ابتدا بررسی کنید که پشتیبانی از مخازن چندگانه فعال باشد و تنها یک مخزن فعال وجود داشته باشد (که حالت پیشفرض نیز همین است):
$ tlmgr repository list List of repositories (with tags if set): /var/www/norbert/tlnet
بسیار خوب. حال بیایید مخزن "tlcontrib" را (که مخزنی واقعی و میزبانیشده در http://contrib.texlive.info است) با برچسب "tlcontrib" اضافه کنیم:
$ tlmgr repository add http://contrib.texlive.info/current tlcontrib
فهرست مخازن را بار دیگر بررسی کنید:
$ tlmgr repository list List of repositories (with tags if set): http://contrib.texlive.info/current (tlcontrib) /var/www/norbert/tlnet (main)
اکنون یک قاعده پین کردن تعیین میکنیم تا بسته "classico" از "tlcontrib" دریافت شود:
$ tlmgr pinning add tlcontrib classico
بررسی کنید که بسته "classico" قابل یافتن باشد:
$ tlmgr show classico package: classico ... shortdesc: URW Classico fonts ...
- نصب بسته "classico":
$ tlmgr install classico tlmgr: package repositories: ... [1/1, ??:??/??:??] install: classico @tlcontrib [737k]
در این خروجی مشاهده میکنید که بسته "classico" از مخزن "tlcontrib" (@tlcontrib) نصب شده است.
در پایان، دستور "tlmgr pinning" از حذف بستههایی مشخص یا تمامی بستهها از یک مخزن معین نیز پشتیبانی میکند:
$ tlmgr pinning remove tlcontrib classico # remove just classico $ tlmgr pinning remove tlcontrib --all # take nothing from tlcontrib
خلاصهای از عملیاتهای "tlmgr pinning" در بالا آمده است..SH "رابط گرافیکی برای TLMGR (GUI FOR TLMGR)" رابط گرافیکی کاربر برای "tlmgr" نیازمند Perl/Tk https://search.cpan.org/search?query=perl%2Ftk است. برای سیستمهای مبتنی بر Unix، باید Perl/Tk (و البته خود Perl) بیرون از TL نصب شده باشند. https://tug.org/texlive/distro.html#perltk حاوی فهرستی از دستورهای فراخوانی برای برخی توزیعها است. برای Windows، ماژولهای لازم دیگر همراه با TeX Live عرضه نمیشوند، بنابراین باید یک Perl خارجی که شامل آنها باشد در دسترس داشته باشید.
در اینجا صحبت از رابط گرافیکی تعبیهشده در خود tlmgr است، نه سایر رابطهای گرافیکی tlmgr که عبارتاند از: tlshell (مبتنی بر Tcl/Tk)، tlcockpit (مبتنی بر Java) و فقط در سیستمهای Mac، TeX Live Utility. اینها به عنوان برنامههایی جداگانه فراخوانی میشوند.
حالت رابط گرافیکی tlmgr با فراخوانی "tlmgr gui" آغاز میشود؛ به شرط آنکه Tk قابل بارگذاری باشد، رابط گرافیکی کاربر نمایش داده خواهد شد. پنجرهٔ اصلی شامل یک نوار منو، بخش نمایش اصلی، و یک ناحیهٔ وضعیت است که پیامهای معمول کنسول در آنجا نمایش داده میشوند.
در بخش نمایش اصلی سه قسمت عمده وجود دارد: ناحیهٔ "Display configuration" (پیکربندی نمایش)، فهرست بستهها، و دکمههای عملیات.
همچنین در بالا سمت راست، مخزنِ بارگذاریشدهٔ فعلی نشان داده میشود؛ این قسمت به عنوان یک دکمه نیز عمل میکند و در صورت کلیک، برای بارگذاری مخزن پیشفرض تلاش خواهد کرد. برای بارگذاری یک مخزن متفاوت، گزینهٔ منوی "tlmgr" را ببینید.
در نهایت، ناحیهٔ وضعیت در پایین پنجره اطلاعات بیشتری را دربارهٔ رویدادهای در حال وقوع ارائه میدهد.
صفحه نمایش اصلی (Main display)
ناحیهٔ پیکربندی نمایش (Display configuration area)
بخش نخست از صفحه نمایش اصلی به شما امکان میدهد مشخص (فیلتر) کنید چه بستههایی نشان داده شوند. به صورت پیشفرض، همه نمایش داده میشوند. تغییرات در اینجا بلافاصله اعمال و منعکس میشوند.
- Status (وضعیت)
- انتخاب اینکه همهٔ بستهها نمایش داده شوند (پیشفرض)، فقط بستههای نصبشده، فقط بستههای نصبنشده، یا تنها بستههایی که بهروزرسانی برای آنها موجود است.
- Category (دستهبندی)
- انتخاب دستههای نمایشی: بستهها (packages)، مجموعهها (collections)، و/یا طرحها (schemes). این موارد به اختصار در بخش «توضیحات (DESCRIPTION)» در بالا توضیح داده شدهاند.
- Match (تطابق)
- انتخاب بستههای منطبق با یک الگوی خاص. به صورت پیشفرض، این گزینه هم توضیحات و هم نام فایلها را جستجو میکند. شما همچنین میتوانید زیرمجموعهای را برای جستجو انتخاب کنید.
- Selection (گزینش)
- محدود کردن بستههای نمایشی به موارد انتخابشده، انتخابنشده، یا همه. در اینجا، «انتخابشده» بدین معناست که جعبهٔ علامتزدن در ابتدای سطر بسته تیک خورده باشد.
- Display configuration buttons (دکمههای پیکربندی نمایش)
- در سمت راست سه دکمه قرار دارد: انتخاب همهٔ بستهها، لغو انتخاب همه (عدم انتخاب هیچکدام)، و بازنشانی تمام این فیلترها به مقادیر پیشفرض، یعنی نمایش تمام موارد موجود.
ناحیهٔ فهرست بستهها (Package list area)
ناحیهٔ دوم از صفحه نمایش اصلی، تمام بستههای نصبشده را فهرست میکند. اگر یک مخزن بارگذاری شده باشد، بستههای موجودی که نصب نشدهاند نیز فهرست خواهند شد.
دوبار کلیک روی سطر هر بسته، پنجرهای اطلاعاتی با جزئیات بیشتر را باز میکند: توضیحات کامل، فایلهای شاملشده، و غیره.
هر سطر از فهرست بستهها شامل موارد زیر است:
- یک جعبهٔ علامتزدن (a checkbox)
- برای انتخاب بستههای مشخص استفاده میشود؛ برخی از دکمههای عملیاتی (پایین را ببینید) تنها روی بستههای انتخابشده کار میکنند.
- نام بسته (package name)
- نام (شناسهٔ) بسته، همانگونه که در پایگاه داده قید شده است.
- بازنگری محلی [و نسخه] (local revision and version)
- اگر بسته نصب شده باشد، شماره بازنگری TeX Live برای بستهٔ نصبشده نمایش داده میشود. اگر نسخهٔ کاتالوگی برای این بسته در پایگاه داده موجود باشد، درون پرانتز نشان داده خواهد شد. با این حال، نسخهٔ کاتالوگ برخلاف بازنگری TL، تضمینی ندارد که بازتابدهندهٔ دقیق نسخهٔ نصبشده در عمل باشد.
- بازنگری دوردست [و نسخه] (remote revision and version)
- اگر مخزنی بارگذاری شده باشد، بازنگری بسته در مخزن (در صورت وجود) نشان داده میشود. همانند ستون محلی، در صورت ارائهٔ نسخهٔ کاتالوگ، نمایش داده خواهد شد. همچنین مانند ستون محلی، ممکن است نسخهٔ کاتالوگ قدیمی یا نامعتبر باشد.
- شرح کوتاه (short description)
- توضیحات کوتاه بسته.
دکمههای عملیاتی صفحه نمایش اصلی (Main display action buttons)
در زیر فهرست بستهها چندین دکمه قرار دارد:
- Update all installed
- این دکمه
دستور "tlmgr
update --all" را
فراخوانی
میکند؛
یعنی تلاش
میکند
تمام
بستههای
موجود را
بهروزرسانی
کند. در زیر
این دکمه
کلیدی
دوحالته
وجود دارد
که امکان
نصب مجدد
بستههای
از پیش
حذفشده را
به عنوان
بخشی از این
عملیات
فراهم
میکند.
چهار دکمهٔ دیگر تنها روی بستههای انتخابشده اثر میگذارند؛ یعنی مواردی که جعبهٔ علامتزدن در ابتدای سطر آنها تیک خورده باشد.
- Update
- تنها بستههای انتخابشده را بهروزرسانی میکند.
- Install
- بستههای انتخابشده را نصب میکند؛ مانند "tlmgr install" عمل میکند، یعنی وابستگیها را نیز نصب مینماید. بدین ترتیب، نصب یک مجموعه منجر به نصب تمام بستههای تشکیلدهندهٔ آن میشود.
- Remove
- بستههای انتخابشده را حذف میکند؛ مانند "tlmgr remove" عمل میکند، یعنی وابستگیهای مجموعهها را نیز حذف خواهد کرد (اما وابستگیهای بستههای معمولی را خیر).
- Backup
- از بستههای انتخابشده نسخهٔ پشتیبان تهیه میکند؛ مانند "tlmgr backup" عمل میکند. این عملیات نیازمند تنظیم گزینهٔ "backupdir" است (بخش "Options -" General> را ببینید)..SS "نوار منو (Menu bar)" موارد زیر را میتوان در نوار منو یافت:
- منوی "tlmgr"
- گزینههای این بخش مخازن گوناگون را بارگذاری میکنند: مخزن پیشفرض تعیینشده در پایگاهدادهٔ TeX Live، مخزن شبکهٔ پیشفرض، مخزن مشخصشده در خط فرمان (در صورت وجود)، و مخزنی که بهصورت دستی و دلخواه وارد شده باشد. همچنین عملیات بسیار ضروری "quit" را نیز در بر دارد.
- منوی "Options" (گزینهها)
- دسترسی به
چندین گروه
از
گزینهها
را فراهم
میکند:
"Paper"
(پیکربندی
اندازههای
پیشفرض
کاغذ)،
"Platforms"
(تنها در
یونیکس،
پیکربندی
سکوهای
پشتیبانیشده/نصبشده)،
"GUI Language"
(انتخاب
زبان رابط
کاربری
گرافیکی)، و
"General"
(سایر
موارد).
چندین گزینهٔ دووضعیتی (toggle) نیز در اینجا قرار دارند. نخستین مورد "Expert options" است که بهطور پیشفرض فعال است. اگر آن را غیرفعال کنید، در راهاندازی بعدی رابط کاربری گرافیکی، صفحهای سادهشده نمایش داده میشود که تنها عملکردهای اصلی را نشان میدهد. این تنظیم در فایل پیکربندی "tlmgr" ذخیره میشود؛ برای جزئیات به بخش “CONFIGURATION FILE FOR TLMGR” مراجعه کنید.
سایر گزینههای دووضعیتی همگی بهطور پیشفرض غیرفعال هستند: خروجی اشکالزدایی (debugging)، غیرفعال کردن نصب خودکار بستههای جدید، و غیرفعال کردن حذف خودکار بستههای حذفشده از سرور. تغییر نسنجیده در گزینههای مربوط به اینکه چه بستههایی نصب شوند یا نشوند ممکن است منجر به ناهماهنگی در نصب TeX Live شود؛ برای نمونه، هنگامی که نام یک بسته تغییر میکند.
- منوی "Actions" (عملیات)
- دسترسی به
چندین
اقدام را
فراهم
میکند:
بهروزرسانی
پایگاهدادهٔ
نام
فایلها
(معروف به
"ls-R"،
"mktexlsr"،
"texhash")،
بازسازی
همهٔ
فرمتها
("fmtutil-sys --all")،
بهروزرسانی
پایگاهدادهٔ
نگاشت فونت
("updmap-sys")،
بازیابی از
نسخهٔ
پشتیبان یک
بسته، و
استفاده از
پیوندهای
نمادین در
دایرکتوریهای
سیستمی (نه
در ویندوز).
آخرین اقدام، حذف کل بستهٔ نصبشدهٔ TeX Live است (این مورد نیز در ویندوز دردسترس نیست).
- منوی "Help" (راهنما)
- دسترسی به دفترچهٔ راهنمای TeX Live (همچنین در وب در https://tug.org/texlive/doc.html) و کادر گفتگوی معمول ``درباره'' (``About'') را فراهم میآورد.
گزینههای رابط کاربری گرافیکی (GUI options)
برخی از گزینههای عمومی Perl/Tk را میتوان به همراه "tlmgr gui" برای کنترل نحوهٔ نمایش مشخص کرد:
- "-background" color
- تنظیم رنگ پسزمینه.
- "-font "" fontname fontsize """
- تنظیم فونت، برای نمونه "tlmgr gui -font "helvetica 18"". آرگومان "-font" باید درون نقلقول قرار گیرد، یعنی بهصورت یک رشتهٔ واحد ارسال شود.
- "-foreground" color
- تنظیم رنگ پیشزمینه.
- "-geometry" geomspec
- تنظیم هندسهٔ X، برای نمونه "tlmgr gui -geometry 1024x512-0+0" پنجرهای با اندازهٔ (تقریبی) ارائهشده در گوشهٔ بالا-راست نمایشگر ایجاد میکند.
- "-xrm" xresource
- ارسال رشتهٔ منبع دلخواه سامانهٔ پنجرهای X با عنوان xresource.
چندین گزینهٔ کمتر شناختهشدهٔ دیگر نیز شناسایی میشوند اما در اینجا ذکر نشدهاند. برای فهرست کامل به مستندات Perl/Tk در (https://search.cpan.org/perldoc?Tk) و برای اطلاعات عمومی به هر یک از مستندات سامانهٔ پنجرهای X مراجعه کنید.
خروجی ماشینخوان (MACHINE-READABLE OUTPUT)
با گزینهٔ "--machine-readable"، دستور "tlmgr" اطلاعات را در قالب خطمحور و ثابتی که در اینجا شرح داده شده در stdout مینویسد، و پیامهای اطلاعرسانی معمول برای کاربران در stderr نوشته میشوند (در حالی که در حالت عادی در stdout نوشته میشوند). هدف این است که یک برنامه بتواند تمامی اطلاعات مورد نیاز خود را تنها با خواندن stdout دریافت کند.
در حال حاضر این گزینه تنها برای عملیاتهای update، install و “option” اعمال میشود.
خروجی ماشینخوان "update" و "install"
قالب خروجی به صورت زیر است:
fieldname "\t" value ... "end-of-header" pkgname status localrev serverrev size runtime esttot ... "end-of-updates" other output from post actions, not in machine readable form
بخش سرایند در حال حاضر دو فیلد دارد: "location-url" (منبع مخزنی که بهروزرسانیها از آن دریافت میشوند) و "total-bytes" (تعداد کل بایتهایی که باید بارگیری شوند).
فیلدهای localrev و serverrev برای هر بسته بهترتیب شمارهٔ بازنگری (revision) در نصب محلی و در مخزن سرور هستند. فیلد size تعداد بایتهایی است که باید بارگیری شوند، یعنی اندازهٔ فایل tar فشردهشده برای یک نصب شبکهای، نه اندازهٔ غیرفشردهشده پس از استخراج. فیلدهای runtime و esttot تنها برای بستههای بهروزشده و بستههای نصب خودکار (auto-install) وجود دارند و شامل زمان سپریشده از آغاز نصب/بهروزرسانی و تخمین کل زمان هستند.
پایان خطوط ممکن است بسته به سکوی فعلی LF یا CRLF باشد.
- "location-url" location
- مقدار location ممکن است یک آدرس url (از جمله "file:///foo/bar/...") یا نام یک دایرکتوری ("/foo/bar") باشد. این همان مخزن بستهای است که اطلاعات جدید بسته از آن دریافت شده است.
- "total-bytes" count
- مقدار count صرفاً یک عدد در مبنای ۱۰ است؛ مجموع اندازهٔ تمام بستههایی که نیازمند بهروزرسانی یا نصب هستند (و در ادامه فهرست شدهاند).
سپس خطی میآید که فقط شامل رشتهٔ دقیق "end-of-header" است.
هر یک از خطوط بعدی تا رسیدن به خطی با رشتهٔ متنی "end-of-updates"، وضع یک بسته را گزارش میدهند. فیلدهای هر خط با یک نویسهٔ تب (tab) جدا میشوند. این فیلدها عبارتند از:
- pkgname
- شناسهٔ بستهٔ TeX Live، همراه با پسوند احتمالی سکو برای فایلهای اجرایی. برای نمونه، "pdftex" و "pdftex.i386-linux" به عنوان دو بستهٔ جداگانه، هر کدام در یک خط، ارائه میشوند.
- status
- وضعیت بهروزرسانی بسته. یک نویسه، به شرح زیر:
- "d"
- بسته روی سرور حذف شده است.
- "f"
- بسته از نصب محلی حذف شده است، هرچند مجموعهای به آن وابسته بوده است. (برای نمونه، کاربر دستور "tlmgr remove --force" را اجرا کرده است.)
- "u"
- بهروزرسانی عادی مورد نیاز است.
- "r"
- بهروزرسانینشدن معکوس: نسخهٔ نصبشده بهصورت محلی، جدیدتر از نسخهٔ روی سرور است.
- "a"
- نیاز به نصب که بهصورت خودکار تشخیص داده شده است؛ بسته روی سرور جدید است و (به احتمال زیاد) بخشی از یک مجموعهٔ نصبشده است.
- "i"
- بسته نصب خواهد شد و در حال حاضر در نصب محلی وجود ندارد (عملیات install).
- "I"
- بسته در حال حاضر موجود است اما مجدداً نصب خواهد شد (عملیات install).
- localrev
- شمارهٔ بازنگری بستهٔ نصبشده، یا "-" اگر بهصورت محلی موجود نباشد.
- serverrev
- شمارهٔ بازنگری بسته روی سرور، یا "-" اگر روی سرور موجود نباشد.
- size
- اندازهٔ بسته روی سرور برحسب بایت. مجموع اندازهٔ همهٔ بستهها در فیلد سرایند "total-bytes" که در بالا اشاره شد آورده میشود.
- runtime
- مدتزمان سپریشده از آغاز عملیات نصب یا بهروزرسانیها.
- esttot
- کل زمان تخمینی.
خروجی ماشینخوان "option"
قالب خروجی به صورت زیر است:.PP
key "\t" value
اگر مقداری در پایگاهداده ذخیره نشده باشد، رشتهی "(not set)" نمایش داده میشود.
اگر در حال توسعهی برنامهای هستید که از این خروجی استفاده میکند و احساس میکنید اعمال تغییراتی میتواند مفید باشد، بدون درنگ به فهرست پستی (mailing list) بنویسید.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
ابزار "tlmgr" از بسیاری از متغیرهای محیطی استاندارد TeX استفاده میکند؛ همانطور که برای نمونه توسط "tlmgr conf" (بخش «conf») گزارش میشود.
علاوه بر این، برای تسهیل در اسکریپتنویسی و اشکالزدایی، "tlmgr" متغیرهای محیطی زیر را بررسی میکند. این متغیرها برای نصبهای معمول کاربران کاربردی ندارند.
- "TEXLIVE_COMPRESSOR"
- این متغیر امکان انتخاب برنامهی فشردهسازی دیگری را برای نسخههای پشتیبان و بستههای میانی بازگردانی (rollback containers) فراهم میکند. اولویت انتخاب بدین صورت است:
- 1.
- اگر متغیر محیطی "TEXLIVE_COMPRESSOR" تعریف شده باشد، از آن استفاده میشود؛ در صورت کار نکردن، عملیات لغو میشود. مقادیر ممکن: "lz4"، "gzip"، "xz". گزینههای لازم به صورت داخلی افزوده میشوند.
- 2.
- اگر lz4 در دسترس باشد (چه از سیستم و چه از TL) و درست کار کند، از آن استفاده میشود.
- 3.
- اگر gzip در دسترس باشد (از سیستم) و درست کار کند، از آن استفاده میشود.
- 4.
- اگر xz در دسترس باشد (چه از سیستم و چه از TL) و درست کار کند، از آن استفاده میشود.
برنامههای lz4 و gzip در ایجاد پشتیبانهای محلی tlmgr سریعتر عمل میکنند، به همین دلیل ترجیح داده میشوند. استفادهی بدون قید و شرط از xz برای بستههای tlnet جهت به حداقل رساندن حجم بارگیری، تحت تأثیر قرار نمیگیرد.
- "TEXLIVE_DOWNLOADER"
- "TL_DOWNLOAD_PROGRAM"
- "TL_DOWNLOAD_ARGS"
- این گزینهها امکان انتخاب برنامههای بارگیری متفاوتی را نسبت به برنامههایی که توسط نصاب به طور خودکار انتخاب میشوند، ممکن میسازند. اولویت انتخاب بدین ترتیب است:
- 1.
- اگر متغیر محیطی "TEXLIVE_DOWNLOADER" تعریف شده باشد، از آن استفاده میشود؛ در صورت کار نکردن برنامهی مشخصشده، عملیات لغو میشود. مقادیر ممکن: "lwp"، "curl"، "wget". گزینههای لازم به طور داخلی اضافه میشوند.
- 2.
- اگر متغیر محیطی "TL_DOWNLOAD_PROGRAM" تعریف شده باشد (میتواند هر مقداری باشد)، همراه با "TL_DOWNLOAD_ARGS" استفاده میشود؛ در صورت کار نکردن، عملیات لغو میشود.
- 3.
- اگر LWP در دسترس و کارآمد باشد، از آن استفاده میشود (به دلیل پشتیبانی از بارگیریهای مداوم و پایدار، با اختلاف کارآمدترین روش است).
- 4.
- اگر curl در دسترس باشد (از سیستم) و کار کند، از آن استفاده میشود.
- 5.
- اگر wget در دسترس باشد (چه از سیستم و چه از TL) و کار کند، از آن استفاده میشود.
مجموعهی TL باینریهای "wget" را در صورت نیاز برای پلتفرمهای مختلف فراهم میکند، بنابراین همواره باید روشی برای بارگیری در دسترس باشد.
- "TEXLIVE_PREFER_OWN"
- بهطور
پیشفرض،
برنامههای
فشردهسازی
و بارگیری
ارائهشده
توسط سیستم
(یعنی
مواردی که
در مسیر
"PATH" یافت
میشوند) بر
برنامههای
ارائهشده
همراه با TeX Live
ترجیح داده
میشوند.
این موضوع میتواند در سیستمهای بسیار قدیمی مشکلساز شود، و بنابراین میتوان با تنظیم متغیر محیطی "TEXLIVE_PREFER_OWN" بر روی مقدار 1 آن را نادیده گرفت. در این حالت، فایلهای اجرایی عرضهشده به همراه TL در اولویت قرار خواهند گرفت.
برنامههای فشردهسازی/بارگیری اضافی که توسط TL ارائه نمیشوند، مانند gzip، lwp و curl، طبق موارد فوق همچنان در سیستم بررسی شده و در صورت موجود بودن مورد استفاده قرار میگیرند. متغیر "TEXLIVE_PREFER_OWN" تنها زمانی اعمال میشود که برنامهی در حال بررسی، همراه با TL عرضه شده باشد؛ یعنی فشردهسازهای lz4 و xz و بارگیرندهی wget.
استثنا: در Windows، فایل "tar.exe" عرضهشده همراه با TL صرفنظر از هرگونه تنظیمی، همواره استفاده میشود.
نویسندگان و کپیرایت (AUTHORS AND COPYRIGHT)
این اسکریپت و مستندات آن برای توزیع TeX Live (https://tug.org/texlive) نوشته شدهاند و هر دو تحت مجوز عمومی همگانی گنو نگارش ۲ یا پسین (GNU General Public License Version 2 or later) منتشر شدهاند.
$Id: tlmgr.pl 75204 2025-05-13 21:48:24Z karl $
| 2025-05-13 | perl v5.42.0 |