قبل أن تفهم ما يحدث فعلاً عندما تواجهك مشكلة، عليك معرفة الدور النظري لكل برنامج له علاقة بالمشكلة. أفضل طريقة لذلك هي استشارة توثيق تلك البرامج؛ وبما أن هذه الوثائق كثيرة وقد تكون مبعثرة جدًا، يجب أن تعرف جميع الأماكن التي يمكن أن تعثر فيها عليها.
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 في الأقسام من 1 إلى 4.
بالطبع، لن يفيدك الدليل كثيراً إذا لم تعلم أسماء الأوامر. هذه وظيفة الأمر apropos
، الذي يساعدك في البحث في صفحات الدليل، أو بالأحرى في أوصافها المختصرة؛ إذ تبدأ كل صفحة دليل أساساً بملخص من سطر واحد. يعيد الأمر apropos
قائمة بصفحات الدليل التي تذكر الكلمات المفتاحية المطلوبة في ملخصها، فإذا كان اختيارك لهذه الكلمات موفقاً، ستجد اسم الأمر الذي تريد.
مثال 7.1. العثور على cp
باستخدام apropos
$
apropos "copy file"
cp (1) - copy files and directories
cp (1posix) - copy files
cpio (1) - copy files to and from archives
exec (1posix) - execute commands and open, close, or copy file descriptors
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.
كَتَبَ مشروع غنو (GNU) وثائق معظم برامجه في صيغة 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 تُكتَب بالإنكليزية دائماً تقريباً. وبالرغم من هذا، عندما تطلب من برنامج pinfo
عرض صفحة info غير موجودة، سوف يلجأ إلى صفحة man ذات الاسم نفسه (في حال وجودها)، والتي قد تكون مترجمة.
لكل حزمة وثائقها الخاصة. حتى أقل البرامج توثيقًا لها عموماً ملف README
يحوي بعض المعلومات المفيدة وأحياناً المهمة. يُثَبَّتُ التوثيق في المجلد /usr/share/doc/package/
(حيث يمثل package اسم الحزمة). إذا كان التوثيق كبيراً على وجه الخصوص، فقد لا يرفق ضمن حزمة البرنامج الرئيسة، بل يمكن أن ينقل إلى حزمة مخصصة تُسمَّى عادة package-doc
. ”توصي“ (recommend) الحزمة الرئيسة عموماً بثبيت حزمة التوثيق حتى تستطيع العثور عليها بسهولة.
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, “حل المشاكل بعد التحديث”).
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.
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…