أساسيات Git و البدايات مع NotABug – الدرس الثالث

git-logo

السلام عليكم

تعرفنا في التدوينات السابقة بشكل مختصر و سريع على نظام Git و ماهية عمله و فائدته ثم انتقلنا بعدها الى NotABug و كيغية التسجيل و تعرفنا الى كيفية انشاء و حذف المستودعات العامة و الخاصة , لذلك سننتقل اليوم الى جزء اخر من الموضوع في هذه التدوينة و الذي اعتبره شخصيا الاكثر تشويقا و اثارة لانه سيتيح لك التعامل مباشرة مع المستودع من حاسوبك , فلنبدأ بسم الله :

1- تثبيت حزمةال git : اول خطوة سنقوم بها هي تثبيت حزمة Git على حاسوبك و توجد طريقتين لذلك , بالامكان تحميل الحزمة من الموقع الرسمي مباشرة عن طريق التوجه الى صفحة التحميل من الرابط التالي https://git-scm.com/downloads اذا كنت على نظام اخر غير جنو/لينكس ثم تنقر على اسم النظام الخاص بك ( توجد واجهة رسومية متاحة للتحميل ) ,

اما على جنو/لينكس فالحزمة متوفرة على جميع مستودعات التوزيعات باسم git وهي موضحة ايضا في صفحة التحميل الخاصة بانظمة جنو/لينكس  و كيفية تثبيتها على التوزيعات , افتح الطرفية و نفذ الاوامر كالتالي  :

– اوبونتو و ديبيان و ما بني عليهما اكتب الامر التالي :

sudo apt-get install git

– فيدورا و ما بني عليها اكتب التالي :

sudo yum install git

sudo dnf install git

– ارتش و ما بني عليها اكتب التالي :

sudo pacman -S git

– اوبن سوزا اكتب التالي :

sudo zypper install git

( ملاحظة : انقر على الصورة لمشاهدتها بالحجم الكامل )

10بعد ان قمنا بتثبيت الحزمة نتقل الى الخطوة التالي :

2- انشاء مسار خاص بالمستودع : الخطوة التالية و التي هي انشاء مجلد المستودع على جهازك , يفضل ان يكون المجلد في مسار منفصل , لذلك سنقوم بانشاء مجلد باسم Git في مجلد المنزل ثم نتوجه له من خلال الطرفية  بكتابة الامر cd بعدها مسار المجلد ( بالامكان التوجه المسار ثم الاختيار “فتح الطرفية هنا ” اذا كان متصفح ملفات توزيعتك يدعم هذا الخيار ) :

Screenshot-urukos@hayder: ~-Git

نحن الان في داخل المجلد المراد وضع المستودع بداخله لننتقل الى الخطوة التالية :

3- عمل مستودع في حاسوبك : سنقوم في البداية بانشاء مجلد ( يفضل ان يكون بنفس اسم المستودع اوالبرنامج لديك على NotABug ) وهو في حالتنا testpy و نتوجه له من خلال الطرفية ,  الان لنتعرف على بعض اوامر Git التي سنستخدمها :

  • init : يقوم هذا الامر بعمل نسخة اولية من المستودع داخل المجلد من انشاء مجلد .git المخفي و الذي يحتوي على الاعدادات و مسارات الملفات
  • add : يقوم هذا الامر باضافة الملفات المراد رفعها الى المستودع بتحديد اسم الملف بعد الامر لرفع ملف مفرد او كتابة نقطة dot بعده لتحديد جميع الملفات
  • commit : يقوم امر التعليق باضافة تعليق توضيحي لعملية الرفع و تسجيل التغييرات التي جرت على الملفات , و التي اعتبرها من افضل خصائص Git  على الاطلاق , فاهمية هذا الامر هي مساعدة المستخدم على تحديد مراحل التطوير , لنوضح الامر قليلا , لنفترض ان مشروعك يحتوي على ثلاث ملفات مرقمة من رقم واحد الى الثلاثة و قمت برفعها الى المستودع و عند كتابة الامر commit اضفت التعليق (initial files) على سبيل المثال , بعد الرفع ستجد جميع الملفات التي قمت برفعها تحتوي على كلمة (initial files) كتعليق توضيحي , بعد ذلك قمت  بتعديل احد الملفات و ليكن الملف الثاني فقط و قمت برفعه لوحده فقط مع اضافة التعليق التوضيحي (editing second file) , ستجد ان الملفات السابقة تحتفظ بالتعليق السابق مع تغير تعليق الملف الثاني فقط الى (editing seconf file) و هذه العملية ستتيح للمستخدمين تمييز الملفات التي تم تعديلها عن الملفات الغير معدلة و توضيح سبب التعديل , الشيء الاخر هو امكانية الرجوع الى فترة زمنية محددة اذ ان Git تقوم بعملية بامكاننا تسميتها بلقطات للمستودع يمكننا الرجوع لها في اي وقت نريد.
  • clone : يقوم هذا الامر بعمل نسخة من المستودع بالكامل داخل حاسوبك , و يستخدم هذا الامر عادة مع المستودعات الموجودة مسبقا لعمل نسخة منها و ليس مع المستودعات الجديدة.
  • push : يقوم هذا الامر برفع الملفات الى المستودع
  • pull : يقوم هذا الامر بعمل مزامنة مع المستودع الاصلي و تحديث الملفات الموجودة في حاسوبك مع الملفات التي في المستودع الاصلي

الان لنقم بتطبيق لهذه الاوامر :

سنقوم في البداية بالتوجه الى مسار المستودع الذي انشاءناه في مجلد المنزل  ثم نقوم باستنساخ المستودع بالكامل فكما وضحنا سابقا بان الامر clone سيقوم استنساخ المستودع بالكامل الى حاسوبك في المسار الذي حددناه له , قم بكتابة الامر التالي في الطرفية :

git clone [url]

لنقم بتوضيح الامر السابق , كما لاحظت في الامر السابق ان كلمة git كتبت قبل الامر clone , و ذلك لان clone هو احد اوامر git , فعند كتابة اي امر من الاوامر يجب ان نسبقها  بـ git ,  بعدها نكتب الرابط الخاص بالمستودع :

Screenshot-urukos@hayder: ~-Git-1

مبارك عليك الان اصبح لديك نسخة طبق الاصل من المستودع في حاسوبك , لكن لو توجهت الى المسار و فتحت المجلد ستجد ان المجلد فارغ لاننا لم نضع اي ملف بداخله , الان لننتقل الى الخطوة التالية وهي اضافة الملفات و رفعها الى المستودع

4- اضافة الملفات و رفعها الى المستودع : الان لنكتب برنامجنا الكبير بلغة بيثون …………. و الذي يقوم بطباعة كلمة مرحبا !!!! ( برنامج متعب حقيقة 🙂 ) و لنضيف له ملف README.me و الذي سنضع بداخله وصف مختصر لبرنامجك و ترخيصه , الان يجب عمل اضافة للملفات و تحضيرها للرفع الى المستودع و ذلك يتم من خلال الامر add ,و كما ذكرنا سابقا  توجد طريقتين لذلك , الطريقة الاولى هي تحديد الملف المراد رفعه بصورة مفردة او تحديد الكل :

2

الان نكتب التعليق المراد اضافتة للملفات و تسجيل التغييرات من خلال الامر commit , توجد بعض الاوامر الملحقة مع الامر commit مثل (-u) و الذي سنستخدمه هنا و الذي سيقوم باظهار  الملفات التي لا يمكن تقفي اثرها ( بالامكان عدم كتابة و الاكتفاء ب commit) و للاطلاع اكثر بالامكان الرجوع الى الدليل الكامل للامر من هنا :

3

بعدها نأتي للخطوة الاخيرة و هي رفع الملفات بكتابة الامر التالي :

git push origin master

حيث سيطالبك البرنامج باسم المستخدم الخاص بك وهو في مثالنا “uruk” , ثم بعدها سيطالبك بكلمة المرور و هي في مثالنا “*******” 🙂

4

مبارك عليك تم رفع الملفات و اصبح لديك الان مستودع خاص بك 🙂

الى هنا تنتهي هذه التدوينة و هذا الدرس و سنتعرف ان شاء الله في التدوينات القادمة الى عدد من الاوامر الاخرى مثل اوامر الحذف و المزامنة و الى كيفية انشاء مستودع من خلال الطرفية فقط .

( اذا وجدت اي خطأ علمي او معلومة غير صحيحة او خطأ مطبعي الرجاء تنبيهنا عنه فنحن البشر خطاؤون و جل من لا يسهو )

إقرا المزيد

أساسيات Git و البدايات مع NotABug – الدرس الثاني

بعد ان تعرفنا في التدوينة السابقة على نظام Git و كيفية التسجيل في موقع NotABug , سنكمل اليوم ان شاء الله التدوينة الثانية لنتعرف على كيفية انشاء مستودع في موقع NotABug و لنبدأ بسم الله :

بعد ان اكملنا التسجيل , و عند تسجيل الدخول الى الموقع ستظهر لك النافذة التالية :

( ملاحظة : انقر على الصورة لمشاهدتها بالحجم الكامل )

 

4ستلاحظ وجود علامتي زائد ( + ) في الشريط العلوي الازرق و اخرى داخل المربع الاخضر كما تشاهد في الصورة , قم بتحريك مؤشر الفأرة على اي واحد منهما لتظهر لك نافذة تحتوي على ثلاثة خيارات موضحة في الصورة التالية:

5اختر الخيار الاول (New Repository) و الذي يتيح لك انشاء مستودع جديد لمشروعك لتنتقل للنافذة التالية و التي تحتوي على الامور التالية:

6– الخانة الاولى تخص اسم المستودع و الذي ستشاركه مع الاخرين او يصبح كمعرف للمشروع ككل لذلك يجب اختيار الاسم بشكل جيد فهو بمثابة URL المشروع.

– ستلاحظ خانة اختيار (CheckBox) و هذه تعتبر مهمة جدا في بعض الاحيان اذ عند تعليمها يصبح المستودع شخصي و لن يكون ظاهرا للاخرين ما عداك و هذه الخاصية غير متوفرة في الاشتراك العام على GitHub كما ذكرنا في التدوينة السابقة و يعتبر ميزة قوية

– الخانة الثالثة خاصة بوصف المشروع , قم بكتابة وصف مختصر للمشروع و اهدافة بصورة مبسطة بعيدة عن التعقيد او التشابك في الافكار

– بالنسبة للنوافذ المنسدلة (Language ) فمنها نختار لغة البرمجة التي كتب بها المشروع او اللغة الاعم و (Licence ) نحدد منها الترخيص الخاص بالمشروع و كلا الخيارين غير الزامي و لكن يفضل و بشدة تحديد ترخيص المشروع حفاظا على الحقوق الرقمية و تلافيا للسرقة العلمية

سنقوم في هذه السلسلة من التدوينات بعمل مستودع باسم (testpy) لشرح الاوامر عليه , لذلك سنضع في الخانة الاولى اسم المستودع (testpy) و نكتب وصف بسيط عن المشروع و نحدد لغة البرمجة (Python) من القائمة (Language) و نختار الترخيص (GPL3) كترخيص للمشروع

الان بعد ان انتهيت من كتابة المعلومات اللازمة للمشروع انقر على الزر الازرق (Creat Repository) لانشاء المستودع و مبارك عليك المستودع الجديد بالرابط التالي :  (https://notabug.org/uruk/testpy) , و لنوضح اجزاء الرابط لاننا سنحتاجه فيما بعد :
-الجزء الاول من الرابط يحتوي على عنوان الموقع بشكل عام (https://notabug.org)

-الجزء الثاني يحتوي على اسم المستخدم وهو في مثالنا باسم (uruk) و الذي قمنا بانشاءه في التدوينة السابقة

-الجزء الثالث يحتوي على اسم المستودع و الذي في مثالنا باسم (testpy)

ليتكون الرابط بشكل عام متكونا من  ( اسم الموقع + اسم المستخدم + اسم المستودع ) وهو في مثالنا  (https://notabug.org/uruk/testpy) وهو عنوان المستودع , و طالما ان المستخدم بامكانه انشاء اكثر من مستودع في نفس الحساب لذلك سيكون التغير فقط في اسم المستودع الاخير

و لكن الان ماذا لو اراد المستخدم مسح المستودع بالكامل او الغاءه بشكل نهائي ؟

الامر ايضا بغاية السهولة فكل ما عليك هو النقر على Setting على يمين الشاشة لتنتقل الى نافذة الاعدادات :

9قم بالنزول للاسفل في نافذة الاعدادات لتجد زر (Delete This Repository)  كل ما عليك الان النقر لتظهر لك نافذة التاكيد التالية :

Screenshotاكتب اسم المستودع المراد حذفه بشكل صحيح في الخانة الاولى , و كلمة السر الخاصة بحسابك في الخانة الثانية ثم انقر على (Confirm Deletion) ليتم حذف المستودع مع الملفات نهائيا

و سوف نتعرف في التدوينة القادمة ان شاء الله على كيفية تثبيت Git على نظامك و التعامل مع اوامره لرفع الملفات و التحديث و المزامنة و اضافة الملفات

( اذا وجدت اي خطأ علمي او معلومة غير صحيحة او خطأ مطبعي الرجاء تنبيهنا عنه فنحن البشر خطاؤون و جل من لا يسهو )

إقرا المزيد

أساسيات Git و البدايات مع NotABug – الدرس الاول

اساسيات git و البدايات مع notabug

السلام عليكم
سنتحدث في هذه التدوينات ان شاء الله عن نظام Git و كيفية التعامل معه من خلال NotAbug بصورة مختصرة و مبسطة قدر الامكان من دون الخوض في غمار التفاصيل الدقيقة لتتعرف في النهاية كيفية انشاء و تعديل و مشاركة المستودعات , فلنبدأ:
حسنا , ماهو Git ؟
على حسب التعريف الرسمي لموقع Git فهو : نظام مجاني و مفتوح المصدر للتحكم في النسخ الموزع الغير مركزي او بالانجليزية (Git is a free and open source distributed version control system)
يبدو التعريف مربك نوعا ما او معقد !!! صحيح ؟
لنقم بتبسيط التعريف عن طريق مثال بسيط :
لنفترض انك مطور او مصمم وتعمل على مشروع معين , لذلك من المؤكد ان المشروع سيحتوي على تغيرات مستمرة و اضافات و تعديلات متكررة ( لانه برنامج او مشروع ممتاز ونشيط 🙂  ) و التي ادت الى عمل المشروع بشكل ممتاز و انتشاره بصورة جيدة , و هذا ادى الى طلب مطور اخر المشاركة في تطوير المشروع , شيء جميل , ربما يكون من المستطاع ان يتم التعاون فيما بينكم على تعديلات الشيفرات المصدرية سواء بالمراسلة او التقابل في مقهى او كازينو و التباحث و التعديل على الكود او المصدر , و لكن ماذا لو ازداد عدد اعضاء الفريق سيبدو من الصعب جدا ادارة العمل او قد يصبح من المستحيل احيانا في المشاريع الضخمة و الكبيرة ( كمشروع نواة لينكس )!!!
او لنفترض ان المشروع قد تم التعديل عليه و هذا التعديل احدث ضررا في الشفرة المصدرية و ادى الى حصول علل ادت الى عدم عمله بصورة صحيحة و الكارثة الاتعس انه لا توجد نسخة احتياطية اخرى من البرنامج عندما كان يعمل بصورة صحيحة ( يوم سيء و فأل مزعج فعلا 🙁  ) !!!
و هذه الامور حصلت بالفعل للكثير من المشاريع فما هو الحل في هذه الحالة ؟
هنا جاءت فكرة انشاء ادوات تقوم بعمل ادارة و مزامنة و مشاركة منظمة بين اعضاء الفرق لتسهيل العمل فيما بينهم و تنسيق الامور و عمل نسخ احتياطية للشفرة المصدرية ( بمعنى ادق حل المشاكل التي قمنا باستعراض بعضها ) و لعل اشهرها و افضلها على الاطلاق هو Git وهو ما سنتعلم كيفية التعامل معه .اعتقد ان التعريف اصبح واضحا الان .
تم انشاء Git من قبل لينوس تورفالدز Linus Torvalds في سنة 2005 للقيام بادارة تطوير نواة لينكس و الذي تطور فيما بعد و يصبح على ماهو عليه الان لتستخدمه كبرى الشركات مثل Google او facebook او twitter او ميكروسوفت و غيرها العديد من الشركات و المشاريع.
من مميزات ال Git امكانية تثبيته على العديد من الانظمة و التعامل معه مثل نظام جنو/لينكس او ووندوز او ماك او اس و يمتاز بسهولة التعامل مع اوامره و انشاء المستودعات Repository (المستودع من تسميته يمكن تشبيهه بالخزانة او الحاوية التي تجمع ملفات او مجلدات في مكان واحد لحفظها او مشاركتها فيما بعد , “و الذي سيأخذ حيز كبير من هذه الدروس” ) , كذلك امكانية رجوع التعديلات الى وقت سابق و محدد و الكثير غيرها من الامور .
يوجد العديد من التطبيقات الرسومية و تطبيقات الوب التي تتيح التعامل مع ال Git , و سنتعرف في هذه الدروس على كيفية استخدام NotAbug ( و الذي يتشابه كثيرا مع GitHub) على انظمة جنو/لينكس فما تطبقه في NotAbug من اوامر او تطبيق يمكن استخدامه في GitHub,
و لكن قبل ذلك ماهو NotAbug و GitHub اصلا ؟ و لماذا نستخدم NotAbug بدلا من GitHub ؟!!!!!!
NotAbug او GitHub هي مواقع انترنت ( او بتعبير اصح تطبيقات وب ) تتيح للمستخدم التعامل مع Git و انشاء المستودعات و مشاركتها , و لكن لماذا NotAbug ؟
لعل اهم الاسباب التي جعلتنا نختاره هو الرخصة الحرة تماما و توفر الكود المصدري له بشكل حر و شفاف على العكس من GitHub الذي كوده المصدري غير متوفر بشكل واضح و رسمي على الرغم من انه يحتوي على مشاريع حرة و مفتوحة المصدر .
الشيء الاخر هو ان NotAbug يحتوي على خصائص متاحة بالمجان لا يمكن استخدامها في GitHub مثل المستودع الخاص , فلو اردت مثلا ان تقوم بانشاء مشروع خاص بك لاي سبب كان سواء كان غير منتهي الانشاء او لمجرد الحصول على الخصوصية , يجب عليك ان تدفع مبلغا من المال شهريا( اشتراك شهري) للحصول على هذه الخدمة في GitHub , اما على صديقنا العزيز NotAbug فهو متاح بالمجان ( مع قبلة حب كبيرة 🙂  )
من اجل انهاء المهمة سنحتاج الى :
1- التسجيل في موقع NotAbug
2- انشاء مستودع على NotAbug
3- عمل نسخة من المستودع على جهازك و من ثم اضافة ملفات المراد رفعها على ال NotAbug
4- التعرف على اهم الاوامر لمزامنة الملفات مع المستودع الاصلي
لذلك نحتاج في البداية الى ايميل لاكمال عملية التسجيل لذلك  و سنفترض ان لديك ايميل , قم بالتوجه الى موقع NotAbug عن طريق الرابط التالي https://notabug.org/ لتظهر لنا النافذة التالية :

ملاحظة : خطوات التسجيل هي نفسها تقريبا على GitHub

( ملاحظة : انقر على الصورة لمشاهدتها بالحجم الكامل )

1
انقر على رز Register للانتقال الى صفحة التسجيل قم بادخال المعلومات المطلوبة كما في الصورة التالية :

2
مبارك عليك لقد تم التسجيل بشكل ناجح بالموقع
المرحلة التالية هي انشاء المستودع على الموقع و هذا ما سنتعرف عليه في التدوينة القادمة ان شاء الله.

( اذا وجدت اي خطأ علمي او معلومة غير صحيحة او خطأ مطبعي الرجاء تنبيهنا عنه فنحن البشر خطاؤون و جل من لا يسهو )

إقرا المزيد

تشفير اتصالك وفتح المواقع المحجوبة TOR

TORonGNU-Linuxبرنامج tor من البرامج القوية جدا في موضوع امن وحماية خصوصية المستخدمين في تصفح الانترنت فهو يستخدم لتشفير اتصالك ووضعك في موضع امن بعيدا عن اعين المراقبين لك ،

لتثبيت البرنامج على جنو/لينكس تابع هذا الفيديو : http://youtu.be/_AE-PTs55LI

في الفيديو السابق لم اتطرق لشرح كيفية فتحه على كروم او كروميوم لاني لم اقم بتثبيت اي منهما ، الطريقة ببساطة كالتالي :

على التوزيعات الدبيانية بشكل عام ، اوبنتو ولينكس منت اضغط alt + f2 ثم ادخل الامر التالي :

chromium-browser --proxy-server="socks://localhost:9050"

في بعض التوزيعات يمكنك استخدام هذا الأمر :

chromium --proxy-server="socks://localhost:9050"

 

ماذا عن متصفح قوقل كروم ؟

google-chrome --proxy-server="socks://localhost:9050"

إقرا المزيد

هل الفيسبوك خبيث ؟ إيقاف تجسس الفيسبوك .

Evil-Facebook1بغض النظر عن كونك تحب أو تكره الفيسبوك ، هل تعلم أن الفيسبوك يقوم بسلب خصوصيتك ليس فقط في الموقع بل في مواقع عديدة . يقول البعض أنا لا أهتم طالما كنت استخدم الفيسبوك لمصلحتي ، لكن المشكلة ليست هنا ، المشكلة أن الفيسبوك عند دخولك إليه فهو يسلبك كل معلومات الكوكيز “الكعكات” في جهازك بحيث يعرف عنك أشياء يفترض أن لا يعرفها بشكل افتراضي .
للتوضيح أكثر ، يفترض أن الموقع الإلكتروني لا يأخذ من معلوماتك سوى التي تتعلق بالموقع فقط ، لكن الفيسبوك سيقوم وبلا مبالاة بالحصول على آخر معلومات التصفح الخاصة بك ليس فقط على موقع الفيسبوك بل في أي مكان يوجد به زر الإعجاب الخاص بهم فسوف يقوم الفيسبوك بالتسلط على خصوصيتك وأخذ معلوماتك ، والمشكلة إذا كنت بشكل دائم تستخدم الفيسبوك وتكون دائما متصل “لم تسجل خروج” فهو بمجرد زيارتك يقوم بأخذ هذه الزيارة وتسجيلها بأنك قمت بزيارة هذه الصفحة في هذا الوقت في هذا التاريخ . وبسبب وجود زر الإعجاب هذا في كل مكان في المواقع “متى آخر مرة لم تشاهده ؟” فإن الفيسبوك يعلم عن تواجدك في المواقع هذه . حسنا مالحل ؟

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

حمل الإضافة هنا

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

إقرا المزيد

تثبييت كروميوم على كالي لينكس

بسم الله الرحمن الرحيم

كثير منا يفضل استخدام متصفح كروميوم عوض عن فايرفوكس،و لكن عملية تركيب المتصفح على توزيعة اختبار الإختراق الجديدة كالي لينكس عملية صعبة بعض الشيء ﻷن التوزيعة ﻻ تحوي على المخازن المطلوبة،لهذا ﻻ تستطيع تثبيت المتصفح عليها

chromium_icon

من  أجل ذلك نتبع الخطوات التالية:

– قم بفتح الملف التالي

etc/apt/sources.list/

عن طريق أي محرر تفضله و قم بإضافة الأسطر التالي

deb http://http.kali.org/ /kali main contrib non-free

deb http://http.kali.org/ /wheezy main contrib non-free

قم بحفظ الملف،و توجه إلى الطرفية(الترمينال) و قم بتحديث المخازن عن طريق

apt-get update

الآن قم بتثبيت محرر الهيكس عن طريق

apt-get install hexedit

بعد الإنتهاء قم بتثبيت متصفح كروميوم عن طريق

apt-get install chromium

بعد الإنتهاء من التثبيت،لن تستطيع تشغيل المتصفح ﻷنه لن يعمل على صلاحيات المستخدم الجذر و لهذا قم توجه إلى الترمينال و اكتب

hexedit /usr/lib/chromium/chromium

أضغط على مفتاح TAB من لوحة المفاتيح و بعدها CTRL+S للبحث عن geteuid و استبدلها ب geteppid و قم بالحفظ عن طريق CTRL+X.

تم بحمد الله

الموضوع الأصلي

إقرا المزيد