السلام عليكم
سحاول أن استعرض الأمر بصفة مرتبة و مبسطة تسهل على المبتدأ ان يخوض فيها | بسم الله
١ - المشكلة:
- ليس من السهل ان تنصب برنامج على لينكس بدون انترنت لانها تتطلب اعتماديات و تختلف من جهاز لآخر
٢ - الحل:
- سنقوم على إنشاء ملفات تنفذذية مثل exe على ويندوز لكل البرامج التي نريدها
٣ - ما هي المتطلبات؟:
- أبنتو ١٢٫٠٤ قرص حي مع جهاز قادر على الاقلاع بها ثم العمل عليها
- وجود اتصال انترنت في حالة احببنا أن ننشأ ملف تنصيب لبرنامج ما
- البرنامج makeself (من هنا نزل حزمة لأبنتو ١٢٫٠٤ بالمعمارية التي تود اذا كنت تنوي تنصيبه يدويا بإستخدام dpkg)
- سكريبت التنصيب المسمى installer (حمل نسخة مضغوطة منه بالمرفقات)
- الأداة Zenity لإنشاء مربعات الحوار على gtk (موجودة افتراضيا مع أبنتو ١٢٫٠٤ القياسية)
- قرص فلاش لنقل البرنامج إلى الجهاز الآخر (يمكنك ان تضعه على قرص جهازك الحالي)
٤ - ما هي الشروط؟:
- أن يكون بطنك مملوء :*)
- نظام أبنتو ١٢٫٠٤ نظيف سنقوم من خلاله بإنشاء البرنامج التنفيذي (في حالتنا هذه سنقلع من قرص حي)
- أن يكون الجهاز الذي سينصب عليه البرنامج التنفيذي مستقبلا منصب ابنتو ١٢٫٠٤ قياسيا
٥ - دعنا نبدأ!! :
- ادخل قرص حي أبنتو ١٢٫٠٤ و اقلع منه بجهاز مربوط بالنت
- تنصيب makeself
من النات بالامر:
أو يدويا بالأمر:
- مثلا نريد ان نعمل برنامج تنفيذي لـ Vlc , فالخطوة الأول ننشأ دليل بالاسم vlc بدليل المنزل بإستخدام الماوس أو الامر:
- ندخل الى الدليل vlc من خلال الطرفية بالامر:
- هذا الامر يقوم بجلب جميع روابط الاعتماديات و اسماءهم بالإضافة إلى مفتاح md5 لكل واحد و يضعهم في ملف اسمه vlc بالدليل vlc:
كما ترى انت لست في حاجة إلى sudo , يمكنك ان تلقي نظرة على الملف لتتأكد
- سنقوم بالان بإستخدام اللغة awk للحصول على ملف جديد اسمه vlc.sh انطلاقا من الملف vlc يكون به روابط الحزم فقط دون الخرابيط الإضافية:
يمكنك أن تلقي نظرة على الملف vlc.sh لترى روابط حزم deb فقط
- الأن سنقوم بتنزيل جميع تلك الروابط التي بالملف vlc.sh بالامر wget في الدليل الذي نتموقع به حاليا vlc من خلال الأمر:
يمكنك ان ترى انه قد تشكل لديك العديد من الحزم بالدليل vlc و كل ما عليك الإنتظار حتى ينتهي
- نحن نحتاج إلى قائمة مصادر apt و التي سنفكها لاحقا بالنظام المستقبل, نقوم بذلك الأمر:
انت ترى اننا نحتاج إلى sudo في هذه
- الآن نضيف الى هذه الطبخة ملف installer بالماوس او بالأمر:
- الان يمكنك مطالعة السكريبت installer بأي محرر مثل nano او gedit ستلاحظ أنه صمم للبرنامج appname
سنغير appname بـ vlc على مستتوى كامل الملف بالأمر:
ملاحظة هامة: اذا كان اسم البرنامج يختلف عن ما هو لدى apt يجب عليك تعديل اسمه كما هو لدى apt بسطري التنصيب على مستوى السكريبت installer
أي أن هذا السطر على مستوى سكريب installer
يصبح:
لأن البرنامج Vlc عند apt إسمه vlc و ليس Vlc أو vlc-2.0.1
أي ان الإسم يكون هو الاسم الذي طلبت به معتمدياته (يمكن أن يكون أكثر من واحد-حزمة لها معتمديات- فهذا صديقنا apt)
- شيء أخر سنعدله بداخل السكريبت و هو مكان تنصيب البرنامج الذي هو Internet و سنغيره إلى Media , يدويا على مستوى السطر:
يصبح:
او نقوم بذلك بالأمر:
- الان نفعل خيار التنفيذ لسكريبت installer:
بالماوس ننقر يمينا و نختار (خصائص-Properties) و من التبويب (التصاريح-permissions) نفعل الإختيار (السماح بإمكانية تنفيذ الملف كبرنامج-Allow exexuting file as program)
أو نقوم بذلك من خلال الطرفية بالأمر:
- الأن نقوم بإنشاء البرنامج التنفيذي بالأمر:
بعد الإنتهاء ستجد ملف تنفيذي بالمكان الذي نفذت منه هذا الامر إسمه vlc.fzz
vlc.fzz يشبه ملف التنصيب exe على ويندوز و لكن للينكس يمكنك من تنصيب vlc بدون انترنت على أبنتو ١٢٫٠٤ المنصبة قياسيا
انقر عليه فقط نقرتين و اضغط (تشغيل في الطرفية-Run in Terminal)
و إتبع الخطوات
- صورة على البساطة:

ملاحظة:
/patch/ هو المسار لذلك الملف أو المجلد فإذا كان موجود بالدليل الحالي احذف /patch/ أي أمر مثل:
يصبح هكذا إن كان ملف installer بالدليل vlc و انت تتموقع بهذا الدليل:
المصدر:
http://wiki.bodhilinux.com/doku.php?..._-_howto_build
سحاول أن استعرض الأمر بصفة مرتبة و مبسطة تسهل على المبتدأ ان يخوض فيها | بسم الله
١ - المشكلة:
- ليس من السهل ان تنصب برنامج على لينكس بدون انترنت لانها تتطلب اعتماديات و تختلف من جهاز لآخر
٢ - الحل:
- سنقوم على إنشاء ملفات تنفذذية مثل exe على ويندوز لكل البرامج التي نريدها
٣ - ما هي المتطلبات؟:
- أبنتو ١٢٫٠٤ قرص حي مع جهاز قادر على الاقلاع بها ثم العمل عليها
- وجود اتصال انترنت في حالة احببنا أن ننشأ ملف تنصيب لبرنامج ما
- البرنامج makeself (من هنا نزل حزمة لأبنتو ١٢٫٠٤ بالمعمارية التي تود اذا كنت تنوي تنصيبه يدويا بإستخدام dpkg)
- سكريبت التنصيب المسمى installer (حمل نسخة مضغوطة منه بالمرفقات)
- الأداة Zenity لإنشاء مربعات الحوار على gtk (موجودة افتراضيا مع أبنتو ١٢٫٠٤ القياسية)
- قرص فلاش لنقل البرنامج إلى الجهاز الآخر (يمكنك ان تضعه على قرص جهازك الحالي)
٤ - ما هي الشروط؟:
- أن يكون بطنك مملوء :*)
- نظام أبنتو ١٢٫٠٤ نظيف سنقوم من خلاله بإنشاء البرنامج التنفيذي (في حالتنا هذه سنقلع من قرص حي)
- أن يكون الجهاز الذي سينصب عليه البرنامج التنفيذي مستقبلا منصب ابنتو ١٢٫٠٤ قياسيا
٥ - دعنا نبدأ!! :
- ادخل قرص حي أبنتو ١٢٫٠٤ و اقلع منه بجهاز مربوط بالنت
- تنصيب makeself
من النات بالامر:
كود:
sudo apt-get install makeself
أو يدويا بالأمر:
كود:
sudo dpkg -i /patch/makeself*****.deb
- مثلا نريد ان نعمل برنامج تنفيذي لـ Vlc , فالخطوة الأول ننشأ دليل بالاسم vlc بدليل المنزل بإستخدام الماوس أو الامر:
كود:
mkdir ~/vlc
- ندخل الى الدليل vlc من خلال الطرفية بالامر:
كود:
cd ~/vlc
- هذا الامر يقوم بجلب جميع روابط الاعتماديات و اسماءهم بالإضافة إلى مفتاح md5 لكل واحد و يضعهم في ملف اسمه vlc بالدليل vlc:
كود:
apt-get -qq --print-uris install vlc > vlc
كما ترى انت لست في حاجة إلى sudo , يمكنك ان تلقي نظرة على الملف لتتأكد
- سنقوم بالان بإستخدام اللغة awk للحصول على ملف جديد اسمه vlc.sh انطلاقا من الملف vlc يكون به روابط الحزم فقط دون الخرابيط الإضافية:
كود:
awk '{gsub("\x27", "", $0); print $1}' < vlc > vlc.sh
يمكنك أن تلقي نظرة على الملف vlc.sh لترى روابط حزم deb فقط
- الأن سنقوم بتنزيل جميع تلك الروابط التي بالملف vlc.sh بالامر wget في الدليل الذي نتموقع به حاليا vlc من خلال الأمر:
كود:
wget -i vlc.sh
يمكنك ان ترى انه قد تشكل لديك العديد من الحزم بالدليل vlc و كل ما عليك الإنتظار حتى ينتهي
- نحن نحتاج إلى قائمة مصادر apt و التي سنفكها لاحقا بالنظام المستقبل, نقوم بذلك الأمر:
كود:
sudo cp -r /var/lib/apt/lists ~/vlc
انت ترى اننا نحتاج إلى sudo في هذه
- الآن نضيف الى هذه الطبخة ملف installer بالماوس او بالأمر:
كود:
cp /patch/installer ~/vlc
- الان يمكنك مطالعة السكريبت installer بأي محرر مثل nano او gedit ستلاحظ أنه صمم للبرنامج appname
سنغير appname بـ vlc على مستتوى كامل الملف بالأمر:
كود:
sed -i 's/appname/vlc/gI' /patch/installer
ملاحظة هامة: اذا كان اسم البرنامج يختلف عن ما هو لدى apt يجب عليك تعديل اسمه كما هو لدى apt بسطري التنصيب على مستوى السكريبت installer
أي أن هذا السطر على مستوى سكريب installer
كود:
sudo apt-get -y --force-yes --no-download --ignore-missing install Vlc
يصبح:
كود:
sudo apt-get -y --force-yes --no-download --ignore-missing install vlc
لأن البرنامج Vlc عند apt إسمه vlc و ليس Vlc أو vlc-2.0.1
أي ان الإسم يكون هو الاسم الذي طلبت به معتمدياته (يمكن أن يكون أكثر من واحد-حزمة لها معتمديات- فهذا صديقنا apt)
- شيء أخر سنعدله بداخل السكريبت و هو مكان تنصيب البرنامج الذي هو Internet و سنغيره إلى Media , يدويا على مستوى السطر:
كود:
"<b>appname Installed</b>\nFind it in your applications menu under <i>Internet</i>"
يصبح:
كود:
"<b>Vlc Installed</b>\nFind it in your applications menu under <i>Media</i>"
او نقوم بذلك بالأمر:
كود:
sed -i 's/Internet/Media/gI' /patch/installer
- الان نفعل خيار التنفيذ لسكريبت installer:
بالماوس ننقر يمينا و نختار (خصائص-Properties) و من التبويب (التصاريح-permissions) نفعل الإختيار (السماح بإمكانية تنفيذ الملف كبرنامج-Allow exexuting file as program)
أو نقوم بذلك من خلال الطرفية بالأمر:
كود:
chmod +x ~/vlc/installer
- الأن نقوم بإنشاء البرنامج التنفيذي بالأمر:
كود:
sudo makeself --nox11 --bzip2 ~/vlc vlc.fzz "vlc RSS Reader" ./installer
بعد الإنتهاء ستجد ملف تنفيذي بالمكان الذي نفذت منه هذا الامر إسمه vlc.fzz
vlc.fzz يشبه ملف التنصيب exe على ويندوز و لكن للينكس يمكنك من تنصيب vlc بدون انترنت على أبنتو ١٢٫٠٤ المنصبة قياسيا
انقر عليه فقط نقرتين و اضغط (تشغيل في الطرفية-Run in Terminal)
و إتبع الخطوات
- صورة على البساطة:
ملاحظة:
/patch/ هو المسار لذلك الملف أو المجلد فإذا كان موجود بالدليل الحالي احذف /patch/ أي أمر مثل:
كود:
sed -i 's/appname/vlc/gI' /patch/installer
يصبح هكذا إن كان ملف installer بالدليل vlc و انت تتموقع بهذا الدليل:
كود:
sed -i 's/appname/vlc/gI' installer
http://wiki.bodhilinux.com/doku.php?..._-_howto_build
تعليق