pacman.conf - فایل
پیکربندی
مدیر بسته pacman
دستور pacman با
استفاده از
libalpm(3)، در هر
بار
فراخوانی
تلاش
میکند
فایل pacman.conf را
بخواند. این
فایل
پیکربندی
به بخشها
یا مخازن
تقسیم شده
است. هر بخش
یک مخزن
بسته را
تعریف
میکند که pacman
میتواند
هنگام
جستجوی
بستهها در
حالت --sync از
آن استفاده
کند.
استثنای
این قاعده،
بخش options است که
گزینههای
عمومی را
مشخص
میسازد.
کامنتها
تنها با
شروع خط با
علامت هش (#)
پشتیبانی
میشوند.
کامنتها
نمیتوانند
در میانه یک
خط آغاز
شوند.
#
# pacman.conf
#
[options]
NoUpgrade = etc/passwd etc/group etc/shadow
NoUpgrade = etc/fstab
[core]
Include = /etc/pacman.d/core
[custom]
Server = file:///home/pkgs
یادداشت
هر
دستورالعمل
باید به
صورت CamelCase باشد.
اگر این
حالت
نوشتاری
رعایت
نشود،
دستورالعمل
شناسایی
نخواهد شد.
برای
نمونه، noupgrade یا
NOUPGRADE کار
نخواهند
کرد.
RootDir = /path/to/root/dir
دایرکتوری
ریشه
پیشفرض را
برای نصب
بستهها
توسط pacman
تنظیم
میکند. این
گزینه
زمانی
استفاده
میشود که
بخواهید
بستهای را
روی یک
پارتیشن
موقتاً
مانتشده
نصب کنید که
متعلق به
سیستم
دیگری است،
یا برای نصب
درون یک chroot
کاربرد
دارد.
یادداشت:
اگر مسیر
پایگاهداده
یا فایل لاگ
در خط فرمان
یا در
pacman.conf(5)
مشخص نشده
باشند،
مکان
پیشفرض
آنها درون
این مسیر
ریشه خواهد
بود.
DBPath = /path/to/db/dir
مکان
پیشفرض
دایرکتوری
پایگاهداده
سطح بالا را
بازنویسی
میکند.
مقدار
پیشفرض /var/lib/pacman/
است. بیشتر
کاربران
نیازی به
تنظیم این
گزینه
نخواهند
داشت.
یادداشت:
در صورت
تعیین، این
یک مسیر
مطلق است و
مسیر ریشه
به طور
خودکار به
ابتدای آن
افزوده
نمیشود.
CacheDir = /path/to/cache/dir
مکان
پیشفرض
دایرکتوری
کش بستهها
را
بازنویسی
میکند.
مقدار
پیشفرض
/var/cache/pacman/pkg/ است.
میتوان
چندین
دایرکتوری
کش را مشخص
کرد، و
آنها به
ترتیبی که
در فایل
پیکربندی
فهرست
شدهاند
بررسی
میشوند.
اگر فایلی
در هیچیک
از
دایرکتوریهای
کش پیدا
نشود، در
نخستین
دایرکتوری
کشی که
دسترسی
نوشتن
داشته باشد
دانلود
خواهد شد.
یادداشت:
این یک مسیر
مطلق است،
مسیر ریشه
به طور
خودکار به
ابتدای آن
افزوده
نمیشود.
HookDir = /path/to/hook/dir
دایرکتوریهایی
را برای
جستجوی
قلابهای (hooks) alpm
علاوه بر
دایرکتوری
قلاب سیستم
(/usr/share/libalpm/hooks/)
میافزاید.
مقدار
پیشفرض /etc/pacman.d/hooks
است.
میتوان
چندین
دایرکتوری
را مشخص کرد
که در آن
قلابهای
موجود در
دایرکتوریهای
بعدی بر
قلابهای
دایرکتوریهای
قبلی
اولویت
خواهند
داشت.
یادداشت:
این یک مسیر
مطلق است،
مسیر ریشه
به طور
خودکار به
ابتدای آن
افزوده
نمیشود.
برای
اطلاعات
بیشتر
درباره
قلابهای alpm،
به
alpm-hooks(5)
مراجعه
کنید.
GPGDir = /path/to/gpg/dir
مکان
پیشفرض
دایرکتوری
شامل
فایلهای
پیکربندی GnuPG
را
بازنویسی
میکند.
مقدار
پیشفرض /etc/pacman.d/gnupg/
است. این
دایرکتوری
باید شامل
دو فایل
باشد: pubring.gpg و trustdb.gpg.
فایل pubring.gpg
کلیدهای
عمومی تمام
بستهبندها
را نگه
میدارد.
فایل trustdb.gpg شامل
یک
پایگاهداده
اعتماد است
که مشخص
میکند
کلیدها
معتبر و
مورد
اعتماد
هستند.
یادداشت:
این یک مسیر
مطلق است،
مسیر ریشه
به طور
خودکار به
ابتدای آن
افزوده
نمیشود.
LogFile = /path/to/log/file
مکان
پیشفرض
فایل لاگ pacman
را
بازنویسی
میکند.
مقدار
پیشفرض /var/log/pacman.log
است. این یک
مسیر مطلق
است و
دایرکتوری
ریشه به
ابتدای آن
افزوده
نمیشود.
HoldPkg = package ...
اگر
کاربری
تلاش کند
بستهای را
که در HoldPkg
فهرست شده
است با --remove
حذف کند، pacman
پیش از
اقدام
تاییدیه
خواهد
خواست.
الگوهای
سراسری (glob) به
سبک شل مجاز
هستند.
IgnorePkg = package ...
به pacman
دستور
میدهد که
هنگام
اجرای --sysupgrade از
هرگونه
ارتقای این
بسته
چشمپوشی
کند.
الگوهای
سراسری (glob) به
سبک شل مجاز
هستند.
IgnoreGroup = group ...
به pacman
دستور
میدهد که
هنگام
اجرای --sysupgrade از
هرگونه
ارتقای
تمامی
بستههای
این گروه
چشمپوشی
کند.
الگوهای
سراسری (glob) به
سبک شل مجاز
هستند.
Include = /path/to/config/file
یک فایل
پیکربندی
دیگر را درج
میکند. این
فایل
میتواند
شامل مخازن
یا
گزینههای
عمومی
پیکربندی
باشد.
نویسههای
عمومی (wildcards) در
مسیرهای
مشخصشده
بر اساس
قوانین
glob(7)
گسترش
مییابند.
Architecture = auto &| i686 &| x86_64 | ...
در صورت
تنظیم، pacman
تنها اجازه
نصب
بستههایی
با
معماریهای
دادهشده
را میدهد
(مانند i686، x86_64
و غیره).
مقدار ویژه
auto از معماری
سیستم که از
طریق “uname -m”
ارائه
میشود
استفاده
خواهد کرد.
اگر تنظیم
نشود، هیچ
بررسی
معماری
انجام
نمیگیرد.
یادداشت:
بستههایی
با معماری
ویژه any
همواره
قابل نصب
هستند،
زیرا مستقل
از معماری
در نظر
گرفته
شدهاند.
XferCommand = /path/to/command %u
در صورت
تنظیم، یک
برنامه
خارجی برای
دانلود
تمامی
فایلهای
راه دور
استفاده
خواهد شد.
تمام موارد %u
با نشانی URL
دانلود
جایگزین
میشوند. در
صورت وجود،
موارد %o با
نام فایل
محلی به
علاوه
پسوند “.part”
جایگزین
خواهند شد،
که به
برنامههایی
مانند wget
امکان
میدهد
ازسرگیری
فایل را به
درستی
انجام دهند.
این گزینه
برای
کاربرانی
مفید است که
با
پشتیبانی
داخلی HTTP/FTP
دچار مشکل
هستند، یا
به
پشتیبانی
پیشرفتهتر
پروکسی که
با
ابزارهایی
مانند wget
ارائه
میشود
نیاز
دارند.
NoUpgrade = file ...
تمامی
فایلهای
فهرستشده
با یک
دستورالعمل
NoUpgrade هرگز در
طول
نصب/ارتقای
بسته
دستکاری
نخواهند
شد، و
فایلهای
جدید با
پسوند .pacnew
نصب
میشوند.
این
فایلها به
فایلهای
موجود در
آرشیو بسته
اشاره
دارند،
بنابراین
هنگام
تعیین
آنها از
اسلش
ابتدایی (RootDir)
صرفنظر
کنید.
الگوهای
سراسری (glob) به
سبک شل مجاز
هستند.
معکوس کردن
تطابقها
با افزودن
علامت تعجب
به ابتدای
نام فایل
امکانپذیر
است.
فایلهای
معکوسشده
باعث
میشوند
فایلهایی
که پیشتر
در لیست
سیاه قرار
گرفته
بودند،
دوباره در
لیست سفید
قرار گیرند.
تطابقهای
بعدی،
موارد
پیشین را
بازنویسی
خواهند کرد.
علامت تعجب
واقعی یا
بکاسلش در
ابتدای نام
باید گریز
داده شود
(اسکیپ شود).
NoExtract = file ...
تمامی
فایلهای
فهرستشده
با یک
دستورالعمل
NoExtract هرگز از
بسته به
سیستمفایل
استخراج
نخواهند شد.
این قابلیت
زمانی مفید
است که مایل
نیستید
بخشی از یک
بسته نصب
شود. برای
نمونه، اگر
ریشه
وبسرور httpd
شما از یک index.php
استفاده
میکند،
ممکن است
نخواهید
فایل index.html از
بسته apache
استخراج
شود. این
فایلها به
فایلهای
موجود در
آرشیو بسته
اشاره
دارند،
بنابراین
هنگام
تعیین
آنها از
اسلش
ابتدایی (RootDir)
صرفنظر
کنید.
الگوهای
سراسری (glob) به
سبک شل مجاز
هستند.
معکوس کردن
تطابقها
با افزودن
علامت تعجب
به ابتدای
نام فایل
امکانپذیر
است.
فایلهای
معکوسشده
باعث
میشوند
فایلهایی
که پیشتر
در لیست
سیاه قرار
گرفته
بودند،
دوباره در
لیست سفید
قرار گیرند.
تطابقهای
بعدی،
موارد
پیشین را
بازنویسی
خواهند کرد.
علامت تعجب
واقعی یا
بکاسلش در
ابتدای نام
باید گریز
داده شود
(اسکیپ شود).
CleanMethod = KeepInstalled &| KeepCurrent
اگر روی
KeepInstalled (پیشفرض)
تنظیم شود،
عملیات -Sc
بستههایی
را پاکسازی
میکند که
دیگر نصب
نیستند (در
پایگاهداده
محلی وجود
ندارند). اگر
روی KeepCurrent تنظیم
شود، -Sc
بستههای
منسوخ را
پاکسازی
میکند
(بستههایی
که در هیچ
پایگاهداده
همگامسازی
وجود
ندارند).
رفتار دوم
زمانی
سودمند است
که کش
بستهها
بین چند
ماشین به
اشتراک
گذاشته شده
باشد؛ جایی
که معمولاً
پایگاههای
داده محلی
متفاوت
هستند، اما
پایگاههای
داده
همگامسازی
مورد
استفاده
میتوانند
یکسان
باشند. اگر
هر دو مقدار
مشخص شوند،
بستهها
تنها زمانی
پاکسازی
میشوند که
به صورت
محلی نصب
نبوده و در
هیچ
پایگاهداده
همگامسازی
شناختهشدهای
نیز وجود
نداشته
باشند.
SigLevel = ...
سطح
پیشفرض
بررسی امضا
را تنظیم
میکند.
برای
اطلاعات
بیشتر، بخش
بررسی
امضای بسته
و
پایگاهداده
را در ادامه
ببینید.
LocalFileSigLevel = ...
سطح
بررسی امضا
را برای نصب
بستهها با
استفاده از
عملیات "-U"
روی یک فایل
محلی تنظیم
میکند. به
عنوان
مقدار
پیشفرض،
از مقدار SigLevel
استفاده
میکند.
RemoteFileSigLevel = ...
سطح
بررسی امضا
را برای نصب
بستهها با
استفاده از
عملیات "-U"
روی نشانی URL
یک فایل راه
دور تنظیم
میکند. به
عنوان
مقدار
پیشفرض،
از مقدار SigLevel
استفاده
میکند.
UseSyslog
پیامهای
اقدامات
انجامشده
را از طریق syslog()
ثبت میکند.
این کار
ورودیهای
لاگ را در /var/log/messages
یا معادل آن
درج
میکند.
Color
تنها
زمانی که
خروجی pacman روی
یک tty باشد، به
طور خودکار
رنگها را
فعال
میکند.
NoProgressBar
نوارهای
پیشرفت را
غیرفعال
میکند. این
گزینه برای
پایانههایی
که از
کاراکترهای
گریز (escape)
پشتیبانی
نمیکنند
مناسب است.
CheckSpace
پیش از
نصب
بستهها،
بررسی
تقریبی
برای کافی
بودن فضای
خالی دیسک
را انجام
میدهد.
VerbosePkgLists
نام،
نسخه و
اندازه
بستههای
هدف را برای
عملیات
ارتقا،
همگامسازی
و حذف در
قالب یک
جدول نمایش
میدهد.
DisableDownloadTimeout
پیشفرضهای
حد پایین
سرعت و زمان
انتظار
(تایماوت)
را برای
دانلودها
غیرفعال
میکند. اگر
در دانلود
فایلها از
طریق
پروکسی یا
درگاه
امنیتی (security gateway)
مشکل
دارید، از
این گزینه
استفاده
کنید.
ParallelDownloads = ...
تعداد
جریانهای
دانلود
همزمان را
مشخص
میکند. این
مقدار باید
یک عدد صحیح
مثبت باشد.
اگر این
گزینه
پیکربندی
تنظیم
نشود، تنها
یک جریان
دانلود
استفاده
میشود
(یعنی
دانلودها
به صورت
متوالی
انجام
میگیرند).
هر بخش
مخزن، یک
نام بخش و
حداقل یک
مکان را که
بستهها در
آن یافت
میشوند
تعریف
میکند. نام
بخش با رشته
درون
براکتها
مشخص
میشود (دو
مورد بالا
core و custom
هستند).
نامهای
مخازن باید
یکتا باشند
و نام local
برای
پایگاهداده
بستههای
نصبشده
رزرو شده
است.
مکانها با
دستورالعمل
Server تعریف
شده و از
ساختار
نامگذاری URL
پیروی
میکنند.
اگر
میخواهید
از یک
دایرکتوری
محلی
استفاده
کنید،
میتوانید
مسیر کامل
را همراه با
پیشوند
“file://”، مطابق
آنچه در
بالا نشان
داده شده
است، مشخص
نمایید.
یک روش
متداول
برای تعریف
مکانهای
پایگاهداده،
بهرهگیری
از
دستورالعمل
Include است. برای
هر مخزن
تعریفشده
در فایل
پیکربندی،
یک
دستورالعمل
واحد Include
میتواند
حاوی فایلی
باشد که
سرورهای آن
مخزن را
فهرست
میکند.
[core]
# use this server first
Server = ftp://ftp.archlinux.org/$repo/os/$arch
# next use servers as defined in the mirrorlist below
Include = {sysconfdir}/pacman.d/mirrorlist
ترتیب
مخازن در
فایلهای
پیکربندی
اهمیت
دارد؛
هنگامی که
بستهها در
دو مخزن
نامهای
یکسانی
داشته
باشند،
صرفنظر از
شماره
نسخه،
مخازنی که
در ابتدای
فایل فهرست
شدهاند بر
مخازنی که
بعداً
میآیند
اولویت
خواهند
داشت.
Include = path
یک فایل
پیکربندی
دیگر را درج
میکند. این
فایل
میتواند
شامل مخازن
یا
گزینههای
عمومی
پیکربندی
باشد.
نویسههای
عمومی (wildcards) در
مسیرهای
مشخصشده
بر اساس
قوانین
glob(7)
گسترش
مییابند.
Server = url
یک نشانی
URL کامل به
مکانی که
پایگاهداده،
بستهها و
امضاها (در
صورت وجود)
برای این
مخزن در آن
یافت
میشوند.
در حین
تجزیه، pacman
متغیر $repo را
با نام بخش
جاری
مقداردهی
میکند. این
متغیر اغلب
در
فایلهای
مشخصشده
با
دستورالعمل
Include استفاده
میشود تا
همه مخازن
بتوانند از
یک فایل
آینهای (mirrorfile)
یکسان
استفاده
کنند.
همچنین pacman
متغیر $arch را
با نخستین
(یا تنها)
مقدار
گزینه Architecture
تعریف
میکند، تا
همان فایل
آینهای
حتی بتواند
برای
معماریهای
مختلف نیز
به کار رود.
SigLevel = ...
سطح
بررسی امضا
را برای این
مخزن تنظیم
میکند.
برای
اطلاعات
بیشتر، بخش
بررسی
امضای بسته
و
پایگاهداده
را در ادامه
ببینید.
Usage = ...
سطح
کاربرد این
مخزن را
تعیین
میکند. این
گزینه
فهرستی از
شناسهها
را
میپذیرد
که باید
حداقل شامل
یکی از
موارد زیر
باشد:
Sync
تازهسازیها
(refreshes) را برای
این مخزن
فعال
میکند.
Search
جستجو در
این مخزن را
فعال
میکند.
Install
نصب
بستهها از
این مخزن را
در حین
عملیات --sync
فعال
میکند.
Upgrade
اجازه
میدهد این
مخزن یک
منبع معتبر
بسته در
هنگام
اجرای
عملیات --sysupgrade
باشد.
All
تمامی
قابلیتهای
فوق را برای
این مخزن
فعال
میکند. در
صورت عدم
تعیین، این
گزینه
پیشفرض
است.
توجه
داشته
باشید که
صرفنظر از
سطح Usage
تعیینشده،
میتوان به
طور صریح
روی یک مخزن
فعال اقدام
عملیاتی
انجام داد.
دستورالعمل
SigLevel هم در بخش
[options] و هم در
بخشهای
مخازن
معتبر است.
اگر در [options]
استفاده
شود، یک
مقدار
پیشفرض را
برای هر
مخزنی که
این تنظیم
را ارائه
نداده است
تعیین
میکند.
•اگر روی
Never تنظیم
شود، هیچ
بررسی
امضایی
انجام
نخواهد
گرفت.
•اگر روی
Optional تنظیم
شود،
امضاها در
صورت وجود
بررسی
میشوند،
اما
پایگاههای
داده و
بستههای
فاقد امضا
نیز
پذیرفته
خواهند شد.
•اگر روی
Required تنظیم
شود، وجود
امضا بر روی
تمامی
بستهها و
پایگاههای
داده
الزامی
خواهد بود.
از طرف
دیگر،
میتوانید
با ترکیب
برخی از
گزینهها و
پیشوندهای
شرحدادهشده
در زیر، به
کنترل
دقیقتری
دست یابید.
تمام
گزینهها
در یک فایل
پیکربندی
به صورت
بالا به
پایین و چپ
به راست
پردازش
میشوند،
که در آن
گزینههای
بعدی،
گزینههای
قبلی را
بازنویسی
یا تکمیل
میکنند.
اگر SigLevel در
بخش یک مخزن
مشخص شده
باشد،
مقدار
آغازین آن
از بخش [options] یا
در صورت عدم
تعیین، از
مقدار
پیشفرض
داخلی
سیستم
مطابق شکل
زیر گرفته
میشود.
این
گزینهها
به دو گروه
اصلی تقسیم
میشوند که
در ادامه
تشریح
شدهاند.
اصطلاحات
بهکاررفته
مانند
“مورد
اعتماد
نسبی (marginally trusted)”
اصطلاحاتی
هستند که
توسط GnuPG
استفاده
میشوند؛
برای
اطلاعات
بیشتر
لطفاً به gpg(1)
مراجعه
کنید.
زمان
بررسی (When to Check)
این
گزینهها
تعیین
میکنند که
آیا و چه
زمانی
بررسی
امضاها
باید انجام
شود.
Never
تمام
بررسیهای
امضا متوقف
میشود،
حتی اگر
امضاها
موجود
باشند.
Optional
(پیشفرض)
در صورت
وجود امضا،
بررسی
انجام
میشود؛
عدم وجود
امضا خطا
محسوب
نمیشود.
امضای
نامعتبر یک
خطای مهلک
است،
همچنین
امضایی از
کلیدی که در
دستهکلید
(keyring) وجود
ندارد.
Required
امضاها
الزامی
هستند؛ عدم
وجود امضا
یا وجود یک
امضای
نامعتبر
خطای مهلک
است،
همچنین
امضایی از
کلیدی که در
دستهکلید
وجود
ندارد.
موارد
مجاز (What is Allowed)
این
گزینهها
تعیین
میکنند چه
امضاهایی
مجاز تلقی
میشوند.
توجه داشته
باشید که
هیچیک از
این
گزینهها
اجازه
پذیرش
امضاهای
نامعتبر یا
منقضیشده،
یا امضاهای
حاصل از
کلیدهای
باطلشده
را
نمیدهند.
TrustedOnly
(پیشفرض)
اگر
امضایی
بررسی شود،
باید در
دستهکلید
موجود و
کاملاً
مورد
اعتماد
باشد؛
اعتماد
نسبی این
شرط را
برآورده
نمیکند.
TrustAll
اگر
امضایی
بررسی شود،
باید در
دستهکلید
باشد، اما
نیازی به
تخصیص سطح
اعتماد به
آن نیست
(برای مثال،
اعتماد
نامشخص یا
نسبی).
گزینههای
هر دو گروه
را میتوان
علاوه بر
این با
پیشوندهای
Package یا Database
ترکیب کرد،
که باعث
میشود
تنها بر روی
نوع شیء
مشخصشده
اثر
بگذارند.
برای
نمونه، PackageTrustAll
امضاهایی
با سطح
اعتماد
نسبی و
نامشخص را
برای
بستهها
مجاز
میشمارد.
مقدار
پیشفرض
داخلی به
صورت زیر
است:
SigLevel = Optional TrustedOnly
اگر
بستههای
سفارشی
متعددی از
خود دارید،
اغلب ایجاد
یک مخزن
محلی
سفارشی
آسانتر از
نصب تکتک
آنها با
گزینه --upgrade
است. تنها
کاری که
باید انجام
دهید این
است که یک
پایگاهداده
فشرده بسته
در
دایرکتوری
حاوی این
بستهها
ایجاد کنید
تا pacman هنگام
اجرا با --refresh
بتواند آن
را بیابد.
repo-add /home/pkgs/custom.db.tar.gz /home/pkgs/*.pkg.tar.gz
دستور فوق
یک
پایگاهداده
فشرده به
نام /home/pkgs/custom.db.tar.gz
تولید
میکند.
توجه داشته
باشید که
پایگاهداده
باید به فرم
تعریفشده
در فایل
پیکربندی
باشد و {ext} یک
نوع
فشردهسازی
معتبر
همانگونه
که در repo-add(8)
مستند شده
است باشد.
همین و بس!
اکنون بخش
سفارشی خود
را در فایل
پیکربندی
مطابق
نمونه
پیکربندی
بالا تنظیم
کنید. از این
پس pacman از مخزن
بسته شما
استفاده
خواهد کرد.
اگر
بستههای
جدیدی به
مخزن اضافه
کردید، به
یاد داشته
باشید که
پایگاهداده
را مجدداً
ایجاد کرده
و از گزینه
--refresh در pacman
استفاده
نمایید.
برای
اطلاعات
بیشتر
درباره
دستور repo-add، به
“repo-add --help” یا repo-add(8)
مراجعه
کنید.
نگهدارندگان
فعلی:
•Allan McRae <allan@archlinux.org>
•Andrew Gregory
<andrew.gregory.8@gmail.com>
•Eli Schwartz
<eschwartz@archlinux.org>
•Morgan Adamiec
<morganamilo@archlinux.org>
مشارکتکنندگان
اصلی
پیشین:
•Judd Vinet <jvinet@zeroflux.org>
•Aurelien Foret
<aurelien@archlinux.org>
•Aaron Griffin <aaron@archlinux.org>
•Dan McGee <dan@archlinux.org>
•Xavier Chantry <shiningxc@gmail.com>
•Nagy Gabor <ngaba@bibl.u-szeged.hu>
•Dave Reisner <dreisner@archlinux.org>
برای
دسترسی به
سایر
مشارکتکنندگان،
از دستور git shortlog -s
در مخزن pacman.git
استفاده
کنید.
باگ؟
حتماً شوخی
میکنید؛
هیچ باگی در
این
نرمافزار
وجود ندارد.
اما اگر
احیاناً
اشتباه
کرده
باشیم، یک
گزارش باگ
با بیشترین
جزئیات
ممکن در بخش
Pacman در سامانه
پیگیری
اشکالات
توزیع Arch Linux
ارسال
کنید.
حق نشر © 2006-2021
Pacman Development Team <pacman-dev@lists.archlinux.org>.
حق نشر © 2002-2006 Judd Vinet
<jvinet@zeroflux.org>.
این یک
نرمافزار
آزاد است؛
برای شرایط
تکثیر به
سورسکد
مراجعه
فرمایید.
هیچ ضمانتی
وجود
ندارد؛ حتی
برای
بازاریابی
یا مناسب
بودن برای
یک هدف خاص.