الصفحة الرئيسية » howto » أطلق العنان للطاقة أكثر من جهاز التوجيه المنزلي الخاص بك مع DD-WRT Mod-Kit

    أطلق العنان للطاقة أكثر من جهاز التوجيه المنزلي الخاص بك مع DD-WRT Mod-Kit


    لقد أظهرنا لك بالفعل كيفية تعديل جهاز التوجيه المنزلي الخاص بك مع البرامج الثابتة البديلة DD-WRT للحصول على أداء محسن بشكل كبير ، واليوم سوف نوضح لك كيف نتعامل معه بشكل أكبر مع طقم التعديل DD-WRT.

    إذا لم تكن قد قمت بذلك بالفعل ، فاحرص على مراجعة المادتين السابقتين في السلسلة:

    • قم بتشغيل جهاز التوجيه المنزلي الخاص بك إلى جهاز توجيه يعمل بشكل ممتاز مع DD-WRT
    • كيفية زيادة إشارة شبكة Wi-Fi وزيادة النطاق باستخدام DD-WRT

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

    نظرة عامة

    سيعطي هذا الدليل خطوة بخطوة حول كيفية إنشاء البرامج الثابتة DD-WRT الخاصة بك مع التعديلات والإضافات باستخدام "طقم تعديل البرامج الثابتة".

    تمكن مجموعة تعديل البرامج الثابتة من إجراء تعديلات على البرامج الثابتة دون تجميعها من المصدر. يصبح إجراء تغييرات بهذه الطريقة ، بمساعدة النصوص البرمجية المقدمة ، أمرًا بسيطًا هو تنزيل بعض الملفات واستبدالها وحذفها.

    السبب الأكثر استخدامًا لهذه الطريقة هو أن دعم DD-WRT لحزم Openwrt IPKG قد تحول مؤخرًا نحو أجهزة التوجيه التي تحتوي على محركات أقراص ثابتة (عبر USB) ، مما يجعل مجموعة mod-mod هي الطريقة الوحيدة المستمرة في تثبيت حزم IPKG بنجاح للحالات حيث HD غير متوفر. بالإضافة إلى ذلك ، تتميز هذه الطريقة بميزة إضافية تتمثل في إعفائك من تبعية JFFS لتركيب الحزم ، والتي تعتبر بالنسبة لأجهزة التوجيه التي تحتوي على 4 ميغا بايت فقط من الفلاش مشكلة حقيقية.

    صورة من قبل العامة

    الأهداف

    في حين أن تعليمات هذا الإجراء ، مفصلة على ويكي DD-WRT وعلى موقع المطور ، نهدف إلى جعل هذا الدليل إجراء نسخ ولصق يمكن لأي شخص استخدامه لتحقيق الأهداف التالية:

    • تثبيت حزمة knockd واعتمادياتها.
    • قم بتثبيت حزمة ssmtp مع تكوينات NVRAM التي تم إنشاؤها على أساس.
      • اختياريًا مع دعم TLS smtp (a.k.a. دعم Gmail).

    بمجرد اتباع هذا الإجراء ، يجب أن يكون بسيطًا بشكل ملائم لتكييفه مع عمليات تثبيت الحزم الأخرى.

    تحذير: فكر بخفة ... ضع في اعتبارك أن الاستخدام غير الصحيح لمجموعة التعديل ، يمكن أن يتركك مع جهاز توجيه يحتاج إلى إزالة الطوب (كما هو الحال في الطوب غير ذي الفائدة). ومع ذلك ، إذا كنت مهووسًا حقيقيًا ، فمن المحتمل أن تشترك في الإيديولوجية التي ، من يستطيع تدمير شيء ما ، يتحكم في شيء ما ، وفقط المهووسون الحقيقيون يفعلون ذلك

    المتطلبات الأساسية

    1. يمكن استخدام هذا الإجراء قالب طوب جهاز التوجيه الخاص بك ، كما هو الحال في جعل جهاز التوجيه الخاص بك غير صالح للإستعمال, نحن لا نتحمل أي مسؤولية عن أي أضرار قد تحدث مباشرة أو غيرها من الحكمة بسبب استخدام الإجراءات أدناه.
    2. تم تنفيذ هذا الإجراء على أنظمة ديبيان (Lenny، Squeeze and Mint) وتفترض التعليمات أدناه أنك تستخدم واحدًا أيضًا.
    3. يُنصح بهذا الإجراء فقط للأشخاص الذين لديهم خبرة في عمل وميض جهاز التوجيه الخاص بهم باستخدام DD-WRT ، مع كافة المتطلبات الأساسية والمحاذير والقيود التي تنطبق على إعداد الأجهزة الخاصة بهم. سيكون مكاننا المناسب لبدء تشغيلنا هو تشغيل جهاز التوجيه المنزلي الخاص بك في موجه يعمل بشكل ممتاز مع دليل DD-WRT.
    4. يجب أن يدعم جهاز التوجيه الخاص بك على الأقل الإصدار "المصغر" من DD-WRT.
    5. تم إنشاء هذا الإجراء واختباره على أجهزة توجيه Linksys WRT54GS / L ، إذا كنت تستخدم أجهزة التوجيه من موردين آخرين ، فقد تكون المسافة المقطوعة.

    اقامة

    تثبيت الحزم المطلوبة

    تحتوي مجموعة تعديل البرامج الثابتة على بعض التبعيات لتجميعها والعمل عليها. من أجل تثبيت / تحديثها كلها مرة واحدة إصدار هذا الأمر في محطة:

    sudo aptitude install gcc g + binutils patch bzip2 flex bison make gettext unzip zlib1g-dev libc6 svversion

    قم بتنزيل mod-kit

    إنشاء مجلد فرعي ، والحصول على المجموعة من SVN الرسمية:

    mkdir firmware_mod_kit
    مؤتمر نزع السلاح firmware_mod_kit
    svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-read-only
    مؤتمر نزع السلاح الثابتة الثابتة والمتنقلة عدة للقراءة فقط / الجذع /

    قم بتنزيل برنامج ثابت للعمل عليه

    أول شيء يجب أخذه بعين الاعتبار هو الإصدار الذي تريد استخدامه?
    والقاعدة الأساسية هي: عند الشك في استخدام "mini". هذا لأنه طالما أن جهاز التوجيه الخاص بك يدعم الإصدار "المصغر" على الأقل ، فإن استخدامه يمنحك جميع الميزات الأكثر استخدامًا بدون أي bloatware. وبالتالي ترك كلا المساحة للإجراءات وحتى بعض مساحة JFFS لاستخدامات أخرى في معظم الحالات.

    بمجرد اتخاذ قرار بشأن إصدار ما ، يوصى باستخدام أحدث مراجعة للبرامج الثابتة المتاحة ، حيث يميل إلى وجود الكثير من إصلاحات الأخطاء مقارنة بنظيراتها "المستقرة".
    في وقت كتابة هذه السطور ، كان آخرها "03-17-11-r16454" ويتم استخدام هذه المراجعة في الأوامر التالية.

    wget http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/BrainSlayer-V24-preSP2/2011/03-17-11-r16454/broadcom/dd-wrt.v24_mini_generic.bin

    من أجل تسهيل تتبع الإصدار الذي نستخدمه ، أعد تسمية الملف الذي تم تنزيله لتمثيل رقم إصداره:

    mv dd-wrt.v24_mini_generic.bin dd-wrt.v24_mini_generic-03-17-11-r16454.bin

    هذا بالطبع اختياري ، ولكن تفترض الأوامر أدناه أنك قمت بإعادة تسمية الملف.

    استخراج البرامج الثابتة

    لكي تتمكن من تغيير الملفات داخل البرنامج الثابت ، نحتاج إلى استخراج محتواه في دليل مؤقت.
    بناء جملة هذا الأمر هو:
    ./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
    في حالتنا ، سيترجم هذا إلى:

    ./extract_firmware.sh dd-wrt.v24_mini_generic-03-17-11-r16454.bin ./working_dir_mini1

    ملاحظة: في المرة الأولى التي تقوم فيها بتشغيل هذا الأمر ، يقوم بإنشاء أدوات mod-kit على النظام الخاص بك. يحدث هذا مرة واحدة فقط وقد يستغرق بعض الوقت ... لذا كن صبورا ...

    تثبيت الحزم

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

    حزمة knockd

    سيتم تفصيل تعليمات مفصلة حول كيفية تكوين Knockd واستخدامه في مقالة مستقبلية ، لذلك يمكنك اختيار تخطي هذه الخطوة في الوقت الحالي أو القيام بها استعدادًا للمستقبل حيث لا تأخذ Knockd مساحة كبيرة على أية حال.

    Knockd هو برنامج خفي يستمع إلى أحداث التواصل في طبقة الوصلات للتسلسلات ثم يعمل عليها.
    ما يعنيه هذا ، هو أنه بإمكانك تشغيل الجهاز الخفي حتى "الاستماع" على المنافذ (لن يراه مسح المنافذ مفتوحًا) وما زال يجعله يفعل شيئًا تحتاج إليه ، من أمر واحد على طول الطريق إلى نص كامل. باستخدام هذه التقنية ، يمكنك تشغيل الخادم لإجراء أي نوع من العمليات التي تحتاج إليها عن بعد (عبر الإنترنت) دون تعريض الشبكة المنزلية.

    لدى Knockd تبعية واحدة فقط ، لذا قم بتنزيل الحزمة واعتماديتها من خلال إصدار:

    wget http://downloads.openwrt.org/backports/rc5/knockd_0.5-1_mipsel.ipk
    wget http://downloads.openwrt.org/whiterussian/packages/libpcap_0.9.4-1_mipsel.ipk

    قم بتثبيت ipk "خبط البرنامج" (knockd) في البرنامج الثابت:

    ./ipkg_install.sh knockd_0.5-1_mipsel.ipk ./working_dir_mini1/

    قم بتثبيت ipk "packet capture" (libpcap) في البرنامج الثابت:

    ./ipkg_install.sh libpcap_0.9.4-1_mipsel.ipk ./working_dir_mini1/

    كما يمكن استدعاء "knockd" باستخدام ملف تكوين بديل (كيف سيتم شرحه في مقالة مستقبلية) ، لا توجد حاجة للقيام بأي عملية أخرى ويمكنك تخطي قسم مبنى البرامج الثابتة ، إذا كان كل ما تريد تثبيته.

    حزمة SSMTP

    تمكّن حزمة SSMTP الموجّه من إرسال رسائل البريد الإلكتروني مثلما ظهرنا في تنبيهاتنا حول كيفية إعداد البريد الإلكتروني على Linux باستخدام Gmail أو SMTP للخوادم. لقد وعدناكم في ذلك الوقت بأن نوضح كيفية تكوين هذا لـ DD-WRT وسوف نقوم الآن بالتوصيل.
    يفيد ذلك بشكل أساسي إذا كنت بصدد إنشاء نصوص برمجية على جهاز التوجيه ترغب في تلقي تعليقات بشأن عملها عبر البريد الإلكتروني.

    إعداد هذه الحزمة أكثر تعقيدًا بعض الشيء ، حيث إنه على أنظمة Linux العادية بسبب القيود المفروضة من قبل نظام مضمن ، لذا خذ نفسًا عميقًا… جاهزًا .... لنذهب… :)

    قم بتنزيل الحزمة:

    wget http://downloads.openwrt.org/backports/rc5/ssmtp_2.61-1_mipsel.ipk

    قم بتثبيت "ssmtp" ipk في البرنامج الثابت:

    ./ipkg_install.sh ssmtp_2.61-1_mipsel.ipk ./working_dir_mini1/

    دعم TLS (اختياري)
    لا تدرج SSMTP أي حزم أخرى كاعتمادياتها ، ولكن إذا كنت ترغب في استخدام بوابة smtp تتطلب مصادقة TLS (بمعنى. جوجل) ، يجب عليك تثبيت pakage openSSL كذلك.
    ملحوظة: هناك ضخمة عائق للقيام بذلك في شكل مساحة مخفضة بشكل كبير على جهاز التوجيه لـ JFFS فيما بعد. أي أن حزمة openSSL تأخذ حوالي 500K من المساحة من إجمالي 4 ميجابايت (لجهاز توجيه عادي لا يدعم "mega") ، مركبًا على ذلك JFFS في الأعلى وستكتشف أن يسارك مع كتل قليلة ثمينة مساحة JFFS مجانية (حوالي 60 كيلوبايت على WRT54GL).

    بما أنه لا تزال هناك TLS تتطلب ملقمات smtp (عادةً ما تكون ISP الخاص بك) ، أقترح أخذ دقيقة للتفكير إذا كنت تحتاج حقًا إلى استخدام TLS الذي يتطلب بوابة.

    إذا قررت تمكين دعم TLS على الرغم من عيوبه ، قم بتنزيل حزمة openSSL:

    wget http://downloads.openwrt.org/whiterussian/packages/libopenssl_0.9.8d-1_mipsel.ipk

    تثبيت ipSS "openSSL" (libopenssl) في البرنامج الثابت:

    ./ipkg_install.sh libopenssl_0.9.8d-1_mipsel.ipk ./working_dir_mini1/

    تكوينات
    هناك قيود على حزمة SSMTP ، وأنه من غير الممكن استدعائها بملف تهيئة بديل.
    نظرًا لأن البرامج الثابتة للقراءة فقط عندما تكون على الموجه ، فإن هذا يعني أنه من الممكن أن نقوم بتركيب التكوين الثابت في البرنامج الثابت..
    ومع ذلك ، ماذا لو لم نرغب في تنفيذ جميع خطوات تعديل البرامج الثابتة ، فقط لتغيير إعدادات البريد الإلكتروني؟ (على سبيل المثال تغيير كلمة المرور).

    ولتحقيق هذه الغاية ، توصل كل من جيريمي (منشئ برامج mod-kit) ونفسي إلى الاستنتاج (بشكل مستقل إذا كنت قد أضيف بكل تواضع) أن الطريقة الوحيدة التي يمكن القيام بها هي:

    1. قم بجعل موقع ملفات التكوين الذي يشير به حزمة ssmtp إلى الموقع للقراءة فقط ضمن إلخ ، أشر إلى دليل tmp القابل للكتابة في وقت التشغيل.
    2. قم بإنشاء برنامج نصي يقوم بشكل ديناميكي بتكوين تكوينات تستند إلى متغيرات NVRAM عند بدء التشغيل.

    لتحقيق ذلك ، هناك بعض الخطوات الإضافية المطلوبة ...

    Symlink دليل التكوين ssmtp
    كما هو موضح أعلاه ، نحن بحاجة إلى جعل / الخ / ssmtp الموقع على جهاز التوجيه ، أشر إلى / تمة الدليل هو المكان الوحيد القابل للكتابة لدينا على جهاز التوجيه في وقت التشغيل. للقيام بذلك ، قم بحذف دليل ssmtp الذي تم إنشاؤه بواسطة مثبت ipk:

    rm -rf ./working_dir_mini1/rootfs/etc/ssmtp/

    قم بإنشاء ارتباط رمزي جديد يشير إلى / etc / ssmtp على نظام الملفات الجذر للموجه ، للإشارة إلى / tmp / etc / ssmtp كمسار مطلق:

    ln -s / tmp / etc / ssmtp / ./working_dir_mini1/rootfs/etc/ssmtp

    ملحوظة: على الرغم من أن هذا يبدو غير منطقي الآن ، لأننا نشير إلى دليل تكوين الحزمة إلى موقع خارج دليل عمل مجموعة أدوات تعديل البرامج الثابتة ، أؤكد لك أن هذا يبدو جيدًا تمامًا من وجهة نظر جهاز التوجيه في وقت التشغيل.

    برنامج نصي
    في حين أنه من الممكن تماما عدم حقن هذا البرنامج النصي في البرنامج الثابت وتشغيله كبرنامج نصي لبدء التشغيل في وقت لاحق ، أشعر أنه من المناسب وضعه هنا إذا كان مجرد مثال للاستخدام في المستقبل.
    في الأصل أنشأ جيريمي النص المصمم خصيصًا لطلب شخص ما ، في وقت لاحق ، عدلت وزادته ليكون أكثر توافقاً مع DD-WRT وتقارير سجل النظام.

    قم بإنشاء البرنامج النصي init (بدء التشغيل) الجديد:

    vi ./working_dir_mini1/rootfs/etc/init.d/S80ssmtp

    ملاحظة: يمكنك استخدام محرر آخر ، فأنا استخدم vi لأنه متوافق مع ما هو متاح على جهاز التوجيه ...
    اجعل هذا المحتوى الخاص به:

    #! / بن / ش
    #
    # title: ssmtp_nvram.sh
    # المؤلف: جيريمي كوليك وأفياد رافيف
    # site: http://www.bitsum.com، http://howtogeek.com
    #
    # script لإنشاء ملف config من nvram vars.
    # سيعمل لأي ملف تهيئة يستخدم
    # var = أزواج نوع القيمة.
    #
    # يستخدم بادئات لمتغيرات nvram.
    #
    # أنا.
    # ssmtp_hostname = شيء ما
    # يترجم إلى ssmtp.conf
    # hostname = شيء ما
    #
    logger_func ()

    logger -s -p local0.notice -t SSMTP_init $ 1

    logger_func "########### بدأت تشغيل SSMTP init ###########"
    logger_func "إنشاء دليل etc في / tmp"
    [! -d / etc / ssmtp /] && mkdir -p / tmp / etc / ssmtp /
    CONFIG_FILE = / الخ / ssmtp / ssmtp.conf
    NVRAM_PREFIX = ssmtp_
    PACKAGE_NAME = "echo $ NVRAM_PREFIX | sed" s / _ / / "

    logger_func "إنشاء $ CONFIG_FILE للحزمة $ PACKAGE_NAME"
    #echo $ 0: توليد $ CONFIG_FILE للحزمة $ PACKAGE_NAME
    صدى "#! / bin / sh"> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE
    echo "# auto generated based on nvram by $ 0" >> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE

    إذا كان [-z "'nvram show | grep ssmtp'"]
    ثم
    logger_func "يبدو أنك لم تقم بتعيين متغيرات NVRAM المطلوبة لإنشاء ملف conf"
    logger_func "** نظر ** باستخدام هذه الأوامر في البرنامج النصي لبدء التشغيل:"
    logger_func "nvram set [email protected]"
    logger_func "nvram set ssmtp_mailhub = smtp.gmail.com: 587"
    logger_func "nvram set [email protected]"
    logger_func "nvram set ssmtp_UseSTARTTLS = YES"
    logger_func "nvram set ssmtp_AuthUser = username"
    logger_func "nvram set ssmtp_AuthPass = password"
    logger_func "nvram set ssmtp_FromLineOverride = YES"
    logger_func "إنشاء متغيرات NVRAM وإعادة تشغيل البرنامج النصي init أو إعادة التشغيل لتفعيل الإعدادات."
    الخروج 0
    فاي

    ################################################## #########
    #
    حلقة # الرئيسية
    #
    SED_COMMAND = "s / $ NVRAM_PREFIX / /"
    CONFIG_VARS = "عرض nvram | grep $ NVRAM_PREFIX | sed" $ SED_COMMAND ""
    لأني في CONFIG_VARS $ ؛ فعل
    echo $ i >> CONFIG_FILE $
    فعله

    ################################################## #########
    #
    # الاختيار التعقل
    #
    إذا [ ! -f "$ CONFIG_FILE"] ؛ ثم
    # echo "$ 0: ERROR - تعذر إنشاء $ CONFIG_FILE. ربما لم يكن هناك symlink / etc / XXXX -> / tmp / etc / XXXX؟"
    logger_func "ERROR - تعذر إنشاء $ CONFIG_FILE. ربما لم يكن هناك symlink / etc / XXXX -> / tmp / etc / XXXX؟"
    فاي
    logger_func "########### تم الانتهاء من تشغيل SSMTP من قبل ###########"

    اجعلها قابلة للتنفيذ:

    chmod + x ./working_dir_mini1/rootfs/etc/init.d/S80ssmtp

    يحيط علما بمتغيرات الانتظار NVRAM في البرنامج النصي ، ومن مسؤوليتنا لمنحهم شيئا للعمل مع بعد تثبيت البرامج الثابتة لدينا المعدلة على جهاز التوجيه.

    بناء البرامج الثابتة المعدلة

    والآن بعد أن أصبح كل شيء في مكانه ، حان الوقت لإعادة تجميع البرامج الثابتة المعدلة في ثنائي مضغوط يمكن أن نومضه إلى جهاز التوجيه.
    بنية بناء جملة "build.sh" هي:
    ./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

    لإجراء ذلك ، نستخدم النص البرمجي المرفق ، لذلك أصدر:

    ./build_firmware.sh output_mini1 ./working_dir_mini1/

    بمجرد الانتهاء من عملية "البناء" ، سيكون هناك العديد من صور البرامج الثابتة في انتظار استخدامها في دليل "الإخراج".

    يمكنك الآن فلاش الملف باسم "custom_image_00001-generic.bin" إلى جهاز التوجيه الخاص بك كما تفعل عادةً البرامج الثابتة DD-WRT.

    ملحوظة: لا تنسى استعادة "افتراضيات المصنع" قبل وأثناء وبعد الفلاش الثابت.

    بعد خطوات فلاش

    نظرًا لأننا جعلنا حزمة SSMTP تبحث عن متغيرات NVRAM لإنشاء ملف تهيئة ssmtp ، فنحن بحاجة الآن إلى تزويده بالمعلومات المفقودة.
    سنقوم بإنجاز ذلك باستخدام وظيفة "أوامر التشغيل" في واجهة المستخدم الرسومية للويب.

    انتقل إلى واجهة المستخدم الرسومية على الويب -> "الإدارة" -> "الأوامر" -> الصق في مربع النص ما يلي:

    nvram set [email protected]
    nvram set ssmtp_mailhub = smtp.gmail.com: 587
    nvram set [email protected]
    nvram set ssmtp_UseSTARTTLS = YES
    nvram set ssmtp_AuthUser = your-gmail-user-name (دون @ gmail.com)
    nvram set ssmtp_AuthPass = you-gmail-password
    nvram set ssmtp_FromLineOverride = YES
    nvram ارتكاب

    استبدل النص بعد علامة المساواة (=) ، مع معلوماتك الفعلية ، ثم اضغط على "تشغيل الأوامر".
    ملحوظة: إذا كان استخدامك لبروتوكول SMTP غير منتظم باستخدام TLS ، فإن المنفذ الذي تستخدمه هو 25 بدلاً من 587.

    والآن بعد أن أصبحت معلومات SSMTP جاهزة للاستخدام ، ستحتاج إلى استدعاء البرنامج النصي init. لذا يمكنك إعادة تشغيل الموجه ، أو لصق هذا في مربع النص "الأوامر":

    /etc/init.d/S80ssmtp

    ثم اضغط على "تشغيل الأوامر" مرة أخرى.
    يجب أن يبدو إخراج هذا الأمر كما يلي:

    اختبار أنه يمكنك إرسال البريد الإلكتروني
    مرة أخرى لصق هذا في مربع النص "الأوامر" الأمر التالي مع عنوان البريد الإلكتروني الخاص بك:

    صدى "اختبار بوتقة البريد الإلكتروني 123 qwe" | ssmtp -vvv [email protected]

    ثم اضغط على "تشغيل الأوامر" مرة أخرى.
    نظرًا لأننا استخدمنا الخيار -vvv للحصول على مزيد من الإسهاب ، يجب أن يبدو إخراج هذا الأمر كما يلي:

    إذا سار كل شيء على ما يرام ، فيجب أن تحصل على البريد الإلكتروني التجريبي خلال ثوانٍ.

    نأمل أن تتمكن من استخدام هذه المعلومات لدفع حدود جهاز التوجيه المنزلي الخاص بك إلى أبعد من ذلك ، ثم فكرت في إمكانية التحكم في جهاز التوجيه المنزلي الخاص بك ، و DD-WRT…


    لينكس يمتد الحياة ، لينكس يوسع الوعي ... لينكس أمر حيوي لرحلة السفر