Product SiteDocumentation Site

فصل 7. حل مشکلات و یافتن اطلاعات مرتبط

7.1. منابع مستندات
7.1.1. صفحات راهنما
7.1.2. اسناد info
7.1.3. مستندات خاص
7.1.4. وبسایت‌ها
7.1.5. آموزش‌های (HOWTO)
7.2. فرآیندهای متداول
7.2.1. پیکربندی یک برنامه
7.2.2. نظارت بر فرآیندهای پس‌زمینه
7.2.3. درخواست راهنمایی در میلینگ لیست
7.2.4. گزارش باگ زمانی که مشکل بیش از اندازه دشوار باشد
برای یک مدیرسیستم، مهمترین توانایی شیوه مواجه با یک مشکل شناخته‌شده یا نشده است. این فصل به بررسی شیوه‌هایی می‌پردازد که امیدواریم شما را در مواجه به مشکلات پیش رو و چگونگی حل آن‌ها راهنمایی نماید.

7.1. منابع مستندات

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

7.1.1. صفحات راهنما

Manual pages, while relatively terse in style, contain a great deal of essential information. We will quickly go over the command for viewing them, provided by the man-db package. Simply type man manual-page — the manual page usually goes by the same name as the command whose documentation is sought. For example, to learn about the possible options for the cp command, you would type the man cp command at the shell prompt (see sidebar بازگشت به مقدمات پوسته، مفسر خط فرمان).
Man pages not only document commands and programs accessible from the command line, but also configuration files, system calls, library functions, and so forth. Sometimes names can collide. For example, the shell's read command has the same name as the read system call. This is why manual pages are organized in numbered sections:
1
دستوراتی که می‌توانند از طریق خط فرمان اجرا شوند؛
2
فراخوانی‌های سیستمی (توابعی که توسط کرنل ارائه شده‌اند)؛
3
توابع کتابخانه‌ای (توابعی که توسط کتابخانه‌‌های سیستمی ارائه شده‌اند)؛
4
دستگاه‌ها (در سیستم‌های شبه-یونیکس، این‌ها فایل‌های مخصوصی هستند که معمولا در مسیر /dev/ قرار می‌گیرند)؛
5
فایل‌های پیکربندی (قالب‌ها و قواعد)؛
6
بازی‌ها؛
7
مجموعه‌ای از ماکروها و استانداردها؛
8
دستورات مرتبط با مدیریت سیستم؛
9
روتین‌های کرنل.
این امکان وجود دارد که قسمت مشخصی از صفحه راهنما را درخواست کنید: جهت مشاهده مستندات مربوط به فراخوانی سیستمی read، تایپ می‌کنید man 2 read. زمانی که هیچ قسمتی مشخص نشده باشد، اولین قسمتی که راهنما به نام آن ثبت گردیده، نمایش داده می‌شود. بنابراین، اجرای دستور man shadow منجر به فراخوانی shadow(5) می‌گردد چرا که هیچ صفحه راهنمایی برای shadow در قسمت‌های ۱ تا ۴ وجود ندارد.
البته اگر نام دستورات را نیز نمی‌دانید، راهنما به کار شما نمی‌آید. این جایی است که دستور apropos کاربرد دارد، که به جستجو در میان صفحات راهنما می‌پردازد، یا به طور خاص در قسمت توضیح مختصر آن‌ها. هر صفحه راهنما با یک خط خلاصه آعاز می‌گردد. apropos فهرستی از صفحات راهنما را باز می‌گرداند که کلیدواژه مورد نظر در خلاصه آن‌ها موجود باشد. اگر به درستی آن‌ها را برگزینید، نام دستوری که به دنبال آن هستید را پیدا می‌کنید.

مثال 7.1. جستجوی cp با apropos

$ apropos "copy file"
cp (1)               - copy files and directories
cpio (1)             - copy files to and from archives
git-checkout-index (1) - Copy files from the index to the working tree
install (1)          - copy files and set attributes
ntfscp (8)           - copy file to an NTFS volume.
The man command is not the only means of consulting the manual pages, since khelpcenter and konqueror (by KDE) and yelp (under GNOME) programs also offer this possibility. There is also a web interface, provided by the man2html package, which allows you to view manual pages in a web browser. On a computer where this package is installed, use this URL after following the instructions in /usr/share/doc/man2html/README.Debian:
این ابزار نیاز به یک وب‌سرور دارد. به همین دلیل آن را باید روی یکی از سرورهای خود نصب کنید: تمام کاربران شبکه محلی می‌توانند از امکانات آن بهره‌مند گردند (از جمله ماشین‌های غیر لینوکس) و این امکان نیز برای شما فراهم می‌شود که روی هر ماشین اقدام به نصب HTTP سرور نکنید. اگر سرور شما از شبکه‌های دیگری نیز قابل دسترس است، می‌توانید تنها به کاربران موجود در شبکه محلی خود اجازه استفاده از این سرویس را بدهید.
Last but not least, you can view all manual pages available in Debian (even those that are not installed on your machine) on the manpages.debian.org service. It offers each manual page in multiple versions, one for each Debian release.

7.1.2. اسناد info

پروژه گنو برای اکثر برنامه‌های خود در قالب info راهنما نوشته است؛ این دلیلی است که اکثر صفحات راهنما به مستندات info نیز ارجاع می‌دهند. این قالب شامل مزیت‌هایی است اما برنامه‌ای که این اسناد با استفاده از آن مشاهده می‌شوند (که آن نیز info نامیده می‌شود) پیچیدگی‌های مربوط به خود را دارد. توصیه می‌شود که از pinfo به جای آن استفاده کنید (از بسته pinfo).
مستندات info دارای ساختاری سلسله‌مراتبی است، و اگر pinfo را بدون هیچ پارامتری فراخوانی کنید، به نمایش فهرستی از گره‌های موجود در سطح اول می‌پردازد. معمولا، گره‌ها هم نام با دستورات مرتبط با خود هستند.
With pinfo navigating between these nodes is easy to achieve with the arrow keys. Alternatively, you could also use a graphical browser, which is a lot more user-friendly. Again, konqueror and yelp work; the info2www package also provides a web interface.
نکته اینکه سیستم info مناسب ترجمه نیست، بر خلاف سیستم صفحات man. اسناد info معمولا به زبان انگلیسی هستند. اگرچه، اگر با man درخواست برنامه info را بکنید که وجود ندارد، به صورت پیش‌فرض از صفحه man همان برنامه استفاده می‌کند که ممکن است ترجمه شده باشد.

7.1.3. مستندات خاص

هر بسته شامل مستندات مربوط به خود است. حتی برنامه‌هایی که کمترین میزان مستندات را شامل می‌شوند، فایل README دارند که برخی اطلاعات جالب و مهم را در بر می‌گیرد. این مستندات در مسیر /usr/share/doc/package/ نصب می‌شود (که package نام بسته را مشخص می‌کند). اگر مستندات به نسبت بزرگ و حجیم باشد، ممکن است در بسته برنامه قرار نگیرد، اما در بسته اختصاصی دیگری باشد که معمولا به صورت package-doc نامگذاری می‌شود. بسته اصلی معمولا به نصب بسته مستندات خود توصیه می‌کند تا بتوانید به راحتی از آن استفاده کنید.
The /usr/share/doc/package/ directory also contains some files provided by Debian which complete the documentation by specifying the package's particularities or improvements compared to a traditional installation of the software. The README.Debian file also indicates all of the adaptations that were made to comply with the Debian Policy. The changelog.Debian.gz file allows the user to follow the modifications made to the package over time: it is very useful to try to understand what has changed between two installed versions that do not have the same behavior. Finally, there is sometimes a NEWS.Debian.gz file which documents the major changes in the program that may directly concern the administrator (see قسمت 6.7.2, “بررسی مشکلات پس از بروزرسانی کلی” ).

7.1.4. وبسایت‌ها

In most cases, free software programs have websites that are used to distribute it and to bring together the community of its developers and users. These sites are frequently loaded with relevant information in various forms: official documentation, FAQ (Frequently Asked Questions), mailing list archives, etc. Problems that you may encounter have often already been the subject of many questions; the FAQ or mailing list archives may have a solution for it. A good mastery of search engines will prove immensely valuable to find relevant pages quickly (by restricting the search to the Internet domain or sub-domain dedicated to the program). If the search returns too many pages or if the results do not match what you seek, you can add the keyword debian to limit results and target relevant information.
If you do not know the address for the software's website, there are various means of getting it. First, check if there is a Homepage field in the package's meta-information (apt show package). Alternately, the package description may contain a link to the program's official website. If no URL is indicated, look at /usr/share/doc/package/copyright. The Debian maintainer generally indicates in this file where they got the program's source code, and this is likely to be the website that you need to find. If at this stage your search is still unfruitful, consult a free software directory, such as FSF's Free Software Directory, or search directly with a search engine, such as Google, DuckDuckGo, Yahoo, etc.
You might also want to check the Debian wiki, a collaborative website where anybody, even new visitors, can make suggestions directly from their browsers. It is used equally by developers who design and specify their projects, and by users who share their knowledge by writing documents collaboratively.

7.1.5. آموزش‌های (HOWTO)

A HOWTO is a document that describes, in concrete terms and step by step, “how to” reach a predefined goal. The covered goals are relatively varied, but often technical in nature: for example, setting up IP Masquerading, configuring software RAID, installing a Samba server, etc. These documents often attempt to cover all of the potential problems likely to occur during the implementation of a given technology.
Many such tutorials are managed by the Linux Documentation Project (LDP), whose website hosts all of these documents:
Debian also provides tutorials for its users:
All these documents should be taken with a grain of salt. They are often several years old; the information they contain is sometimes obsolete. This phenomenon is even more frequent for their translations, since updates are neither systematic nor instant after the publication of a new version of the original documents. Further many tutorials nowadays are provided by bloggers, sharing their individual solution with the interested reader. They often lack important information, i.e. the reason why some configuration has been chosen over another, or why some option has been enabled or disabled. Because blogging and creating personal websites made it so easy to share, many of these often short tutorials exist, but only a few are actively maintained and well-kept. This can make it hard to find the "right" one for you. This is all part of the joys of working in a volunteer environment and without constraints…