! هذا الموضوع تطرق إلى طريقة تثبيت آرتش لينكس
إصدار 2011.08.19 و هو غير مناسب لتثبيت الإصدارات الحديثة لأن خطوات
التثبيت إختلفت كثيرا!
في هذه التدوينة سأشرح الأوامر و الملفات التي استخدمتها في تثبيت و إعداد آرتش لينوكس (Arch Linux) و لينوكس عموما.
- mount : هو المكلف بربط "تعريف جزء" معين من القرص الصلب أو تعريف سواق كسواق القرص المدمج cdrom بـالمجلد الذي يمثله. مثلا تعريف الجزء الأول على القرص الصلب هو /dev/sda1 و لربطه بالمجلد disk1 المتواجد بالمجلد /media علينا تنفيذ الأمر التالي:
mount /dev/sda1 /media/disk1
لكن هذا الأمر لن يعمل دائما لأننا لم نحدد نوع نظام الملفات مما سيجعله إما يحاول إكتشافه بشكل تلقائي و هذه عملية قد تحمل بعض المخاطر، أو يرجع إلى الملف /etc/fstab لتعرف على مواصفاته هناك.
الاستخدام الصحيح يجب أن يكون شبيه بما يلي:
mount /dev/sda1 -t ext2 /media/disk1
لتفاصيل أكثر نفد الأمر التالي:
man mount
أكمل بقية الموضوع
- الملف /etc/fstab
عبارة عن جدول يضم كل تعريفات/تسميات الأجزاء و السواقات و المجلدات التي تمثلها بالإضافة إلى معايير تشغيلاها. مثال:
# -file system- -dir- -type- -options- -dump- -pass-
none /dev/pts devpts defaults 0 0
none /dev/shm tmpfs defaults 0 0
#/dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0
#/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0
#/dev/fd0 /media/fl auto user,noauto 0 0
/dev/sda1 /boot ext2 defaults 0 1
/dev/sda2 / ext4 defaults,noatime 0 1
/dev/sda3 /media/disk2 ext4 defaults,noatime,data=journal 0 1
/dev/sda4 swap swap defaults 0 0
/dev/sdb1 /media/disk3 ntfs-3g defaults 0 0
/dev/sdb4 /media/disk4 ntfs-3g defaults 0 0
- nano : عبارة عن محرر نصي يستخدم على سطر الأوامر. يفضل أن نشغله بالمعيار -w حتى لا يقوم بالتصفيف التلقائي (dynamic text wrapping) للأسطر النصية. مثال :
nano -w /etc/fstab
لحفظ التغيرات نضغط على Ctrl+O و للخروج نضغط على Ctrl+X
- الملف /boot/grub/menu.lst
يضم كل المعلومات المتعلقة بإقلاع نواة النظام لينوكس و باقي الأنظمة المتعرف عليها كويندوز أو أنظمة لينوكس أو بي إس دي المجاورة. نادرا ما نحتاج إلى تعديل هذا الملف يدويا و عليك معرفة ما تفعل إن عدلته.
- man : يوفر المساعدة و الشرح التقني بخصوص الأوامر و الملفات التي تريد أن تتعلم استخدامها أو نسيت المعايير التي تستخدم و وظيفتها. طريقة الإستخدام هي كالتالي:
إدا أردنا معرفة شرح الأمر fdisk ننفذ
man fdiskأو شرح ifconfig
man ifconfig
للخروج من الشرح يكفي الضغط على q
- fdisk : و هي الأداة التي تسمح لنا بعرض الأقراص و أجزائها المكتشفة، كما تستخدم في تجزئة الأقراص. بديله الأكثر سهولة هو cfdisk الذي استخدمناه لتجزئة القرص الصلب أثناء تثبيت آرتش لينوكس. لكي نعرض كل الأجزاء المكتشفة يكفي أن ننفذ:
fdisk -l
- ifconfig : تسمح لنا بعرض و إعداد كروت الشبكات السلكية. لعرض كل شيء تعرفت عليه ننفذ:
ifconfig -a
- iwconfig : تسمح لنا بعرض و إعداد كروت الشبكات اللاسلكية. لعرض كل شيء تعرفت عليه ننفذ:
iwconfig
- التسميات eth0, eth1, lo, wlan1, wlan2, ppp0
- بطائق الشبكات السلكية يرمز لها بـ ethX مثال eth0, eth1,..
- بطائق الشبكات اللاسلكية يرمز لها بـ wlanX مثال wlan0, wlan1,..
- الموديمات (modems) يرمز لها بـ pppX مثال ppp0, ppp1,..
- lo تمثل ما يعرف بالاسترجاع و هي كرت وهمية تحاكي وجود كرت حقيقة تصلح بالدرجة الأولى لاختبار الخدمات و برامج الاتصال بالشبكات لمعرفة هل تعمل بشكل صحيح على الجهاز المستخدم أما لا. بمعنى آخر lo تمثل وجود شبكة متصلة بجهازك و تستطيع التواصل مع و الرد على طلباتك.
- dhcpcd : تتكفل بإعداد بطائق الشبكات بشكل تلقائي إدا كانت متصلة بمزود - مثل الراوتر - يوفرها بواسطة خدمة DHCP. لإعداد بطاقة eth0 يكفي تنفيذ الامر التالي :
dhcpcd eth0
إدا أردت أنت تحافظ على إعداد ثابت لبطائق الشبكة عليك إعداد ملف /etc/rc.conf بالإضافة إلى ملف /etc/resolv.conf
- الملف /etc/resolv.conf
يضم أسماء خوادم DNS التي تقوم بترجمة أسماء النطاقات إلى أي بي (IP). عموما هذا الملف يتم إعداده من طرف dhcpcd إلا إدا كنت تستخدم إعداد ثابت للشبكة. مثال:
#search -yourdomain.tld-
#nameserver -ip-
#nameserver 8.8.8.8
#nameserver 8.8.4.4
#nameserver 208.67.222.222
#nameserver 208.67.220.220
nameserver 212.217.0.1
nameserver 212.217.0.12
nameserver 212.217.0.17
بالتسبة لـ 8.8.8.8 و 8.8.4.4 فتمثل خادم غوغل Google
بالتسبة لـ 208.67.222.222 و 208.67.220.220 فتمثل خادم خادم أوبن دي إن إس OpenDNS
بالتسبة لـ 212.217.0.1 و 212.217.0.12 و 212.217.0.17 فهي تمثل خادم إتصالات المغرب MarocTelecom
- الملف /etc/rc.conf
هن أهم ملفات توزيعة آرتش لينوكس لأنه أضم أغلب إعدادات النظام في مكان واحد على عكس أغلب توزيعات لينوكس الأخرى التي تفضل استخدام مجموعة من الملفات المتفرقة.
بنية هذا الملف نصية و هي عبارة عن مجموعة من الأسطر، و كل سطر يحتوي على تسمية معينة (كلمة مفتحية) و قيمتها/قيمها.
أهم التسميات:
- LOCALE وتحدد نوع اللغة المستخدمة كالإنجليزية "en_US.utf8" أو الفرنسية "fr_FR.utf8" أو العربية المغربية "ar_MA.utf8". لكن قبل أن تغير هذه القيمة عليك أن تفّعل اللغة المرغوب فيها على ملف /etc/locale.gen يليها تنفيذ الأمر locale-gen. أيضا إدا رغبت في معرفة أي لغات مفعلة على النظام يكفي تنفيذ locale -a
- KEYMAP خريطة المفاتيح المستخدمة على الطرفية (Console). يمكن اختيار إحدى الخرائط المتواجدة داخل المجلد /usr/share/kbd/keymaps مثل "fr-latin1", "fr", "us", "de"
- MODULES توفر إمكانية التصريح بالوحدات التي تود تشغيلاها أو عدم تشغيلاها أثناء إقلاع النظام. مثال:
MODULES=(fuse vboxnetadp vboxnetflt !kvm !kvm-intel)
لاحظ جيدا أن علامة ! التي تسبق اسم الوحدة kvm و kvm-intel تعني عدم الرغبة في تشغيلاها.
- HOSTNAME يمثل اسم الجهاز على الشبكة. مثال: "archy"
تذكر جيدا, الاسم الذي تستخدمه لتعريف الجهاز يجب أن يكون مذكورا أيضا على ملف /etc/hosts مثال:
#-ip-address- -hostname.domain.org- -hostname-
127.0.0.1 localhost.localdomain localhost archy
- بالنسبة لـeth0, INTERFACES, gateway, ROUTES فتصلح لإعداد بطاقات الشبكة السلكية إما بشكل ثابت يدوي أو تلقائي أثناء الإقلاع.
مثال للإعداد الثابت:
eth0="eth0 192.168.1.109 netmask 255.255.255.0 broadcast 192.168.1.255"
INTERFACES=(eth0)
gateway="default gw 192.168.1.1"
ROUTES=(gateway)
مثال للإعداد تلقائي من خلال DHCP للراوتر (Router):
eth0="dhcp"
INTERFACES=(eth0)
gateway="default gw 192.168.0.1"
ROUTES=(!gateway)
لاحظ وجود علامة ! في بداية ROUTES و التي تعني أنها ليست كما هي مذكورة في gateway بمعنا آخر أنها ستكون تلقائية.
إضافة: إدا كنت تستخدم أكثر من بطاقة شبكة يكفي إضافة السطر الخاص بها كـ eth1="" و تضيفها إلى INTERFACE
- NETWORKS و هي تستخدم لتحديد معرفات (profiles) الربط بالشبكة التي تريد استخدامها.
- DAEMONS و هي تمثل الخدمات (Services) التي تريد أن تعمل أثناء الإقلاع. مثال:
DAEMONS=(syslog-ng network net-profiles @netfs @crond @alsa dbus hal @kdm @vboxdrv @samba)
إدا أضفنا علامة ! قبل إسم الخدمة يعني عدم رغبتنا في تشغيلها.
إدا أضفنا علامة @ قبل اسم الخدمة يعني أننا نريد أن تعمل بشكل موازي (in parallel) حتى نسرع إقلاع النظام. لكن يجب عليك أن تعلم أنه ليس بإمكاننا تشغيل كل الخدمات على التوازي لأن بعضها لا تمكن أن تبدأ حتى تتكون الخدمة التي تعتمد عليها قد بدأت.
لقراءة المزيد حول أسماء تلك الخدمات طالع هذا الرابط.
- LOCALE وتحدد نوع اللغة المستخدمة كالإنجليزية "en_US.utf8" أو الفرنسية "fr_FR.utf8" أو العربية المغربية "ar_MA.utf8". لكن قبل أن تغير هذه القيمة عليك أن تفّعل اللغة المرغوب فيها على ملف /etc/locale.gen يليها تنفيذ الأمر locale-gen. أيضا إدا رغبت في معرفة أي لغات مفعلة على النظام يكفي تنفيذ locale -a
- cat و هي أداة تعرض محتوى ملف معين على الطرفية. مثال:
cat /etc/resolv.conf - ls و هي أداة تعرض محتوى المجلدات. مثال يعرض كل الملفات حتى المخفي منها في المجلد الحالي (أي الذي نشتغل عليه):
ls -a
مثال يعرض محتوى المجلد /etc على شكل قوائم
ls -al /etc - grep و هي أداة تسمح لك بالبحث على معلومة نصية في مخرجات أداة أخرى أو ملف.
مثال يبحث عن كلمة "HOSTNAME" داخل الملف /etc/rc.conf
grep "HOSTNAME" -i /etc/rc.conf
مثال يبحث عن اسم معالج الحاسوب (CPU) داخل مخرجات الملف /proc/cpuinfo
cat /proc/cpuinfo | grep "model name"
لاحظ جيدا علامة |. هذه العلامة تسمى أنبوب (pipe) و هي تسمح بتشغيل أداة تلو الأخرى ممررتا مخرجات كل أداة للتي تليها
- wget هذه الأداة تستخدم في تحميل (download) الملفات من الطرفية. مثال:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.3.tar.bz2
يمكن استخدام معايير إضافية مثل:
-c لإكمال التحميل حتى لو حصل توقف أو إنقطع الإتصال
--limit-rate= لتحديد سرعة التحميل
-O destination لتحديد مكان الذي سيوضع فيه الملف
مثال:
wget -c --limit-rate=160K http://mango.org.ua/archbang/archbang-2.01-BetBeta1-i686.iso -O /media/disk-302/ISOs/archbang-2.01-Beta1-i686.iso - dmesg : و هي أداة تعرض رسائل نواة النظام لينوكس عند الإقلاع و أثناء عملها. في أغلب الأحيان تستخدم هذه الرسائل لمعرفة ما الذي تعرفة عليه النواة أو المشاكل التي واجهتها مع العتاد.
و في أغلب الأوقات نستخدم dmesg مع grep أو tail لعرض فقط الرسائل التي نرغب فيها. مثال لعرض آخر رسائل النواة:
dmesg | tail - reboot : لإعادة تشغيل النظام. في أغلب الأوقات reboot تحتاج إلى صلاحيات عالية (صلاحيات إدارة الطاقة، أو المدير root أو بواسطة sudo) كي تعيد تشغيل النظام.
- shutdown : لإيقاف النظام بشكل فوري أو بعد مدة زمنية معينة. مثال لإيقاف النظام فورا.
مثال لإيقاف عمل الحاسوب بشكل كلي و فوري:
shutdown -P now -hمثال لإيقاف عمل الحاسوب بشكل كلي بعد 30 دقيقة من تنفيذ الأمر:
shutdown -P +30 -h
shutdown مثلها مثل reboot تحتاج إلى صلاحيات كافية لتعمل
- sudo : هده الأدات تسمح للمستخدم العادي -- الذي لا يتوفر على صلاحيات لتعديل النظام -- تسمح له بتنفيذ أوامر بصلاحيات أعلى دون الرجوع إلى حساب مدير النظام في كل مرة.
من المنظور الأمني، sudo تعتبر سلاح دو حدين فهي نظريا تحمي المستخدم من الأخطاء التي قد يرتكبها إن إستخدم حساب مدير النظام root بشكل مستمر، لكن قد تضعف درجة أمان النظام إدا أسيء استخدامها أو أن طرف ثالث حصل على كلمة سر المستخدم الذي يتوفر على صلاحيات sudo.
لإستخدام sudo مع أمر يتطلب صلاحيات عالية يكفي أن نكتب sudo أولا ثم الأمر. مثال:
sudo pacman -Syu
للحصول على صلاحية إستخدام sudo يجب أن تثبتها أولا ثم تعدل ملف الصلاحيات sudoers من خلال تنفيذ الأمر visudo ثم إضافة إسم المستخدم الذي تريده أن يحصل على تلك الصلاحية:
visudo
desired_username ALL=(ALL) ALL
- pacman هي الأداة التي نستخدمها لتثبيت، حدف، ترقية و البحث عن الحزم/البرامج. هذه الأدات من مميزات آرتش لينوكس. تتعدد طرق استخداماتها كما دكرت لكن من أهمها:
تثبيت برنامج ما:
pacman -S gimp
حدف برنامج ما:
pacman -R pidgin
ترقية كافة برامج النظام إلى آخر الإصدارات المستقرة:
pacman -Syu
البحث عن عن برنامج معين:
pacman -Ss skype
الإطلاع على بيانات برنامج معين:
pacman -Qi gedit
لحذف ملفات الحزم القديمة المتواجدة داخل مجلد الإختباء (cache folder) المتواجد على /var/cahe/pacman/pkg/ لتوفير المساحة
pacman -Sc
لتثبيت ملف حزمة متواجد على المجلد الحالي نستخدم -U مثال:
pacman -U bauerbill-2010.03.14.1-1-any.pkg.tar.gz
- mkdir هذا الأمر يسمح لنا بإنشاء مجلد ما من على سطر الأوامر. مثال لإنشاء مجلد downloads في المكان الذي نتواجد فيه:
mkdir downloads
مثال لإنشاء مجلد trance داخل مجلد music على مجلد حسابنا حتى لو لم يكن التشجر متواجد بعد:
mkdir -p ~/music/trance
لاحظ جيدا وجود علامة ~ التي تعني مجلد حساب المستخدم الحالي
- cp هذه الأداة نستخدمها لنسخ الملفات من مكان إلى آخر. مثال ننسخ فيه الملف report-2010.odt إلى المجلد reports المتواجد داخل المجلد mydocuments على حسابنا
cp report-2010.odt ~/mydocuments/reports/
- mv هذه الأداة نستخدمها لنقل الملفات من مكان إلى آخر. مثال ننقل فيه الملف armin_van_buuren_-_a_state_of_trance_-_455.mp3 إلى المجلد trance المتواجد داخل المجلد music على حسابنا
mv armin_van_buuren_-_a_state_of_trance_-_455.mp3 ~/music/trance/
- wpa_passphrase و wpa_supplicant و هما أداتين نستخدمها في إعداد معرف للربط اللاسلكي محمي بتقنية WPA و WPA2
- sleep هذه الأداة تسمح لك بتحديد مدة الانتظار ما بين أمر و آخر. مثال للانتظار 5 ثوان قبل عرض رسالة ترحيب:
sleep 5 && echo Hi there!
- netcfg و هي أداة تستخدم لإعداد، تسيير و تفعيل الربط بالشبكات على مختلف أنواعها مستخدمة معرفات (profiles).
- /etc/network.d/examples هذا المجلد يحتوي على معرفات جاهزة مسبقا صالحة لمجموعة من أنواع الربط السلكي و/أو اللاسلكي.
- ping هذه الأداة تستخدم للحصول على صدى من حاسوب أو خادم أرسلنا إليه ما يشبه برنة على الشبكة. إدا حصلنا على رد فيمكننا معرفة المدة -- بأجزاء الثانية -- التي أخدتها كل رنه و ذلك كمقياس بسيط لمعرفة أداء الربط بين نقطتين في الشبكة؛ و إدا لم نحصل على رد فذلك يعني إمكانية وجود عطل بالكابل (cable) أو أن الطرف الأخر يتخفى وراء جدار ناري أو عدم وجود ربط خارجي في الأصل.
طريقة الإستخدام إما مع اسماء النطاقات (DNS) أو أي بي (IP):
ping -c 3 google.com
ping 192.168.1.1 -c 3
المعيار -c يستخدم لتحديد عدد الرنات التي نريد أن نرسلها إلى الطرف الآخر.
- /etc/issue هذا الملف يسمح لك بتخصيص شاشة (logon screen) الولوج من على على سطر الأوامر (الطرفية)
- df هذه الأداة تعرض المساحة الإجمالية للأقسام و الأقرص و المساحة المساحة المتبقية منها. مثال:
df -h
- top هذه الأداة تعرض كل البرامج التي تعمل على النظام بكل تفاصيلها التقنية التي تهم العاملين على تتبع و صيانة النظام. مثال:
top
- useradd لإضافة حساب مستخدم جديد. مثال:
useradd -m -G users -s /bin/bash guest
- passwd لإضافة، تعديل أو إزالة كلمة السر الخاصة بحساب معين. مثال لإضافة أو تعديل كلمة سر حساب المستخدم guest
passwd guest
- powerpill و bauerbill تُغَلف أداة pacman و تقدم خصائص إضافية لبناء، تحميل و تثبيت الحزم.
- yaourt أداة أبسط و بالتالي أسهل من powerpill و bauerbill تُغَلف هي أيضا أداة pacman و تسمح ببناء، تحميل و تثبيت الحزم.
- export مستخدمها لإنشاء المتغيرات الخاصة بالنظام (Environment Variables)
- /etc/rc.local هذا الملف يستخدم أحيانا لتشغيل بعض البرامج أو السكريبتات أثناء إقلاع النظام.
- echo تستخدم لعرض الرسائل على الشاشة و هي غالبا ما تستخدم داخل السكريبتات (scripts)
- vi محرر نصي متقدم يستخدمه من تعود على أنظمة لينوكس و يونكس، يفضله المبرمجون لأنه يسرع العمل لقدرته على التحرك بشكل أسرع من خلال أوامر على شكل حروف و رموز. vi أسوء محرر نصي قد يصادفه مبتدئ في عالم جنو/لينوكس :)
أكثر الأوامر أهمية بالنسبة لأي مبتدئ هي:
- الحرف a يسمح بتعديل سطر معين إلى أن تتحرك أو تضغط على الزر ESC.
- الأحرف التالية :qw متبوعة بـ الزر enter تحفظ الملف و تخرج من vi.
- الأحرف التالية :q! متبوعة بـ الزر enter تخرج من vi دون حفظ التغييرات.
- الأحرف التالية :q متبوعة بـ الزر enter تخرج من vi إن لم تعدل شيء في الملف.
المزيد من التعليمات تجدونها هنا و هنا.
- /etc/xog.conf هذا الملف يستخدم تحديد إعدادات العرض و التعريف المستخدم.
- /etc/xorg.conf.d/ هذا المجلد يضم إعدادات أجهزت الإدخال مثل لوحة المفاتيح، الفأرة و موصلات أخرى
- /etc/rc.d/ هذا المجلد يضم الخدمات المتوفرة على النظام. هذه الخدام يمكن تشغيلها إما يدويا أو تلقائيا أثناء إقلاع النظام. التشغيل اليدوي:
/etc/rc.d/service_name start
الإيقاف اليدوي:
/etc/rc.d/service_name stop
إعادة تشغيل الخدمة:
/etc/rc.d/service_name restart
للتشغيل التلقائي أثناء إقلاع النظام يجب عليك إضافة إسم الخدمة إلى DAEMONS على الملف /etc/rc.conf
ليست هناك تعليقات:
إرسال تعليق