Help:Reading (العربية)

لأن الغالبية العظمى من مقالات ArchWiki تحتوي على إشارات قد تحتاج إلى توضيح للمستخدمين الجدد في Arch Linux (أو GNU/Linux بشكل عام)، تم إعداد هذا الملخص للإجراءات الأساسية لتجنب الالتباس عند الاطلاع على المقالات ولمنع التكرار في المحتوى نفسه.
التنظيم
معظم مقالات ArchWiki لا تحاول تقديم مقدمة شاملة لموضوع واحد؛ بل تُكتب وفق مبدأ "
لا تكرر نفسك
"، بافتراض أن المستخدم سيبحث ويقرأ أي مواد داعمة لا يفهمها بعد. عند الإمكان، يُشار إلى هذه المواد الداعمة في المقالة عبر تنسيق خاص، انظر
#التنسيق
.
نظرًا لهذا التنظيم، قد يكون من الضروري فحص عدة مصادر مترابطة لفهم مقالة ArchWiki بالكامل. على وجه الخصوص، يجب أن يتوقع المستخدمون الجدد في Arch (أو GNU/Linux عمومًا) قراءة عدد كبير من المقالات حتى عند حل مشاكل بسيطة. من المهم جدًا دراسة المادة الداعمة قبل طلب المساعدة من مستخدمين آخرين.
التنسيق
رابط إلى قسم في نفس المقالة:
التنظيم
رابط إلى مقالة ArchWiki أخرى:
مقالة ArchWiki أخرى
رابط إلى صفحة ويب خارجية:
موقع ويب خارجي
رابط إلى صفحة man مع اتصال:
intro(1)
صفحة man متوفّرة فقط دون اتصال:
foo(1)
رابط إلى حزمة في المستودعات الرسمية:
foobar
رابط إلى حزمة في AUR:
foobar
AUR
مستحدم Root و المستخدمين العاديين او الاخرين
بعض أسطر الأوامر مكتوبة هكذا :
# mkinitcpio -p linux
و بعضها الأخر لديه بادئة اخرى
$
:
$ makepkg -s
رمز السلم او الهاش (
#
) يشير ان الأمر يجب تنفيذه كمستخدكم
root
, اما رمز الدولار  (
$
) يشير انه يمكن تنفيذ كمستخدم عادي
regular user
.
ملاحظة
الأوامر التي تبدأ بـ
#
من المفترض تنفيذها من
root shell
، والذي يمكن الوصول إليه بسهولة على سبيل المثال باستخدام
sudo -i
. تشغيل
sudo
command
من shell لمستخدم عادي بدلًا من
command
من root shell سينجح غالبًا، مع بعض الاستثناءات المهمة مثل
إعادة التوجيه
واستبدال الأمر
، التي تتطلب صراحة root shell. أنظر
sudo#Login shell
.
عندما يحتاج الأمر للتنفيذ باسم مستخدم محدد، سيكون مسبوقًا باسم المستخدم بين أقواس مربعة، على سبيل المثال:
[postgres]$ initdb -D /var/lib/postgres/data
هذا يعني أنه يجب استخدام
أداة رفع الصلاحيات
، على سبيل المثال باستخدام
sudo
:
$ sudo -u postgres initdb -D /var/lib/postgres/data
استثناء مهم يجب الانتباه له:
# This alias makes ls colorize the listing
alias ls='ls --color=auto'
في هذا المثال، السياق المحيط بعلامة الرقم يوضح أن هذا ليس أمرًا يجب تنفيذه مباشرة؛ بل يجب تحريره داخل ملف. وبالتالي في هذه الحالة، تشير علامة الرقم إلى
تعليق
. يمكن أن يكون التعليق نصًا توضيحيًا لن يتم تفسيره بواسطة البرنامج المرتبط. تنسيق التعليقات في سكربتات
Bash
يتوافق مع root
PS1
.
بعد فحص أعمق، العلامات الدالة تتضمن الحرف الكبير الذي يلي علامة
#
. عادةً، أوامر Unix لا تُكتب بهذه الطريقة وغالبًا ما تكون اختصارات قصيرة بدلًا من كلمات إنجليزية كاملة (مثلًا،
Copy
تصبح
cp
).
مع ذلك، تسهّل معظم المقالات فهم ذلك بإخطار القارئ:
إلحاق
إلى
~/path/to/file
:
# This alias makes ls colorize the listing
alias ls='ls --color=auto'
الإلحاق، الإضافة، الإنشاء، التحرير
عند مطالبتك بـ
الإلحاق إلى
،
الإضافة إلى
،
الإنشاء
، أو
تحرير
ملف أو أكثر، يُفهم أنه يجب استخدام إحدى الطرق التالية.
لإنشاء أو تعديل ملفات متعددة الأسطر، يُنصح باستخدام
محرر نصوص
. على سبيل المثال، استخدام الأمر
nano
لتحرير الملف
/etc/bash.bashrc
يكون:
# nano /etc/bash.bashrc
ملاحظة
يجب أن تنتهي ملفات النص بسطر جديد لأن
السطر
يُنهى بسطر جديد. معظم محررات النصوص تضيف السطر الجديد النهائي تلقائيًا.
لإنشاء ملف أو الكتابة فوقه من نص، قد يكون من الأسهل استخدام
إعادة توجيه المخرجات
. المثال التالي ينشئ أو يكتب فوق محتويات الملف
/etc/hostname
بالنص
myhostname
:
# echo myhostname > /etc/hostname
يمكن أيضًا استخدام إعادة توجيه المخرجات لإلحاق نص بملف. المثال التالي يلحق النص
[custom-repo]
إلى الملف
/etc/pacman.conf
:
# echo "[custom-repo]" >> /etc/pacman.conf
عند مطالبتك بإنشاء
مجلدات
، استخدم الأمر
mkdir
:
# mkdir /mnt/boot
جعل الملف قابل لتشغيل
بعد إنشاء ملف، إذا كان من المفترض تشغيله كسكربت (سواء يدويًا أو بواسطة برنامج آخر)، يجب تعيينه كـ
قابل للتشغيل
، على سبيل المثال باستخدام:
$ chmod +x 'script'
انظر
chmod
. بعض التطبيقات مثل
مدير الملفات
قد توفر واجهات رسومية للقيام بنفس الشيء.
المصدر
بعض التطبيقات، لا سيما
صدفة سطر الأوامر
، تستخدم السكربتات لإعداداتها: بعد تعديلها، يجب
جعلها مصدره
لتطبيق التغييرات. في حالة
bash
، على سبيل المثال، يتم ذلك بتنفيذ الأمر التالي (يمكنك أيضًا استبدال
source
بـ
.
):
$ source ~/.bashrc
عندما يقترح الويكي تعديل سكربت إعداد، لن يذكرك صراحةً بإجراء source للملف، وفقط في بعض الحالات سيشير إلى هذا القسم برابط تذكيري.
تثبيت الحزم
عندما يدعوك مقال لتثبيت بعض الحزم بالطريقة التقليدية، لن يوضح التعليمات التفصيلية للقيام بذلك؛ بل سيذكر ببساطة أسماء الحزم المطلوب تثبيتها.
ملاحظة
غالبًا ما تُستخدم الروابط
install
أو
installed
للإشارة إلى هذا القسم من المقالة. ومع ذلك، يجب تفعيل JavaScript لكي تعمل هذه الروابط.
الأقسام الفرعية أدناه تعطي نظرة عامة على إجراءات التثبيت العامة اعتمادًا على نوع الحزمة.
الحزم الرسمية
بالنسبة للحزم من
المستودعات الرسمية
، سترى شيئًا مثل:
تثبيت الحزمة
foobar
.
وهذا يعني أنه يجب عليك تنفيذ:
# pacman -S foobar
مقالة
pacman
يحتوي على شروحات مفصلة للتعامل مع إدارة الحزم في Arch Linux بكفاءة.
مستودع مستخدمي أرتش (AUR)
بالنسبة للحزم من
AUR
(اختصار:Arch User Repository) ، سترى شيئًا مثل:
تثبيت الحزمة
foobar
AUR
.
وهذا يعني أنه عمومًا يجب اتباع رابط
foobar
AUR
، تحميل أرشيف PKGBUILD، فك ضغطه،
التحقق من المحتوى
وأخيرًا تنفيذ، في نفس المجلد:
$ makepkg -si
ملاحظة
الحزمة الشاملة
base-devel
مطلوبة لبناء الحزم من AUR أو باستخدام
نظام بناء أرتش
.
مقال
نظام بناء أرتش
يحتوي على جميع الشروحات المفصلة وأفضل الممارسات للتعامل مع حزم AUR.
التحكم بوحدات systemd
عندما تشير مقالة إلى
بدء , تمكين ,إلخ
لوحدة systemd معيّنة ( خدمة مثلا)، فهي لن تذكر التعليمات التفصيلية. بدلًا من ذلك سترى شيئًا مثل:
Start
example.service
.
وهذا يعني أنه يجب تنفيذ:
# systemctl start example.service
أمر بارز لا يتبع هذا النمط حرفيًا هو
systemctl daemon-reload
حيث يُستدعى دون وسيطات.
قسم
systemd#Using units
يحتوي على قائمة منظّمة بالإجراءات المتاحة (مثل ‘‘start’’، ‘‘enable’’، ‘‘enable and start’’، وغيرها) مع أوامر systemctl المقابلة لها.
ضبط يشمل النظام بالكامل مقابل ضبط خاص بالمستخدم
من المهم التذكّر أن هناك نوعين من الإعدادات في نظام GNU/Linux:
إعدادات
تشمل النظام بالكامل
تؤثر على جميع المستخدمين. غالبًا ما تكون موجودة في دليل
/etc
وتتطلب صلاحيات الجذر لتعديلها. على سبيل المثال، لتطبيق إعداد في Bash يؤثر على جميع المستخدمين يجب تعديل
/etc/bash.bashrc
.
إعدادات
خاصة بالمستخدم
تؤثر على مستخدم واحد فقط. تُستخدم ‘‘الملفات المخفية’’ (Dotfiles) لهذا الغرض. مثلًا الملف
~/.bashrc
هو إعداد خاص بالمستخدم. هذه الفكرة تسمح لكل مستخدم بتحديد إعداداته الخاصة مثل الأسماء المستعارة، الدوال، وخصائص الواجهة التفاعلية دون التأثير على تفضيلات المستخدمين الآخرين.
ملاحظة
~/
و
$HOME
هما اختصارات لدليل المنزل الخاص بالمستخدم، والذي يكون عادةً
/home/
اسم المستخدم
/
.
المتغيّرات الوهمية في أمثلة الأوامر
بعض كتل الأوامر قد تحتوي على ما يسمى ‘‘المتغيّرات الوهمية’’، وهي كما يشير اسمها ليست متغيّرات حقيقية تُستخدم في التنفيذ. بدلًا من ذلك فهي عناصر نائبة عامة يجب استبدالها يدويًا بعناصر إعدادات خاصة بالنظام
قبل
تشغيل أو تحليل الأمر. أصداف مثل
bash
وzsh
توفّر ميزة إكمال تلقائي للمعاملات في أوامر شائعة مثل systemctl.
في المقالات التي تتبع
Help:Style/Formatting and punctuation
، تُكتب ‘‘المتغيّرات الوهمية’’ بالخط المائل. على سبيل المثال:
تمكين
خدمة
dhcpcd@
interface_name
.service
لواجهة الشبكة التي يتم تحديدها من مخرجات أمر
ip link
.
في هذا المثال
interface_name
متغيّر وهمي داخل وحدة systemd من نوع قالب. جميع وحدات systemd التي تحتوي على علامة
@
تتطلب عنصر إعداد خاص بالنظام كوسيط. راجع
Systemd#استخدام الوحدات
.
يمكن تشغيل الأمر
dd if=
data_source
of=/dev/sd
X
bs=
sector_size
count=
sector_number
seek=
partitions_start_sector
بصلاحيات الجذر لمسح قسم مع إعدادات محددة.
في هذا المثال تُستخدم ‘‘المتغيّرات الوهمية’’ لوصف المعاملات التي يجب استبدالها. تفاصيل كيفية جمع هذه القيم موضّحة في قسم
Securely wipe disk#Calculate blocks to wipe manually
الذي يحتوي على هذا الأمر.
This article or section needs expansion.
Reason:
ذكر أمثلة أخرى من فئات أجهزة مختلفة (مثل التخزين) مع روابط لمقالات الشرح الخلفية. الهدف من الأمثلة هو تجنّب تكرار الشروحات الموجودة مسبقًا في مقالات أخرى. (Discuss in
Help talk:Reading (العربية)
)
في حالة أمثلة الملفات، لصق المتغيّرات الوهمية مباشرة في ملفات إعداد حقيقية قد يؤدي إلى كسر عمل البرامج التي تعتمد عليها.
النقاط الثلاث
في معظم الحالات، النقاط الثلاث (
...
) ليست جزءاً من محتوى الملف الفعلي أو مخرجات الكود، وإنما تمثل نصاً محذوفاً أو اختيارياً غير ذي صلة بالموضوع المطروح.
على سبيل المثال
HOOKS=(... encrypt ... filesystems ...)
أو:
/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
    ...
    Option      "CircularScrolling"          "on"
    Option      "CircScrollTrigger"          "0"
    ...
EndSection
لكن انتبه إلى أنه في بعض الحالات النادرة، قد تكون النقاط الثلاث جزءاً ذا معنى من بناء الكود نفسه: يجب أن يكون المستخدمون المنتبهون قادرين على التعرف على هذه الحالات من السياق.