بناء البرامج من المصدر

السلام عليكم
في هاذ الدرس سوف نتعلم كيف نبني البرامج من كودها المصدري

البعض يتساءل لماذا نبني من الكود المصدري؟؟؟

و الجواب هو
هناك اسباب كثيرت منها

– في عالم البرامج الحرة تصدر البرامج علا شكل كود مصدري ثم يقوم مطورين التوزيعات او المستخدمين ب بناءها و تحزيمها
– بعض البرامج لم تحزم بعد ولا توجد ب مستودعات التوزيعات

– بعض المطورين و منهم انا يقومون ب تحميل كود المصدر و تعديله و تغير خصاءصه و تطويره و بناءه من جديد
, و الآلن لنبدء
اول شيء تحتاج الادوات الاساسية ل البناء التي هي gcc g++ make قم ب تثبيتها من مدير حزم توزيعتك
ثم قم ب تحميل الكود الذي تريد بناءه

قم ب فك ضغط الملف باستعمال برنامج رسمومي مناسب أو بالنقر بالزر الأيمن ثم extract أو بطباعة الأوامر المناسبة في الطرفية ك التالي
فل نفترض ان الملف المضغوط اسمه ROSE
tar -xvzf ROSE.tar.gz
اذا كان الملف المضغوط من نوع tar.bz2 نستخدم tar -xvjf filename.tar.bz2 سيظهر مجلد جديد ادخل إليه وابحث عن ملف INSTALL أوREADME أو ماشابه وألق نظرة عليه
من محرر النصوص المفضل لديك أو من سطر الأوامر اكتبless INSTALL ثم اضغط q للخروج bash$ cd filename
bash$ ls
INSTALL blah.c foobar.c make configure
bash$ less INSTALL
ثم من داخل المجلد اكتب في الطرفية الاوامر التالية
./CONFIGURE
ملاحظة في بعض التوزيعات يتطلب اعطاء صلاحيات التنفيذ ل الملف CONFIGURE
هاذ الامر يقوم ب عمل الاعدادات الاساسية ليتوافق البرنامج مع التوزيعة
ثم اكتب
MAKE
و لتثبيت البرنامج اكتب

MAKE INSTALL

إقرا المزيد

حل مشاكل الاتصالات في السامبا SAMBA

قبل أن تشرع في هذا الدرس المبسط ، يوجد هنا سلسلة مبسطة كذلك عن خادم السامبا اذا كنت تريد الوصول لها :

قسم SAMBA Server

يستخدم هذا الدرس المحرر nano لفتح الملفات النصية لذلك بعد فتح اي ملف ستحتاج لاغلاقة مع الحفظ وطريقة الاغلاق والحفظ بعد التعديل هي :

CTRL + X
ثم
Y
ثم
Enter

————

في هذا الدرس سنركز على مشكلة الاتصال بين الاجهزة (من جنو لينكس إلى جنو لينكس أو من جنو لينكس إلى ويندوز) وهناك عدة أسباب وسنبدأ :

السبب الأول :

قد يكون بسبب اختلاف اسم مجموعة العمل في الجهاز الآخر الذي تريد الوصول له، اسم مجموعة العمل في SAMBA افتراضيا هي WORKGROUP. لذلك تأكد بأن اسمها مطابق لذلك الإسم، فإذا كان اسم المجموعة في ذلك الجهاز هو نفسه اسم المجموعة في جهازك فانتقل للسبب الثاني، عدا ذلك استمر في تطبيق هذا الحل.

افتح الطرفية في جهازك ونفذ هذا الامر


sudo nano /etc/samba/smb.conf

ابحث عن كلمة workgroup عن طريق الضغط على ctrl + w ، غالبا تجدها بهذا الشكل :


[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP

قم بتغيير ماهو ملون بالاحمر إلى اسم المجموعة لكي يتم مطابقته مع اسم المجموعة في النظام الآخر وبعدها نفذ هذا الامر
علما بان قد يتغير من توزيعة ﻷخرى (توجه لمنتدى الدعم الفني اذا واجهت مشكلة به)
او قم باعادة تشغيل النظام

 


sudo service samba restart

 

السبب الثاني :

احيانا قد يساعدك اسم net-bios على حل المشكلة وهو خلاصتا عبارة عن اسم الجهاز الخاص بك والذي تستطيع التعرف عليه بهذا الامر


echo $HOSTNAME

 

فلدي على سبيل المثال اسم الجهاز هو debian
سنقوم باضافته مباشرة بعد سطر workgroup في نفس الملف السابق ليكون بهذا الشكل


# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP
   netbios name = debian

 

بعد الحفظ نفذ هذا الامر


sudo service samba restart

 

الحل الثالث :
قبل الشروع في تنفيذ هذا الحل تاكد بان حزمة Firestarter غير مثبته لانها ستسبب لك مشاكل مع الاعدادات التالية

قم بفتح هذا الملف :


sudo nano /etc/nsswitch.conf

 

ستجد سطر كالتالي :


hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

 

قم باضافة كلمة wins ليصبح السطر كالتالي :


hosts:          files mdns4_minimal [NOTFOUND=return] wins dns mdns4

 

اغلق الملف مع الحفظ ونفذ هذا الامر لتحميل الحزمة المطلوبة


sudo apt-get install winbind

 

بعدها اعد تشغيل النظام او الشبكة

الحل الرابع:
تأكد بأن المشكلة ليست من جدار الحماية ولكي يتم ضبط جدار الحماية بالوضع الافتراضي نفذ هذه السلسلة من الأوامر :


sudo iptables  -F
sudo iptables  -X
sudo iptables  -t nat -F
sudo iptables  -t nat -X
sudo iptables  -t mangle -F
sudo iptables  -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT

 

انتظر لحظات ثم حاول مجددا، والى هنا انتهت الحلول المقترحة وللاستزادة بخصوص الويندوز قم بالضغط هنا

إقرا المزيد

التشفير بستخدام luks

السلام عليكم
في هاذ الدرس سوف اشرح لكم احد طرق التشفير المشهورة ل حماية الاقراص الصلبة و وحداة التخزين و صور الاقراص الوهمية

ما هو luks?
luks هو المعيار الاساسي الحالي ل نوات لينكس الذي يستخدم ل تشفير الاقراص الصلبة و وحداة التخزين
يوفر luks طريقة تشفير تتوافق مع كل التوزيعات من ما يسهل التعامل معه

ماذا يستطيع ان يعمل luks?
– luks يمكنه تشفير اي نوع من وحدات التخزين و صور الاقراص الوهمية و يمكنك تشفير وحدات تخزين الهاتف عن طريقه

– luks يمكنه تشفير وحداة السواب
– يمكن استخدام luks ل تشفير بعض انواع قواعد البيانات التي تستخدم وحدات تخزين وهمية
– luks يحميك من هجوم القاموس
و الن سوف نبدء ب شرح طريقة التشفير ب استخدامه
في هاذ المثال سوف استخدم احد وحدات التخزين الموجودة علا /dev/xvdc

الخطوة الاولى:
افتح الطرفية و اكتب
cryptsetup -y -v luksFormat /dev/xvdc

xvdc هو جهاز التخزين كما قلنا سابقً
سيظهر لك
WARNING!
========
This will overwrite data on /dev/xvdc irrevocably.

Are you sure? (Type uppercase yes):
وهو تحذير يقول “هاذ الاجراء سوف يمسح جميع محتويات ادات التخزين هل انت متءكد؟” اجب ب yes
سوف يظهر لك
Enter LUKS passphrase:
ادخل كلمة السر التي تريد ان تستخدمها ب التشفير
ثم يطلب منك تءكيد كلمة السر قم ب ادخالها من جديد
ملاحظة:
لا يمكن استعادة كلمة السر لذا اكتب كلمة سر يمكنك حفظها
و الن اكتب
cryptsetup luksOpen /dev/xvdc backup2
المخرجات:
Enter passphrase for /dev/xvdc:
ادخل كلمة السر
و الن اصبح لدينا نسخة تحاكي الجهاز الحقيقي في /dev/mapper/backup2
الخطوة الثانية هي تهيءة جهاز التخزين
اكتب في الطرفيةنحتاج ان نكتب 0 في قطاعات القرص او جهاز التخزين
الن لم يعد ب امكاننا ان نستخدم جهاز التخزين الحقيقي ف يجب محاكته
اكتب في الطرفية ل تهيءت جهاز التخزين:
dd if=/dev/zero of=/dev/mapper/backup2
الخطوة الثالثة هي انشاء نظام الملفات ل وحدة التخزين المشفرة
اكتب في الطرفية
mkfs.ext4 /dev/mapper/backup2
الن صار لدينا وحدة تخزين مشفرة
الن اعد تشغيل الجهاز ل تجنب المشاكل
و بعد اعادة التشغيل يمكنك ضم الجهاز التخزين من من خلال الطرفية
افتح الطرفية و اكتب
cryptsetup luksOpen /dev/xvdc backup2
mount /dev/mapper/backup2 /backup2
سوف يطلب منك ادخال كلمة السر التي قمت ب استخدامها في التشفير
و يمكنك تغير كلمة السر بعد ظم وحدة التخزين ب كتابة
cryptsetup luksDump /dev/xvdc
cryptsetup luksAddKey /dev/xvdc
Enter new passphrase for key slot:
ادخل كلمة السر
ملاحظة:
يجب حزف كلمة السر القديمة ب كتابة
cryptsetup luksRemoveKey /dev/xvdc

إقرا المزيد

حل مشكلة التحكم بشدة اﻻضاءة في جنو / لينكس

الكثير منا قد عانى من عدم القدرة على تغيير شدة اضاءة الشاشة و خصوصاً في التوزيعات الديبيانية فعن تجربة شخصية كنت أعاني من هذه المشكلة فقط مع فيدورا و  أوبونتو و منت و ديبيان أما آرتش و زوزا فلا توجد مشكلة , و بعد البحث في النت وجدت الحل و الحمد لله عمل معي بشكل جيد جداً مع توزيعة منت و حاسوبي acer لكن ملاحظة مهمة و هي أن هذا الحل خاص بـ grub2  فلم اجربه على lilo أو غير أصدار من grub و الآن إلى طرق الحل :

1-الطريقة الأولى  هي بطباعة الأمر التالي في الطرفية

sudo sed “s/\(GRUB_CMDLINE_LINUX=\)\”\”/\1\”acpi_osi=Linux acpi_backlight=vendor\”/” /etc/default/grub -i

 

ثم بعد ذلك تقوم بتحديث الgrub  بطباعة الأمر التالي
sudo update-grub

 

الآن قم بإعادة التشغيل و تحكم على راحتك 🙂

@@@@@@@@

2- الطريقة الثانية هي بإضافة المتغيرات يدوياً كالتالي :
أالصق الأمر التالي في الطرفية لفتح ملف الgrub
sudo gedit /etc/default/grub
الآن ابحث عن اللأسطر التي يحتوي على كلمة ( GRUB_CMDLINE ) أعتقد أنها السطر العاشر و الحادي عشر و أضف التالي بعدها

 

acpi_osi=Linux acpi_backlight=vendor

 

مع ملاحظة أن في السطر الأول يضاف السطر بعد كلمة (“quiet splash” ) مباشرة بدون تغيير  أما في السطر الثاني فيضاف بين (” ” ) ليكون الناتج النهائي للملف كالتالي :

وبالتاكيد يجب تحديث الملف بعد ذلك بكتابة الأمر التالي:

sudo update-grub

ثم إعادة التشغيل

@@@@@@@

3- الطريقة الثالثة استخدمها اذا لم تعمل الطرق السابقة و هي التحكم بشدة اﻻضاءة عن طريق إدخال قيمة الإضاءة بكتابة اﻻمر التالي في الطرفية

xrandr –output LVDS1 –brightness 0.99

و بالإمكان تغيير قيمة ( 0.99 ) الى أي قيمة أخرى تريدها مثل 0.80  أو 0.70  أو غيرها

أتمنى أن يكون الموضوع مفيدا للجميع 🙂

تم التدقيق اللغوي بواسطة : محمود البلوي .

إقرا المزيد

التحكم بالـ Boot Grub باحترافية دون استخدام الطرفية وتعلم اﻷوامر

ﻻ بد أن الطرفية Terminal مهمة جداً في جنو لينكس وأجدها افضل وأسرع من اي برنامج، لكن المنتقلين حديثا إلى جنو لينكس ربما يرغبون في طرق سهلة وواجهات رسومية لتنفيذ بعض اﻷمور في جنو لينكس، ولذلك ظهر برنامج Grub Customizer ليقوم بتسهيل مهمة التحكم بالـ Boot Grub وهي شاشة تظهر لمن لديه نظامي تشغيل على حاسوبه أو أكثر لترتيبها ووضع احداها اﻻفتراضية بحيث يدخل عليها الحاسوب تلقائيا بعد مدة معينة، ويذهب البرنامج ابعد من مجرد تغيير الترتيب ووضع التوزيعة اﻻفتراضية حيث يمكنك من تعديل المهلة التي يعطيها لك البووت قبل اﻻقلاع إلى التوزيعة اﻻفتراضية وكذلك تغيير خلفية البووت واﻷلوان والخطوط.

تثبيت البرنامج:

1- افتح الطرفية واكتب اﻷوامر التالية:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Selection_001

2- بعد انتهاء التثبيت افتح البرنامج وادخل كلمة سر المستخدم ثم اتبع الشرح المكتوب على الصور أدناه:

desktop 1_002

Selection_004 Authenticate_003Grub Customizer_004 Grub Customizer_005 Grub Customizer_007

 

تم التدقيق بواسطة : محمود البلوي

إقرا المزيد